AIエージェントを使う開発では、人がプロンプトを一回ずつ打つやり方から、打つことそのものを仕組みに任せる「ループ」へ重心が移りつつあります。エンジニアの役割が、作業者から「フローの設計者」へ移っていく、という見立てです[1]。
けれど、できあがったループの "大きさ" は何で決まるのでしょう。同じ「自動で回る仕組み」でも、できることが多いものと少ないものがある。その差を、Claude Code の3つの公式機能——hook・MCP・Skill——を手がかりに、「検証(closure)」と「reach(手の届く範囲)」という2つの軸で読み解いてみます。
hook —「ダメと言える評価役」をループに埋め込む
ループが自分で止まれるためには、生成が終わる前に必ず通る関門が要ります。Claude Code の hook は、その関門を機械的に置く仕組みです。
Hooks are user-defined shell commands, HTTP endpoints, or LLM prompts that execute automatically at specific points in Claude Code's lifecycle.
ライフサイクルの特定の点で自動実行される、ユーザー定義のコマンド群。たとえば Claude が応答を終えるとき(Stop)に全テストを走らせ、ツール呼び出しが成功した後(PostToolUse)に型チェックをかける、といった使い方ができます。肝心なのは、その関門が「ダメ」と言えることです。
For most hook events, only exit code 2 blocks the action.
終了コード2だけが動作をブロックする。ここが通らない限りループは終われない。「書いた本人は自分の作業に甘い」から、生成役とは別に、機械が必ず止める評価役を置く——これがループの心臓です[2]。
MCP — ループの reach(手の届く範囲)を広げる
評価役を備えても、ファイルしか見えないループは、できることが少ない小さなループにとどまります。タスクチケット・DB・ダッシュボードに手が届いて初めて、「代わりに働く」が成立する。その手を伸ばすのが MCP です。
MCP servers give Claude Code access to your tools, databases, and APIs.
Connect a server when you find yourself copying data into chat from another tool, like an issue tracker or a monitoring dashboard.
別のツールからチャットへデータをコピペしている自分に気づいたら、サーバーを繋ぐ合図だ——課題管理や監視ダッシュボードのように。reach とは、ループがどれだけ現実の面に触れられるか、です[3]。
Skill — 手順を畳んでループに closure を与える
reach が「広さ」なら、Skill は「畳んだ手順」です。同じ指示・チェックリスト・多段の手続きを繰り返し貼っているなら、それは Skill にできる。
Create a skill when you keep pasting the same instructions, checklist, or multi-step procedure into chat
a skill's body loads only when it's used, so long reference material costs almost nothing until you need it.
使うときだけ本文が読み込まれるので、長い手順書を常駐させてもコストはほぼかからない。レシピを畳んで再現可能にする——これはループを「閉じる(closure)」側の道具です[4]。
reach には2つの顔がある — 行動口と検証口
ここで一歩踏み込みます。reach を広げると、何が増えるのか。MCP の解説の一文が、両方を同時に言い当てています。
Once connected, Claude can read and act on that system directly instead of working from what you paste.
繋がると、貼り付けに頼らず、そのシステムを直接 read(読む)し、act(操作する)。ここに reach の2つの顔がある——read = 検証口、act = 行動口です。
行動口(発注する・DBに書く・チケットを閉じる)だけを広げると、影響半径が増えます。検証口(DBを読んで反映を確かめる・画面を開いて描画を確かめる)を広げると、ループが「閉じる」。ファイルしか見えないループが小さいのは、行動範囲が狭いから以上に、検証がファイル(テストやlint)に閉じているからなのです。
結論 — 閉じてから広げる
reach と closure は別の軸です。MCP は reach を、hook と Skill は closure を担う。両方が要りますが、順序があります。
外部接続を1つ足すたびに、こう問う——「このループは、自分の効果をどこかの面で検証できるか?」。YES なら、ループは大きくなり、かつ閉じたまま。NO なら、能力ではなく影響半径だけを足したことになる。検証の伴わない reach は、代わりに働く部下ではなく、無監督のアクチュエータを増やすだけです。
器(ループ)はエンジニアリングで作れても、そこに込める良し悪しの基準は、結局やってきた人間の中にしかない[1]。だからこそ、まず閉じる。広げるのは、それからです。
References
[1] Syoitu「入門から実践 -『🔁 ループエンジニアリング』」 https://qiita.com/Syoitu/items/97ed37e7ba9c38dc75d8
[2] Hooks — Claude Docs https://code.claude.com/docs/en/hooks
[3] Connect Claude Code to tools via MCP — Claude Docs https://code.claude.com/docs/en/mcp
[4] Extend Claude with skills — Claude Docs https://code.claude.com/docs/en/skills