TwKit

推文

@ScarletKc · 2026-10-15 22:44

研究了一下 Claude Code 的 /btw。这个旁路提问是不能用工具的,但它其实没有把工具从请求里拿掉。 请求里还是主对话那一整套 system prompt、工具定义和历史消息,只在最后追加一段提醒,告诉模型这是旁路问题,你没有工具。模型真去调工具的话,执行层会全部拒绝,也只给一轮。 这么绕是为了缓存。Anthropic 的 prompt cache 按前缀匹配,删掉工具定义整个缓存就失效了,改 tool_choice 也会让对话历史那部分失效。现在前缀和主对话一模一样,btw 能直接吃主对话的缓存,还是只读不写,一次性的问题不用多付写缓存的钱。 Agent 工具里的 fork 子代理也是这个思路,system prompt、工具、模型全部继承父代理。所以 fork 不能单独换模型,缓存本来就是按模型分开的。 Codex 也有 /btw,不过它是 /side 的别名,会开一个临时的 fork 线程。可以多轮聊,也能用工具,靠提示词约束它别改文件。这个新线程还会换一个 prompt_cache_key,前缀虽然一样,能不能命中缓存就没保证了。

曝光 601 · 评论 2 · 点赞 9 · 书签 3 · 曝光/时 1149.968264928347

TwKit
正在载入