CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/Claude Code
Claude Code/2026-05-20中級

Claude Code のカスタムサブエージェントを5つ作って2つに絞り込んだ、半年の運用所感

Claude Code のカスタムサブエージェントを半年間、6サイト並行運営の現場で動かし続けた結果、残った2つと捨てた3つを記録します。description の書き方や、機能するエージェントと機能しないエージェントの境目を、実体験に沿って整理しました。

Claude Code197サブエージェント11運用所感個人開発110

サブエージェントを最初に作ったのは、2025年の秋頃のことでした。当時、4つの技術ブログと2つの読み物系サイト、合計6サイトを並行で運営し始めたばかりで、「全部のリポジトリを毎日のように行き来する自分」を、どうにかして肩代わりしてもらえないかと考えていました。

それから半年。.claude/agents/ の中に並んでいたカスタムサブエージェントは、5つから2つに減りました。「増やしていく」のではなく「絞り込んでいく」という方向に進んだのは、自分でも少し意外でした。今日はその記録を残しておきます。

アーティスト・クリエイターの廣川政樹(Dolice)です。2014年から個人開発者としてアプリを作り続けながら、最近は記事も書く生活をしています。

サブエージェントを「増やせばよい」と思っていた最初の3ヶ月

最初の3ヶ月は、思いついたものを片端から作っていました。

  • 記事のSEO監査をしてくれる subagent
  • リポジトリの差分から release notes を書く subagent
  • 4サイトのスケジュールタスク設定を比較して不整合を見つける subagent
  • 古い記事を読んで、リライト候補を出す subagent
  • AdMob の eCPM レポートを読んで、メディエーション順位を提案する subagent

.claude/agents/ を開くと、自分でも何を作ったのか覚えていないファイルが5つ並んでいる、という状態になっていました。

「専門家の小チームを抱えている気分」と書けば聞こえはよいのですが、実際の運用ではそんなにきれいに動きませんでした。呼び出した subagent が、思っていたほどの結果を返してこありません。あるいは、自分が直接やったほうが速い。その違和感が、最初の3ヶ月で少しずつ蓄積していきました。

残した1つ目:Explore 相当の「ひたすら読みに行く」エージェント

半年経って残った1つ目は、「ひたすら読みに行く」専門のエージェントです。Cowork に最初から入っている Explore 相当の役割を、自分用に少しチューニングしたものです。

このエージェントが機能した理由は、はっきりしていました。読む対象が広いほど、メインのコンテキストを汚さずに済むという恩恵が、相対的に大きくなるからです。

私のワークスペースには、6サイトのリポジトリ・運営ドキュメント・SEOデータ・スケジュールタスク用の SKILL.md が散らばっています。「この記事はどの subagent でどう書かれているのか」「AdMobのプライオリティ設定はどのドキュメントが正なのか」を辿るとき、メイン側で全部読むとあっという間にコンテキストを使い切ってしまう。専用に切り出した Explore 用 subagent に「広く、浅く、報告だけ持って帰ってきて」と頼むと、メイン側は要約だけを受け取って次に進めます。

半年で気づいたのは、このエージェントを呼ぶときの prompt の書き方を、極端にシンプルに固定したことが効いたという点です。「以下の質問に答えるために必要なら、どこを読んでもよい。ただし、報告は300字以内」。それだけ。役割を絞り、出口を絞ったぶん、機能してくれるようになりました。

残した2つ目:Plan 相当の「設計レビュー専用」エージェント

2つ目は、設計フェーズで「他人の目」を借りるためのエージェントです。

個人開発の難しさのひとつは、設計を他人に見せる機会が圧倒的に少ないことだと思います。アプリの累計5,000万ダウンロードを支えてきた経験は確かにあるのですが、その経験はそのまま、「自分のクセに気づきにくい」という弱点でもあります。

このエージェントには、「私の設計案に対して、私が見落としていそうな観点を3つだけ挙げてほしい」という役割を与えています。提案ではなく、観点。何かを書いてもらうのではなく、自分が見落としているところを照らしてもらう。

実装上のコツは、メインの会話と切り離すことでした。設計案をそのまま会話に流すと、自分の前提が伝わりすぎて、subagent も同じ視点で見てしまいます。subagent には、設計の文書を「初めて読んだ人」として受け取ってもらうために、背景情報をあえて剝がして渡しています。

少し遠回りに見えますが、半年運用するとこちらのほうが自分には合いました。

捨てた3つ:なぜ機能しなかったのか

ここからは正直に、残らなかった3つの話を書きます。

