2.1 节实验:无状态多轮对话 token 计费增长与系统提示词隐形开销实测
| 文件 / 目录 | 说明 | 大小 |
|---|---|---|
| 📁 ../ | 返回上级目录 | - |
| 📁 dsh_demo/ | 子目录 | - |
| 📄 README.md | 4.2 KB | |
| 📄 baseline_hi.json | 89 B | |
| 📄 dsh_demo.py | 4.0 KB | |
| 📄 dsh_results.json | 876 B | |
| 📄 results_deepseek-v4.1-flash.json | 3.2 KB | |
| 📄 results_gemini-3.8-flash.json | 3.1 KB | |
| 📄 run.py | 2.5 KB |
op run --env-file experiments/aib.env -- .venv/bin/python experiments/2_1_stateless/run.py gemini-3.8-flash baseline
op run --env-file experiments/aib.env -- .venv/bin/python experiments/2_1_stateless/run.py deepseek-v4.1-flash
接口是 AI Builder Space(OpenAI 兼容),temperature=0。转写文本取自 corpus/memos.json 里的 W01、W07、W10、W12、W16、W17。
A,gemini-3.8-flash(results_gemini-3.8-flash.json):
| 轮 | 打的字数 | 计费输入 token |
|---|---|---|
| 1 | 529 | 361 |
| 2 | 9 | 661 |
| 3 | 6 | 770 |
| 4 | 8 | 786 |
| 5 | 7 | 818 |
| 6 | 7 | 907 |
| 7 | 6 | 926 |
| 8 | 13 | 984 |
第 8 轮只打了 13 个字,计费的输入却是 984 个 token。这一轮模型答对了:“蔺思远”。
B: 同一个问题不带历史再问一次,输入只有 20 个 token,模型回答“无法获取您团队或公司的内部信息”。
A 的复现,deepseek-v4.1-flash(results_deepseek-v4.1-flash.json):输入从 751 涨到 1345 个 token;不带历史时同样答不出来。
C,只发一个 “hi” 的计费输入 token(baseline_hi.json):
| 模型 | 计费输入 token |
|---|---|
| gemini-3.8-flash | 2 |
| gpt-5 | 7 |
| grok-4-fast | 185 |
| deepseek-v4.1-flash | 415 |
后两个模型的窗口里,有一两百到四百个 token 是用户从没打过的。我们不知道是谁加的、加了什么,但从账单上能确定它们在窗口里。这一点从外面就能看到,不需要知道任何产品的内部实现。
dsh_demo.py 用 Playwright 驱动 DeepSeek Harness 的 Web 界面(模型 DeepSeek-V41-Flash,经 Ollama Cloud),工作区用公开的 deepseek_harness 仓库。侧栏折叠,不显示任何会话历史。跑完后会自动归档这个演示会话。截图在 assets/ch02_01/dsh_turn{1..6}.png,数字在 dsh_results.json。
| 轮 | 打的字数 | 会话累计 token | 缓存命中 |
|---|---|---|---|
| 1 | 557 | 18.2K | 0% |
| 2 | 9 | 36.6K | 49% |
| 3 | 6 | 55.1K | 66% |
| 4 | 8 | 73.7K | 74% |
| 5 | 7 | 92.4K | 79% |
| 6 | 13 | 111K | 83% |
这一节的读者看到的应该是:你只多说了一句,账单上就涨一整个窗口。