Skip to content

原文(日本語に翻訳)

実行中のサブエージェントを閲覧しながら入力したメッセージが、そのサブエージェントのトランスクリプトから非表示になり、親AIに誤って帰属される問題を修正しました。

原文(英語)

Fixed messages typed while viewing a running subagent being hidden from its transcript and misattributed to the parent AI

概要

Claude Codeでサブエージェントが実行中に、ユーザーがそのサブエージェントの実行画面を見ながらメッセージを入力した場合、そのメッセージがサブエージェントのトランスクリプトに正しく記録されず、親AIのメッセージとして誤って扱われる不具合がありました。この修正により、メッセージの帰属が正確になり、各エージェントのトランスクリプトが正しく記録されます。

基本的な使い方

この修正はバグフィックスであり、特別な設定は不要です。サブエージェントを使用するワークフローで自動的に恩恵を受けます。

# サブエージェントを使用する場面の例:
# - /review コマンドでコードレビューエージェントが起動
# - /test コマンドでテスト実行エージェントが起動
# - 並行タスクで複数のサブエージェントが動作中

# 修正前の問題:
# サブエージェント実行中に入力したメッセージ
# → サブエージェントのトランスクリプトに記録されない
# → 親AIのメッセージとして誤分類される

# 修正後:
# サブエージェントを閲覧中に入力したメッセージ
# → 正しいコンテキストで記録される

実践例

サブエージェントへの追加指示

# シナリオ: コードレビューサブエージェントが実行中

Claude: コードレビューを開始します...
[サブエージェント実行中の表示]
  → ファイルを分析中...
  → セキュリティチェック中...

# この画面を見ながらユーザーが入力:
「セキュリティの問題があれば特に詳しく説明してください」

# 修正前: このメッセージがトランスクリプトから消えることがあった
# 修正後: サブエージェントの正しいコンテキストで記録される

並行エージェントの管理

# 複数のサブエージェントが並行して実行している場面

# エージェントA: データベースマイグレーション実行中
# エージェントB: フロントエンドのビルド実行中

# エージェントBを閲覧しながら入力したメッセージは
# エージェントBのトランスクリプトに正しく記録される

# 修正前: エージェントAのコンテキストや親AIに誤って帰属されることがあった
# 修正後: 閲覧中のエージェントのコンテキストで正しく処理される

トランスクリプトの確認

bash
# セッション終了後にトランスクリプトを確認
# ~/.claude/projects/ 内のセッションファイルを参照

# 修正後は以下が正しく記録されている:
# - どのエージェントにどのメッセージが属するか
# - ユーザーのメッセージとAIの応答の対応関係
# - サブエージェントごとの会話履歴

長時間のサブエージェント実行中の操作

# 大規模なリファクタリングを実行するサブエージェント(数分かかる処理)

Claude: 大規模リファクタリングを開始します...
[15:23:01] src/components/ を処理中...
[15:23:15] src/services/ を処理中...
[15:23:30] src/utils/ を処理中...

# 実行中にユーザーが追加コンテキストを入力:
「node_modules/ は除外してください」

# 修正後: このメッセージが正しく記録され、
# サブエージェントの動作に適切に反映される

注意点

  • この修正はサブエージェントを閲覧中に入力したメッセージに関するものです
  • 親エージェントのプロンプトに通常通り入力する場合は影響しません
  • トランスクリプトの帰属が正確になることで、セッション履歴の分析やデバッグが容易になります
  • Remote Control機能でサブエージェントのトランスクリプトを監視している場合も、この修正の恩恵を受けます

関連情報