Claude Fable 5 公式プロンプトガイド:過剰な計画癖から嘘の進捗報告まで、そのまま使える十数個の調整法
- AnthropicがClaude Fable 5とClaude Mythos 5向けの公式プロンプトエンジニアリングガイドを公開。Claude Opus 4.8と比べたこの世代の挙動の違い、およびそれに応じたプロンプトとエンジニアリング基盤の調整方法をまとめている
- ガイドはシステムプロンプトにそのまま貼り付けられる十数段の指示文を提示。過剰な計画癖を抑える、勝手なリファクタリングを止める、冗長な出力を圧縮する、ユーザーに確認を取るべき境界線を引く、といった用途に使える
- ある監査型の指示は、進捗を報告する前に本セッション内のツール呼び出し結果と照合して検証するようモデルに求めるもので、Anthropicによれば、意図的に虚偽報告を誘発するよう設計されたテストタスクにおいてほぼこれを解消したという
- ガイドは、長時間稼働する非同期エージェントに send_to_user というツールを追加し、ユーザーに一字一句そのまま見せる必要のある内容を要約を経ずに直接届けるよう提案している
- ドキュメントの注意点:プロンプトがモデルに内部の推論過程を復唱してレスポンス本文に書き出すよう求めると、Fable 5 の reasoning_extraction 拒否カテゴリーが発動し、リクエストが自動的に Claude Opus 4.8 にダウングレードされる可能性がある
このドキュメントが解決する課題
Anthropicは最近、Claude Fable 5 と Claude Mythos 5 の公式プロンプトエンジニアリングガイドを公開した。Claude Opus 4.8 と比べたこの世代の挙動の変化、およびそれに合わせて調整すべきプロンプトとエンジニアリング基盤の書き方をまとめている。
率直に言えばこれはチューニング説明書だ。新モデルはより有能になったが、いくつかのデフォルト挙動が変わったため、古いプロンプトやエンジニアリング基盤をそのまま使うと落とし穴にはまる。ドキュメントは変化のひとつひとつに、システムプロンプトにそのまま貼り付けられる指示文を添えており、それをなぞって調整すればいい。
まず前世代からの進化点を一言でざっと見る
ドキュメントはClaude Opus 4.8と比べた7項目の進化点を挙げている。ここでは一言ずつさっと触れるだけで詳しくは展開しない。
- 長時間の自律性:誰も見ていなくても数時間から数日連続で作業でき、長く複雑なタスクでも途切れず、本来の目的を忘れない
- 初回で的中:これまで数日かけて何度も反復してようやく動くようになっていたシステムの一部が、初期テスターのフィードバックによれば一度で正しく実装できたという(テスター側の見解)
- 視覚理解:密度の高い技術図、ウェブアプリ、詳細なスクリーンショットをより正確に読み取り、出力もよりトークン効率がよい。bashとトリミングツールを使って回転・ぼやけ・ノイズのある画像も処理できる
- 企業向けワークフロー:決算分析、表、スライド、文書において指示への忠実度が高く、脱線せず、より専門的な成果物を出す
- コードレビューとデバッグ:バグを見つける再現率がClaude Opus 4.8より明確に高い(サイバーセキュリティ領域を除く)。コードベースと履歴を横断して検索できる
- あいまいさへの対応:マルチスレッドで複雑な要求を丸ごと渡して次の一手を自分で決めさせても対応できる
- サブエージェント連携:より積極的にサブエージェントを並行して派遣し、長時間稼働のサブエージェントや同格のエージェントとの非同期通信もより安定して維持できる
また、安全分類器を通して3種類のリクエストを遮断する:攻撃的なサイバーセキュリティ(exploit・マルウェア・攻撃ツールの作成)、生物・生命科学(実験手法・分子メカニズム)、そしてモデル内部の要約された思考の抽出。善良な関連作業も誤って引っかかることがある。拒否されたリクエストをClaude Opus 4.8へ自動的にフォールバックさせるよう、サーバー側またはクライアント側で設定することができる。
過剰な計画癖を抑える:ひと言で「十分なら動け」とさせる
タスクがあいまいでeffortを上げるほど、Fable 5は考えすぎがちになる。会話の中ですでに確定した事実をもう一度推論し直したり、絶対に採用しない案まで列挙したり、前置きがやたら長くなったりする。以下の指示文は「情報が揃ったら直接動け」とさせるものだ。
- 既知の事実を繰り返し復唱し、話し合い済みの決定を蒸し返す
- 絶対に採用しない案まで並べ立てる
- 根本原因を長々説明し、結論より前置きの方が長い
- 十分な情報があれば直接動く
- トレードオフを検討する際は網羅的なリストではなく一つの推奨案を出す
- まず結論を述べ、思考過程はthinkingブロックに留める
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.
このセクションに関連して、エンジニアリング側の注意点をひとつ添えておく。長時間の自律性(long-horizon autonomy)とは、誰も見ていない状態でモデルが長時間連続して作業できる能力を指し、数時間、時には数日にわたって途切れないことを意味する。その代償として、単発のリクエストが長くなる。effortが高めの設定で、コンテキスト収集と自己検証を要するタスクでは、1回のリクエストが数十分に及ぶこともあり、自律実行は数時間続くこともある。移行前にクライアント側のタイムアウト時間、ストリーミング表示、ユーザー側の進捗表示をすべて調整しておくこと。エンジニアリング基盤は定期的な非同期ポーリングでタスク状態を確認する方式に改め、戻り値をブロッキングで待つやり方は避けた方がよい。
効力レベルの調整法、勝手なコードリファクタリングをどう防ぐか
effort(効力レベル)は、Fable 5において「賢さ・遅さ・コスト」のバランスを取る主要スイッチで、low・medium・high・xhighの4段階に分かれる。デフォルトはhighを使い、最も能力を要するタスクにはxhighを、通常業務にはmediumやlowを調整して使う。重要なのは、この世代の低い段階でも前世代のxhighを上回ることが多いという点だ。タスクは完了するが必要以上に遅い場合は、段階を下げよう。下の4つの段階をクリックしてそれぞれの位置づけを見てほしい。
effortはカメラのフォーカスモードに似ている。普段はautoモードで十分だが、最も撮りにくい一枚だけ手動精密モードに切り替える。段階は高ければ高いほど良いわけではなく、難しいタスクだけ上げるものだ。
段階を上げると副作用がある。Fable 5は高いeffortの下で、勝手に機能を追加したり、リファクタリングをしたり、不要な検証を加えたりと、余計な仕事までこなしがちになる。この「勝手に手を加える」動きを止めるには、以下を加える:
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.
まとめを人間らしい言葉にし、本当に立ち止まって確認すべきタイミングを見極める
この世代のモデルは指示追従性が非常に強く、ひと言でひとつの大きな挙動カテゴリーを制御できる。あらゆる状況を逐一列挙する必要はない。このセクションでは2段、冗長さを抑える指示と、本当にユーザーに確認を取るべきタイミングを見極める指示を紹介する。
制約を加えないと、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.
長いフローの中の「立ち止まってユーザーに確認する」判断も同様に、すべての状況を網羅する必要はない。本当に立ち止まるべきなのは次の3種類だけだ:不可逆または破壊的な操作、実質的な範囲の変更、そしてユーザーにしか提供できない情報。この3種類に該当したときだけ質問してターンを終了する。約束だけ残して止まるのではない。
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.
虚偽の進捗報告を防ぐ:証拠に語らせる
長時間の自律作業では、モデルが進捗を捏造することがある。あるステップがすでに完了していると言いながら、実際には完了していないというケースだ。公式の解決策は、報告前に自己点検させること――ひとつひとつの主張を、本セッション内の実際のツール呼び出し結果と照合して検証させ、未検証のものは明言させる、というものだ。
これはドキュメント全体の中でも数少ない、効果データを示している箇所だ。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.
境界線を引く:分析しているときは勝手に手を出さない
Fable 5はときどき勝手に行動する。誰も頼んでいないメールの下書きを自主的に作成したり、念のためgitブランチでバックアップを取ったりする。以下の指示はこれを止めるもので、「報告すべきこと」と「手を出すべきこと」を分離する。
核心は2つの境界線だ。ひとつ、ユーザーが問題を説明している、質問している、あるいは考えを口に出しているだけで、変更を求めているわけではないときは、成果物はあなたの評価であるべきで、報告したら止まる。誰も頼んでいないのに先に修正へ動いてはいけない。ふたつ、システム状態を変更するコマンド(再起動・削除・設定変更)を実行する前に、その証拠が本当にその具体的な操作を裏付けているか確認する。既知の障害パターンに一致するように見える信号でも、実際は別の原因かもしれない。
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.
並行サブエージェントを使いこなし、自ら経験を蓄積できるメモリシステムを構築する
Fable 5は前世代よりも積極的に並行してサブエージェントを派遣し、長時間稼働のサブエージェントとの非同期通信もより安定して維持できる。使い方はたった3つ。多く派遣すること、いつ委任すべきかをはっきり教えること、非同期でメッセージを受け取り、各サブエージェントが一つずつ戻ってくるのをブロッキングで待たないこと。下を切り替えて、新旧2種類のオーケストレーション方式の違いを見てほしい。
Delegate independent subtasks to subagents and keep working while they run. Intervene if a subagent goes off track or is missing relevant context.
さらに経験を蓄積できるメモリシステムを与える
Fable 5は「過去の教訓を記録し、後で参照できる」という点で特に良い成績を示す。メモを書き込める場所を与えればよく、Markdownファイル1つで十分だ。書き込みのルールは以下の通り:
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.
すでにある過去のセッション履歴からこのメモリをコールドスタートさせたい場合は、過去のセッションを振り返らせ、サブエージェントを使ってテーマと教訓を抽出させ、指定したファイルに保存させる:
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.
途中で止まらせない:自律実行中に許可待ちで固まらせない
非常に長いセッションでしか稀に現れない、2つの小さな不具合がある。ドキュメントはそれぞれに対応策を示している。
1つ目:会話が長引くと、「これから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.2つ目:非常に長いセッションでは、モデルが自主的に新しいセッションを開くことを提案したり、まとめてから引き継ごうと申し出たり、自分から作業量の一部を削ってしまうことがある。多くの場合、これはエンジニアリング基盤が「残りトークンのカウントダウン」をモデルに表示していることが引き金になっている。コンテキスト残量の具体的な数値をモデルに見せないようにするのが望ましい。基盤側でどうしても表示せざるを得ない場合は、次のような安心させる文言を加える:
You have ample context remaining. Do not stop, summarize, or suggest a new session on account of context limits. Continue the work.
理由を明確に伝え、ユーザーに必ず見せる専用チャネルを追加し、最後に実践チェックリストで締める
最後の2つの改善点に、専用チャネルをひとつ加え、実践チェックリストをまとめる。
リクエストに「なぜ」を添える
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].
長いセッションの締めくくりでは人間らしい言葉を使う
大量のツール呼び出しとコンテキストの重いエージェント対話では、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ツール
長時間稼働の非同期エージェントを走らせるときは、ユーザーに一字一句そのまま見せる必要のある内容を、ターンが終わる前に押し出す手段を与えよう。成果物(生成されたコードスニペット、下書きしたメッセージ)、具体的な数字を伴う進捗更新、あるいはユーザーが途中で尋ねた質問への直接の回答などがそれに当たる。ツールの入力とは表示すべきメッセージそのものであり、モデルがそれを呼び出したら、その入力をそのままインターフェースに描画すればよい。ツールの結果としては簡単な確認を返せば十分だ。重要なのは、ツールの入力は決して要約されないという点で、内容はそのまま届く。
send-to-userツールは、会議中に上司へ直接メモを手渡すようなもので、会議が終わってからメモの内容を伝聞で説明するのとは違う。内容はそのまま、その場で届き、圧縮を一切経ない。
{
"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"]
}
}ツールを定義するだけでは足りない。システムプロンプトに呼び出し指示を加えなければ、Fable 5は自発的にそれを呼び出すことはほとんどない。呼び出しを促す文言を用意し、ユーザー向けの内容だけに使わせ、説明文や内部推論をこのチャネルに混ぜ込ませないようにしよう:
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.
実践チェックリスト
ドキュメントの最後には、推奨されるエンジニアリング基盤の改修方法がまとめられている。そのまま実行すればよい:
- 難易度上限のより高いタスクを設定する。前世代モデルに任せていたものより難しいタスクをひとつ選び、Fable 5自身にスコープを決めさせ、確認質問をさせ、実行させる。簡単な作業だけでテストすると、その能力の上限を過小評価してしまう。
- 長時間実行の中に明示的な自己点検を組み込む。独立した、フレッシュなコンテキストの検証用サブエージェントは、自己批判よりも信頼できることが多い。長時間タスクには以下を加える:
長時間タスクで定期的に自己点検させる指示テンプレート
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.
- 既存のskillとpromptを見直す。前世代モデル向けに書かれたskillは、Fable 5に対しては細かすぎて、かえって成果物の質を下げることが多い。ルールを逐一列挙する古い書き方の多くは、いったん削除してデフォルトの挙動を見てみるとよい。Fable 5は作業しながらskillをタスクに合わせて自ら更新することもできる。
- 内心の思考を復唱させない。内部の推論をそのままレスポンス本文に書き出させることは、この世代のモデルにとってひとつのレッドラインだ。 ⚠ モデルにエコー・書き起こし・内部推論をそのままレスポンス本文として話させるようなプロンプト、skill、harnessの指示は、Fable 5のreasoning_extraction拒否カテゴリーを発動させ、リクエストが自動的にClaude Opus 4.8へダウングレードされる可能性がある。移行時には、古いskillやシステムプロンプトにある「振り返ってみて」「思考過程を見せて」といった類の指示を洗い出しておくこと。推論の可視性を見たい場合は、adaptive thinkingの構造化されたthinkingブロックを読む方式に切り替え、長時間実行時はsend-to-userツールで進捗を露出させる。
- send-to-userツールを実装する。長時間稼働の非同期エージェントに、メッセージをそのままユーザーに届けつつターンを終了させないクライアント側ツールを1つ用意する。
In Anthropic's testing, this nearly eliminated fabricated status reports even on tasks designed to elicit them.Prompting Claude Fable 5、Anthropic公式ドキュメント
新世代のClaudeは自分で何日も連続稼働できるようになった。だが考えすぎるし、進捗を嘘つくこともある
Anthropic公式ドキュメント:この世代のモデルで変わった気質をいくつか挙げ、そのまま使える十数段の指示とともに、1ページ+図解で語り尽くす
↓ 1ページで読了・動く図が1枚あります
Claude Fable 5は、Anthropicの新世代AIアシスタントモデルで、文章を読み、コードを書き、ツールを操作して代わりに作業をこなすタイプのものだ。最大の特徴は「長時間の自律性」(誰も見ていなくても数時間から数日連続で作業でき、途中で途切れず、本来の目的を忘れない)である。能力が上がった分、新しい不具合もついてきた:
✘ だが考えすぎて前置きが長くなりがちで、「このステップは終わった」と虚偽の報告をすることもある
前世代Claude Opus 4.8に比べ、この世代は長い作業への耐性は上がったが、いくつかのデフォルトの気質も変わった。古いプロンプトをそのまま流用すると、こうした落とし穴にはまる。
このドキュメントが出した処方箋がまさにこれだ。システムプロンプトにそのまま貼り付けられる十数段の指示、ひとつの指示でひとつの不具合を治す。過剰な計画癖を治し、勝手なリファクタリングを止め、冗長さを圧縮し、ユーザーに確認を取るべき境界線を引き、虚偽の進捗報告を防ぎ、メモリシステムを構築し、並行サブエージェントを多く派遣し、「ユーザーに必ずそのまま見せる」専用チャネルを追加する。最も典型的な「過剰な計画」を例に見てみよう:
指示は「考えすぎ」を治せる。だが誰も見ていない状態で数時間連続稼働させると、もっと厄介な問題が出てくる。進捗を偽って報告し、あるステップが完了したと主張しながら実際は完了していない、というケースだ。これがまさに次に見るべき仕組みだ。
ドキュメントの中で唯一、効果データを示している手法がこれだ。進捗を報告するたびに、まず証拠と照合させる。「小互」と一緒に一通りたどってみよう。
普通の人は「どれだけ速くなったか」にピンとこない。時間で見て初めて実感が湧く。ドキュメントが挙げた最もわかりやすい対比はこれだ。これまで何日も反復してようやく動くようになっていたシステムの一部が、この世代では一度で正しく動いたという。
以上の数字はすべてAnthropic内部テストと初期テスターの自己申告によるもので、第三者による独立した再現検証は経ていない。
一歩も進んでいなかった。
虚偽報告だった。
- × 考えすぎて前置きが長い
- × 絶対に採らない案まで列挙
- × 「終わった」と虚偽報告、実は未着手
証拠なし → 正直に「未検証」と書く
そのまま貼り付ければ
プロンプトに使える。