ひとつ目は、SEO監査専用 subagent。これは、メインの作業の最中に subagent から戻ってくる「監査レポート」が、結局はメインで自分が読み込まなければ意味がない、という構造的な問題に気づいて捨てました。subagent が出してきた結論を、メインがそのまま信じて次のアクションに進めない仕事は、subagent に切り出すと二度手間になる、というのが半年での気づきです。

ふたつ目は、release notes 自動生成 subagent。これは、release notes そのものは書けるけれど、「どこまでを今回のリリースに含めるか」の判断はサイト全体の文脈を持っている自分にしかできず、結局メインで書き直していました。範囲決定の判断が分離できない仕事は、subagent ではなく Plan Mode の中で済ませたほうが速かったです。

みっつ目は、AdMob のメディエーション順位提案 subagent。これは別の理由で捨てました。AdMob の管理画面と Claude in Chrome を組み合わせて動かしたほうが、サブエージェント1つで完結させるよりも、私の運用の現実に合っていたからです。「subagent を作る前に、Chrome 連携で済まないかを先に試す」というルールを、ここから自分の中で固めました。

半年で見えた、subagent description の書き方

捨てた3つと残った2つを並べて気づいたのは、description フィールドの書き方が、機能の境目を分けていたということです。

残ったほうの description は、いずれも「何をやらせるか」ではなく「どんなときに呼ぶべきか」を書いていました。逆に、捨てた3つは「○○の専門家」「○○のレポートを作る」のように、役割の説明にとどまっていました。Claude Code のメイン側からすると、「呼ぶべきタイミングが書かれていない subagent」は、結局呼ばれません。

具体例で示すと、残った Explore 用 subagent の description は、こんな形にしてあります。

複数のリポジトリ・ドキュメント・SKILL.md にまたがる事実関係を、
メインのコンテキストを使わずに調べたいときに使う。
報告は300字以内の要約のみで、全文取り込みはしない。

「ときに使う」「ない」というネガティブ条件まで書いておくと、メイン側が呼ぶか呼ばないかの判断を、迷わずできるようになります。

一つの道具を使い切るという感覚

宮大工をしていた両祖父のことを、最近ふと思い出します。手元の道具をいくつも増やすのではなく、一つの道具をていねいに使い続ける人たちでした。鉋(かんな)の刃を毎日研いで、その鉋でしか出せない肌触りで木を仕上げていく。

カスタムサブエージェントについて半年運用してみて、自分が向かっていたのも、たぶん同じ方向でした。新しいエージェントを増やすよりも、残った2つを少しずつ磨き続けるほうが、6サイトの運営という現実に対しては効いています。

これから取り組むこと

直近では、残った2つの subagent それぞれに、「呼ばれなかった日」を記録する小さなログ機構を仕込もうとしています。呼ばれない日が続く subagent は、もう一度 description を見直すサインだ、という運用に変えていく予定です。

カスタムサブエージェントを使い始めたばかりの方には、まず1つだけ作って、3週間ほど運用してみることをお勧めします。3週間経った時点で「これは呼んでよかった」と思える瞬間が3回以上あれば、その subagent は残る側です。なかったら、description を一行書き直すところから始めるとよいかもしれません。

私自身もまだ運用の途中ですが、誰かの参考になれば幸いです。お読みいただきありがとうございました。

シェア

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

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

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

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Claude Code2026-07-17
夜間に回した並列サブエージェントの記録が、追えなくなった — --forward-subagent-text で増えたログを絞り直す
サブエージェントのテキストと思考を stream-json へ流せるようになった一方で、無人実行のログ量は跳ね上がります。実測値をもとに、事後解析に効く記録だけを残す3層の保存方針と相関IDの設計をまとめました。
Claude Code2026-07-15
型は付いたのに、安全にはならなかった — JS→TS 移行で Claude Code に任せた範囲と任せなかった範囲
tsc が緑でも any は静かに漏れます。型カバレッジで移行の実態を測り、Claude Code に任せて速い作業と人が決めるべき判断を線引きし、悪化を止める CI ゲートまでを実装付きで整理した運用メモです。
Claude Code2026-07-14
空の変数と rm -rf の夜 — Claude Code auto モードの事前確認に助けられた片付けの記録
複数のアプリ用リポジトリのキャッシュをまとめて掃除する作業を Claude Code に任せた夜、空になった変数のせいで危うく広範囲を削除しかけました。auto モードの rm -rf 事前確認に救われた実運用の記録と、そこから整えた自分の確認ルールを丁寧に綴ります。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →