V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
civet
V2EX  ›  程序员

在 Token 消耗上, 2 个空格比 4 个空格缩进更省吗?

  •  1
     
  •   civet · 11 小时 9 分钟前 · 1844 次点击

    不是 Tabs vs Spaces 的圣战,是用 AI 之后,代码缩进转化成 Token 的问题。

    AI 的解释是:

    2 个空格可能被识别为 1 个 Token
    4 个空格也可能被识别为 1 个 Token
    但如果层级很深,差距越大:
      2 空格缩进:第 4 层 = 8 个空格(约 2~4 个 Token )
      4 空格缩进:第 4 层 = 16 个空格(约 4~8 个 Token )
    

    不知道是不是火星了,如果是讨论过的话题请告知。

    8 条回复    2026-04-10 00:43:51 +08:00
    tradzero
        1
    tradzero  
       11 小时 4 分钟前   ❤️ 1
    https://platform.openai.com/tokenizer
    这里不是有在线分词机吗 自己试试咯
    MoRanjiang
        2
    MoRanjiang  
       10 小时 38 分钟前
    我觉得这是 agent 工具需要解决的问题,用户就别管这些了
    r6cb
        3
    r6cb  
       9 小时 28 分钟前
    减少行数更能省 token 。如果你截获了各种编程工具的 api 请求,会发现每行前面还会加→。更别说还能直接省掉的换行和缩进了。
    codehz
        4
    codehz  
       6 小时 25 分钟前 via Android
    记得以前为了这个需求都是自定义 tokenizer ,将缩进增加减少变为单独 token ,而不是去数空格
    chenluo0429
        5
    chenluo0429  
       5 小时 44 分钟前 via Android
    gpt 的分词,2 空格比 4 空格不省,比 tab 略省
    loading
        6
    loading  
       2 小时 30 分钟前 via Android
    让 ai 给你写个预处理工具,发 ai 前先本地小模型转一次?
    a1717177
        7
    a1717177  
       1 小时 38 分钟前
    取决于 vocab 。bpe 会根据 vocab 不断合并
    uqf0663
        8
    uqf0663  
       22 分钟前 via Android
    那么问题来了,在写不需要缩进的代码(例如 php )我可以让大模型完全不要用任何缩进,但是写 py 又是必须缩进的,能不能认为 php 比 py 更省 token
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1377 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:06 · PVG 01:06 · LAX 10:06 · JFK 13:06
    ♥ Do have faith in what you're doing.