opencode 缓存 Bug:工具消息 cache_control 位置错误致长会话全价计费
HawkingRadiation42 · ghdev · 2026-10-20
opencode(v2.0.32)被报出一个影响成本的 Bug:当使用 openai-compatible provider 指向 Anthropic 网关并设置 compatibility.cacheFormat: "anthropic" 时,V2 会把 cachecontrol 标记放进 tool 消息的 content 数组内,网关会忽略该位置的标记,导致只要最后一条消息是工具结果,整段对话就无法命中缓存。
- 实测数据:一个 27 万 token 的长会话中,每步 cache read 恒定为 11,331 tokens(仅系统提示+工具定义),cache write 为 0
- 意味着工具密集型 agent 会话的每一步都按未缓存输入全价重新计费整段上下文
- 抓包确认请求前缀完全稳定,仅 cachecontrol 位置不对;直接向网关发送相同请求并正确放置标记即可命中缓存
对跑长 agent 会话的开发者是实打实的账单问题,值得检查自己的 cache read/write 统计。
「编程与Agent」频道最新
- Garry Tan 力挺 Aside Browser:让 Agent 真正用好网页的解法 — garrytan · 2026-10-23
- MCP 服务器 30 天后暗藏窃取 SSH 密钥指令,作者开源 mcp-guard 防变节 — ErgoniaWorks · 2026-10-23
- 实测:不在 AGENTS.md 里写明的 MCP 工具,编码 Agent 不会用 — colinmcnamara · 2026-10-23
- 用开源模型+Claude 把一段网球视频变成世界级教练 — tweetsatpreet · 2026-10-23
- 132 个免费开源 AI Agent 与 RAG 项目合集,星标 1.65 万 — Arindam_1729 · 2026-10-23
- Google Agents CLI 开放扩展系统,v1.8.0 官方支持 LangChain — rseroter · 2026-10-23