/experiments/2_1_stateless/

2.1 节实验:无状态多轮对话 token 计费增长与系统提示词隐形开销实测

目录文件列表

文件 / 目录说明大小
📁 ../返回上级目录-
📁 dsh_demo/子目录-
📄 README.md4.2 KB
📄 baseline_hi.json89 B
📄 dsh_demo.py4.0 KB
📄 dsh_results.json876 B
📄 results_deepseek-v4.1-flash.json3.2 KB
📄 results_gemini-3.8-flash.json3.1 KB
📄 run.py2.5 KB

README.md

2.1 聊天里的“记得”,是整段历史被重新发了一遍

怎么跑

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。

实验设计

结果(2026-10-14)

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 是用户从没打过的。我们不知道是谁加的、加了什么,但从账单上能确定它们在窗口里。这一点从外面就能看到,不需要知道任何产品的内部实现。

正文怎么用

D:agent 工具里的上下文用量(DSH 截图)

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%

这一节的读者看到的应该是:你只多说了一句,账单上就涨一整个窗口。

教材正文移出的细节(2.1 第二轮重写,2026 年 10 月)