概念を知らずに、
同じ構造を自力で構築していた

2026/3/29

AIエージェント設計PMClaudeCode

「それ、名前がついてますよ」

Claude CodeにSkills/Subagentsという機能があることは、知っていた。

ただ、「エージェントに付随する何かだろう」という程度の理解だった。最近よく名前を見かけるようになってきたな、いずれ着手しよう——そう思ったまま、深く調べていなかった。

プランナーエージェントを設計し終えた後、ようやくその解説記事をちゃんと読んだ。Skillsとは必要なときだけ呼び出される知識の外部化。Subagentsとは独立した責務を持つ実行単位。そしてその組み合わせが、エージェントの精度と制御性を両立させる——という内容だった。

読みながら、少し止まった。

これ、自分がさっき作ったやつだ。「それ、名前がついてますよ」って記事に言われた気がした。


私が半日かけて作ったもの

プランナーエージェントの設計に、半日かかった。

作り始めてから最初の1時間は「そもそも作る必要があるか」の検討に使った。ManusやOpenClawのような汎用エージェントツールはすでにある。調べた結果、「それCoworkでいいんじゃない?」というものがほとんどだった。私がやろうとしているのはエージェントを「動かすこと」ではなく、自分の開発フローと判断基準を持った固有の役割を編制することだ——そう確認してから、自作することにした。

設計中に決めたルールを一部だけ書き出す。

  • 「完了かどうかの判断はしない。ログの記載をそのまま反映する」——書かなければ、エージェントが自己判断で完了扱いにする
  • 「不明な場合はNAと記入する、仮の数字は入れない」——書かなければ、適当な数字が入る
  • 「外部依存ブロッカーの解除確認は保守エージェントが担当。プランナーは保留のまま追跡しない」——責務の境界を書かなければ、越えてくる
  • 「ドライラン(計画だけ出せ)→確認→このまま実行せよ、という流れを定型とする」——実行前に確認する構造を、フォーマット自体に埋め込む

できあがったファイルは合計551行・約2万文字だった。エージェントへの命令は116行で、残りは設計判断と学びの記録だ。「動かす」指示より、「思い通りに動かすための設計判断」の方がはるかに多い。


既存概念と並べると、ほぼ同じだった

翌日に読んだSkills/Subagentsの記事と、自分が作ったものを並べてみた。

私が設計したもの対応する概念
プランナー・実装者・監査役の三権分立Multi-Agent Orchestration / Subagents
責務の境界を明示し、越境を禁止するSeparation of Concerns
ドライラン→承認→実行の分岐構造Dry-run pattern
ルールより構造でコンフリクトを消すData-Driven Design

名前がついていた。


「知らなかったこと」は失敗だったのか

ここで正直に書いておく必要がある。

Skills/Subagentsは、ファイルを1枚置けば動く。.claude/agents/ にMarkdownを置いて、名前と役割を書けばそれがsubagentになる。入口だけ見れば、難しくない。

ただ、「動く」と「思い通りに動く」は全然別の話だ——これは前回の記事で書いた通りだ。

私が半日かけてやったのは、ファイルを置くことではない。「完了の定義とは何か」「ドライランと実行をどう分けるか」「責務の境界はどこに引くか」を、自分の文脈で一つひとつ考え、言語化することだった。その積み上げが551行・2万文字になった。

だから問いを立て直す。「概念を先に知っていれば早かったか」。

正直に言う。早かったと思う。

「愚者は経験に学び、賢者は歴史に学ぶ」という言葉がある。自分が好きな言葉だ。他人の失敗や先人の知恵から学べる人間の方が、自分で痛い目を見ないと動けない人間より賢い——という意味だ。

その基準で言えば、今回の自分は愚者の側だった。Skills/Subagentsという概念がすでにあった。設計の先人がいた。それを「いずれ着手しよう」と後回しにして、自力で同じ構造を発明した。半日を使って。

ただ一つだけ言い訳をするなら——「思い通りに動くすための設計判断は、概念を知っていても自分で積み上げるしかない部分だ。入口を早く知れた分、その先に早く進めた、というだけの話だったかもしれない。

それでも、先に知っておくべきだった。


PMの経験が、言語より先に構造を作った

コードが書けないと、構造で考えるしかない。

私のPM10年の仕事は、要件定義・ステークホルダー間の責務の明示・意思決定の言語化・「完了」の定義の合意——まさにこれだった。エージェント設計でやっていることと、構造が同じだ。

「完了かどうかの判断はしない。ログの記載をそのまま反映する」——これは、プロジェクト管理で「進捗は担当者の主観でなく、定義された状態で確認する」と言い続けてきたことと同じだ。

「責務の境界を書かなければ、越えてくる」——組織でも、AIでも、境界を明文化しなければ人(エージェント)は善意で越境する。

非エンジニアがAIエージェントを設計できるとしたら、それはコードを書けるからではない。構造を言語化できるからだ。PMの仕事はそのための訓練だった、と今になって思う。


思考の精度が問われる、という話の続き

前回の記事で書いた。「AIが賢くなるほど、人間側に求められるのは技術ではなく、思考の精度だ」と。

今回のエピソードは、その続きだ。

概念を知らずに同じ構造を発明できたのは、ラッキーではない。自分の問題として構造を考え続けた結果だ。逆に言えば、概念の名前を先に覚えても、自分の問題として考えていなければ、形だけの実装になる。

AIエージェントの文脈でも、PMの文脈でも、構造を考える力は同じところから来る。

「何を作りたいか」「何をやらせないか」「判断が割れたときどうするか」——これを自分の言葉で答えられるかどうかだ。

概念の名前は、後からついてくる。


プランナーエージェントを設計してから1週間が経った。実際に使い続けてみてどうだったか——その話は近いうちに書く予定だ。