核心思想
Claude Fable 5 把此前过于复杂、耗时、含糊的任务带入可解范围,尤擅数小时到数周的端到端工作;但它的行为与 Opus 4.8 有别——默认回合更长、在高 effort 下易过度阐述/整理、偶有提前停止与「上下文预算焦虑」。应对之道不是逐条点名行为,而是用简短指令引导:本指南给出十余段可直接粘贴的英文系统提示,覆盖抑制过度规划、简洁性、进度据实、边界约束、并行子智能体、记忆系统、send-to-user 工具等。一句话取舍:能力上台阶后,先重审旧提示与技能是否还需要——过度规约反而会拖累 Fable 5。
本指南介绍专门针对 Claude Fable 5 和 Claude Mythos 5 的提示与脚手架(scaffolding)模式。关于模型的能力、API 变更、定价和可用性,请参阅 Claude Fable 5 与 Claude Mythos 5 发布说明。关于适用于所有当前 Claude 模型的通用技巧,请参阅提示最佳实践。
Claude Fable 5 能够处理此前对模型而言过于复杂、耗时过长或过于含糊的问题,尤其擅长那些需要人类花费数小时、数天乃至数周才能完成的端到端工作。取得最佳成效的团队会把 Claude Fable 5 用在他们最难、尚未解决的问题上;只在较简单的工作负载上测试它,往往会低估它的能力上限。它在更直接的任务上同样表现可靠。
相比 Claude Opus 4.8,Claude Fable 5 存在若干行为差异,可能需要更新你的提示词或脚手架。这一级别的能力提升也是一个契机,让你重新评估哪些指令、工具和护栏(guardrail)仍有必要保留。下文介绍的模式涵盖了最常需要调优的那些行为。
关于 Claude Fable 5 和 Claude Mythos 5 特有的 API 参数变更(仅支持自适应思考(adaptive thinking)、思考输出仅为摘要、无扩展思考预算、refusal 停止原因及其回退(fallback)处理),请参阅 Claude Fable 5 与 Claude Mythos 5 发布说明。
Claude Fable 5 运行了多个安全分类器,针对攻击性网络安全技术(例如构建漏洞利用程序、恶意软件或攻击工具)、生物学与生命科学内容(例如实验室方法或分子机制),以及对模型思考摘要的提取行为。良性的网络安全工作和有益的生命科学任务也可能触发这些防护措施。要自动重新路由被拒绝(refusal)的请求,可配置服务端或客户端回退(fallback)到 Claude Opus 4.8。
能力提升
与 Claude Opus 4.8 相比,Claude Fable 5 在以下方面有所提升:
- 长程自主性(long-horizon autonomy)。 Claude Fable 5 能在较长时间内持续产出有效成果,完成跨越多天、目标导向的运行,并在漫长复杂的任务中保持很强的指令记忆。
- 复杂、规格明确问题上的一次成型(first-shot)正确性。 早期测试者反馈,一些此前需要数天迭代才能完成的系统,现在可以单遍(single-pass)实现。
- 视觉。 Claude Fable 5 在解读密集的技术图像、Web 应用和细节丰富的截图时,准确率大幅提升,且往往使用更少的输出 token;它还经过训练,能够使用 bash 和裁剪工具来处理翻转、模糊或带噪声的图像。
- 企业工作流。 Claude Fable 5 在财务分析、电子表格、幻灯片和文档等任务上能够遵循指令、不越界,并产出专业级的输出。
- 代码审查与调试。 其查找缺陷的召回率(在安全分类器所覆盖的网络安全领域之外)明显高于 Claude Opus 4.8,包括跨代码库和仓库历史的搜索。
- 应对含糊性。 在收到复杂、多线索的请求并被要求自行判断下一步时,Claude Fable 5 表现出色。
- 委派与协作。 Claude Fable 5 在派发和维持并行子智能体(subagent)方面要可靠得多,并能稳定地管理与长时运行的子智能体及对等智能体之间的持续沟通。
除了这些具体提升之外,Claude Fable 5 在几乎所有任务上都普遍比此前的模型更强。Claude Fable 5 并非为攻击性网络安全或生物学与生命科学工作而设计;这些领域的请求可能返回 stop_reason: "refusal"。
默认会运行更长的回合
在更高的努力度(effort)设置下,处理高难度任务的单次请求可能持续数分钟之久,尤其是当任务需要收集上下文、构建并进行自我验证(self-verification)时;而自主运行可能延续数小时。这是团队在适应 Claude Fable 5 时遇到的最大转变之一。在迁移之前,请先调整客户端超时、流式传输和面向用户的进度提示,并考虑重构 harness 以异步方式查看运行情况——例如通过定时任务,而不是阻塞等待。要避免 Claude Fable 5 在任务含糊时过度规划,可使用以下提示词(用途:抑制过度规划,让模型在信息足够时直接行动):
When you have enough information to act, act. Do not re-derive facts already established
in the conversation, re-litigate a decision the user has already made, or narrate
options you will not pursue in user-facing messages. If you are weighing a choice, give
a recommendation, not an exhaustive survey. This does not apply to thinking blocks.
考虑所有努力度档位
努力度(effort)是 Claude Fable 5 上在智能、延迟和成本之间权衡的首要控制项。大多数任务默认使用 high,对能力最敏感的工作负载使用 xhigh,常规工作则使用 medium 或 low。Claude Fable 5 在较低努力度设置下依然表现良好,并且常常超过此前模型在 xhigh 下的表现。如果某个任务能够完成但耗时超出必要,或者你想要一种更快、更具交互性的工作风格,就降低努力度。
在较高努力度下处理常规工作时,Claude Fable 5 可能会超出任务需要去收集上下文、反复斟酌。与此同时,较高的努力度往往能带来出色的验证行为、复杂的推理以及最严谨的输出。要防止在较高努力度下出现未经请求的整理或重构,可使用以下提示词(用途:约束模型只做任务所需的改动,避免过度抽象与防御式编码):
Don't add features, refactor, or introduce abstractions beyond what the task requires. A
bug fix doesn't need surrounding cleanup and a one-shot operation usually doesn't need a
helper. Don't design for hypothetical future requirements: do the simplest thing that
works well. Avoid premature abstraction and half-finished implementations. Don't add
error handling, fallbacks, or validation for scenarios that cannot happen. Trust
internal code and framework guarantees. Only validate at system boundaries (user input,
external APIs). Don't use feature flags or backwards-compatibility shims when you can
just change the code.
强大的指令遵循
指令遵循(instruction following)能力提升幅度足够大,因此你可以用一条简短的指令来引导大多数行为,而不必逐一点名每种行为。例如,在未加引导时,Claude Fable 5 可能会超出任务需要做额外阐述,在较高努力度设置下尤其如此:罗列它不会采纳的选项、长篇解释根本原因、生成结构繁复的 PR 描述,或写下叙述”下一行在做什么”的注释。一条简短的”简洁性”指令,效果不亚于逐条列出每种模式(用途:让模型以结论开头、保持可读且精简):
Lead with the outcome. Your first sentence after finishing should answer "what happened"
or "what did you find": the thing the user would ask for if they said "just give me the
TLDR." Supporting detail and reasoning come after. Being readable and being concise are
different things, and readability matters more.
The way to keep output short is to be selective about what you include (drop details
that don't change what the reader would do next), not to compress the writing into
fragments, abbreviations, arrow chains like A → B → fails, or jargon.
同样的道理也适用于长时运行工作流中的检查点(checkpoint)行为。要让 Claude Fable 5 只在真正需要你介入时才停下,无需枚举每一种情形(用途:定义模型何时应暂停并交还给用户):
Pause for the user only when the work genuinely requires them: a destructive or
irreversible action, a real scope change, or input that only they can provide. If you
hit one of these, ask and end the turn, rather than ending on a promise.
在长时运行中让进度声明有据可依
在长时间的自主运行中,应指示 Claude Fable 5 对照实际的工具结果来审核进度。在 Anthropic 的测试中,即便面对专门设计用来诱发虚构状态报告的任务,这一做法也几乎消除了此类报告(用途:要求模型在汇报进度前,逐条用工具结果核验声明):
Before reporting progress, audit each claim against a tool result from this session.
Only report work you can point to evidence for; if something is not yet verified, say so
explicitly. Report outcomes faithfully: if tests fail, say so with the output; if a step
was skipped, say that; when something is done and verified, state it plainly without
hedging.
明确划定边界
Claude Fable 5 偶尔会采取未经请求的行动(在无人要求时起草一封邮件、创建防御性的 git 分支备份)。请明确定义 Claude Fable 5 应该做什么、不应该做什么(用途:把”描述问题/提问/思考”与”请求改动”区分开,未获请求前不动手修复):
When the user is describing a problem, asking a question, or thinking out loud rather
than requesting a change, the deliverable is your assessment. Report your findings and
stop. Don't apply a fix until they ask for one. Before running a command that changes
system state (restarts, deletes, config edits), check that the evidence actually
supports that specific action. A signal that pattern-matches to a known failure may have
a different cause.
并行子智能体
Claude Fable 5 比此前的模型更愿意派发并行子智能体(subagent)。请频繁使用子智能体,就何时适合委派给出明确指引,并优先采用编排者(orchestrator)与子智能体之间的异步通信,而不是阻塞等待每个子智能体返回。在多个子任务间保持自身上下文的长生命周期子智能体,能够通过缓存读取节省时间和成本,并避免被最慢的子智能体拖累形成瓶颈。
Delegate independent subtasks to subagents and keep working while they run. Intervene
if a subagent goes off track or is missing relevant context.
构建记忆系统
当 Claude Fable 5 能够记录此前运行中的经验教训并加以引用时,它的表现尤其出色。请提供一个可供它记录笔记的地方,简单到一个 Markdown 文件即可(用途:规定记忆文件的记录格式与维护规则):
Store one lesson per file with a one-line summary at the top. Record corrections and
confirmed approaches alike, including why they mattered. Don't save what the repo or
chat history already records; update an existing note rather than creating a duplicate;
delete notes that turn out to be wrong.
要从既有历史记录引导(bootstrap)出记忆系统,可让 Claude Fable 5 回顾过往会话(用途:让模型从历史会话中提炼主题与教训并存档,以备后续引用):
Reflect on the previous sessions we've had together. Use subagents to identify core
themes and lessons, and store them in [X]. Make sure you know to reference [X] for
future use.
罕见的提前停止情况
在长会话的深处,Claude Fable 5 偶尔会以一句仅含意图的文本(“我现在就运行 X”)结束回合,却没有发出对应的工具调用;或者在其实已具备足够信息可以继续时停下来征求许可。一句”continue”或”go ahead and do it end to end”(继续,端到端把它做完)即可解决。要定义何时暂停才是恰当的,请将此与强大的指令遵循一节中的检查点指令搭配使用。对于自主流水线,可添加一条系统提醒(用途:告知模型当前为无人值守、可逆操作直接执行、回合结束前检查是否把承诺的工作真正做完):
You are operating autonomously. The user is not watching in real time and cannot answer
questions mid-task, so asking "Want me to…?" or "Shall I…?" will block the work. For
reversible actions that follow from the original request, proceed without asking.
Offering follow-ups after the task is done is fine; asking permission after already
discussing with the user before doing the work is not. Before ending your turn, check
your last paragraph. If it is a plan, an analysis, a question, a list of next steps, or
a promise about work you have not done ("I'll…", "let me know when…"), do that work now
with tool calls. End your turn only when the task is complete or you are blocked on
input only the user can provide.
罕见的上下文预算担忧情况
在非常长的会话中,Claude Fable 5 偶尔会建议开启新会话、提议做总结并交接,或者削减自己的工作量。这种情况最常见于 harness 向模型显示剩余 token 倒计数时。请尽可能避免暴露明确的上下文预算计数。如果 harness 必须显示,一句安抚会有帮助(用途:告诉模型上下文充裕,不要因上下文限制而停下或另开会话):
You have ample context remaining. Do not stop, summarize, or suggest a new session on
account of context limits. Continue the work.
给出原因,而不只是请求
当 Claude Fable 5 理解请求背后的意图时,它的表现往往更好:上下文能让它把任务与相关信息联系起来,而不必自行推断意图。请提供你之所以提出该请求的背景,对于横跨多条工作线的长时运行智能体尤其如此:
I'm working on [the larger task] for [who it's for]. They need [what the output
enables]. With that in mind: [request].
与用户沟通时的可读性
在较长的或智能体式(agentic)的对话中(大量工具调用、庞大的工作上下文),Claude Fable 5 可能会产生让人难以理解的文本:密集的箭头链速记、过深的实现细节、对用户从未看到的思考的引用,或过于技术化的措辞。一段关于沟通风格的补充说明可以缓解这一问题(用途:要求模型把最终总结写给”没看过工作过程的读者”,丢弃工作中的速记和自造词汇):
Terse shorthand is fine between tool calls (that's you thinking out loud, and brevity
there is good). Your final summary is different: it's for a reader who didn't see any of
that.
If you've been working for a while without the user watching (overnight, across many
tool calls, since they last spoke), your final message is their first look at any of it.
Write it as a re-grounding, not a continuation of your working thread: the outcome
first, then the one or two things you need from them, each explained as if new. The
vocabulary you built up while working is yours, not theirs; leave it behind unless you
re-introduce it.
When you write the summary at the end, drop the working shorthand. Write complete
sentences. Spell out terms. Don't use arrow chains, hyphen-stacked compounds, or labels
you made up earlier. When you mention files, commits, flags, or other identifiers, give
each one its own plain-language clause. Open with the outcome: one sentence on what
happened or what you found. Then the supporting detail. If you have to choose between
short and clear, choose clear.
创建一个 send-to-user 工具
在运行长时、异步的智能体时,要给智能体提供一种方式,让它能在不结束回合的情况下,把一条用户必须原样看到的消息推送出来:一份可交付物(生成的代码片段或起草的消息)、一条带有具体数字的进度更新,或对用户在循环中途所提问题的直接回复。该工具的输入就是要显示的消息;当 Claude 调用它时,直接在你的 UI 中渲染该输入,并返回一个简单的确认作为工具结果。工具输入永远不会被摘要化,因此内容会完整无损地送达。
{
"name": "send_to_user",
"description": "Display a message directly to the user. Use this for progress updates, partial results, or content the user must see exactly as written before the task finishes.",
"input_schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The content to display to the user."
}
},
"required": ["message"]
}
}
每当你的用户体验依赖于在任务中途逐字交付内容或进行直接的用户交互时,就添加这个工具。对于只是叙述常规进度的智能体,模型自身的总结通常就足够了。仅仅定义这个工具本身并不够:如果系统提示中没有相应指令,Claude Fable 5 很少会调用它。请将该工具与诱导性(elicitation)措辞搭配使用,例如(用途:仅在有用户必须逐字阅读的内容时才调用 send_to_user,不用于叙述或推理):
Between tool calls, when you have content the user must read verbatim
(a partial deliverable, a direct answer to their question), call the
send_to_user tool with that content. Use send_to_user only for
user-facing content, not for narration or reasoning.
不要把叙述或内部推理通过 send_to_user 传递;为非面向用户的内容过度调用它,会使其失去意义。
- 从你难度区间的顶端入手。 选一个比你会交给此前模型的任务更难的任务,让 Claude Fable 5 去界定范围、提出澄清性问题并执行。
- 在长时运行的提示词中让自我验证显式化。 独立的、全新上下文的验证器子智能体(verifier subagent)往往优于自我批判(self-critique)。对于长时运行的任务,可指示:
Establish a method for checking your own work at an interval of [X] as you build. Run this every [X interval], verifying your work with subagents against the specification.(在构建过程中,建立一种以 [X] 为间隔检查自身工作的方法。每隔 [X 间隔] 运行一次,用子智能体对照规格验证你的工作。) - 重构既有的提示词和技能(skill)。 为此前模型开发的技能对 Claude Fable 5 来说往往过于规约(prescriptive),可能会降低输出质量。请审查并考虑移除较旧的指令——如果默认表现更好的话。Claude Fable 5 也很擅长根据当前任务所学,临时(on the fly)更新技能。
- 不要指示 Claude 在回复中复现其推理。 那些要求模型在回复文本中回显、转录或解释其内部推理的提示词、技能或 harness 指令,可能在 Claude Fable 5 上触发
reasoning_extraction(推理提取)拒绝类别,导致回退到 Claude Opus 4.8 的比例升高。在迁移时,请审查既有的技能和系统提示中是否含有反思或”展示你的思考”类指令。如果你的应用需要推理可见性,请改为读取自适应思考(adaptive thinking)产生的结构化thinking块,并使用 send-to-user 工具在长时运行中推送进度。 - 创建一个 send-to-user 工具。 对于长时、异步的智能体,一个客户端工具能在不结束回合的情况下,把消息逐字交付给用户。参见创建一个 send-to-user 工具。