Zenn
Open3

"あの頃"の強かったClaude Codeを少しでも取り戻す方法

動詞動詞

みなさんが最近Claude Codeの性能劣化を嘆いているのをよく観測するので、できる限り劣化を防ぐために自分がとった行動を記載してみる。

Micro Compactを無効にする

LLMは基本的にコンテキストが伸びるほど推論コストが重くなり、LLMプロバイダーにとって負担となる。

そのため、どのバージョンからかClaude Codeは、コンテキスト上限に達する前から、過去参照したファイルの内容やツール使用のログを要約するようになった模様。
直接的な健忘の原因っぽそう。

詳細はこちらのツイートを参照。

https://x.com/SIGKITTEN/status/1951372413675167809

DISABLE_MICROCOMPACT=1で無効にできる。

思考の表示をレガシーに戻す

最近のバージョンはClaude Codeが何を考えているかをほとんど表示してくれないので、ツッコミが入れづらくなっている。

これが性能に関係するかは分からないが、目grepがしづらくなったことは確かなので、体感的に勝手に暴走して変なことをすることが増えたように感じるかもしれない。

そこでこの機能を無効にし、レガシーの表示に戻す。

DISABLE_INTERLEAVED_THINKING=1で無効にできる。

IDEとの統合をやめる

IDEとClaude Codeとの連携によって無駄なコンテキストが注入されるのを防ぐ。
ただし、UXに大きく関わるのでやったほうがいいかどうかは人による。

IDEのExtensionからClaude Code関連の拡張機能をアンインストールした後、以下のコマンドでClaude Code側のIDEに関わる機能を停止する。

CLAUDE_CODE_AUTO_CONNECT_IDE=0
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL=1
CLAUDE_CODE_IDE_SKIP_VALID_CHECK=1

オートアップデートを停止する、その他

オートアップデートを無効にする。
その他、無駄なトラフィックやテレメトリーなどをまとめて停止しておく。

DISABLE_AUTOUPDATER=1
CLAUDE_CODE_ENABLE_TELEMETRY=0
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
DISABLE_ERROR_REPORTING=1
DISABLE_TELEMETRY=1

ここまでで書いた設定をまとめて~/.claude/settings.jsonに書き込む場合はこうなる。

{
    "env": {
        "CLAUDE_CODE_AUTO_CONNECT_IDE": false,
        "CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL": true,
        "CLAUDE_CODE_IDE_SKIP_VALID_CHECK": true,
        "CLAUDE_CODE_ENABLE_TELEMETRY": false,
        "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": true,
        "DISABLE_ERROR_REPORTING": true,
        "DISABLE_TELEMETRY": true,
        "DISABLE_AUTOUPDATER": true,
        "DISABLE_MICROCOMPACT": true,
        "DISABLE_INTERLEAVED_THINKING": true
    }
}

Claude Codeのバージョンを下げる

最近追加された機能を使えなくなるのでちょっとアレだが、もっとも間違いない方法。

# 今入っているClaude Codeをアンインストール
npm uninstall @anthropic-ai/claude-code -g
# Claude Codeを適当な古いバージョンに変更(1.0.60以前が好ましい気がする)
npm install @anthropic-ai/claude-code@1.0.24 -g
# Claude Codeのオートアップデートを停止
claude config set -g autoUpdaterStatus disabled

バージョンを下げても/model claude-opus-4-1-20250805でOpus 4.1は使える模様。

巳波みなと巳波みなと

claude config set -g autoUpdaterStatus disabled ではなく、 claude config set -g autoUpdates disabledだと思います。(重箱の隅をつつくようですみません 🙏)

動詞動詞

そのほかのテクニックなど

個人的なもの。

serena MCPを入れる

よく言われているやつ。

claude mcp add serena -- uvx --from git+https://github.com/oraios/serena serena-mcp-server --context ide-assistant --project $(pwd)

MAX_THINKING_TOKENSを増やす

常に"ultrathink"してもらうようにする。

MAX_THINKING_TOKENS=31999

関連ファイルを大量にコンテキストに含める

@relative/path/to/fileでファイルを絶対に読んでもらえるので、これを使ってコンテキストを強制的に与える。

一瞬でコンテキストが溶けてしまうが、使えないものを吐かれるよりは全然マシなのでよくやっている。

デカいファイルを少しずつ読まずに一気に読んでもらう

Claudeは700行ぐらいあるファイルを100行ずつとかチマチマ読む癖がある。

しかし、これによって全体のコンテキストを捉えられず、すでに存在するメソッドを再実装したりすることがある。そこで一度に読んでもらうようにする。

CLAUDE.mdで指示しておくと良い。

ログインするとコメントできます