Anthropic 在 Claude Fable 5.1 发布同期公布了官方提示词工程指南(platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1),列出 16 项行为差异与对应提示技巧。本文将其归纳为四个控制面——思考预算、工具与执行、消息历史、交付约束——并给出可直接复制的提示词模板,帮助你把 Fable 5.1 的长程推理与智能体能力用满。 一、先选对 effort:思考预算是第一旋钮
effort(努力程度)是 Fable 5.1 上调节智能、延迟与成本的主要控制手段,比改 prompt 更重要。共五档:low / medium / high(默认)/ xhigh / max。
| | |
|---|
| | 能力接近 Opus/Sonnet 级但分数更高;检索倾向下降,易凭记忆回答(需加搜索提醒) |
| | 品质约等于 Fable 5 的 high,但更便宜 |
| | 官方推荐起始档;长工具链中进度更新较少(需主动开启) |
| | 思考链变长,可能先在 thinking 中写草稿再重写,需加"不要重复起草"指令 |
| | 输出 token 上限易被思考吃掉;需提高 max_tokens 并评估质量增益是否值得 |
关键提醒:不要沿用 Fable 5 的 effort 设置——同名档位在不同模型代表的思考量不同,换模型必须重跑评测。官方建议从 high 起步,再逐档扫描自己的 eval 集。
会话中途可用 beta 的 per-message effort 切换档位,且不破坏提示缓存前缀;但请求级 output_config.effort 的改法会使缓存的 thinking block 失效,注意区分路径。
二、工具与执行:让智能体跑得快且看得见
1. 批量调用独立工具
Fable 5.1 在智能体循环中容易陷入"每轮只调一次工具"的低效模式。在系统提示或单轮系统消息中加一句:
2. 开启进度更新
Fable 5.1 默认比 Fable 5 写更少的用户面向进度说明,高 effort 下尤甚——用户可能看到 Agent 安静数分钟。两步修复:
- API 层:把
thinking.display 从默认 "omitted" 改为 "updates"(beta,需 header thinking-display-updates-2026-08-18)或 "summarized",把每个非空 thinking block 当状态行渲染。
- 提示层:移除"所有发现留到最后再说"这类压抑叙述的旧指令;如需更多更新,显式写明"在每个步骤完成后用一句话告诉我你做了什么、下一步是什么"。
3. 让主智能体在子智能体运行时继续工作
主 Agent 在派发子任务后不要空等。提示词写法:
该子 Agent 非阻塞并行策略属于高级提示词实践,模型能否做到取决于任务复杂度、effort 档位,不能保证 100% 生效。
三、消息历史:严格 append-only
Fable 5.1 的 thinking block 与其上下文强绑定:插入、删除或改写历史中的任何消息(包括系统提示、工具定义、早期用户/助手消息)都可能使 thinking block 失效,触发 400 错误并使缓存归零。
三条铁律:
- 历史只能追加,不能原地改写——把对话当作 append-only 日志。
- 临时规则用单轮即弃的系统消息追加,不要回改原始 system prompt。
- 压缩摘要时明确保留清单(见下方模板),不要让客户端自动 compaction 丢掉关键约束。
压缩摘要时,用这个模板告诉模型保留什么:
四、交付约束:定义"完成"并守住范围
1. 告诉它什么是"做完"
Fable 5.1 可能在任务中途停下来请求许可,或只描述下一步而不执行。加一段:
2. 限制范围蔓延
Fable 5.1 有"顺手修 Bug"和"多写测试"的倾向。在 CLAUDE.md 或系统提示中写:
3. 优先定向编辑而非整文件重写
4. xhigh / max 下控制输出预算
同时把 max_tokens 调高,为长输出留足空间——thinking 消耗的 token 计入输出配额。
五、写作风格与格式调整
Fable 5.1 的文风比 Fable 5 更密:句子更长、段落更挤、用词更精炼。同时格式化更少(粗体、列点、标题变少)。两个方向的调整:
| |
|---|
| 在 CLAUDE.md 中加一句:去掉所有矫饰文风。能用直白说法就用直白说法,不要用隐喻代替直述。 |
| 把旧的"禁用粗体/列点"规则改为正面引导:需要时使用列点和粗体,帮助读者扫读。 |
| 加指令:引用来源原文时必须用引号标注为引用,不要与自己的转述混在一起。 |
六、低 effort 下的搜索触发与安全误报
两个容易踩的坑:
- 低 effort 不搜索:Fable 5.1 在 low 档更倾向于凭记忆回答。涉及新工具、新模型、时效信息时,加一条:
回答前先搜索确认,即使你认为已知答案。 或直接用 medium 以上。
- 安全误报(stop_reason: "refusal"):把"这段代码能编译吗"改成"这段代码有哪些 Bug"可减少误判;为冷门语言附上文档链接;工具输出中的 Base64 内容尽量剥离。
七、生产级提示词架构模板
对于复杂长程任务,用以下结构组织系统提示(来自 Anthropic 官方建议与社区实践整合):
常见问题
Q: 原来给 Fable 5 写的提示词要全部重写吗?
A: 不需要。Anthropic 明确表示 Fable 5 的提示词在 5.1 上多数可直接用。但建议排查三件事:①旧"少用格式"规则是否该改为正面引导;②旧"把发现留到最后"指令是否该删除(因为 5.1 默认进度更新更少);③effort 档位要重新扫描评测(同名不同量)。
Q: 为什么我的 Agent 突然安静了好几分钟?
A: 大概率是 thinking.display 为默认 omitted,进度更新块被丢弃了。改成 "updates" 或 "summarized" 即可看到。也可能是 effort 设太高、思考链太长——降到 medium 或 high 试试。
Q: 对话中途改系统提示后报 400 错误怎么办?
A: thinking block 与上下文强绑定,改写历史消息会破坏绑定。解决方案:用单轮即弃的系统消息追加临时规则(turn-scoped system message,beta),不要回改原始 system prompt;或用 per-message effort 切换档位(不破坏缓存)。
Q: xhigh/max 输出经常被 max_tokens 截断怎么办?
A: 两步:①提高 max_tokens(thinking 消耗计入输出配额);②加指令"思考阶段仅用于判断,不要在 thinking 中起草完整交付物再在正文重写",避免思考与正文重复导致双倍延迟和 token 浪费。
Q: 怎么省成本?
A: 三招:①日常用 medium 或 low 替代 high(品质持平或接近,成本大幅下降);②稳定前缀(人设、工具说明、仓库地图)放最前以便缓存命中,缓存读仅 $0.25/MTok;③小改动用定向编辑而非整文件重写,减少输出 token。
以上信息综合自 Anthropic 官方提示词指南(platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1)及官方模型概览页、AGI Hunt、鏈新聞 ABMedia、Penchan、PrompTessor、PromNest、CSDN、The Neuron Daily、XiaoHu 等社区解读,于 2026-09 初核对。effort 档位行为、thinking block 绑定规则、display 参数、per-message effort 等 API 细节以官方文档为准;各社区解读中的成本估算与基准数据随 harness 差异较大,仅供方向参考。