我用的是 Pro 订阅,平时主要用 Opus 5.5 的 medium effort。Fable 5.2 上线后我用它体验了一次,顺便对着 Anthropic 那篇选模型的文章,把 ~/.claude 下的设置、子代理和 CLAUDE.md 过了一遍。下面是改动和理由,配置可以直接抄。
主会话用 Opus 和默认 effort
文章的建议是日常工作从 Opus 5.5 的默认 effort(medium)开始,这和我平时的用法一致。Fable 5.2 每个 token 的价格是 Opus 的两倍,我把它留给大型重构、迁移和架构规划。
settings.json 里还留着一行全局的 effortLevel: "high",这是 Opus 5 时期写下的。官方文档说 Opus 5.5 的 medium 已经相当于 Opus 5 的 high,所以我删掉了这一行,让每个模型用自己的默认值。
任务做不好时,我按文章给的顺序处理:先确认模型有办法自己验证结果,比如跑测试或构建;再把 effort 升一档;最后才换更大的模型。
便宜的活交给小模型子代理
子代理在自己的上下文里跑,按它所用模型的价格计费。没有指定模型的子代理会继承主会话的模型,内置的 Explore 也跟着主会话走。我做了两处改动。
第一处是给没指定模型的子代理设一个默认值:
{ "env": { "CLAUDE_CODE_SUBAGENT_MODEL": "sonnet" }}第二处是定义一个同名的 Explore 覆盖内置版本,让搜索跑在 Haiku 上:
---name: Exploredescription: 只读搜索代理,用于大范围查找文件和代码位置,只带回结论。disallowedTools: Edit, Write, NotebookEdit, Agentmodel: haikuomitClaudeMd: true---分工的依据是出错的代价。找文件、读日志、汇总文档这类活,结果错了很容易看出来,可以交给 Haiku。需要判断的决定都留在主会话。
| 子代理 | 模型 | effort | 做什么 |
|---|---|---|---|
| Explore | haiku | 默认 | 在代码库里搜索定位 |
| researcher | haiku | medium | 查文档和网页,只带回结论 |
| coder | sonnet | medium | 按已定的方案实现 |
| reviewer | opus | medium | 对照计划审查改动 |
查资料的代理要真的只读
我的 researcher 原来只禁了 Edit 和 Write,「不执行有副作用的命令」只写在提示词里。它能联网,也能跑 Bash,网页上一句「运行这条命令」就可能被照做。
现在 disallowedTools 里加上了 Bash 和 PowerShell,本地文件它用 Read、Grep、Glob 读。让它去找技能、插件或 MCP 服务器时,它只汇报来源、维护者、最近更新时间和所需权限,装不装由我决定。
运行中的会话不读新配置
改完 chrome-devtools-mcp 插件的启动参数后,我在当前会话里重启了它的服务进程,拉起来的仍然是旧参数。插件配置在会话启动时读入,之后不再重读。要在不新开会话的前提下验证,只能按新参数单独启动一次服务,向它发 MCP 请求看结果。
这次给它加了两个参数。chrome-devtools-mcp@latest 让 npx 每次取最新版。--ignoreDefaultChromeArg=about:blank 去掉 Puppeteer 启动 Chrome 时默认追加的空白页。
什么时候结束一个会话
每一轮请求都会重发整段对话。平时便宜是因为前面的内容命中了缓存,缓存读取的价格约为正常输入的二十分之一。缓存过期后再发消息,整段对话要重新写入缓存,这一轮会很贵。文章给的数字是:15 万 token 的上下文,每轮缓存读取约 0.03 美元;2 万 token 时约 0.004 美元。
我以前记的教训是「任务结束后不要再发消息」,这个结论偏严了。刚做完就追问是便宜的,也应该留在原会话。满足下面任一条我才新开:
- 新请求不依赖这个会话里查到或决定的东西。
- 交付物已完成并验证,结论已写进代码、文档或记忆。
- 隔了很久再回来,而且上下文已经很大。
- 要换模型。缓存按模型分开,换模型等于整段重写。
- 模型开始重复做过的事,或者引用已经过时的结论。
每个任务收尾时,我把现状和下一步写进项目文档,新会话读一下就能接上。
边界与取舍
- Haiku 读错搜索结果时,主模型会打开错的文件,白花一轮 token。仓库很大或命名混乱时,把 Explore 换成 Sonnet 更稳。
@latest不锁版本,新版发布后会直接运行在带登录态的调试浏览器上。- 这套配置是按 Pro 的额度定的。额度宽裕时,让子代理继承主模型也说得过去。
/doctor会检查设置和 CLAUDE.md 并给出裁剪建议,/doctor prompt-audit会找出为旧模型写的指令和引用了不存在文件的内容。两者都要手动运行。