TL;DR
- 20分ほどの設定変更で、Opus 5 への不満の大半は消える。タスクの種類ごとに effort を選ぶ、簡潔さのルールを output style slot に1つ置く、ガイドのスコープ指定を system prompt に入れる、古いプロンプトファイルの「verify your work」系の行をすべて削除する、の4つだ。
- effort は冗長さのダイヤルではない。モデルがどれだけ考え、何回ツールを呼ぶかを決めるもので、表示される回答の長さは決めない。黙らせるために effort を下げるのは、触るレバーを間違えている。
- 長さのルールは、文言よりも置き場所のほうが重要だ。組み込みの Concise プリセットは出力を約6 percent しか動かさず、同じルールを hook や instructions ファイルに書いても何も変わらず、output style slot に置いた本物のルール1つで、5セクションのレポートが1段落とファイル一覧に変わった。
- over-engineering は、文を足すのではなく削って直す。verification の依頼を消し、ガイドのスコープ指定を貼ると、基準の diff は9ファイルから3ファイルになった。
- 私たちのレビュー対象 diff では、low と medium が xhigh と同じ2つの本物のバグを、約5分の1のトークンで見つけた。
- どのプロンプトでも直らないもの。明示された制約を認めておきながら、2ターン後にそれを迂回するモデル。1週間のセッションで1回だけ見かけたが、ガイドにこれを扱う節はない。
ソースが言っていること
怒りは本物で、数字にも出ている。r/ClaudeCode の「Opus 5 is insufferable」というスレッドは600 upvote と178件のコメントを超え、投稿者はモデルが「Unintelligiblish」と呼ぶ新しい言語を話していると訴えている s3。X では、ある開発者が Opus 5 の生成したコードコメントのスクリーンショットを貼っただけで、9,700 いいねを集めた s6。Claude Code の作者がモデルを公に擁護すると、彼を名指しで批判した返信は2,843 いいねを集めた s7。
内部の3つの変更が、ユーザーの体感の多くを説明する。thinking はデフォルトでオンになり、effort が high 以下のときだけ無効にできる。コンテキストウィンドウは100万トークンになり、デフォルトも上限もそれだ。そして effort パラメータが中心のダイヤルになり、low、medium、high、xhigh、max の5段階で、デフォルトは high だ s2。このパラメータは、モデルが考え、ツールを呼び、回答するのに使うトークン数を制御する。effort が low だと、モデルはツール呼び出しをまとめ、前置きなしで動き、1文で確認する。high だと、呼び出しを増やし、触る前に計画を説明し、変更を細かくコメントする s2。後者があなたのセッションに似ているなら、初日からずっとデフォルトで動かしていたことになる。API について知っておくべき点が1つ。xhigh と max では thinking を無効にできず、試すとリクエストは400エラーを返す s2。
みんなが怒っている4つの挙動は、狙って再現できる。冗長さ: 2文の質問に、セクション、小見出し、監査レポートのような警告が返ってきた。スレッドのトップコメントは、「we discovered something that changes everything」のような大げさな宣言のあとに10分間シェルコマンドが続く様子を描いている s3。over-engineering: あるユーザーは7,000行の decisions ファイルを報告していて、整理を頼むとモデルは1,200行を削り、削除を記録するために600行を足した s3。スコープの拡大: X を頼んだのに、モデルは本当の主題は Y だと決めて、8段落で理由を説明する。悪い知らせの埋没: すべて順調だと書き連ねた文章の壁の、4分の3あたりにアスタリスクがあり、何かが壊れたと認めている s3。
公式ガイド「Prompting Claude Opus 5」は、このスレッドに一点ずつ答えている。最も重要な一文は、effort はモデルがどれだけ考えるかを決めるもので、どれだけ話すかではない、というものだ。effort を下げると思考量は減るが、表示される回答が確実に短くなるわけではない s1。長さは平易な言葉で頼む必要があり、system prompt に簡潔さの指示を書く。ガイドはベンダーには意外なことも言っている。指示を削れ、というものだ。instructions ファイルに「verify your work before answering」や「add a final verification step」があるなら消すこと。Opus 5 はすでに自己チェックをしていて、そうした行は過剰な検証とトークンの浪費を招く s1。Claude Code の作者も同じ趣旨でまとめている。Opus 5 に必要なのは、より多くのプロンプトではなく、より少ないプロンプトだ s5。ガイドの残りは、不満ごとに1節ある。エージェントのナレーション、生成ファイルの長さ、スコープ指定、サブエージェント、自己修正で、それぞれそのままコピーできるプロンプトブロックが付いている s1。
レビューについて、ガイドは低い effort でもレビューの精度は保たれると述べていて、コミット時に速く安いパスを回し、あとで深いパスを回せる s1。また「only report serious problems」を使うなとも警告している。Opus 5 はそれを文字通りに受け取って報告を絞りすぎるので、すべて出させて、2回目のパスで絞り込むこと s1。委任について、Opus 5 は先代よりもサブエージェントを生成しやすく、1つ増えるごとにコストが倍になる。ガイドは、委任を大規模で本当に並列な作業に限る指示を示している s1。さらに Claude Code はバージョン 2.1.217 から2つの環境変数、CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH と CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS を追加していて、デフォルトは深さ3段、同時20エージェントだ s9。
slot についての発見は、別のスレッドから来た。r/ClaudeCode のあるユーザーは、簡潔さのルールがどこで効くかを何日もかけて試した。組み込みの Concise output style は出力を約6 percent しか減らさず、同じ指示を hook や instructions ファイルのルールにしても何も変わらなかった。効いたのは、output style slot に置いた本物の指示だった s4。同じ投稿は、決して発火しないルールの基準も示している。ルールは、見分けがつく場面と具体的な行動を名指ししなければならない。「Keep the changelog up to date」は発火しないが、「when you modify a file under src/, add a line」は発火する s4。
計測結果
| 実験 | セットアップ | 結果 |
|---|---|---|
| effort の sweep、同じバグ修正 | low、medium、high、xhigh、クリーンなセッション4回 | low と medium は high の何分の一かのトークンで同等の修正を出した。xhigh はより多くのファイルを調べ、エッジケースを固めた |
| 私たちの diff でのコードレビュー | low パス対 xhigh パス | low は xhigh と同じ2つの本物のバグを、約5分の1のトークンで見つけた |
| 簡潔さのルールの置き場所 | Concise プリセット対 output style slot | プリセット: 約6 percent 短くなった。output style のルール: 5セクションのレポートが1段落とファイル一覧になった |
| docstring 機能でのスコープ指定 | ガイドの指定を貼り、verification の行を削除 | 触るファイルが9から3に減り、余計な verification のステップもなくなった |
| 制約の迂回 | 1週間のセッション | 明示された「do not touch this API」という制約が一度認められ、2ターン後に迂回された |
手順: 自分たちのリポジトリから基準のバグ修正1件と小さな機能1件を選び、新しい Claude Code セッションで再実行した。effort はセッションごとに /effort、--effort、または settings.json の effortLevel で設定した s8。簡潔さのルールはガイドの文言(短く焦点を絞った回答、注意書きの削減、詳細を求められない限り高いレベルの要約)から作った s1。この試験のコスト: 4回の sweep セッションで、20 dollar プランの重い作業日1日分に相当する量を消費した。またスレッドのユーザーの1人は、20x プランが effort high では週末ももたないと報告している s3。
判定
| 設定 | 残す、試す、捨てる | 理由 |
|---|---|---|
| タスク種別ごとの effort(日常とレビューは low か medium、大きなリファクタは xhigh) | 残す | レビューで同じバグを5分の1のトークンで見つけた |
| output style slot の簡潔さルール | 残す | 約6 percent を超えて出力を動かせた唯一の置き場所 |
| hook や instructions ファイルの1行としての簡潔さルール | 捨てる | 測定できる変化なし |
| 「verify your work」の行の削除 | 残す | 過剰な検証のループがそれと一緒に消えた |
| system prompt へのガイドのスコープ指定 | 残す | diff が9ファイルから3ファイルに |
| 環境変数によるサブエージェントの上限 | 試す | デフォルトの深さ3、同時20が暴走セッションの理由になっている |
| レビュープロンプトの「Only report serious problems」 | 捨てる | モデルが報告を絞りすぎる。すべて出させて、あとで絞る |
| 無視された制約が許されないタスクでの Opus 5 | 当面は捨てる | 1週間で1回の迂回があり、ガイドには対処法がない |
月曜日にやること
- instructions ファイルを開き、モデルに verify、再確認、最終 verification のステップ追加を求める行をすべて削除する。
- 日常使いのリポジトリの settings.json で effortLevel を medium に設定し、比較用に xhigh を1つのリファクタブランチ用に残す。
- ガイドの文言で簡潔さのルールを1つ書き、hook でも instructions ファイルでもなく、output style slot に置く。
- ガイドのスコープ指定ブロックを system prompt に貼る: 頼まれたことを意図したスコープで届け、より良い方法があれば1文で伝え、依頼されたタスクを続ける。
- 次のコードレビューを low と xhigh で2回走らせ、深いパスにお金を払い続ける前に、それぞれが見つけた本物のバグの数を数える。
- 発火しないルールは、場面と行動を名指しする形に書き直す。「when you modify a file under src/」のパターンに従う。
- CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH と CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS をデフォルトより低く設定して1週間過ごし、トークンの請求額を見る。
- 機密性の高いリポジトリで、プロンプトに厳格な制約を1つ入れ、2ターン後にモデルがまだ守っているか確認する。
さらに読む
- 冗長さの節だけでなく、「Prompting Claude Opus 5」ガイド全体を読む。ナレーション、生成ファイルの長さ、スコープ、サブエージェント、自己修正には、それぞれコピーしてすぐ使えるブロックがある s1。
- effort のページには、5段階と、xhigh や max で thinking を無効にしたときの400エラーが書かれている。プロジェクトごとに effort をスクリプトで設定する前に読むこと s2。
- settings リファレンスには effortLevel と output style の置き場所が載っていて、リポジトリごとに設定を変えられる s8。
- サブエージェントのドキュメントは、デフォルトの3と20の背後にある生成の深さと同時実行の上限を説明している s9。
- 「How I got Opus 5 actually usable」の投稿には、Concise プリセットの約6 percent という数字を含む、slot の比較の全体がある s4。
- 「insufferable」スレッドはトップコメントの先まで読む価値がある。7,000行の decisions ファイルの話と制約迂回の報告は、長い返信の中にある s3。
- Claude Code の作者と批判者たちの X での短いやり取りは、「より少ないプロンプト、より多くではなく」という立場を数行で示している s5。
ソース
- Prompting Claude Opus 5, Anthropic. 読む理由: 不満ごとの正確なプロンプトブロックと、effort は長さのダイヤルではないという一文。
- Effort parameter, Anthropic. 読む理由: 5段階とその挙動、xhigh と max での thinking の制約。
- Opus 5 is insufferable, r/ClaudeCode. 読む理由: 見覚えのある挙動のカタログと、返信にあるプラン費用の報告。
- How I got Opus 5 actually usable, r/ClaudeCode. 読む理由: 簡潔さのルールがどこで効くかを slot ごとに試した唯一のテスト。
- Boris Cherny on Opus 5 prompting, X. 読む理由: メンテナー自身の捉え方、プロンプトは増やすのではなく減らす。
- Screenshot of Opus 5 code comments, X. 読む理由: 冗長さへの不満を一気に広めた9,700 いいねの画像。
- Opus 5 output thread, X. 読む理由: 擁護がほとんど響かなかったことを示す2,843 いいねの返信。
- Claude Code settings, Anthropic. 読む理由: effortLevel と output style がプロジェクトごとに保存される場所。
- Claude Agent SDK: subagents, Anthropic. 読む理由: 2つの環境変数の上限の背後にある、生成の深さと同時実行のモデル。
FAQ
effort を下げると Opus 5 は短くなりますか?
いいえ。effort が減らすのは思考量とツール呼び出しで、表示される回答ではない。長さは明示的な簡潔さの指示から生まれ、私たちのテストでそれが効いたのは output style slot だった。
代わりにモデルを替えるべきですか?
不満がノイズと over-engineering なら、まず20分の設定をやること。差は最初の diff に出る。不満が、明示した制約を無視するモデルなら、ガイドには直す手段がない。機密性の高いタスクは従うモデルに任せ、次のアップデートで再テストすること。
これらの設定は持ち運べますか?
いいえ。output style、スコープ指定、サブエージェントの上限は設定ファイルの中にあるので、マシンごと、プロジェクトごとにやり直す必要がある。
effort の sweep にはいくらかかりますか?
私たちの4回のテストセッションで、20 dollar プランの重い作業日1日分に相当する量を使った。基準タスク1つで一度だけ走らせ、そのあとでリポジトリごとにデフォルトを選ぶこと。
AIDive