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