0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code subagentの呼び出し品質はなぜプロンプト構造で決まるのか

0
Last updated at Posted at 2026-05-28

この記事は playpark Blog からの転載です。


この記事で分かること

  • Claude Code subagent の呼び出しで品質がばらつく根本原因
  • 呼び出しプロンプトに必ず含めるべき5つの要素と、その選定理由
  • どの要素を省略するとどのトラブルが起きるか

背景:「subagentが不安定」の正体

Claude Code の Task tool で subagent を呼び始めると、こういう疑問が出てきます。

「同じ依頝を投げているのに、返ってくるフォーマットが毎回違う」
「探索タスクのはずなのに、勝手にファイルを書き換えてくる」
「token消費が読めない」

最初は「モデルの挙動が安定しない」と思いがちですが、実際の原因は別にあります。

なぜ呼び出しプロンプトが品質を決めるのか

Claude Code の Task tool では、呼び出した側のコンテキストに返ってくるのは subagent の 最終出力だけ です。途中の Read / Grep / WebFetch などの操作ログはメインセッションに流れ込みません。

これは便利な分離(context isolation)ですが、裏返すと 「呼び出し時点のプロンプトが subagent に与えられる唯一の指示」 になることを意味します。メインが途中で軌道修正できない構造なので、プロンプトの品質がそのまま出力品質に直結します。

Anthropic の Multi-agent research system 解説 でも、delegation 品質が成否の大半を決めると報告されています。

選択肢の検討:なぜ「5要素固定」を選んだか

呼び出し品質を担保する方法は複数あります。

アプローチ メリット デメリット
都度レビューで口頭指摘 柔軟、ルール化不要 Skill が増えると人的コストが線形増加
チェックリスト文書化 記録が残る 読まれない、適用忘れが起きる
プロンプト構造を仕様化 + lint 機械的に担保、新規Skillにも自動適用 初期設計コストがかかる

「都度レビュー」は Skill が10本を超えたあたりからコストが見合わなくなります。「文書化」は実際には守られませんでした。結果として、プロンプト構造そのものを仕様として固定し、lint で機械的に検査する アプローチを選びました。

なぜこの5要素か

仕様化した要素と、各要素が対処するトラブルの対応は以下のとおりです。

要素 対処するトラブル 省略したときの症状
Objective 終了条件なし問題 subagent が延々と探索し続ける
Output format フォーマットばらつき 同じ依頼でも毎回別の体裁が返る
Tools 副作用漏れ 探索タスクなのにファイルを書き換える
Boundary スコープ膨張 node_modules/ に潜り込んでtokenが溶ける
Token cap 出力量無制限 「簡潔に」と書いても500行レポートが返る

特に Token cap の「簡潔に」が機能しない、という点は見落とされやすいです。「簡潔」は定性的な表現で、モデルが「自分の判断で簡潔なもの」を返します。「1500語以内」「上位10件まで」のような計測可能な数字でないと担保できません。

実装例:5要素テンプレート

Task(
  subagent_type: "general-purpose",
  description: "Short 3-5 word description",
  prompt: """
  ## Objective
  [単一の明確なゴール - 完了条件が自明なもの]

  ## Output format
  [JSON schema / Markdown section / 語数上限]

  ## Tools
  - 使用可: Read, Grep, Glob
  - 禁止: Bash, Write, Edit, WebFetch

  ## Boundary
  - 除外: vendor/, node_modules/, dist/
  - 禁止: commit, git 操作, ネットワーク
  - scope: <対象ファイル/ディレクトリ>

  ## Token cap
  - 出力: 1500 語以内
  - 最大探索ファイル数: 20
  """
)

Objective の書き方ポイント: 「調べる」「確認する」ではなく、「〇〇が A か B かを判定する」「〇〇のリストを返す」と書く。判定結果か成果物か、どちらが返ってくるべきかを明示することが重要です。

まとめ:どういう場面で使うべきか

subagent を呼ぶ dispatch が増えてきたタイミング(目安:同一リポジトリ内で5個以上)で、この5要素を「全 dispatch の最低ライン」として導入するのが費用対効果が高いです。

dispatch が少ないうちは都度確認で回せますが、Skill が増えると「このdispatchはToken capあったっけ」というレビューコストが積み上がります。早めに構造化しておくほうが結果的にコストが低くなります。


さらに深掘りしたい方へ

この記事では subagent 呼び出しプロンプトの5要素と、その選定理由を解説しました。

:page_facing_up: エージェントへの「丸投げ指示」をやめる――Claude Codeのsubagent運用ルール ではさらに:

  • タスク性質(探索 heavy / 実装 / plan / review)ごとの subagent routing 表と判断軸4つ
  • 全 SKILL.md を走査して5要素を CI で強制する lint スクリプトの実装詳細
  • 「dispatch ばらつき → Skill I/O 設計の再整理」という構造的な副作用の経緯

playpark について

playpark LLC - 業務自動化・AI活用・Web開発

:link: お問い合わせ | ブログ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?