ほとんどの移行ガイドは、コードで何が壊れるかを説明していますが、これはプロンプトで何が壊れるかについてのガイドです。
Claude Opus 5は2026年7月24日にリリースされ、Anthropicはそれに合わせて専用のプロンプトガイドを公開しました。そのガイドは注目すべき点を文書化しています。Opus 4.8を改善したいくつかの指示が、Opus 5では悪影響を及ぼします。微妙に悪くなるのではなく、費用が目に見えて高くなり、出力が目に見えて冗長になり、あるケースでは完全に機能しなくなります。
理由は簡単です。Opus 5は、以前は指示する必要があったいくつかのことを、すでに自力で行います。古いプロンプトがそれでも指示すると、その指示はモデルがすでに持っている挙動と重なり合います。結果として、精度の向上ではなく、検証が二重に行われることになります。
このガイドでは、文書化された各挙動の変化について、システムプロンプトに今日からすぐに組み込めるコピー&ペースト可能なプロンプトスニペットとともに解説します。また、「思考」を無効にした場合に現れる2つの失敗モードについても説明します。これは、Opus 5プロンプトが見た目は問題なく、エージェントループを密かに破壊する出力を作り出す唯一の場所です。もしコードレベルの変更にまだ取り組んでいる場合は、Opus 4.8からOpus 5への移行ガイドでそれらを個別にカバーしています。これらの挙動が実際の要求および応答ペイロードでどのように変化するかを確認したい場合は、Apidogを使えば、異なる設定で同じプロンプトを送信し、結果を比較する簡単な方法です。
一行の要約
Opus 5はOpus 4.8よりも検証を多く行い、より多く記述し、より多く委任し、より多く自己説明します。あなたのOpus 4.8プロンプトは、モデルをこれらの挙動に向かわせるように調整されていました。今やそれはそれらを超えて押し進めすぎます。
したがって、作業は減算的なものになります。ほとんどの場合、指示を追加するのではなく、削除することになります。追加するものは制約です。より短く、範囲内に留まり、ヘルパーを生成しないようにします。
1. 検証指示を削除する
これが最も重要な変更点であり、このタイトルの理由です。
Anthropicは、Opus 5が指示なしで自身の作業を検証すると述べています。それは書いた内容を再読し、計算をチェックし、テストを再実行し、言及しなかったエッジケースを探します。これは、誰もがOpus 4.8に「応答する前に作業を再確認してください」や「各ステップを検証してください」といった行で手動でプロンプトしていたまさにその挙動でした。
これらの行をそのまま残すと、過剰な検証が行われます。モデルは、いずれにせよ実行するはずだった検証パスに加えて、あなたが指示した検証パスを実行し、そのトークンごとに料金が発生します。長いエージェント実行では、これは誤差ではなく、実際の請求額に影響します。
修正は削除です。システムプロンプトで以下のパターンを検索し、削除してください。
Double-check your work before responding.
Verify each step before moving to the next one.
Review your answer for errors, then revise it.
Check your reasoning carefully.
Make sure the output is correct before returning it.
明示的な検証パスが必要な、本当に重要なステップがある場合は、それをグローバルなルールにするのではなく、そのステップに限定してください。
Do not add general verification passes; you already verify by default.
The only exception: after writing the migration SQL, run it against the
schema dump once and report any mismatch. Do not re-verify anything else.
この形式が重要です。Opus 5に対するグローバルな「すべてを検証する」指示はコスト増要因です。単一のスコープ付き例外は制御です。
この移行におけるAPI費用を追跡している場合、Opus 5の料金内訳におけるキャッシュとバッチのレバーがこれと組み合わさり、Claude APIの請求額を削減するためのガイドでは一般的なレバーをカバーしています。
2. 簡潔さを明示的にプロンプトする。なぜなら努力だけでは実現しないから
Opus 5のデフォルトの応答は、Opus 4.8よりも長くなりがちです。また、文書を要求したときに作成するレポート、要約、設計書、READMEなどの成果物も長くなります。
ここで人々が戸惑う点があります。`effort`パラメーターを下げても、これは修正されません。Effortはモデルがどれだけ「思考」するかを制御します。モデルがどれだけ「記述」するかは制御しません。`xhigh`から`medium`に下げると、思考トークンは削減されますが、目に見える応答の長さはほぼ変わりません。effortが冗長性を調整するダイヤルだと思っていた場合、請求額は期待通りには動きません。Opus 5のeffortパラメーターガイドは、各レベルが実際に何を変化させるかをカバーしています。
長さはプロンプトの問題なので、プロンプトで解決します。「簡潔にしてください」とモデルが寛大に解釈するのではなく、上限を具体的に指定してください。
Response format: at most 150 words unless I ask for more.
No preamble, no restatement of my question, no summary at the end.
Lead with the answer, then the reasoning if it is needed.
文書成果物の場合は、成果物に制限を設け、何を省くべきかを指定します。
Write the migration doc at 800 words maximum.
Include: the breaking changes, the fix for each, and a rollback step.
Exclude: background on the old system, a glossary, and a conclusion section.
If a section would exceed its share, cut examples before cutting steps.
コード中心の作業では、同等の制約はコードではなくコメントに関するものです。
Return the diff and nothing else.
No explanation of what you changed unless the change is non-obvious,
in which case one sentence above the hunk.
3. サブエージェントの委任を制限する
Opus 5は、Opus 4.8よりも容易にサブエージェントに委任します。多段階のタスクと、生成をサポートするハーネスが与えられれば、分散して処理します。
これは多くの場合、正しい判断です。しかし、これはモデルがあなたに代わって下すコストに関する決定でもあり、各サブエージェントは独自のコンテキストと独自のトークン費用を伴います。コストに敏感なワークロードや遅延に敏感なワークロードでは、モデルの判断に任せるのではなく、数値を設定してください。
Do not spawn subagents for this task. Handle it in this conversation.
あるいは、分散処理が実際に有用だが、制限すべき場合:
You may delegate to at most 2 subagents, and only for independent
file-level work that can run in parallel.
Do research, planning, and final synthesis yourself in this thread.
避けるべきパターンは、委任のための委任です。つまり、1つのファイルを読み取るためだけに生成されたサブエージェントや、メインスレッドがすでに持っていたコンテキストで決定できることのために生成されたサブエージェントです。意図的にサブエージェントを使って構築する場合、Claude Codeサブエージェントの作成ガイドでは、それらのスコープ設定のハーネス側について説明しています。
4. 狭いタスクではスコープを明示的に制約する
Opus 5はタスクのスコープを拡大します。失敗しているテストを修正するように求めると、テストが呼び出すヘルパーのリファクタリング、型シグネチャの更新、さらに2つのテストケースの追加を行うことがあります。変数の名前変更を求めると、周囲の関数を整理することがあります。
時にはこれが機能として役立つこともあります。しかし、狭く外科的なタスクではそうではありません。未要求のリファクタリングは、レビュアーが読むべき差分を大きくし、1行だけの変更であるはずだったものの影響範囲を広げます。
境界を境界として明示し、何が禁止されているかを名前で指定してください。
Scope: change only the retry-count constant in src/client/http.ts.
Do not refactor surrounding code, do not rename anything, do not add
tests, do not update docs. If you believe another change is required,
stop and tell me instead of making it.
最後の句が役立つ部分です。それがなければ、モデルは実際の問題を提起する公認された方法がないため、とにかく変更を行うか、その観測を無視します。それがあれば、懸念がフラグ付けされ、変更されていない差分が得られます。
5. より多くの修正説明を予想し、不要な場合はオフにする
Opus 5はOpus 4.8よりも修正の説明を多く行います。応答の途中で考えを変えた場合、以前のアプローチが間違っていたことを伝え、その理由を説明し、変更を記述します。
インタラクティブな作業ではこれは有用です。しかし、応答がパーサー、UI、または別のモデルに供給されるパイプラインでは、その説明は本来答えを保持するフィールド内のノイズとなります。
指示は短いものです。
Do not narrate corrections or changes of approach.
Return only the final answer. If you revised your thinking, that
revision belongs in your reasoning, not in the response.
応答を構造化されたストレージにルーティングする場合は、要求するのではなく強制するために、構造化された出力と組み合わせてください。
思考を無効にした場合の失敗モード
上記はすべてチューニングの問題です。この部分は正しさの問題です。
Anthropicは、`thinking: {type: "disabled"}`を介して思考を無効にした場合に、Opus 5で時折現れる2つのアーティファクトを文書化しています。エージェントをリリースする前に、どちらも知っておく価値があります。
ツール呼び出しがプレーンテキストとして記述される。モデルはツール呼び出しのように見えるものを生成しますが、構造化された`tool_use`ブロックとしてではなく、応答本文内のテキストとして出力します。何も実行されません。単一ターンのチャットでは気づくでしょうが、エージェントループでは気づかないことが多いです。ループはツール呼び出しを認識しないため、何もアクションを起こさず、漏れたテキストは会話履歴に残ります。その後のターンでは、そのテキストが呼び出しが行われたかのように読み取られます。失敗はターンを重ねるごとに複合し、出力がおかしいと気づく頃には原因は数ターン前に遡ります。
内部XMLタグが目に見える出力に含まれる。`<thinking>`のようなタグがユーザーが見る応答に現れます。それ自体で見栄えが悪く、HTMLとして応答をレンダリングしたり、構造を解析したりする場合はさらに悪化します。
直感に反する部分:プロンプトでタグの名前を指定すると、漏洩が改善されるどころか悪化します。「`<thinking>`タグは絶対に出力しない」といった指示は、そのトークンシーケンスをコンテキストに入れ、それが現れる可能性を高めます。そのような指示は書かないでください。
Anthropic自身が推奨する軽減策は、プロンプトではありません。思考を有効にしたまま、低いeffortレベルでコストを制御することです。
{
"model": "claude-opus-5",
"max_tokens": 4096,
"output_config": { "effort": "low" },
"messages": [
{ "role": "user", "content": "..." }
]
}
これにより、「思考無効」のアーティファクトなしで、範囲の安い方が得られます。また、関連する落とし穴も回避できます。Opus 5では、`thinking: {type: "disabled"}`と`xhigh`または`max`のeffortを組み合わせると400エラーが返されます。これは、「思考無効」が`high` effortに制限されているためです。また、「思考」は現在デフォルトで有効になっているため、`thinking`フィールドを単に省略したリクエストは、Opus 4.8のように無効ではなく、適応型思考で実行されることにも注意してください。
思考を無効にするという厳格な要件がある場合は、プロンプト指示ではなく、ループ内に防御的なチェックを追加してください。実行されていない呼び出し形式の文字列を含むアシスタントのターンテキスト本文を履歴に追加する前に拒否してください。トランスクリプトに幽霊の呼び出しが入るのを許すのではなく、大きな音を立てて失敗させてください。
推測ではなく変更をテストする
プロンプトの変更は、読んだだけでは評価が難しいものです。ここでの挙動(応答長、検証パス、サブエージェント数)は、トークン数とペイロード構造として現れるため、作業を確認する正直な方法は、リクエストを送信して比較することです。

