Claude AI セッションの圧縮問題と回避策

圧縮処理の仕組み
Claudeセッションは~/.claude/projects/{encoded-cwd}/sessions/{id}.jsonlにJSONLファイルとして保存されます。各会話ターンはJSONブロックです。圧縮がトリガーされると、元のブロックはファイルに残りますが、圧縮された要約を含む新しいブロックが追加されます。圧縮後、モデルは完全な会話履歴ではなく、この要約から作業を行います。
テスト結果
100万トークン増加前の90%コンテキスト埋め込み状態のコーディングプロジェクトで、ユーザーは単純な想起、6段階の依存チェーン、エンティティの曖昧性解消、否定連鎖、不在検出、矛盾検出を含む10の質問をテストしました。
- 圧縮前: Opus 4.6が418Kトークンに散らばる事実を見つけ、約9.75/10の精度
- 圧縮後(デフォルト): 3,461トークン(121倍圧縮)で約5/10の精度。同じセッション、同じ質問で幻覚的な誤答が発生。
- 圧縮後(手動Opus): 6,080トークン(69倍圧縮)で約9.75/10の精度。カスタム圧縮プロンプトを使用したOpusにより、重要な情報が保持されました。
差異の理由
Anthropicのドキュメントによると、APIはデフォルトで同じモデルを圧縮に使用します。ユーザーは中程度の計算リソースでOpus 4.6を実行していたため、デフォルトの圧縮もOpusを使用しているはずです。品質の差異は、要約プロンプト、思考/計算予算、またはその両方に問題があることを示唆しています。
回避策
方法1: Opus圧縮 - 自動圧縮をオフにし、Claude Codeインスタンスのトークン数を測定するバックグラウンドプロセスを実装します。カスタムプロンプト(必要に応じてユーザー認可付き)を使用したOpusによる圧縮をトリガーします。
方法2: spaCy NER事前シーディング - サブエージェントをゼロコンテキストで開始する代わりに、spaCy NERを使用してプロジェクトファイルから固有名詞、数字、サービス名、ポート、主要識別子を抽出します。これを軽量なエンティティブリーフィング(数百トークン)として起動時に注入し、物語的な肥大化なしに既存リソースについてエージェントに情報を提供します。
📖 Read the full source: r/ClaudeAI
👀 See Also

ペアプログラマープラグインが、Claude Codeにライブ画面、音声、オーディオコンテキストを追加します
開発者は、画面、マイク、システムオーディオのストリームをキャプチャすることでClaude Codeにリアルタイムのデスクトップ知覚を与える「Pair Programmer」というプラグインを構築しました。アーキテクチャは異なる入力タイプに対して並列で動作する専門エージェントを使用しており、現在はクラウドモデルでインデックス処理を行っていますが、モデルに依存しない設計となっています。

オープンブレイン:オープンソースMCPサーバーが、自動グラフ化とセマンティック検索による永続的メモリをClaudeに追加
Open Brainは、自動的なエンティティ抽出、意味的な重複排除、思考間の関連性の自動グラフ化を備え、Claudeにセッションを超えた永続的なメモリを提供するオープンソースのMCPサーバーです。Supabase(pgvector)とDeno Edge Functionsを使用し、セルフホスティング可能で、グラフ探索、エンティティ閲覧、週次レビュー合成のための16のMCPツールを含んでいます。

Next.js開発のための並列Claudeチャットアーキテクチャ
開発者が、共有データベーステーブルとポーリングエージェントを使用して、同じNext.jsコードベース上で複数のClaude AIチャットを同時に実行するシステムを作成し、1セッションで87%のビルド成功率とゼロのマージコンフリクトを達成しました。

SwiftUIエージェントスキル:AIによるビュー開発の強化
SwiftUI Agent Skillは、AIを活用してSwiftUIビュー開発を改善するオープンソースツールで、ベストプラクティスと最適化を組み込んでいます。