Repository navigation
Cache Benchmark
英文名:
cache-benchmark· 领域:上下文与记忆 · 返回功能索引
本 fork(Claude 账号与 ChatGPT 账号两条路径)与官方 Claude Code、Codex CLI、opencode、pi 跑同一批真实任务,比较提示缓存命中率、token 用量、多代理开销、长时间闲置后的缓存、启动速度和稳定性。全部是真实模型请求,不使用假 API。数据采集于 2026-11-07,共 357 次 run,每格至少 3 次。
| 指标 | 本仓库 · Claude 账号 | 官方 Claude Code | 本仓库 · ChatGPT 账号 | Codex CLI | opencode | pi |
|---|---|---|---|---|---|---|
| CLI 模式命中率(33 次) | 87.1% | 87.3% | 85.3% | 88.8% | 89.2% | 84.0% |
| 平均总 token / 任务 | 72.7k | 81.0k | 75.9k | 80.3k | 81.5k | 36.5k |
| TUI 6 轮总 token | 235k | 640k | 310k | 267k | — | 80k |
| 3 个 subagent / Teams 3 人(相对单代理) | 2.8× / 6.0× | 3.7× / 4.0×¹ | 3.8× / 8.5× | — | — | — |
| 长闲置 2.7 小时总 token | 306k | 349k | 331k | 361k | — | 131k |
-p 启动到首个请求 |
0.82s | 0.89s | 0.71s | 2.59s | — | 0.83s |
| 会话中途整段失效 | 0.0% | 0.0% | 2.7% | 0.5% | 3.2% | 4.2% |
| 任务成功 | 33/33 | 33/33 | 33/33 | 33/33 | 33/33 | 33/33 |
¹ 官方 2.1.319 在 -p 下把具名 Agent 调用当作后台 subagent 运行,没有组成团队。
- Claude 侧与官方持平:命中率相差 0.2 个百分点,在噪声范围内;总 token 少 10%;TUI 多轮交互官方用量是本仓库的 2.7 倍;3 个 subagent 时本仓库 2.8 倍、官方 3.7 倍。
- ChatGPT 侧比 Codex 低 3.5 个百分点,差距只在短任务(82.9% 对 89.7%);长任务 86.5% 对 88.3%,接近持平。原因是 Codex 的系统提示在服务器端,新会话第一个请求的未缓存部分只有 2.7k,本仓库 6.3k。
-
多代理:3 个 subagent 本仓库是单代理的 2.8 倍,官方 3.7 倍;Agent Teams 3 人本仓库 Claude 账号 6.0 倍、ChatGPT 账号 8.5 倍。官方 2.1.319 在
-p下没有真正组队(见第 5 节),它的 4.0 倍不能直接比较。 - 长时间闲置:Claude 侧 1 小时缓存在闲置 65 分钟后过期,下一轮第一个请求本仓库与官方都只剩约 50%;第二次 65 分钟后本仓库 28%、官方 39%。官方的静态前缀全球用户共享、一直是热的,所以新会话第一个请求官方 67%、本仓库 0%。本仓库 ChatGPT 账号闲置 65 分钟后仍有 97–98%。2.7 小时总 token 本仓库 Claude 306k、官方 349k。
- 差异的量级:同一 CLI 在不同任务类型之间相差 11–41 个百分点,大于 CLI 之间的差距;ChatGPT 侧同一格重跑平均相差 9 个百分点。单个任务格小于约 10 个百分点的差异不显著,结论以分组合计为准。
| CLI | 版本 | 账号 / 模型 | effort |
|---|---|---|---|
| 本仓库 · Claude 账号 |
dev 453b1c6
|
Claude OAuth · claude-sonnet-5-5
|
默认 |
| 官方 Claude Code | 2.1.319 | Claude OAuth · claude-sonnet-5-5
|
默认 |
| 本仓库 · ChatGPT 账号 |
dev 453b1c6
|
ChatGPT OAuth · gpt-6.1-sol
|
账号默认 low |
| Codex CLI | 0.167.0 | ChatGPT OAuth · gpt-6.1-sol
|
账号默认 low |
| opencode | 1.19.5 | ChatGPT OAuth · gpt-6.1-sol
|
默认 |
| pi | 1.5.0(@earendil-works/pi-coding-agent) |
ChatGPT OAuth · gpt-6.1-sol
|
默认 |
pi 与 opencode 另用 Claude API key 跑了一组 claude-sonnet-5-5(见第 1 节);表中其余位置的 pi、opencode 均指 ChatGPT 账号。
453b1c6 与 990cc05 的代码相同(之间只有文档提交)。办公 / 编码 / 运维的 CLI 矩阵用 5c5ce9e,它与 990cc05 的差别只在没有模型目录缓存的首次启动;本基准每个 HOME 都预置了目录缓存,两者结果可合并。
四类工作加 Lean 证明,每类一短一长(编码长任务两题),共 11 题,每题每个 CLI 3 次:
| 类型 | 短任务 | 长任务 |
|---|---|---|
| 办公 | 整理 README | 读源码写三份文档并附可执行示例 |
| 研究 | 比较 3 份报价,算 36 个月成本 | 分析 900 条工单与会议记录,写研究报告 |
| 编码 | 写 slugify
|
修 4 个 bug + CLI + 测试;从零写表达式语言(≥ 30 个测试) |
| 运维 | 磁盘告警排查 | 日志 + 配置 + 脚本 + 事故报告 |
| Lean 4 证明 | 奇数和 + 骑士骗子题 | 等差和、列表反转引理、n² ≤ 2ⁿ、四人赛跑排名题 |
另有五组场景,各 3 次:
| 场景 | 内容 | 参与 CLI |
|---|---|---|
| TUI 6 轮 | 同一组 6 轮对话,tmux 驱动真实终端 | 除 opencode 外全部 |
| SDK 4 轮 | 长短结合:stream-json / exec resume / --continue
|
除 opencode 外全部 |
| Web 6 轮 | Playwright 驱动 claude web
|
本仓库(只有本仓库有 Web) |
| 多代理 | 3 个模块各一个 bug:单代理、3 个 subagent、Agent Teams 3 人 | Claude Code 系(本仓库两条路径、官方) |
| 长闲置 | 7 轮编码,间隔 0 / 4 / 15 / 65 / 4 / 65 / 4 分钟,约 2.7 小时 | 除 opencode 外全部 |
判定全部自动:编码与多代理任务跑测试;Lean 用 lean 编译,无错误无警告,禁止 sorry / admit / axiom / native_decide / set_option,定理陈述逐行比对不得改动;研究题自动核对答案与中位数。
- 每一轮同一任务所有 CLI 同时开跑,时段、配额与后端路由对各方一致。
- 每次 run 使用全新 HOME、相同提示、相同模型;ChatGPT 侧预置账号模型目录缓存(模拟老用户)。
- 所有 CLI 关闭网页搜索与抓取;全部 run 检查过没有搜索调用。
- 每个模型请求经 MITM 记录代理,取 usage、TTFT、请求体大小、模型与 effort;所有 CLI 直连官方端点。
- 每个 run 都核对过:有请求记录,且请求都落在该 run 的起止时间内。
- 当天第一个 Claude run 要写入冷的静态前缀(本仓库
coding-s第 1 次命中 49%,之后 87%),属暖机效应,保留在数据里。 - opencode 每个会话先发一个约 0.6k 的生成标题请求,它的「首个 prompt」是这个小请求。
- Codex 的系统提示与工具在服务器端,请求里看不到,首请求未缓存量天然较低。
- 有 subagent 时不同代理的请求交错,「中途失效」只按主代理序列计算。
- 长闲置的 3 次 run 同时开始,后两次的第一个请求可能用上第一次刚写入的前缀。
- 启动测量期间,长闲置 run 在后台待机(无请求),对 CPU 读数的影响小于 1 个百分点。
- 总 token = 未缓存输入 + 缓存读 + 缓存写 + 输出。
- 命中率 = 缓存读 ÷(未缓存输入 + 缓存读 + 缓存写),按 token 加权;ChatGPT 没有缓存写入计费项,记 0。
- TTFT = 请求发出到第一个 token;启动到首 token = 进程启动到第一个 token。
- 会话中途整段失效 = 会话内非首个请求、prompt ≥ 4k、缓存读低于 20% 的请求占比。
- 括号内是单次 run 的最低–最高。

