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

4 月 9 日
 civet

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

AI 的解释是:

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

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

3731 次点击
所在节点    程序员
11 条回复
tradzero
4 月 9 日
https://platform.openai.com/tokenizer
这里不是有在线分词机吗 自己试试咯
MoRanjiang
4 月 9 日
我觉得这是 agent 工具需要解决的问题,用户就别管这些了
r6cb
4 月 9 日
减少行数更能省 token 。如果你截获了各种编程工具的 api 请求,会发现每行前面还会加→。更别说还能直接省掉的换行和缩进了。
codehz
4 月 9 日
记得以前为了这个需求都是自定义 tokenizer ,将缩进增加减少变为单独 token ,而不是去数空格
chenluo0429
4 月 9 日
gpt 的分词,2 空格比 4 空格不省,比 tab 略省
loading
4 月 9 日
让 ai 给你写个预处理工具,发 ai 前先本地小模型转一次?
a1717177
4 月 9 日
取决于 vocab 。bpe 会根据 vocab 不断合并
uqf0663
4 月 10 日
那么问题来了,在写不需要缩进的代码(例如 php )我可以让大模型完全不要用任何缩进,但是写 py 又是必须缩进的,能不能认为 php 比 py 更省 token
dreamk
4 月 10 日
PaulSamuelson
4 月 10 日
建议阐述需求,以及让 AI 回复时用 文言文 更省
c0nstantien
4 月 10 日
有一种上古时代黑客讨论如何把一段程序放进 64K 的 ROM 里的感觉

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/1204612

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX