Skip to content

原文(日本語に翻訳)

コンパクション後にサブエージェントが呼び出したスキルがメインセッションのコンテキストに誤って表示される問題を修正

原文(英語)

Fixed skills invoked by subagents incorrectly appearing in main session context after compaction

概要

Claude Code でサブエージェント(Task ツールで起動されたバックグラウンドエージェント)がスキルを呼び出した際、コンパクション(コンテキスト圧縮)後にそのスキルがメインセッションのコンテキストに誤って混入するバグが修正されました。この問題により、メインセッションで不正確なコンテキスト情報が参照され、予期しない動作を引き起こす可能性がありました。2.1.45 では、サブエージェントのスキル呼び出しとメインセッションのコンテキストが正しく分離されるようになります。

基本的な使い方

この修正はバグフィックスです。特別な設定変更は不要で、Claude Code を 2.1.45 以上にアップデートするだけで適用されます。

bash
# Claude Code をアップデート
npm update -g @anthropic-ai/claude-code

実践例

コンパクション後のセッション状態

コンパクションとは、コンテキストウィンドウが一杯になった際に会話履歴を要約・圧縮する機能です。

# 通常のワークフロー例
1. メインセッションで大規模なコーディング作業を開始
2. コンテキストが増加し、コンパクションが発生
3. サブエージェントがスキル(例:/commit スキル)を実行

# 修正前の問題:
- コンパクション後、サブエージェントのスキル実行履歴がメインセッションに表示される
- メインセッションが混乱した状態になる可能性

# 修正後の動作:
- サブエージェントのスキル実行はサブエージェントのコンテキストのみに記録
- メインセッションは独立したクリーンな状態を維持

影響を受けるシナリオ

この修正が特に効果を発揮するのは、以下のようなケースです:

# 例: 複数のサブエージェントが異なるスキルを実行する場合
> 大規模なリファクタリングを行い、コード品質チェック、テスト実行、
  コミット作成を並行して行ってください(それぞれサブエージェントで)

この場合、各サブエージェントのスキル実行(例:テストスキル、コミットスキル)が正しく分離され、メインセッションの会話履歴に誤って混入しなくなりました。

注意点

  • この問題は「コンパクションが発生している長いセッション」かつ「サブエージェントがスキルを使用している」場合に限り発生していました。
  • 短いセッションや、サブエージェントがスキルを使わない場合は影響がありませんでした。
  • コンパクションは通常、コンテキストウィンドウの使用率が高くなった時に自動的に発生します。
  • 2.1.45 へのアップデートで自動的に修正されます。

関連情報