CLI 模式(-p / exec / run),每个 CLI 33 次,表中 token 为每次 run 的平均值:
| CLI | 成功 | 命中率(单次范围) | 平均总 token | 未缓存输入 | 缓存读 | 缓存写 | 输出 | 首个 prompt | 平均 prompt | 请求数 | 平均请求体 | 平均 TTFT | 平均用时 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 本仓库 · Claude 账号 | 33/33 | 87.1%(49–93) | 72.7k | 0.0k | 60.7k | 9.0k | 3.0k | 15.5k | 17.2k | 4.0 | 46 KB | 2.59s | 26s |
| 官方 Claude Code 2.1.319 | 33/33 | 87.3%(77–94) | 81.0k | 0.0k | 67.7k | 9.8k | 3.5k | 17.1k | 19.0k | 4.0 | 15 KB | 2.50s | 30s |
| 本仓库 · ChatGPT 账号 | 33/33 | 85.3%(50–93) | 75.9k | 10.8k | 62.9k | 0.0k | 2.2k | 10.4k | 12.7k | 5.6 | 59 KB | 3.05s | 61s |
| Codex CLI 0.167.0 | 33/33 | 88.8%(79–96) | 80.3k | 8.8k | 69.3k | 0.0k | 2.2k | 14.6k | 16.1k | 4.8 | 19 KB | 2.40s | 59s |
| opencode 1.19.5 | 33/33 | 89.2%(71–96) | 81.5k | 8.4k | 69.6k | 0.0k | 3.6k | 0.7k | 7.3k | 9.3 | 33 KB | 2.97s | 95s |
| pi 1.5.0 | 33/33 | 84.0%(37–95) | 36.5k | 5.4k | 28.4k | 0.0k | 2.7k | 1.4k | 3.6k | 7.5 | 4 KB | 3.16s | 74s |
新会话第一个请求:
| CLI | 首个 prompt | 其中命中 | 未缓存 | 启动到首 token |
|---|---|---|---|---|
| 本仓库 · Claude 账号 | 15.5k | 10.0k | 5.4k | 3.4s |
| 官方 Claude Code 2.1.319 | 17.1k | 11.4k | 5.7k | 3.6s |
| 本仓库 · ChatGPT 账号 | 10.4k | 4.1k | 6.3k | 3.9s |
| Codex CLI 0.167.0 | 14.6k | 11.8k | 2.7k | 5.5s |
| opencode 1.19.5 | 0.7k | 0.0k | 0.7k | 5.3s |
| pi 1.5.0 | 1.4k | 0.0k | 1.4k | 3.4s |
官方请求体更小,是因为它用服务器端 thread 续接,只发送增量;计费 token 不受影响。
Claude 模型下的 pi 与 opencode:pi 和 opencode 另用 Claude API key 跑同样 11 题 × 3 次(claude-sonnet-5-5,二者交错运行;本仓库与官方沿用上表 OAuth 数据)。API 等价花费按 Anthropic 公开价计算。
| CLI | 成功 | 命中率(单次范围) | 平均总 token(单次范围) | 缓存读 | 缓存写 | 输出 | 首个 prompt | 平均 TTFT | 平均用时 | 请求数 | API 等价花费 / run |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 本仓库 · Claude 账号 | 33/33 | 87.1%(49–93) | 72.7k(32–149k) | 60.7k | 9.0k | 3.0k | 15.5k | 2.6s | 26s | 4.0 | $0.078 |
| 官方 Claude Code 2.1.319 | 33/33 | 87.3%(77–94) | 81.0k(36–159k) | 67.7k | 9.8k | 3.5k | 17.1k | 2.5s | 30s | 4.0 | $0.088 |
| opencode 1.19.5 | 33/33 | 79.2%(59–89) | 92.0k(34–440k) | 68.0k | 17.9k | 6.1k | 10.6k | 2.3s | 45s | 6.1 | $0.119 |
| pi 1.5.0 | 33/33 | 73.4%(32–83) | 21.4k(10–77k) | 13.5k | 4.9k | 3.0k | 2.7k | 2.1s | 23s | 4.0 | $0.045 |
短任务命中率 86.8% / 87.1% / 67.5% / 77.9%,长任务 87.3% / 87.4% / 81.9% / 71.9%(顺序同上表)。四个 CLI 会话中途失效都是 0。pi 命中率低是因为提示只有约 2.7k,新内容占比大,并非缓存失效;opencode 每个会话的第一个请求缓存读都是 0(33/33),另外三个能复用跨会话前缀。本仓库与官方写 1 小时缓存,pi 与 opencode 写 5 分钟缓存。这两组用 API key、在另一时段运行,没有与本仓库、官方交错,比较时有时段偏差。

| CLI | 短任务(15 次) | 长任务(18 次) |
|---|---|---|
| 本仓库 · Claude 账号 | 86.8%(49–93)/ 53.2k | 87.3%(79–91)/ 89.0k |
| 官方 Claude Code 2.1.319 | 87.1%(81–90)/ 53.9k | 87.4%(77–94)/ 103.6k |
| 本仓库 · ChatGPT 账号 | 82.9%(50–91)/ 52.7k | 86.5%(77–93)/ 95.2k |
| Codex CLI 0.167.0 | 89.7%(85–94)/ 58.9k | 88.3%(79–96)/ 98.1k |
| opencode 1.19.5 | 84.6%(71–90)/ 28.4k | 90.1%(73–96)/ 125.8k |
| pi 1.5.0 | 59.6%(37–78)/ 7.7k | 86.6%(64–95)/ 60.5k |
格式:命中率(单次范围)/ 平均总 token。短任务总量小,新会话第一个请求的未命中占比大;Codex 是唯一短任务高于长任务的 CLI,原因同上。

每个任务 × CLI(命中率 · 平均总 token · 平均用时,各 3 次):
| 任务 | 本仓库 · Claude | 官方 2.1.319 | 本仓库 · ChatGPT | Codex 0.167.0 | opencode 1.19.5 | pi 1.5.0 |
|---|---|---|---|---|---|---|
办公・短 doc
|
87% · 48.2k · 11s | 87% · 53.4k · 12s | 82% · 44.0k · 22s | 89% · 68.6k · 31s | 87% · 22.9k · 29s | 54% · 5.0k · 17s |
办公・长 doc-l
|
86% · 109.3k · 61s | 84% · 124.3k · 86s | 86% · 104.7k · 154s | 91% · 101.5k · 147s | 91% · 170.0k · 293s | 95% · 113.0k · 272s |
研究・短 research-s
|
87% · 49.5k · 15s | 87% · 54.7k · 15s | 83% · 49.4k · 33s | 89% · 63.2k · 30s | 84% · 41.4k · 50s | 63% · 10.9k · 26s |
研究・长 research-l
|
91% · 85.8k · 22s | 91% · 94.2k · 22s | 88% · 59.9k · 51s | 92% · 81.8k · 49s | 90% · 100.9k · 95s | 64% · 12.1k · 37s |
编码・短 coding-s
|
78% · 43.3k · 14s | 84% · 42.2k · 11s | 85% · 54.9k · 23s | 89% · 61.7k · 21s | 83% · 28.1k · 26s | 57% · 7.7k · 19s |
编码・长 coding
|
83% · 53.3k · 25s | 83% · 58.8k · 26s | 89% · 85.0k · 72s | 89% · 91.5k · 68s | 91% · 92.0k · 98s | 73% · 30.2k · 77s |
编码・长 longcode
|
82% · 76.1k · 47s | 77% · 75.8k · 58s | 91% · 81.5k · 139s | 93% · 93.2k · 146s | 89% · 124.4k · 221s | 88% · 92.9k · 194s |
运维・短 ops-s
|
87% · 48.2k · 15s | 88% · 59.7k · 14s | 77% · 51.2k · 24s | 91% · 61.8k · 22s | 87% · 22.7k · 25s | 53% · 6.7k · 20s |
运维・长 ops
|
89% · 128.8k · 35s | 90% · 135.3k · 34s | 86% · 150.0k · 80s | 83% · 144.0k · 75s | 91% · 226.4k · 134s | 84% · 92.7k · 81s |
Lean・短 lean-s
|
91% · 76.7k · 17s | 89% · 59.3k · 15s | 86% · 64.3k · 29s | 91% · 39.3k · 21s | 83% · 26.8k · 26s | 65% · 8.4k · 22s |
Lean・长 lean-l
|
90% · 80.6k · 26s | 92% · 133.2k · 34s | 81% · 90.2k · 51s | 85% · 76.8k · 39s | 83% · 40.9k · 49s | 80% · 22.2k · 52s |
pi 在短任务和研究题上命中率低,是因为它的系统提示与工具定义只有约 1.4k,总量太小,未缓存的新输入占比大;按总 token 算它最省。

| CLI | 模式 | 成功 | 命中率(单次范围) | 平均总 token | 未缓存输入 | 缓存读 | 缓存写 | 输出 | 首个 prompt | 平均 prompt | 请求数 | 平均 TTFT | 平均用时 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 本仓库 · Claude 账号 | TUI 6 轮 | 3/3 | 94.8%(95–95) | 234.8k | 1.2k | 218.8k | 10.7k | 4.0k | 17.0k | 20.3k | 12.3 | 2.13s | 96s |
| 官方 Claude Code 2.1.319 | TUI 6 轮 | 3/3 | 97.3%(97–97) | 640.2k | 4.1k | 618.6k | 12.9k | 4.7k | 32.9k | 36.6k | 18.3 | 1.48s | 104s |
| 本仓库 · ChatGPT 账号 | TUI 6 轮 | 3/3 | 91.0%(89–94) | 309.8k | 27.6k | 279.2k | 0.0k | 2.9k | 11.6k | 13.9k | 23.0 | 2.57s | 182s |
| Codex CLI 0.167.0 | TUI 6 轮 | 3/3 | 93.1%(92–94) | 266.7k | 18.1k | 245.4k | 0.0k | 3.3k | 14.5k | 17.1k | 16.0 | 2.11s | 149s |
| pi 1.5.0 | TUI 6 轮 | 3/3 | 83.5%(81–86) | 80.4k | 12.8k | 65.0k | 0.0k | 2.6k | 1.3k | 3.0k | 25.7 | 2.09s | 154s |
| 本仓库 · Claude 账号 | SDK 4 轮 | 3/3 | 92.1%(92–92) | 133.4k | 0.0k | 119.2k | 10.2k | 4.0k | 15.5k | 18.5k | 7.0 | 2.54s | 38s |
| 官方 Claude Code 2.1.319 | SDK 4 轮 | 3/3 | 92.5%(92–93) | 154.8k | 0.0k | 139.2k | 11.3k | 4.3k | 17.2k | 20.5k | 7.3 | 3.23s | 46s |
| 本仓库 · ChatGPT 账号 | SDK 4 轮 | 3/3 | 91.9%(90–93) | 177.5k | 14.0k | 159.9k | 0.0k | 3.6k | 10.4k | 14.5k | 12.0 | 3.44s | 112s |
| Codex CLI 0.167.0 | SDK 4 轮 | 3/3 | 90.7%(89–91) | 201.0k | 18.4k | 178.9k | 0.0k | 3.7k | 15.1k | 18.5k | 10.7 | 2.55s | 118s |
| pi 1.5.0 | SDK 4 轮 | 3/3 | 86.0%(81–91) | 82.1k | 11.0k | 67.5k | 0.0k | 3.6k | 1.4k | 4.6k | 17.0 | 2.37s | 119s |
| 本仓库 · Claude 账号 | Web 6 轮 | 3/3 | 94.0%(91–96) | 242.3k | 0.0k | 223.8k | 14.3k | 4.1k | 16.7k | 19.8k | 12.0 | 1.54s | 81s |
| 本仓库 · ChatGPT 账号 | Web 6 轮 | 3/3 | 86.5%(83–89) | 295.8k | 39.5k | 253.4k | 0.0k | 3.0k | 11.0k | 13.7k | 21.3 | 2.90s | 167s |
官方 TUI 命中率更高,但首个 prompt 是本仓库的 2 倍、请求数多 50%,绝对用量大得多。命中率高不等于更省,比较成本以总 token 为准。

