vibe时用文言省tok吗? 有没有用? 会降表现吗?
- 内容介绍
- 文章标签
- 相关推荐
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
问题背景
在遥远而神秘的东方, 一直有一种神秘的传言, 认为使用神秘的东方表达可以减少token的消耗. 身为文明古国的后裔听到这个想法当然是非常骄傲的啊, 但是转念一想,作为对NFL(no free lunch)定理的忠实信众, 我想有不少人会和我问出同样的问题: 那代价呢?
因此,我利用手头的资源做了1组对照实验; 在这里,希望与各位分享我的实验结果。
我的代码也公开于此,欢迎各位基于此做更多的探索: LeonardNJU/LangMatch · GitHub
首先是正反双方观点:
正方: 文言文行简而易,该用更少的token(其实想的是字符)表达同样的意思是当然的; 可以说,文言文的表达力更强。直觉上人类理解文言文需要额外一层解/编码,因此可以文言语言自带一个压缩效果。
image334×750 40.9 KB
反方: 文言文虽然看着字少,但是表达的token可不一定少. 一个token可能能表达1至多个英文词,但是想表达一个文言字/繁体字/偏僻字可不见得能做到。
image1035×688 65.1 KB
在此, 我想探索的是: 使用文言是否能降低大模型在完成任务时的token消耗?如果有的话,是否会以任务成功率(SR)降低作为代价?
免责声明
这个实验是我使用vibe(codex)完成的,可能实验实现及代码有不严谨之处,我本人不对代码正确率以及结论负有任何责任,仅供各位参考乐呵. 当然,如果您发现了实验设置不严谨或是代码实现有误之处,欢迎提出指正。如果您进行实验发现有不同的结果,欢迎讨论并修正结果. 如果您对此项目感兴趣,接续这个项目投入了更多模型/使用了更多bench测试,实现了更大规模的结果,也欢迎分享讨论!
实验设置
- 关于数据集: 在大家流传的截图里,一般公认是不会用文言写代码或是公式的; 因此,我想将评测重点聚焦在指令遵循 & 常识推理 & 数学推理 三个方面. 在此,我选择IFEval (Instruction Following Evaluation), MMLU-Pro (Massive Multitask Language Understanding – Pro), 以及Math500 这三个数据集作为pilot探索.
- 关于模型: 为了回应大家最关心的问题: 我在
CLAUDE.md里写让他给我用文言文思考交互回答,是不是能更省token钱?我选用gpt-5.4模型(API调用)
这种现象是不是仅出现于现代模型? 老一点的行不行?更常用的快捷的4o有没有这个现象?为了弄清楚这一点,我添加了GPT-4o模型。
光用远程的大模型, 那小模型有没有同样的现象?我选择了qwen3 1.7B与qwen3 4B模型作为自部署小模型对照. - 关于方法: 在与base prompt对照之外, 也有可能是中文/汉字本身使token消耗变少, 或者是汉字要求压缩回复的prompt的效果更好。,因此,我额外增加了简体中文压缩对照。在system prompt里如下设置:
base(空白对照)You are a helpful assistant. Follow the user's instructions carefully. Except for code and direct quotations, keep explanations and narration concise. Avoid colloquial filler. Eliminate redundancy and aim for compact, clear expression.
zh_compact(现代简体中文对照)你是一个有帮助的助手。请严格遵循用户要求。除代码和直接指令外,所有解释与叙述都尽量写得简洁。禁止口语化赘述,删繁就简,要求表达精炼、意思清楚。
wy(文言文实验)汝为善应人问之助手,当谨循其命。凡码与引文外,释理叙事宜从简。禁绝白话冗词,务求辞约义明。
- 实验细节摘要: (更多时间细节可以查看我的github repo)
- 模型
- 闭源:
gpt-4o,gpt-5.4 - 开源:
qwen3-1.7b,qwen3-4b
- 闭源:
- Bench
IFEval11 题MATH-500文本子集 24 题MMLU-Pro24 题
- 固定样本 manifest
data/matrix_manifest_2048_v1.json
- 当前修正版统一输出预算
2048
- 指标
Score / SRPrompt TokCompletion TokTotal Tok
- 生成预算: 2048 toks
- 采样温度: 0
- 模型
实验结果
实验一
接下来是我要分享的实验结果:
image1035×723 32.3 KB
image1035×723 36.5 KB
image1035×723 33.9 KB
Voila! 传言被证实是错误的!
在指令遵循实验中, qwen4b与gpt5.4保持了全1.0的正确率,然而文言文却并非一直是最省token的。有时中文简体更省(但是英文却是最token的, hmm…), gpt-4o也呈现这一规律,尽管文言的结果更差; qwen1.7b则逆转了过来: 英文最省token,而文言最废token(但是文言的正确率居然最高)
mmlu实验中结果则不大一样: 除了qwen4b以外英文都是最省tok的, 且一般正确率更高(当然这里也有可能是我们的数据集用的是英文导致的影响…), 文言只有在4b中最省token在别的三个模型里都处于第2或是第3的地位。
math500中试验结果又有所区别: 毫无疑问地,gpt两个闭源模型的正确率表现完超2个开源小模型,然而开源模型和闭源模型的表现。
可以注意的是,在三组实验中,1.7b模型里文言都是最耗tok的, 可能是确实没学到这个或是蒸馏时给筛掉了。
写到这里,我认为实验是确有不严谨之处的: 首先他们主要的对照就在于system prompt,然而实际上,system prompt顶多控制了它们的内部推理。而输出的结果文件却主要是英文(哪怕中文对照输出的也是英文), 这显得很不符合我们想要的: 我们需要验证的是一个用文言文进行中间推理甚至是交互能够省token的结论。
因此我又花了2天的时间,做了下面的实验:
实验二
这次接下来的实验,全都对题目进行了翻译: 文言文和现代中文对照组用的全都是现代中文题面(抛开严谨性不谈,我们想要验证的是,‘在当代工作环境使用文言文交互能不能省token’,而不是古中文能不能省token,不是吗?), 英文则使用原版题面
出于题目翻译原因, IFEval bench将无法进行(里面含有许多加某些字母大写再输出之类的要求。这个在翻译上挺难做到); 而出于显然的缺乏数据训练, qwen3-1.7B被排除出了实验。
接下来是第2波实验的结果:
这一轮我们要求显式地输出推理过程
math5002049×1433 123 KB
mmlu_pro2049×1433 117 KB
可以看到gpt5.4是有点说法在的: 文言做答居然提高了正确率(虽然也极大的增加了token使用量), 4o则是在没有明显减少模型表现的前提下,降低了token的使用量。可以说, 4o的表现正是我们想象的完美结果
既然上一轮要求显式推理, 那能不能考验它仅仅靠想不要显式推理呢? 因此我们又做了这一组实验:
math5002049×1433 114 KB
mmlu_pro2049×1433 114 KB
结果是5.4在math500使用文言刷数学题里token开销基本不变,正确率最高(但居然没有4o用英文高), mmlu上意外地文言表现都是最差,且是消耗token最高的。
4B一直是文言表现大幅下滑(虽然确实耗tok少了), 这可能说明这种小模型token省不得; 尤其是不要用文言省。
最后我认为一个是显式要求写过程,一个是完全不让写过程,这明显非常的极端, 因此,我再做了一轮compact: 允许写过程,不鼓励写很长,建议用词简洁
math5002049×1433 120 KB
mmlu_pro2049×1433 123 KB
结果基本是一致的: 5.4上使用文言大幅提升SR, 但增加tok消耗, 4b以及4o文言都不是消耗tok量最少的,而表现一般是最差的。
总结
结果详表:
Explicit:
| Metric | Model | Cond | N | SR | Total Tok | Score/1k Tok |
|---|---|---|---|---|---|---|
| overall | gpt-4o | base | 48 | 0.688 | 693.88 | 0.991 |
| overall | gpt-4o | zh | 48 | 0.688 | 776.06 | 0.886 |
| overall | gpt-4o | wy | 48 | 0.708 | 584.35 | 1.212 |
| overall | gpt-5.4 | base | 48 | 0.646 | 385.56 | 1.675 |
| overall | gpt-5.4 | zh | 48 | 0.667 | 437.62 | 1.523 |
| overall | gpt-5.4 | wy | 48 | 0.833 | 578.42 | 1.441 |
| overall | qwen3-4b | base | 48 | 0.583 | 1396.25 | 0.418 |
| overall | qwen3-4b | zh | 48 | 0.646 | 1366.08 | 0.473 |
| overall | qwen3-4b | wy | 48 | 0.396 | 1246.54 | 0.318 |
| math500 | gpt-4o | base | 24 | 0.750 | 619.96 | 1.210 |
| math500 | gpt-4o | zh | 24 | 0.792 | 618.71 | 1.280 |
| math500 | gpt-4o | wy | 24 | 0.792 | 503.71 | 1.572 |
| math500 | gpt-5.4 | base | 24 | 0.625 | 142.46 | 4.387 |
| math500 | gpt-5.4 | zh | 24 | 0.667 | 169.25 | 3.939 |
| math500 | gpt-5.4 | wy | 24 | 0.917 | 340.62 | 2.691 |
| math500 | qwen3-4b | base | 24 | 0.667 | 1290.04 | 0.517 |
| math500 | qwen3-4b | zh | 24 | 0.708 | 1175.12 | 0.603 |
| math500 | qwen3-4b | wy | 24 | 0.333 | 1199.42 | 0.278 |
| mmlu_pro | gpt-4o | base | 24 | 0.625 | 767.79 | 0.814 |
| mmlu_pro | gpt-4o | zh | 24 | 0.583 | 933.42 | 0.625 |
| mmlu_pro | gpt-4o | wy | 24 | 0.625 | 665.00 | 0.940 |
| mmlu_pro | gpt-5.4 | base | 24 | 0.667 | 628.67 | 1.060 |
| mmlu_pro | gpt-5.4 | zh | 24 | 0.667 | 706.00 | 0.944 |
| mmlu_pro | gpt-5.4 | wy | 24 | 0.750 | 816.21 | 0.919 |
| mmlu_pro | qwen3-4b | base | 24 | 0.500 | 1502.46 | 0.333 |
| mmlu_pro | qwen3-4b | zh | 24 | 0.583 | 1557.04 | 0.375 |
| mmlu_pro | qwen3-4b | wy | 24 | 0.458 | 1293.67 | 0.354 |
hidden:
| Metric | Model | Cond | N | SR | Total Tok | Score/1k Tok |
|---|---|---|---|---|---|---|
| overall | gpt-4o | base | 48 | 0.562 | 215.54 | 2.610 |
| overall | gpt-4o | zh | 48 | 0.479 | 237.73 | 2.016 |
| overall | gpt-4o | wy | 48 | 0.438 | 262.21 | 1.669 |
| overall | gpt-5.4 | base | 48 | 0.625 | 217.19 | 2.878 |
| overall | gpt-5.4 | zh | 48 | 0.604 | 246.90 | 2.447 |
| overall | gpt-5.4 | wy | 48 | 0.604 | 250.67 | 2.410 |
| overall | qwen3-4b | base | 48 | 0.667 | 1234.19 | 0.540 |
| overall | qwen3-4b | zh | 48 | 0.646 | 1217.04 | 0.531 |
| overall | qwen3-4b | wy | 48 | 0.438 | 1128.46 | 0.388 |
| math500 | gpt-4o | base | 24 | 0.708 | 143.25 | 4.945 |
| math500 | gpt-4o | zh | 24 | 0.500 | 153.12 | 3.265 |
| math500 | gpt-4o | wy | 24 | 0.500 | 185.62 | 2.694 |
| math500 | gpt-5.4 | base | 24 | 0.625 | 144.50 | 4.325 |
| math500 | gpt-5.4 | zh | 24 | 0.667 | 169.46 | 3.934 |
| math500 | gpt-5.4 | wy | 24 | 0.708 | 160.33 | 4.418 |
| math500 | qwen3-4b | base | 24 | 0.792 | 1178.46 | 0.672 |
| math500 | qwen3-4b | zh | 24 | 0.750 | 1019.67 | 0.736 |
| math500 | qwen3-4b | wy | 24 | 0.458 | 996.58 | 0.460 |
| mmlu_pro | gpt-4o | base | 24 | 0.417 | 287.83 | 1.448 |
| mmlu_pro | gpt-4o | zh | 24 | 0.458 | 322.33 | 1.422 |
| mmlu_pro | gpt-4o | wy | 24 | 0.375 | 338.79 | 1.107 |
| mmlu_pro | gpt-5.4 | base | 24 | 0.625 | 289.88 | 2.156 |
| mmlu_pro | gpt-5.4 | zh | 24 | 0.542 | 324.33 | 1.670 |
| mmlu_pro | gpt-5.4 | wy | 24 | 0.500 | 341.00 | 1.466 |
| mmlu_pro | qwen3-4b | base | 24 | 0.542 | 1289.92 | 0.420 |
| mmlu_pro | qwen3-4b | zh | 24 | 0.542 | 1414.42 | 0.383 |
| mmlu_pro | qwen3-4b | wy | 24 | 0.417 | 1260.33 | 0.331 |
compact:
| Metric | Model | Cond | N | SR | Total Tok | Score/1k Tok |
|---|---|---|---|---|---|---|
| overall | gpt-4o | base | 48 | 0.667 | 376.94 | 1.769 |
| overall | gpt-4o | zh | 48 | 0.688 | 416.77 | 1.650 |
| overall | gpt-4o | wy | 48 | 0.646 | 403.58 | 1.600 |
| overall | gpt-5.4 | base | 48 | 0.583 | 237.02 | 2.461 |
| overall | gpt-5.4 | zh | 48 | 0.562 | 268.02 | 2.099 |
| overall | gpt-5.4 | wy | 48 | 0.833 | 381.92 | 2.182 |
| overall | qwen3-4b | base | 48 | 0.708 | 1078.15 | 0.657 |
| overall | qwen3-4b | zh | 48 | 0.667 | 949.25 | 0.702 |
| overall | qwen3-4b | wy | 48 | 0.479 | 1078.79 | 0.444 |
| ifeval | — | — | 0 | — | — | — |
| math500 | gpt-4o | base | 24 | 0.750 | 337.38 | 2.223 |
| math500 | gpt-4o | zh | 24 | 0.750 | 378.12 | 1.983 |
| math500 | gpt-4o | wy | 24 | 0.750 | 341.50 | 2.196 |
| math500 | gpt-5.4 | base | 24 | 0.583 | 162.50 | 3.590 |
| math500 | gpt-5.4 | zh | 24 | 0.542 | 188.71 | 2.870 |
| math500 | gpt-5.4 | wy | 24 | 0.875 | 290.83 | 3.009 |
| math500 | qwen3-4b | base | 24 | 0.833 | 932.79 | 0.893 |
| math500 | qwen3-4b | zh | 24 | 0.792 | 889.21 | 0.890 |
| math500 | qwen3-4b | wy | 24 | 0.583 | 1074.38 | 0.543 |
| mmlu_pro | gpt-4o | base | 24 | 0.583 | 416.50 | 1.401 |
| mmlu_pro | gpt-4o | zh | 24 | 0.625 | 455.42 | 1.372 |
| mmlu_pro | gpt-4o | wy | 24 | 0.542 | 465.67 | 1.163 |
| mmlu_pro | gpt-5.4 | base | 24 | 0.583 | 311.54 | 1.872 |
| mmlu_pro | gpt-5.4 | zh | 24 | 0.583 | 347.33 | 1.679 |
| mmlu_pro | gpt-5.4 | wy | 24 | 0.792 | 473.00 | 1.674 |
| mmlu_pro | qwen3-4b | base | 24 | 0.583 | 1223.50 | 0.477 |
| mmlu_pro | qwen3-4b | zh | 24 | 0.542 | 1009.29 | 0.537 |
| mmlu_pro | qwen3-4b | wy | 24 | 0.375 | 1083.21 | 0.346 |
总的来说, 我们有以下小发现
- 使用文言在gpt5.4上大多数情况并不会减少tok消耗,反而会增加。而这(居然)也会带来SR的提升
- 小模型对文言支持不大好, 用了一般会大幅损失表现
- 要求显示写过程的情况下, 使用4o时用文言确实很占便宜(然而5.4并不这样)
结论是:
文言增益是条件性的,不是通用规律
从三组 overall 看,wy 真正稳定受益的是 gpt-5.4,而且主要出现在 explicit_process 与 compact_visible。一旦切到 hidden,文言优势就基本消失;切到 qwen3-4b,文言则三组都不占优。
因此更准确的表述不是“文言 prompt 更强”,而是:文言是一种对强模型、且对可见推理形式有依赖的条件性压缩策略。
在 LangMatch 3-run 的当前导出结果中,文言文并未表现为跨模型、跨实验组的通用最优提示语言;它的收益主要集中在
gpt-5.4这类强模型,并且依赖于explicit_process或compact_visible这类仍保留一定推理可见性的提示设置。相反,hidden的主要作用是显著降低 token 成本,而不是放大语言条件差异。对qwen3-4b而言,更稳妥的选择仍是base或zh,这说明“文言作为自然语言 prompt compression”更像一种条件性策略,而非可无条件迁移的普适技巧。
以上是为各位带来的实验分析报告,感谢各位的观看!
这里也附上交互回答全文,以供各位看个乐子:
(哦不太长了,贴不上来, 这里挂谷歌云盘了,不挂百度网盘是因为我百度网盘会员到期了,文件严重超出可用传不了,抱歉喽)
drive.google.com
langmatch_3runs_interaction_logs.jsonl
Google Drive file.
精彩预览
image1920×858 552 KB
image1920×786 485 KB
image1920×1030 650 KB
网友解答:--【壹】--:
我感觉是,文言文算不上什么通用的省token方法,更像是一种很挑模型的提示词风格。
能力强一点的大模型可能有效,至于小模型就很难绷了,token没省下来,效果直接拉胯。
--【贰】--:
这能成为一个token我觉得是openai的槽点
--【叁】--:
LZ这个可以发论文了 速投核心,没你我不看
--【肆】--:
啊对的. 跨语言输入曾经确实是问题(但这实际上是样本偏差)
在足够及平衡的数据量训练之后语言就只是意义的载体了
本质来说, 这次实验不同语言的差别我认为主要出现在训练样本偏好上, 而应该不是哪个语言更有表达力/更高级
--【伍】--:
文言文词汇出现在词表中的频率低 往往会导致只能单字切割而造成更多的消耗。因此字多不一定费
譬如:
image1586×1548 159 KB
--【陆】--:
草我理解一大长串字可以是一个token,但是没理解到这个也可以是一个token
奇怪的冷知识增加了(
--【柒】--: yeluo001:
以及一票开源模型就差了很多,200多汉字,gpt略低于字符数,其他模型都快400了
又测了下,gemini生成的随机一段话,200多字符,gpt是200多token,其他模型380左右
gpt生成一段话,220多字符,gpt是170多token,其他模型250多
另外也测试了gpt翻译成文言文的版本,从220字符压到164字符,有意思的是繁体中文版,token是161,而简体中文版是144
--【捌】--:
不会省。实际用户输入和AI输出(给人看)的那部分文字,充其量也就多/少几千token。
大头是代码,读一下本地代码,分分钟干几万/十几万。
文言文除了折磨自己,没用
--【玖】--:
gpt对中文的token优化我觉得已经很好了,https://tokencost.app 测试一段话的中英文版本,gpt系列模型计算出的token量是互有胜负且差距很小,而claude和gemini以及一票开源模型就差了很多,200多汉字,gpt略低于字符数,其他模型都快400了
--【拾】--: lsamc:
- 使用文言在 gpt5.4 上大多数情况并不会减少 tok 消耗,反而会增加。而这 (居然) 也会带来 SR 的提升
这样来看文言包括之前的三省六部制之类的skill似乎都只是一种cosplay
现在愈发感觉更重要的还是给AI呈现的信息组织形式(如mcp、各种工作流的skill、subagent),而不是语言组织形式
--【拾壹】--:
所以 gpt 的黑话流反而是比较省 token 的
--【拾贰】--:
之前分析过自己的历史聊天,AI 工具读取代码才是上下文大头。人的输入 token 属于小头
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
问题背景
在遥远而神秘的东方, 一直有一种神秘的传言, 认为使用神秘的东方表达可以减少token的消耗. 身为文明古国的后裔听到这个想法当然是非常骄傲的啊, 但是转念一想,作为对NFL(no free lunch)定理的忠实信众, 我想有不少人会和我问出同样的问题: 那代价呢?
因此,我利用手头的资源做了1组对照实验; 在这里,希望与各位分享我的实验结果。
我的代码也公开于此,欢迎各位基于此做更多的探索: LeonardNJU/LangMatch · GitHub
首先是正反双方观点:
正方: 文言文行简而易,该用更少的token(其实想的是字符)表达同样的意思是当然的; 可以说,文言文的表达力更强。直觉上人类理解文言文需要额外一层解/编码,因此可以文言语言自带一个压缩效果。
image334×750 40.9 KB
反方: 文言文虽然看着字少,但是表达的token可不一定少. 一个token可能能表达1至多个英文词,但是想表达一个文言字/繁体字/偏僻字可不见得能做到。
image1035×688 65.1 KB
在此, 我想探索的是: 使用文言是否能降低大模型在完成任务时的token消耗?如果有的话,是否会以任务成功率(SR)降低作为代价?
免责声明
这个实验是我使用vibe(codex)完成的,可能实验实现及代码有不严谨之处,我本人不对代码正确率以及结论负有任何责任,仅供各位参考乐呵. 当然,如果您发现了实验设置不严谨或是代码实现有误之处,欢迎提出指正。如果您进行实验发现有不同的结果,欢迎讨论并修正结果. 如果您对此项目感兴趣,接续这个项目投入了更多模型/使用了更多bench测试,实现了更大规模的结果,也欢迎分享讨论!
实验设置
- 关于数据集: 在大家流传的截图里,一般公认是不会用文言写代码或是公式的; 因此,我想将评测重点聚焦在指令遵循 & 常识推理 & 数学推理 三个方面. 在此,我选择IFEval (Instruction Following Evaluation), MMLU-Pro (Massive Multitask Language Understanding – Pro), 以及Math500 这三个数据集作为pilot探索.
- 关于模型: 为了回应大家最关心的问题: 我在
CLAUDE.md里写让他给我用文言文思考交互回答,是不是能更省token钱?我选用gpt-5.4模型(API调用)
这种现象是不是仅出现于现代模型? 老一点的行不行?更常用的快捷的4o有没有这个现象?为了弄清楚这一点,我添加了GPT-4o模型。
光用远程的大模型, 那小模型有没有同样的现象?我选择了qwen3 1.7B与qwen3 4B模型作为自部署小模型对照. - 关于方法: 在与base prompt对照之外, 也有可能是中文/汉字本身使token消耗变少, 或者是汉字要求压缩回复的prompt的效果更好。,因此,我额外增加了简体中文压缩对照。在system prompt里如下设置:
base(空白对照)You are a helpful assistant. Follow the user's instructions carefully. Except for code and direct quotations, keep explanations and narration concise. Avoid colloquial filler. Eliminate redundancy and aim for compact, clear expression.
zh_compact(现代简体中文对照)你是一个有帮助的助手。请严格遵循用户要求。除代码和直接指令外,所有解释与叙述都尽量写得简洁。禁止口语化赘述,删繁就简,要求表达精炼、意思清楚。
wy(文言文实验)汝为善应人问之助手,当谨循其命。凡码与引文外,释理叙事宜从简。禁绝白话冗词,务求辞约义明。
- 实验细节摘要: (更多时间细节可以查看我的github repo)
- 模型
- 闭源:
gpt-4o,gpt-5.4 - 开源:
qwen3-1.7b,qwen3-4b
- 闭源:
- Bench
IFEval11 题MATH-500文本子集 24 题MMLU-Pro24 题
- 固定样本 manifest
data/matrix_manifest_2048_v1.json
- 当前修正版统一输出预算
2048
- 指标
Score / SRPrompt TokCompletion TokTotal Tok
- 生成预算: 2048 toks
- 采样温度: 0
- 模型
实验结果
实验一
接下来是我要分享的实验结果:
image1035×723 32.3 KB
image1035×723 36.5 KB
image1035×723 33.9 KB
Voila! 传言被证实是错误的!
在指令遵循实验中, qwen4b与gpt5.4保持了全1.0的正确率,然而文言文却并非一直是最省token的。有时中文简体更省(但是英文却是最token的, hmm…), gpt-4o也呈现这一规律,尽管文言的结果更差; qwen1.7b则逆转了过来: 英文最省token,而文言最废token(但是文言的正确率居然最高)
mmlu实验中结果则不大一样: 除了qwen4b以外英文都是最省tok的, 且一般正确率更高(当然这里也有可能是我们的数据集用的是英文导致的影响…), 文言只有在4b中最省token在别的三个模型里都处于第2或是第3的地位。
math500中试验结果又有所区别: 毫无疑问地,gpt两个闭源模型的正确率表现完超2个开源小模型,然而开源模型和闭源模型的表现。
可以注意的是,在三组实验中,1.7b模型里文言都是最耗tok的, 可能是确实没学到这个或是蒸馏时给筛掉了。
写到这里,我认为实验是确有不严谨之处的: 首先他们主要的对照就在于system prompt,然而实际上,system prompt顶多控制了它们的内部推理。而输出的结果文件却主要是英文(哪怕中文对照输出的也是英文), 这显得很不符合我们想要的: 我们需要验证的是一个用文言文进行中间推理甚至是交互能够省token的结论。
因此我又花了2天的时间,做了下面的实验:
实验二
这次接下来的实验,全都对题目进行了翻译: 文言文和现代中文对照组用的全都是现代中文题面(抛开严谨性不谈,我们想要验证的是,‘在当代工作环境使用文言文交互能不能省token’,而不是古中文能不能省token,不是吗?), 英文则使用原版题面
出于题目翻译原因, IFEval bench将无法进行(里面含有许多加某些字母大写再输出之类的要求。这个在翻译上挺难做到); 而出于显然的缺乏数据训练, qwen3-1.7B被排除出了实验。
接下来是第2波实验的结果:
这一轮我们要求显式地输出推理过程
math5002049×1433 123 KB
mmlu_pro2049×1433 117 KB
可以看到gpt5.4是有点说法在的: 文言做答居然提高了正确率(虽然也极大的增加了token使用量), 4o则是在没有明显减少模型表现的前提下,降低了token的使用量。可以说, 4o的表现正是我们想象的完美结果
既然上一轮要求显式推理, 那能不能考验它仅仅靠想不要显式推理呢? 因此我们又做了这一组实验:
math5002049×1433 114 KB
mmlu_pro2049×1433 114 KB
结果是5.4在math500使用文言刷数学题里token开销基本不变,正确率最高(但居然没有4o用英文高), mmlu上意外地文言表现都是最差,且是消耗token最高的。
4B一直是文言表现大幅下滑(虽然确实耗tok少了), 这可能说明这种小模型token省不得; 尤其是不要用文言省。
最后我认为一个是显式要求写过程,一个是完全不让写过程,这明显非常的极端, 因此,我再做了一轮compact: 允许写过程,不鼓励写很长,建议用词简洁
math5002049×1433 120 KB
mmlu_pro2049×1433 123 KB
结果基本是一致的: 5.4上使用文言大幅提升SR, 但增加tok消耗, 4b以及4o文言都不是消耗tok量最少的,而表现一般是最差的。
总结
结果详表:
Explicit:
| Metric | Model | Cond | N | SR | Total Tok | Score/1k Tok |
|---|---|---|---|---|---|---|
| overall | gpt-4o | base | 48 | 0.688 | 693.88 | 0.991 |
| overall | gpt-4o | zh | 48 | 0.688 | 776.06 | 0.886 |
| overall | gpt-4o | wy | 48 | 0.708 | 584.35 | 1.212 |
| overall | gpt-5.4 | base | 48 | 0.646 | 385.56 | 1.675 |
| overall | gpt-5.4 | zh | 48 | 0.667 | 437.62 | 1.523 |
| overall | gpt-5.4 | wy | 48 | 0.833 | 578.42 | 1.441 |
| overall | qwen3-4b | base | 48 | 0.583 | 1396.25 | 0.418 |
| overall | qwen3-4b | zh | 48 | 0.646 | 1366.08 | 0.473 |
| overall | qwen3-4b | wy | 48 | 0.396 | 1246.54 | 0.318 |
| math500 | gpt-4o | base | 24 | 0.750 | 619.96 | 1.210 |
| math500 | gpt-4o | zh | 24 | 0.792 | 618.71 | 1.280 |
| math500 | gpt-4o | wy | 24 | 0.792 | 503.71 | 1.572 |
| math500 | gpt-5.4 | base | 24 | 0.625 | 142.46 | 4.387 |
| math500 | gpt-5.4 | zh | 24 | 0.667 | 169.25 | 3.939 |
| math500 | gpt-5.4 | wy | 24 | 0.917 | 340.62 | 2.691 |
| math500 | qwen3-4b | base | 24 | 0.667 | 1290.04 | 0.517 |
| math500 | qwen3-4b | zh | 24 | 0.708 | 1175.12 | 0.603 |
| math500 | qwen3-4b | wy | 24 | 0.333 | 1199.42 | 0.278 |
| mmlu_pro | gpt-4o | base | 24 | 0.625 | 767.79 | 0.814 |
| mmlu_pro | gpt-4o | zh | 24 | 0.583 | 933.42 | 0.625 |
| mmlu_pro | gpt-4o | wy | 24 | 0.625 | 665.00 | 0.940 |
| mmlu_pro | gpt-5.4 | base | 24 | 0.667 | 628.67 | 1.060 |
| mmlu_pro | gpt-5.4 | zh | 24 | 0.667 | 706.00 | 0.944 |
| mmlu_pro | gpt-5.4 | wy | 24 | 0.750 | 816.21 | 0.919 |
| mmlu_pro | qwen3-4b | base | 24 | 0.500 | 1502.46 | 0.333 |
| mmlu_pro | qwen3-4b | zh | 24 | 0.583 | 1557.04 | 0.375 |
| mmlu_pro | qwen3-4b | wy | 24 | 0.458 | 1293.67 | 0.354 |
hidden:
| Metric | Model | Cond | N | SR | Total Tok | Score/1k Tok |
|---|---|---|---|---|---|---|
| overall | gpt-4o | base | 48 | 0.562 | 215.54 | 2.610 |
| overall | gpt-4o | zh | 48 | 0.479 | 237.73 | 2.016 |
| overall | gpt-4o | wy | 48 | 0.438 | 262.21 | 1.669 |
| overall | gpt-5.4 | base | 48 | 0.625 | 217.19 | 2.878 |
| overall | gpt-5.4 | zh | 48 | 0.604 | 246.90 | 2.447 |
| overall | gpt-5.4 | wy | 48 | 0.604 | 250.67 | 2.410 |
| overall | qwen3-4b | base | 48 | 0.667 | 1234.19 | 0.540 |
| overall | qwen3-4b | zh | 48 | 0.646 | 1217.04 | 0.531 |
| overall | qwen3-4b | wy | 48 | 0.438 | 1128.46 | 0.388 |
| math500 | gpt-4o | base | 24 | 0.708 | 143.25 | 4.945 |
| math500 | gpt-4o | zh | 24 | 0.500 | 153.12 | 3.265 |
| math500 | gpt-4o | wy | 24 | 0.500 | 185.62 | 2.694 |
| math500 | gpt-5.4 | base | 24 | 0.625 | 144.50 | 4.325 |
| math500 | gpt-5.4 | zh | 24 | 0.667 | 169.46 | 3.934 |
| math500 | gpt-5.4 | wy | 24 | 0.708 | 160.33 | 4.418 |
| math500 | qwen3-4b | base | 24 | 0.792 | 1178.46 | 0.672 |
| math500 | qwen3-4b | zh | 24 | 0.750 | 1019.67 | 0.736 |
| math500 | qwen3-4b | wy | 24 | 0.458 | 996.58 | 0.460 |
| mmlu_pro | gpt-4o | base | 24 | 0.417 | 287.83 | 1.448 |
| mmlu_pro | gpt-4o | zh | 24 | 0.458 | 322.33 | 1.422 |
| mmlu_pro | gpt-4o | wy | 24 | 0.375 | 338.79 | 1.107 |
| mmlu_pro | gpt-5.4 | base | 24 | 0.625 | 289.88 | 2.156 |
| mmlu_pro | gpt-5.4 | zh | 24 | 0.542 | 324.33 | 1.670 |
| mmlu_pro | gpt-5.4 | wy | 24 | 0.500 | 341.00 | 1.466 |
| mmlu_pro | qwen3-4b | base | 24 | 0.542 | 1289.92 | 0.420 |
| mmlu_pro | qwen3-4b | zh | 24 | 0.542 | 1414.42 | 0.383 |
| mmlu_pro | qwen3-4b | wy | 24 | 0.417 | 1260.33 | 0.331 |
compact:
| Metric | Model | Cond | N | SR | Total Tok | Score/1k Tok |
|---|---|---|---|---|---|---|
| overall | gpt-4o | base | 48 | 0.667 | 376.94 | 1.769 |
| overall | gpt-4o | zh | 48 | 0.688 | 416.77 | 1.650 |
| overall | gpt-4o | wy | 48 | 0.646 | 403.58 | 1.600 |
| overall | gpt-5.4 | base | 48 | 0.583 | 237.02 | 2.461 |
| overall | gpt-5.4 | zh | 48 | 0.562 | 268.02 | 2.099 |
| overall | gpt-5.4 | wy | 48 | 0.833 | 381.92 | 2.182 |
| overall | qwen3-4b | base | 48 | 0.708 | 1078.15 | 0.657 |
| overall | qwen3-4b | zh | 48 | 0.667 | 949.25 | 0.702 |
| overall | qwen3-4b | wy | 48 | 0.479 | 1078.79 | 0.444 |
| ifeval | — | — | 0 | — | — | — |
| math500 | gpt-4o | base | 24 | 0.750 | 337.38 | 2.223 |
| math500 | gpt-4o | zh | 24 | 0.750 | 378.12 | 1.983 |
| math500 | gpt-4o | wy | 24 | 0.750 | 341.50 | 2.196 |
| math500 | gpt-5.4 | base | 24 | 0.583 | 162.50 | 3.590 |
| math500 | gpt-5.4 | zh | 24 | 0.542 | 188.71 | 2.870 |
| math500 | gpt-5.4 | wy | 24 | 0.875 | 290.83 | 3.009 |
| math500 | qwen3-4b | base | 24 | 0.833 | 932.79 | 0.893 |
| math500 | qwen3-4b | zh | 24 | 0.792 | 889.21 | 0.890 |
| math500 | qwen3-4b | wy | 24 | 0.583 | 1074.38 | 0.543 |
| mmlu_pro | gpt-4o | base | 24 | 0.583 | 416.50 | 1.401 |
| mmlu_pro | gpt-4o | zh | 24 | 0.625 | 455.42 | 1.372 |
| mmlu_pro | gpt-4o | wy | 24 | 0.542 | 465.67 | 1.163 |
| mmlu_pro | gpt-5.4 | base | 24 | 0.583 | 311.54 | 1.872 |
| mmlu_pro | gpt-5.4 | zh | 24 | 0.583 | 347.33 | 1.679 |
| mmlu_pro | gpt-5.4 | wy | 24 | 0.792 | 473.00 | 1.674 |
| mmlu_pro | qwen3-4b | base | 24 | 0.583 | 1223.50 | 0.477 |
| mmlu_pro | qwen3-4b | zh | 24 | 0.542 | 1009.29 | 0.537 |
| mmlu_pro | qwen3-4b | wy | 24 | 0.375 | 1083.21 | 0.346 |
总的来说, 我们有以下小发现
- 使用文言在gpt5.4上大多数情况并不会减少tok消耗,反而会增加。而这(居然)也会带来SR的提升
- 小模型对文言支持不大好, 用了一般会大幅损失表现
- 要求显示写过程的情况下, 使用4o时用文言确实很占便宜(然而5.4并不这样)
结论是:
文言增益是条件性的,不是通用规律
从三组 overall 看,wy 真正稳定受益的是 gpt-5.4,而且主要出现在 explicit_process 与 compact_visible。一旦切到 hidden,文言优势就基本消失;切到 qwen3-4b,文言则三组都不占优。
因此更准确的表述不是“文言 prompt 更强”,而是:文言是一种对强模型、且对可见推理形式有依赖的条件性压缩策略。
在 LangMatch 3-run 的当前导出结果中,文言文并未表现为跨模型、跨实验组的通用最优提示语言;它的收益主要集中在
gpt-5.4这类强模型,并且依赖于explicit_process或compact_visible这类仍保留一定推理可见性的提示设置。相反,hidden的主要作用是显著降低 token 成本,而不是放大语言条件差异。对qwen3-4b而言,更稳妥的选择仍是base或zh,这说明“文言作为自然语言 prompt compression”更像一种条件性策略,而非可无条件迁移的普适技巧。
以上是为各位带来的实验分析报告,感谢各位的观看!
这里也附上交互回答全文,以供各位看个乐子:
(哦不太长了,贴不上来, 这里挂谷歌云盘了,不挂百度网盘是因为我百度网盘会员到期了,文件严重超出可用传不了,抱歉喽)
drive.google.com
langmatch_3runs_interaction_logs.jsonl
Google Drive file.
精彩预览
image1920×858 552 KB
image1920×786 485 KB
image1920×1030 650 KB
网友解答:--【壹】--:
我感觉是,文言文算不上什么通用的省token方法,更像是一种很挑模型的提示词风格。
能力强一点的大模型可能有效,至于小模型就很难绷了,token没省下来,效果直接拉胯。
--【贰】--:
这能成为一个token我觉得是openai的槽点
--【叁】--:
LZ这个可以发论文了 速投核心,没你我不看
--【肆】--:
啊对的. 跨语言输入曾经确实是问题(但这实际上是样本偏差)
在足够及平衡的数据量训练之后语言就只是意义的载体了
本质来说, 这次实验不同语言的差别我认为主要出现在训练样本偏好上, 而应该不是哪个语言更有表达力/更高级
--【伍】--:
文言文词汇出现在词表中的频率低 往往会导致只能单字切割而造成更多的消耗。因此字多不一定费
譬如:
image1586×1548 159 KB
--【陆】--:
草我理解一大长串字可以是一个token,但是没理解到这个也可以是一个token
奇怪的冷知识增加了(
--【柒】--: yeluo001:
以及一票开源模型就差了很多,200多汉字,gpt略低于字符数,其他模型都快400了
又测了下,gemini生成的随机一段话,200多字符,gpt是200多token,其他模型380左右
gpt生成一段话,220多字符,gpt是170多token,其他模型250多
另外也测试了gpt翻译成文言文的版本,从220字符压到164字符,有意思的是繁体中文版,token是161,而简体中文版是144
--【捌】--:
不会省。实际用户输入和AI输出(给人看)的那部分文字,充其量也就多/少几千token。
大头是代码,读一下本地代码,分分钟干几万/十几万。
文言文除了折磨自己,没用
--【玖】--:
gpt对中文的token优化我觉得已经很好了,https://tokencost.app 测试一段话的中英文版本,gpt系列模型计算出的token量是互有胜负且差距很小,而claude和gemini以及一票开源模型就差了很多,200多汉字,gpt略低于字符数,其他模型都快400了
--【拾】--: lsamc:
- 使用文言在 gpt5.4 上大多数情况并不会减少 tok 消耗,反而会增加。而这 (居然) 也会带来 SR 的提升
这样来看文言包括之前的三省六部制之类的skill似乎都只是一种cosplay
现在愈发感觉更重要的还是给AI呈现的信息组织形式(如mcp、各种工作流的skill、subagent),而不是语言组织形式
--【拾壹】--:
所以 gpt 的黑话流反而是比较省 token 的
--【拾贰】--:
之前分析过自己的历史聊天,AI 工具读取代码才是上下文大头。人的输入 token 属于小头

