Claude Codeが急にバカになった本当の原因が判明した件(開発責任者も公式に認める)
「最近、Claudeがなんか雑になった気がする…」
2026年3月頃から、X(旧Twitter)やReddit、海外のエンジニアコミュニティで、こんな声が急増しました。
「コードを読まずにいきなり編集し始める」 「存在しないAPIバージョンを捏造してくる」 「解決していないバグを『直しました!』と言い張る」 「以前はちゃんと考えてくれたのに、急に適当になった」
結論から言います。Claudeのモデル自体がバカになったわけではありません。
問題の正体は、Claude Codeの「思考量のデフォルト設定」がこっそり変更されていたことでした。しかも、AnthropicのClaude Code開発責任者であるBoris Cherny氏自身が、この問題を公式に認めています。
この記事では、何が起きたのか、なぜ起きたのか、そしてどう対処すれば元通りの賢いClaudeに戻せるのかを、初心者の方にもわかるように解説します。
そもそも「effort(エフォート)」って何?
Claude Codeには、「effort(思考量)」 というパラメータがあります。
これは簡単に言うと、「Claudeにどれくらい深く考えさせるか」 を決めるスイッチです。
レベルは4段階あります。
low(低) → パッと見て即答。タイポ修正やファイル名変更など、考えるまでもない作業向け。速いけど浅い。
medium(中) → そこそこ考える。日常的なコーディングには十分だけど、複雑な問題には力不足なことがある。
high(高) → じっくり考える。複雑なデバッグ、マルチファイルの設計、アーキテクチャの検討に向いている。以前のデフォルトはこれだった。
max(最大) → 制限なしで全力で考える。最も高品質だが、時間もトークン(≒料金)もかかる。Opus 4.6、Sonnet 4.6、Mythos Previewで使用可能。
人間で例えるなら、lowは「5秒で返事する」、highは「30分じっくり考えてから回答する」みたいな違いです。当然、難しい問題ほど、じっくり考えてもらわないと正確な答えは出ません。
何が起きたのか ― 3つの変更が同時に来た
変更① :デフォルトが「high → medium」に引き下げられた(3月3日)
2026年3月3日、Claude Codeのデフォルトeffort(思考量)が、highからmediumに変更されました。
一応、Claude Codeの起動時にダイアログが表示されたのですが、自動起動にしている人や複数プロジェクトを行き来している人は見逃したケースが多く、多くのユーザーが「急にClaudeが雑になった」と感じたまま、原因がわからない状態で数日〜数週間を過ごしていました。
ちなみに重要な補足として、この変更が適用されたのは全員ではありません。
Pro / Maxサブスクライバー → デフォルトがmediumに変更された(影響あり)
APIキー利用者 / Team / Enterprise / Bedrock / Vertex AI / Foundry → デフォルトはhighのまま(影響なし)
つまり、個人で課金してClaude Codeを使っている人が、もっとも影響を受けた層です。
変更② :Adaptive Thinking(適応的思考)の導入(2月9日)
2026年2月9日、Opus 4.6と同時に「Adaptive Thinking(適応的思考)」という新機能が導入されました。
これは、Claudeが「このタスクにはどれくらい考える必要があるか」を自分で判断する仕組みです。
一見スマートに聞こえますよね?でも深刻な問題がありました。
effortがhighの場合、Claudeはほぼ毎回しっかり考えてくれます。しかし effortがmedium(新しいデフォルト)の場合、「これは簡単な質問だな」と判断すると、推論トークンをゼロ — つまり全く考えない — ことがあるのです。
変更③:思考過程のUI非表示(redact-thinking)(2月12日)
さらに2月12日には、redact-thinking-2026-02-12 というヘッダーにより、UIからClaudeの思考過程の表示が省略されるようになりました。
Boris Cherny氏は「これは純粋にUIレベルの変更で、実際の推論ロジックには影響しない」と明言しています。ただし、思考過程が見えなくなることで問題に気づきにくくなる副作用があると、多くの開発者が指摘しています。
Claude Code開発責任者が問題を公式に認めた
この問題が大きな注目を集めたきっかけは、AMD社のシニアディレクターであるStella Laurenzo氏がGitHub上に投稿した詳細な分析レポートでした。彼女は6,852件のClaude Codeセッションから17,871件の思考ブロックと234,760件のツールコールを抽出し、Opus 4.6導入以降、思考量が約67%減少したことを数値で示しました。
この分析を受けて、AnthropicのClaude Code開発責任者であるBoris Cherny氏がHacker Newsで直接回答し、以下の事実を認めました:
「adaptive thinkingが一部のターンで推論トークンをゼロに割り当てていた。ハルシネーション(捏造)が発生したターンではまさに推論がゼロで、深い推論が行われたターンでは正確だった」
(※なお、Boris氏は「67%減少」の数値について、UI非表示化(redact-thinking)による見かけ上の影響も一部含まれている可能性を指摘しています。ただし、実際に推論量が減少したこと自体は認めています。)
つまり、考えなかったから間違えた。シンプルだけど致命的な問題です。
さらに衝撃的なのは、effortをhighに設定していても、adaptive thinkingがそれを上書きして推論をゼロにするケースがあったという点です。effortを上げるだけでは完全な対策にならない可能性があることを意味しています。
Cherny氏はこの問題の暫定的なワークアラウンドとして、CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 という環境変数を提案しました(詳しくは後述の対処法で解説します)。
具体的にどんな「おかしな挙動」が出るのか
海外コミュニティで多数報告されている症状を挙げます。
存在しないAPIバージョンの捏造。 ドキュメントを確認せず、もっともらしいバージョン番号を勝手に作り出す。(例:実在しないStripe APIバージョンを自信満々に提示)
gitコミットSHAのハルシネーション。 実在しないコミットハッシュを「これです」と提示してくる。
存在しないパッケージ名を提案。 npmやaptの存在しないパッケージをインストールしようとして、エラーになって初めて気づく。
ファイルを読まずに編集を始める。 中身を確認せず、「たぶんこうなっているだろう」という推測で書き換えてしまう。
未解決の問題を「解決しました!」と申告。 テストも実行せずに完了宣言する。
これらはすべて、「考える時間(トークン)が足りなかった」、あるいは「全く考えなかった」 ことが根本原因です。
対処法 ― 今すぐできる5つの方法
方法①:セッション中にサクッと切り替える(最も簡単)
Claude Codeのプロンプトに以下を入力するだけです。
/effort high
これで、そのセッション中はhigh effortで動作します。
さらに強力にしたい場合は:
/effort max
maxはOpus 4.6、Sonnet 4.6、Mythos Previewで利用可能です。トークン消費は増えますが、難しいデバッグやアーキテクチャ設計では明らかに効果があります。
また、公式ドキュメントに記載されている機能として、プロンプトに 「ultrathink」(大文字の 「ULTRATHINK」 でも可)という単語を含めると、セッション設定を変えなくてもそのターンだけhigh effortが発動します。普段はmediumのままで、ここぞという場面で使うテクニックとして覚えておくと便利です(ただし現在のセッションがすでにhigh以上の場合は効果はありません)。
方法②:デフォルトをhighに固定する(おすすめ)
毎回 /effort high を打つのは面倒ですよね。設定ファイルで恒久的に変更できます。
~/.claude/settings.json を開いて、以下を追加してください:
{
"effortLevel": "high"
}
あるいは環境変数でも設定可能です(こちらが最優先されます):
export CLAUDE_CODE_EFFORT_LEVEL=high
.bashrc や .zshrc に書いておけば、毎回自動で適用されます。
方法③:Adaptive Thinkingを無効化する(Boris推奨の最重要ワークアラウンド)
これが今もっとも重要な対策です。 Boris Cherny氏自身が「暫定的なワークアラウンド」として推奨している方法です。
Adaptive Thinkingは「Claudeが自分で思考量を決める」仕組みですが、前述の通り、推論をゼロに割り当てるバグがあります。Boris Cherny氏は「ほとんどのケースでは良好に動作するが、一部のターンで推論をゼロに割り当てる問題があった」と説明しています。これを無効化して、固定の推論バジェット(思考量)を使うようにすることで安定性が増します。
~/.claude/settings.json に以下のように設定します:
{
"effortLevel": "high",
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
},
"showThinkingSummaries": true
}
showThinkingSummaries は、変更③で非表示になったClaudeの思考過程のサマリーを再び表示する設定です。これにより、Claudeがどの方向に考えているかを確認でき、おかしな方向に進んでいたら早期に中断できます。
またはシェルに直接環境変数として設定してもOKです:
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
export CLAUDE_CODE_EFFORT_LEVEL=high
注意点: Adaptive Thinkingを無効化すると、「今日何時?」のような簡単な質問にも深く考えてしまうため、トークン消費が増えます。日常的な軽いタスクではトークンがもったいないと感じるかもしれません。ヘビーな開発セッション(機能開発、デバッグ、リファクタリング)では有効化し、軽作業では /effort low と組み合わせるなどの使い分けがおすすめです。
方法④:CLAUDE.mdにルールを追加する
effort設定とは別の軸で効く対策です。プロジェクトルートの CLAUDE.md に以下のようなルールを追加します:
- コードを変更する前に、必ず対象ファイルを読んで内容を把握すること
- 読んでいないファイルは絶対に編集しないこと
- 調査・確認を最優先し、推測で作業しないこと(Research-first)
- 変更後はテストを実行して動作確認すること
実はこれ、Boris Cherny氏率いるClaude Codeチーム自身もやっている手法です。チーム内で共有の CLAUDE.md をGitで管理していて、「Claudeが間違った行動をするたびに、そのルールを追加する」ことで精度を維持しているそうです。
方法⑤:デスクトップ版(claude.ai)の場合
デスクトップアプリやブラウザ版のclaude.aiを使っている場合は、モデル選択画面で 「拡張思考(Extended Thinking)」をONにする ことで、より深い推論が行われるようになります。
ただし、これはClaude Codeの /effort コマンドとは内部的に異なる仕組みです。Claude Codeのeffortパラメータがadaptive thinkingと連動しているのに対し、デスクトップ版の拡張思考は固定バジェット方式です。「しっかり考えてから答える」という方向性は同じですが、完全に同じものではない点はご理解ください。
maxを使えばすべて解決…ではない
ここで1つ注意点があります。
「じゃあ常に /effort max にしておけばいいのでは?」と思うかもしれませんが、maxにも落とし穴があります。
海外コミュニティの報告によると、maxにすると以下のような挙動が出ることがあるそうです。
過剰な説明。 聞いてもいないことまで延々と解説し始める。
自己疑念ループ。 「いや、やっぱりこっちの方がいいかも…」と何度もやり直して結局進まない。
トークンの浪費。 簡単なタスクにまでフルパワーで取り組むため、コストが不必要に膨らむ。
ある海外ユーザーは、60メッセージのセッションで /effort max を3回試したが、3回とも途中で止めなければならなかったと報告しています。原因は「effortを上げる前に、タスクの計画を構造化していなかった」こと。
つまり、effortを上げるだけでは不十分で、「何をどういう順序でやるか」を最初に明確にしてから、高いeffortで実行するのが正解です。
おすすめの使い分けはこうです:
普段の作業 → highをデフォルトに設定し、Adaptive Thinkingは無効化
本当に難しいデバッグや設計 → その場面だけ /effort max に切り替える
単純作業(ファイル名変更、コメント追加など) → /effort low で高速処理
現場エンジニアの声:「/effort auto が使い勝手いい」
ここまでの記事では effortLevel: "high" をおすすめしてきましたが、実際に毎日Claude Codeを使い倒しているエンジニアの現場感も共有しておきます。
筆者の同僚エンジニアは、この問題を把握した上であえて /effort auto を常用しています。理由はシンプルで、「maxは毎回応答に10分かかる」 から。
/effort auto はAnthropicのモデルデフォルトに委ねるモードで、タスクの複雑さに応じてClaude側が思考量を自動調整します。highを常時固定するよりも軽快で、特にAPI課金ユーザーにとってはコスト管理の面でも現実的な選択です。
ただし、ここで重要なのが CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 は残しておく ということ。autoにしても、adaptive thinkingの「推論ゼロ」バグは別問題として存在するため、これを無効化しておくことで 「autoで軽快に動きつつ、推論ゼロは防ぐ」 というバランスの良い構成になります。
この運用を採用する場合の settings.json はこうなります:
{
"effortLevel": "auto",
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
},
"showThinkingSummaries": true
}
つまり、2つの運用パターンが見えてきます:
安定重視派(品質優先) → effortLevel: "high" + DISABLE_ADAPTIVE_THINKING=1。常に深く考えさせる。トークン消費は増えるが、捏造リスクを最小化。
バランス重視派(速度とコストも大事) → effortLevel: "auto" + DISABLE_ADAPTIVE_THINKING=1。普段は軽快に、必要な場面だけ /effort high や /effort max に手動で切り替える。API課金勢におすすめ。
どちらを選ぶにしても、DISABLE_ADAPTIVE_THINKING=1 だけは必ず入れておく。これが現時点での鉄則です。
もう1つの問題:v2.1.100の「隠しトークン」問題
ここまでは「思考量(effort)」と「Adaptive Thinking」の問題を解説してきましたが、実はもう1つ別の問題が発覚しています。
Claude Codeのヘビーユーザーが通信内容をプロキシ経由で解析したところ、v2.1.100以降、リクエストごとに約20,000トークン(約15,000語相当)の不可視なデータがAnthropicのサーバーに送信されていることが判明しました。
この隠しトークンはユーザーからは見えず、コントロールもできません。しかし使用量としてはカウントされるため、API課金ユーザーはコストが膨らみ、Max契約(5xプラン)のユーザーは1日の使用リミットが想定より数時間早く枯渇するという現象が報告されています。
複数のセッションを並行して走らせる使い方(エージェント的な開発ワークフロー)では、このオーバーヘッドが特に深刻です。
v2.1.98へのダウングレードという選択肢
この問題に対する現時点で唯一確認されている対策が、v2.1.98へのダウングレードです。
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code@2.1.98
v2.1.98はこの隠しトークンが追加される前の最後の安定バージョンです。ダウングレード後も、前述の settings.json 設定(DISABLE_ADAPTIVE_THINKING=1)はそのまま有効です。
ダウングレードの注意点
ただし、ダウングレードにはトレードオフがあります。
v2.1.99以降のバグ修正や新機能が使えなくなります。 最新版ではセキュリティ修正、パーミッション周りの改善、VS Code連携の不具合修正などが多数含まれています。
自動アップデートに注意。 パッケージマネージャーが自動で最新版に戻してしまう場合があるので、自動更新をオフにするか、バージョンを固定する必要があります。
整理すると、問題は2層構造
問題A:思考量の低下(effort + Adaptive Thinking) → 推論品質が下がる。対策は effortLevel: "high" または "auto" と DISABLE_ADAPTIVE_THINKING=1。
問題B:隠しトークンのオーバーヘッド(v2.1.100以降) → コストと使用量リミットが悪化する。対策はv2.1.98へのダウングレード。
どちらの問題に悩んでいるかによって、対策が変わります。「品質がおかしい」なら問題A、「リミットの減りが早い」なら問題B、両方ならダウングレード + settings.json設定の組み合わせが現時点での最強構成です。
なぜAnthropicはデフォルトを下げたのか
ここは公平に整理しておきたいと思います。
Anthropicの意図は、コスト効率と速度のバランスを最適化することでした。多くのユーザーが、変数名の変更や単純なリファクタリングのような軽いタスクでもhigh effortを使っていた結果、必要以上にトークンを消費し、レスポンスも遅くなっていました。
API公式ドキュメントでも、medium effortは「エージェント的なコーディング、ツール多用のワークフロー、コード生成に適したバランスの良い設定」と説明されています。「ほとんどの日常的なコーディングタスクにはmediumで十分」 という判断自体は、合理的な面もあります。
ただし、2つの問題がありました。
1つ目は、通知が不十分だったこと。デフォルト変更のダイアログを見逃したユーザーが多く、「なんかおかしい」と感じてから原因を特定するまでに何日もかかったケースが続出しました。
2つ目は、Adaptive Thinkingの品質問題。推論トークンをゼロに割り当てるバグが存在し、これがmediumデフォルトとの組み合わせで深刻な品質低下を引き起こしました。デフォルトを下げること自体よりも、この「推論ゼロ」のバグが真の原因だったと言えます。
Boris Cherny氏も現在モデルチームと調査中とのことで、今後のアップデートで改善される可能性が高いです。
まとめの前に ― 最も重要な事実
ここまで読んでいただいた方に、改めてこの問題の核心をお伝えします。
Boris Cherny氏自身が、「effort=highに設定していても、adaptive thinkingが推論をゼロに割り当てるケースがあった」 ことを認め、現在モデルチームと調査中とコメントしています。
つまり、effortを上げるだけでは不十分で、CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 でadaptive thinking自体を無効化することが、現時点で最も確実な対策ということです。
まとめ ― やるべきことはシンプル
Claudeは劣化していません。設定が変わっただけです。
やるべきことを優先度順に並べます:
① settings.json を更新する(最優先) Adaptive Thinkingを無効化し、effortレベルを設定する。これだけで体感が劇的に変わります。
品質最優先なら:
{
"effortLevel": "high",
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
},
"showThinkingSummaries": true
}
速度・コストとのバランスを取るなら:
{
"effortLevel": "auto",
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
},
"showThinkingSummaries": true
}
どちらを選ぶにしても、DISABLE_ADAPTIVE_THINKING=1 は必ず入れてください。
② プロジェクトの CLAUDE.md に「調査優先・確認してから編集」のルールを書く。 Claude Codeチーム自身がやっている手法です。
③ 難しいタスクでは /effort max を使う。 ただし、まずタスクの計画を立ててから。
④ デスクトップ版では「拡張思考」をONにする。 Claude Codeとは仕組みが異なりますが、深い推論を促す効果があります。
⑤ リミットの減りが異常に早い場合はv2.1.98にダウングレードを検討する。 v2.1.100以降の隠しトークン問題を回避できます。ただし最新のバグ修正や新機能は使えなくなるため、トレードオフを理解した上で判断してください。
これだけで、「以前のちゃんと考えてくれるClaude」が戻ってきます。
最後に
AI界隈では、モデルのアップデートやデフォルト設定の変更が予告なしに行われることが珍しくありません。「なんか最近おかしいな」と思ったら、まずは設定の変更を疑ってみる ― これはAIツールを使いこなす上で、とても大切な習慣です。
今回の件は、海外では大きな議論になっていますが、日本語圏ではほとんど情報が出ていません。この記事が一人でも多くの方の役に立てば幸いです。
この記事が参考になったら、ぜひ「スキ」を押していただけると嬉しいです。 フォローしていただければ、今後もこういったAI関連の「日本語で読めない情報」をいち早くお届けします。
実際に CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 を試してみた結果はいかがでしたか?effortLevel は high と auto どちらにしましたか?v2.1.98にダウングレードした方の体感も聞きたいです。劇的に改善した、まだ困っている症状がある、自分はこう使い分けているなど、ぜひコメントで教えてください! 皆さんの実体験を基に、フォローアップ記事を書きたいと思っています。





