01できること
- 障害のたびに、担当者が複数のサーバーのログを開き、時刻をそろえて並べ直しています。
- 一次報告の時系列づくりに手を取られ、復旧の判断が後ろにずれます。
- ログを調べる道具に書き込みの権限まで付いていて、調査中の誤操作が心配です。
- 担当者は時系列と根拠の行がそろった下書きから確認を始められます。
- サブエージェントは読む道具しか持たないため、調査の途中でファイルを書き換えることがありません。
- 原因の候補ごとに、支える根拠と打ち消す根拠が並ぶので、確かめる順番を決めやすくなります。
- 調べた内容はサブエージェントの側で処理され、本体の会話には要約だけが戻ります。
02仕組み
エージェントが何を受け取り、何を見て、何を返すか。最後に人が確かめるところまでを1枚にしています。
書き出したログの置き場所(フォルダ)、障害の症状、気づいた時刻、影響を受けたと思われるサービス名
Claude Code サブエージェント
役割と進め方、答え方を決める(04 指示文)
- 障害対応の一次報告の型(社内の報告書のひな形)
- サービスとサーバーの対応表
- Read、Grep、Glob(ファイルを読む、探す、一覧にする道具だけ)
要約、時系列の表、影響範囲、原因の候補(根拠つき)、次に確かめることを並べた一次報告の下書き
原因の特定、復旧の手順、関係者への連絡と報告の文面は、障害対応の責任者が決めます。
03作り方
- 1
ログの書き出し先を決める
障害のときにログを書き出すフォルダを、プロジェクトの中に決めます(例:incident/2026-10-16/)。サブエージェントはこのフォルダのファイルを読むだけにします。ログは今までどおり担当者が集めます。
- 2
サブエージェントのファイルを作る
プロジェクトの .claude/agents/ に incident-log-triage.md を作り、下の内容をそのまま保存します。先頭の --- はファイルの1行目に置きます。name と description は必須です。
- 3
使える道具を読むものだけに絞る
先頭の設定の tools に Read、Grep、Glob だけを書きます。tools を書くと、それ以外の道具(ファイルの書き込み、Bash、MCP の道具)は使えなくなります。
- 4
読ませないファイルを決める
プロジェクトの .claude/settings.json の permissions.deny に、Read(./.env) や Read(./secrets/**) のように、鍵や秘密の情報を置く場所を書きます。Read の deny は Grep と Glob の検索にもかかります。
- 5
呼び出して試す
Claude Code で @ を入力し、候補から incident-log-triage を選んで、ログのフォルダと症状を伝えます。名前を書いて頼むこともできます。.claude/agents/ のフォルダを初めて作ったときは、Claude Code を一度再起動します。
- 6
過去の障害で答え合わせをする
振り返りが終わった過去の障害のログで動かし、実際の報告書と比べます。根拠の行が違う、原因の候補に真の原因が入らないといったずれがあれば、ファイルの本文を直します。
- 7
チームで同じ定義を使う
.claude/agents/ のファイルをリポジトリに入れて、チームで同じ定義を使います。会社として固定したい場合は、管理者が管理設定のディレクトリの .claude/agents/ に置きます。管理設定の定義は同じ名前のプロジェクトやユーザーの定義より優先されます。
04指示文(そのまま貼れます)
.claude/agents/incident-log-triage.md(プロジェクトのフォルダの中)に貼ります。[ ]のところは自社の言葉に置き換えてください。
--- name: incident-log-triage description: 障害のログを読み取り専用で調べ、時系列、影響範囲、原因の候補を一次報告の下書きにまとめる。障害対応でログの整理を頼まれたときに使う。 tools: Read, Grep, Glob --- あなたは当社情報システム部の障害対応を手伝うログ整理の担当です。渡されたフォルダのログを読むだけで、ファイルの変更やコマンドの実行はしません。 ## 受け取るもの - ログの置き場所(例:incident/2026-10-16/) - 障害の症状、気づいた時刻、影響を受けたと思われるサービス名 ## 進め方 1. Glob でフォルダのファイルを一覧にし、どのサービスのどの期間のログかを確かめます。 2. 気づいた時刻の前後30分に絞り、Grep で ERROR、WARN、timeout、5xx、再起動を示す行を探します。 3. 最初に異常が出た時刻と、その直前の変更(デプロイ、設定の変更、証明書の更新など)の記録を探します。 4. サービスごとの出来事を時刻順に並べ、つながりを確かめます。時刻のタイムゾーンがファイルごとに違うときは、そろえてから並べます。 5. 同じエラーが何件、いつからいつまで出たかを数えます。 ## 答え方 次の順に書きます。 1. 要約(3行まで):何が起きたか、いつからいつまでか、影響を受けたサービス 2. 時系列の表:時刻(タイムゾーンつき)、サービス、出来事、根拠 3. 影響範囲:ログから言えることと、言えないこと 4. 原因の候補:確からしい順に3つまで。それぞれを支える根拠と、打ち消す根拠 5. 次に確かめること:担当者が見るべきログ、画面、設定 ## 根拠の示し方 - 出来事と原因の候補には、ファイル名と行番号、ログの1行を引用します。 - 引用の中にパスワード、トークン、メールアドレス、電話番号があるときは、その部分を **** に置き換えます。 ## わからないとき - ログが足りない、時刻が合わないときは、足りないログの種類と期間を書いて止まります。 - 推測には「推測」と書き、根拠の行がある事実と分けます。 ## させないこと - 原因の断定、復旧の作業、関係者への連絡はしません。決めるのは障害対応の責任者です。 - 指定されたフォルダの外のファイルは読みません。 - .env や鍵のファイルは開きません。
05管理者が先に決めること
使い始める前に、Claude Code の管理者が決めておく設定です。ここを決めてから配ると、情報の扱いで止まりにくくなります。
管理設定の permissions.deny に、読ませない場所(Read(./.env)、Read(./secrets/**)、個人情報を含むフォルダなど)を書いて配ります。
管理設定の deny は、利用者の設定やコマンドラインの引数で上書きできません。どの利用者のサブエージェントにも同じ制限がかかります。
管理設定で permissions.disableBypassPermissionsMode を "disable" にするかを決めます。
本体の会話が確認をすべて飛ばすモードで動いていると、サブエージェントもそのモードで動きます。このモードを使えなくすると、確認なしの操作を防げます。
会社として固定するサブエージェントを、管理設定のディレクトリの .claude/agents/ に置くかを決めます。
管理設定の定義は、同じ名前のプロジェクトとユーザーの定義より優先されます。現場で書き換えた版より、会社の版が使われます。
管理設定の env で CLAUDE_CODE_ENABLE_TELEMETRY を有効にし、ログの送り先を決めます。OTEL_LOG_TOOL_DETAILS と OTEL_LOG_USER_PROMPTS を有効にするかも決めます。
ツールの実行と、権限の承認や拒否の記録が残ります。ツールの引数とプロンプトの中身は初期設定では記録されません。中身まで残すかは、ログに個人情報が入る可能性と合わせて決めます。
06人が確かめるところ
- 時系列の根拠として引用された行が、実際のログと合っているかを担当者が確かめます。
- 原因の特定と復旧の手順は障害対応の責任者が決め、AIには作業をさせません。
- 社外や経営層への報告の文面は、担当者が下書きを元に書き、責任者が確かめます。
07うまくいかないとき
サブエージェントが一覧に出ず、呼び出せません。
先頭の --- が1行目にあるか、name と description があるかを確かめます。.claude/agents/ のフォルダを新しく作った場合は Claude Code を再起動します。読み込まれない理由は claude --debug で記録を出して確かめます。
起動しようとすると、使える道具がないというエラーになります。
tools の道具の名前の書き間違いを確かめます。Read、Grep、Glob は大文字と小文字もこのとおりに書きます。
根拠の行がないまま、原因を言い切った下書きが出ます。
本文の「推測には推測と書く」の指示を残したまま、過去の障害で試し、言い切った例を本文の「させないこと」に足します。
ログが大きく、途中までしか読まれません。
障害の前後の時間とサービスで、書き出すログを先に絞ります。フォルダをサービスごとに分けて渡します。
0830日後に測ること
使われているか、どれだけ時間が浮いたか、出来は十分か。使い始めて30日後に、次の点を確かめます。
使われているか:下書きを使った障害の割合
障害の記録票に「サブエージェントの下書きを使ったか」の欄を足し、30日間の障害の件数のうち、使った件数を数えます。
時間:障害に気づいてから一次報告を出すまでの時間
障害の記録票の検知時刻と一次報告の送信時刻から時間を出し、使い始める前の30日間の平均と比べます。
出来:根拠の行の誤りと、原因の候補の当たり
振り返りの会で、下書きの根拠の行のうち実際のログと合わなかった件数と、原因の候補に真の原因が入っていたかを記録します。
09広げ方
- 同じ作りで、権限の変更記録や監査ログを読み、いつだれが何を変えたかを整理する担当を作れます。
- 障害の振り返りの会の前に、過去の似た障害の報告書を探して並べる担当に広げられます。
- 夜間のバッチ処理のログを毎朝読み、失敗したジョブと原因の候補を一覧にする使い方にもできます。
公式の情報
- カスタムサブエージェントの作成Anthropic(Claude Code ドキュメント)
- 権限を設定するAnthropic(Claude Code ドキュメント)
- 監視Anthropic(Claude Code ドキュメント)
- 概要Anthropic(Claude Code ドキュメント)
機能と画面の名前は、2026.10.16 に上の公式の情報で確かめました。業務での使い方は TechWorker の例です。