不是 Tabs vs Spaces 的圣战,是用 AI 之后,代码缩进转化成 Token 的问题。
AI 的解释是:
2 个空格可能被识别为 1 个 Token
4 个空格也可能被识别为 1 个 Token
但如果层级很深,差距越大:
2 空格缩进:第 4 层 = 8 个空格(约 2~4 个 Token )
4 空格缩进:第 4 层 = 16 个空格(约 4~8 个 Token )
不知道是不是火星了,如果是讨论过的话题请告知。
1
tradzero 16 小时 19 分钟前 https://platform.openai.com/tokenizer
这里不是有在线分词机吗 自己试试咯 |
2
MoRanjiang 15 小时 53 分钟前
我觉得这是 agent 工具需要解决的问题,用户就别管这些了
|
3
r6cb 14 小时 43 分钟前
减少行数更能省 token 。如果你截获了各种编程工具的 api 请求,会发现每行前面还会加→。更别说还能直接省掉的换行和缩进了。
|
4
codehz 11 小时 40 分钟前 via Android
记得以前为了这个需求都是自定义 tokenizer ,将缩进增加减少变为单独 token ,而不是去数空格
|
5
chenluo0429 10 小时 59 分钟前 via Android
gpt 的分词,2 空格比 4 空格不省,比 tab 略省
|
6
loading 7 小时 45 分钟前 via Android
让 ai 给你写个预处理工具,发 ai 前先本地小模型转一次?
|
7
a1717177 6 小时 53 分钟前
取决于 vocab 。bpe 会根据 vocab 不断合并
|
8
uqf0663 5 小时 37 分钟前 via Android
那么问题来了,在写不需要缩进的代码(例如 php )我可以让大模型完全不要用任何缩进,但是写 py 又是必须缩进的,能不能认为 php 比 py 更省 token
|
9
dreamk 1 小时 0 分钟前
|