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

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

  •  1
     
  •   civet · 3 天前 · 3022 次点击

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

    AI 的解释是:

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

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

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