| CLI | 方式 | 成功 | 平均总 token(单次范围) | 相对单代理 | 命中率 | 请求数 | 平均用时 |
|---|---|---|---|---|---|---|---|
| 本仓库 · Claude 账号 | 单代理 | 3/3 | 55.8k(50–67k) | 1.0× | 87.4% | 3.3 | 12s |
| 本仓库 · Claude 账号 | 3 个 subagent | 3/3 | 156.2k(155–157k) | 2.8× | 80.6% | 12.0 | 27s |
| 本仓库 · Claude 账号 | Agent Teams 3 人 | 3/3 | 337.0k(336–338k) | 6.0× | 89.8% | 20.0 | 25s |
| 官方 Claude Code 2.1.319 | 单代理 | 3/3 | 61.5k(56–73k) | 1.0× | 87.5% | 3.3 | 13s |
| 官方 Claude Code 2.1.319 | 3 个 subagent | 3/3 | 225.8k(205–236k) | 3.7× | 85.1% | 15.3 | 26s |
| 官方 Claude Code 2.1.319 | Agent Teams 3 人 | 3/3 | 243.8k(230–251k) | 4.0× | 88.1% | 16.3 | 21s |
| 本仓库 · ChatGPT 账号 | 单代理 | 3/3 | 58.8k(57–60k) | 1.0× | 87.5% | 5.0 | 27s |
| 本仓库 · ChatGPT 账号 | 3 个 subagent | 3/3 | 223.1k(217–233k) | 3.8× | 80.3% | 26.0 | 53s |
| 本仓库 · ChatGPT 账号 | Agent Teams 3 人 | 3/3 | 497.8k(429–546k) | 8.5× | 82.6% | 42.0 | 74s |
任务:dates.py、money.py、textwrap2.py 各有一个 bug,修好后跑测试。subagent 与 Teams 只在提示里多一句「每个模块交给一个 subagent / 队员」;Teams 提示要求给每个队员命名,9 次 run 都发出了 3 个具名 Agent 调用。本仓库的队员是真正的团队成员:带完整主提示和队员附加说明,通过邮箱汇报,收尾时还要处理关闭请求,因此比 subagent 多用 token。官方 2.1.319 在 -p 下返回「Async agent launched successfully」,按后台 subagent 运行、没有邮箱,之后的关闭消息报「Task dates is not running」,即实际没有组队;表中官方 Teams 一行只作参考。Teams 用 dev 3da7a1d,它比 453b1c6 只多一处 -p 下 Teams 收尾时机的改动(#1038)。ChatGPT 下每个队员约 8 个请求(模型多为每步一个工具调用),所以请求数和总 token 高于 Claude 侧;约 85% 是缓存读。

同一会话 7 轮编码(读代码列 bug、修 bug、补测试、加两个 CLI 子命令、写 CHANGES.md、最后跑测试),轮间闲置 0 / 4 / 15 / 65 / 4 / 65 / 4 分钟,整个会话约 2.7 小时,用 SDK 多轮方式驱动(Claude Code 系 stream-json,Codex exec resume,pi --continue)。
| CLI | 成功 | 总 token(单次范围) | 缓存写 | 整体命中率 | 请求数 | 每轮第一个请求命中率(3 次平均) |
|---|---|---|---|---|---|---|
| 本仓库 · Claude 账号 | 3/3 | 306k(301–312k) | 54.3k | 81.8% | 14.0 | 0 / 97 / 98 / 50 / 96 / 28 / 99 |
| 官方 Claude Code 2.1.319 | 3/3 | 349k(340–360k) | 47.6k | 85.9% | 14.0 | 67 / 97 / 98 / 50 / 99 / 39 / 99 |
| 本仓库 · ChatGPT 账号 | 3/3 | 331k(294–373k) | 0 | 91.6% | 23.0 | 35 / 81 / 92 / 98 / 97 / 97 / 99 |
| Codex CLI 0.167.0 | 3/3 | 361k(338–373k) | 0 | 92.7% | 18.3 | 82 / 91 / 96 / 94 / 80 / 97 / 99 |
| pi 1.5.0 | 3/3 | 131k(117–149k) | 0 | 83.1% | 25.0 | 0 / 31 / 96 / 55 / 97 / 97 / 97 |
- Claude 侧两次 65 分钟闲置后,第一个请求只命中静态前缀(约一半);第二次本仓库单次为 0–43%,官方 38–40%。官方的静态前缀被全球用户持续使用,始终在缓存里;本仓库的前缀只有自己用,闲置后容易过期。
- 新会话第一个请求:官方 67%、本仓库 0%(3 次同时冷启动,前缀都还没写入)。CLI 矩阵里本仓库首请求平均命中 10.0k,是因为当天已有其他 run 写过前缀。
- ChatGPT 侧缓存保留时间更长:闲置 65 分钟后,本仓库 ChatGPT 账号 97–98%,Codex 94–97%;pi 第一次 65 分钟后平均 55%(单次 0–97%),第二次 97%。单次的整段失效(如 Codex 第 5 轮一次 60%、pi 第 2 轮两次 0%)出现在短闲置之后,与闲置时长无关。
- 总 token 本仓库 Claude 比官方少 12%,ChatGPT 账号比 Codex 少 8%。
| CLI | 失效请求 / 统计请求 | 比例 | 损失的缓存读 |
|---|---|---|---|
| 本仓库 · Claude 账号 | 0 / 195 | 0.0% | 0 |
| 官方 Claude Code 2.1.319 | 0 / 182 | 0.0% | 0 |
| Codex CLI 0.167.0 | 1 / 215 | 0.5% | 16.1k |
| 本仓库 · ChatGPT 账号 | 9 / 330 | 2.7% | 117.4k |
| opencode 1.19.5 | 10 / 315 | 3.2% | 52.1k |
| pi 1.5.0 | 6 / 142 | 4.2% | 52.5k |
统计范围是 CLI 矩阵全部 run 的主代理请求。ChatGPT 侧的失效发生在 tools 与前缀都没变的请求上,来自 OpenAI 后端路由,客户端无法修正;改走 WebSocket 的 10 组对照没有改善(WebSocket 6.3%、SSE 4.1%),Bun 下只用 SSE(记录在 #1023)。
| CLI |
-p 启动到首个请求 |
-p 峰值内存 |
TUI 可输入 | TUI 待机内存 | 启动后 5–25s CPU | 串流 CPU | 串流峰值内存 |
|---|---|---|---|---|---|---|---|
| 本仓库 · Claude 账号 | 0.82s(0.77–0.88) | 248 MB | 0.52s | 220 MB | 9.3% | 8.0% | 264 MB |
| 官方 Claude Code 2.1.319 | 0.89s(0.87–0.95) | 254 MB | 0.73s | 240 MB | 1.9% | 10.7% | 281 MB |
| 本仓库 · ChatGPT 账号 | 0.71s(0.70–0.76) | 249 MB | 0.51s | 233 MB | 10.5% | 5.5% | 277 MB |
| Codex CLI 0.167.0 | 2.59s(2.17–3.35) | 209 MB | 0.40s | 597 MB | 1.1% | 未测到 | 629 MB |
| pi 1.5.0 | 0.83s(0.79–0.88) | 125 MB | 0.40s | 99 MB | 0.5% | 3.4% | 133 MB |
各 3 次取中位数。串流 CPU = 让模型输出约 800 字期间整个进程树的 CPU 占用;官方第 1 次串流测量超时,取另外 2 次;Codex TUI 的串流时间太短,测不到。本仓库启动后 5–25 秒有背景预取,CPU 比官方高;60 秒后两边待机 CPU 都低于 0.5%。
- 任务成功率几乎全部 100%,题组对成功率没有区分度;各 CLI 的差别体现在 token、用时和稳定性。
- 每格 3 次。ChatGPT 侧同一格重跑平均相差 9 个百分点(最大 39),单格差异需超过约 10 个百分点才有意义。
- 多代理只测了 Claude Code 系(Codex、pi、opencode 没有等价的 subagent / Teams 功能)。
完整报告、逐 run 汇总、逐请求原始日志与 harness 在项目共享目录:
-
regression/cache-bench-1107-post/:CLI 矩阵、TUI / SDK / Web(report.md、results.json、raw/、harness/)。 -
regression/cache-bench-1107-current/:多代理、长闲置、启动与资源占用(raw/sub/、raw/team/、raw/gap/、raw/b6/、harness/);pi 与 opencode 的 Claude 侧数据在claude-api/。
原始日志按 raw/<场景>/<任务>/<CLI>-<轮次>/ 存放,只追加不覆盖,不含凭证。本页图表由上述数据直接生成,脚本在 regression/cache-bench-1107-post/charts/。
本页由 docs/features/cache-benchmark.md 自动同步,请在仓库中修改。
- Agent SDK 与 stream-json 控制协议
- Agent Teams
- Agent 与后台任务
- 自动模式(Auto mode)
- 背景会话、daemon 与 agents 视图
- 自定义 UI / Branding 与 Status line
- 构建、发布与终端验收工具
- 缓存命中与用户体验基准
- Channels
- Codex Apps
- 自动压缩窗口
- 调试日志
- /diff 视图
- Direct Connect
- Effort 档位
- 自主 Goal
- Hooks 事件、匹配与输出校验
- 快捷键与 Vim 模式
- MCP 配置与认证
- 记忆:auto memory 与 SQLite FTS5 检索
- 模型自动发现与 Gateway
- Mods 远程客户端(stream-json)
- Mods / Function Hooks
- Monitor 工具
- OpenAI / Codex provider
- 独立会话通信
- 权限规则、权限模式与 Safe mode
- 插件与 Marketplace
- Prompt context 与 Tool search
- 请求韧性:重试、回退模型与默认模型
- Bash 沙箱
- 定时任务:Cron、/loop 与 ScheduleWakeup
- 会话命令
- Skills
- SSH Remote
- 遥测与反馈
- 终端程序状态(OSC 7501)
- Terminal 工具
- 用量、成本与状态
- VS Code 插件
- Claude Web 项目:协调者与任务
- Claude Web 界面导览
- Claude Web(本地网页界面)
- Dynamic Workflow