これは、オールインワンのAPI開発およびテストプラットフォームであるApidogで簡単に設定できます。
- `"model": "claude-opus-5"`を指定してAnthropic Messagesエンドポイントに対するリクエストを構築し、APIキーをボディに貼り付けるのではなく環境変数として保存します。
- 古いOpus 4.8システムプロンプトと、同じ入力に対するトリミングされたOpus 5バージョンを2つの保存済みリクエストとして保存します。
- 各応答の`usage`ブロックを比較します。出力トークンは簡潔性の制約が機能したかどうかを示し、入力トークンとキャッシュフィールドはプロンプトの編集がキャッシュプレフィックスを破損したかどうかを示します。
- 異なるeffortレベルでリクエストを複製し、思考トークンが減少し、目に見える長さが維持されることを自分で確認します。
- ストリーミング応答を検査し、ツール呼び出しがプレーンテキストではなく構造化された`tool_use`ブロックとして到着することを確認します。
ステップ5は、プレーンテキストのツール呼び出しの失敗が本番に到達する前に検出するものです。Apidogをダウンロードしてこれらを並行して実行したい場合は、Opus 5 APIウォークスルーで完全なリクエスト形式を確認してください。
正直な上限
プロンプトガイドは、モデルがこれまで必要とされた最後のモデルであるかのように読まれがちなので、率直に述べる価値があります。Opus 5はClaudeスタックの頂点ではありません。Fable 5は「最も能力の高い広くリリースされた」という指定を保持しており、Opus 5はサイバーセキュリティの悪用と自律的な生物学研究において依然としてMythos 5に遅れをとっています。Anthropicはこれら両方を自身のローンチ投稿で述べています。正確なフレームワークは、フロンティアクラスの能力をフロンティア価格の半額で提供し、その上に明確な上限があるというものです。
ローンチベンチマークの主張(Frontier-Bench、ARC-AGI 3、OSWorld 2.0、CursorBench)はすべてAnthropic自身の数値であり、2026年7月25日現在、独立して再現されていません。これらをベンダー報告として扱い、実際に展開するプロンプトで独自の評価を実行してください。
まとめ
コストに敏感なエージェントタスク向けの、トリミングされたOpus 5システムプロンプトは、おおよそ次のようになります。
Do not add verification passes; you verify by default.
Responses: 150 words maximum, no preamble, no closing summary.
Do not spawn subagents. Handle this in one thread.
Stay strictly within the task I state. If another change seems
required, stop and tell me rather than making it.
Do not narrate corrections or changes of approach.
6行中5行が制約であり、モデルに努力を求めるものはありません。これが変化です。Opus 4.8では、床を上げるようにプロンプトしていました。Opus 5では、天井を設定するようにプロンプトします。
まずそこから始め、その後、レベルが再調整されたため、4.8の設定を引き継ぐのではなく、独自の評価でeffortをスイープしてください。パラメーターのメカニズムについてはeffortパラメーターガイドを、エディター側のワークフローについてはClaude CodeでのOpus 5の使用を、モデル全体の詳細についてはClaude Opus 5とは何かをご覧ください。Anthropicのモデル概要には現在の仕様表があります。
FAQ
プロンプトから「作業を再確認してください」を本当に削除すべきですか? はい。Anthropicのプロンプトガイドは、Opus 5が指示なしで検証すると述べており、引き継がれた検証指示は過剰な検証を引き起こします。グローバルルールを削除してください。特定のステップで本当に明示的なチェックが必要な場合は、そのステップにのみ指示を限定してください。
なぜOpus 5は低いeffortでも冗長なのですか? effortは思考を制御し、目に見える出力の長さを制御しないからです。effortを下げると推論トークンは削減されますが、応答の長さはほぼ同じです。プロンプト自体で単語数または形式の制限を設定してください。
Opus 5がサブエージェントを生成するのを止めるにはどうすればよいですか? 直接指示してください:「サブエージェントを生成しないでください。この会話で処理してください。」もしある程度の分散処理が有用な場合は、数値の上限を設定し、独立した並列作業に限定してください。
なぜ出力に`<thinking>`タグが表示されるのですか? そのアーティファクトは、思考が無効になっている場合に時折現れます。タグの名前をプロンプト指示に追加しないでください。そうすると漏洩の可能性が高まります。Anthropicが推奨する修正は、思考を有効にしたままにし、低いeffortレベルを使用してコストを制御することです。
ツール呼び出しがプレーンテキストとして返されたらどうなりますか? 何も実行されず、漏れたテキストは会話履歴に残され、その後のターンでは完了したアクションとして扱われます。アシスタントのターンを履歴に追加する前に検証し、思考を無効にするよりも有効にしておくことを推奨します。
