CLAUDE LABEN
APPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意ですAPPLY — ant CLI v1.30.0 に ant apply が入りました。エージェント・環境・スキル・メモリストア・デプロイメントを、リポジトリのファイルから作成・更新できますLOCKFILE — 書き出される claude-lock.json は必ずコミットしてください。忘れると、実行のたびに同じリソースが新しく作られていきますPLAN — ant apply は適用の前に計画を表示し、承認を挟みます。CI で無人実行するなら、この承認をどう扱うかを先に決めておくことですPRICING — Claude Sonnet 5 の 3 ドル / 15 ドルへの値上げは実施されていません。導入価格の 2 ドル / 10 ドルがそのまま標準価格になりましたSOURCE — 価格と版番号は二次ニュースに誤りが混じります。platform.claude.com のリリースノートで裏を取ってから書くようにしていますBETA — Agent Skills と Skills API はベータを抜け、skills-2025-10-02 ヘッダが不要になりました。Files API はヘッダの有無でレスポンス形式が変わる点に注意です
記事一覧/Claude Code
Claude Code/2026-07-17上級

夜間に回した並列サブエージェントの記録が、追えなくなった — --forward-subagent-text で増えたログを絞り直す

サブエージェントのテキストと思考を stream-json へ流せるようになった一方で、無人実行のログ量は跳ね上がります。実測値をもとに、事後解析に効く記録だけを残す3層の保存方針と相関IDの設計をまとめました。

Claude Code250サブエージェント15stream-jsonログ設計5自動運用17

プレミアム記事

朝、失敗した夜間タスクのログを開いて、手が止まりました。

親セッションの記録には「サブエージェントを4本起動した」という行と、最後に「1本が結果を返さなかった」という行しか残っていません。その4本が何を読み、どこで方針を変え、なぜ1本だけ黙ったのか。手がかりはどこにもありませんでした。

無人で走らせている以上、後から追えるのはログだけです。そのログに、肝心の中身が入っていない。

7月17日の更新で --forward-subagent-text フラグ(環境変数なら CLAUDE_CODE_FORWARD_SUBAGENT_TEXT)が入り、サブエージェントのテキストと思考を stream-json 出力に含められるようになりました。求めていたものです。

ただ、有効にして一晩回した翌朝、今度は別の問題に直面しました。ログが読める量ではなくなっていたのです。

有効にすると、何が流れてくるのか

まず、フラグの有無で出力がどう変わるかを確かめました。

# 従来: 親のイベントのみ
claude -p "4つのカテゴリの記事メタデータを検証して" \
  --output-format stream-json > baseline.jsonl
 
# 7/17 以降: サブエージェントのテキストと思考も含む
claude -p "4つのカテゴリの記事メタデータを検証して" \
  --output-format stream-json \
  --forward-subagent-text > forwarded.jsonl

出力は JSON Lines です。1行1イベントなので、種別ごとの件数はすぐ数えられます。

# イベント種別の内訳を出す
jq -r '.type' forwarded.jsonl | sort | uniq -c | sort -rn

同じ指示を10回ずつ流し、その中央値を並べたものが次の表です。サブエージェント4本・親1本、Sonnet 5 での結果になります。

項目フラグなし--forward-subagent-text倍率
行数(イベント数)2184,93022.6倍
ファイルサイズ0.9 MB38.4 MB42.7倍
うち thinking 由来0 MB24.1 MB
うち assistant テキスト0.4 MB11.8 MB29.5倍
90日保存時の総量(1日3実行)0.24 GB10.4 GB43.3倍

42倍という数字そのものより、内訳のほうが設計の役に立ちました。増分の 63% が thinking です。そして thinking は、失敗の原因究明にはよく効く一方で、成功した実行では一度も開かれません。

つまり、増えた分の大半は「ほとんどの場合は読まないが、読みたい時には絶対に必要」という性質を持っています。全部捨てるのも、全部残すのも、どちらも間違いです。

3層に分けて、残すものを決める

そこで、イベントを3つの層に振り分けることにしました。

対象保存期間方針
骨格親子の起動・終了・ツール呼び出し名・結果の成否無期限常に全量。これだけで実行の輪郭が復元できる
本文assistant テキスト・ツール入力の要約30日先頭と末尾を残し、中間は文字数だけ記録
思考thinking ブロック7日/失敗時のみ無期限成功実行では破棄。失敗した実行に紐づくものは残す

「失敗時のみ残す」を実現するには、書き込みながら判断できません。実行が失敗したかどうかは、最後まで読まないと分からないためです。

そこで、いったん全部を一時ファイルに落とし、終了コードが確定してから振り分ける形にしました。ストリームを2回通す代わりに、判断を後ろに送れます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
--forward-subagent-text 有効化で1実行あたりのログが何倍になるかの実測と、イベント種別ごとの内訳
全部残す・要約して残す・捨てる、を分ける3層フィルタの実装(Node.js・そのまま動きます)
親セッションと子エージェントを後から突き合わせるための相関ID設計と、UUID が付かない場面の対処
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-07-01
AIが出した数値と出典を、そのまま受け入れない — 検証専任サブエージェントで突き合わせるゲート設計
エージェントが生成した要約の数値と出典を、生成とは別の検証専任サブエージェントで確かめてから受け入れるゲート設計です。主張をクレーム台帳として取り出し、数値は関数で再計算、引用は原文との文字列照合で確認する構成を、動くTypeScriptのコードとともにまとめました。
Claude Code2026-09-03
ログのタイムゾーンを表示で寄せるか、記録で固定するか
AdMob とストアのレポートと手元のログで一日の切れ目がずれていました。表示側に寄せる方法と記録側を固定する方法を、実際に往復して選び直した判断の記録です。
Claude Code2026-08-17
フォーク既定のサブエージェントで、レビュー役だけは名前で呼ぶという線引き
サブエージェントのフォークが既定になり、親の会話をそのまま引き継ぐようになりました。作業は継承させ、判定は継承させない。その境界をリポジトリに宣言し、ずれを機械的に見つけるまでの設計です。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます