エージェント設計の基本構成
Claude を使ったエージェントは 「LLM の判断 → ツール呼び出し → 観測 → 次の判断」のループで動きます。設計上のキモは:
- ツールスキーマの明確化
- サブエージェントによる役割分担
- 制御フローパターンの選択
- 観測性とロールバック設計
Tool Use の設計
スキーマを厳密に
{
"name": "search_database",
"description": "顧客データベースを検索する",
"input_schema": {
"type": "object",
"properties": {
"query": { "type": "string", "description": "検索クエリ" },
"limit": { "type": "integer", "default": 10, "maximum": 100 }
},
"required": ["query"]
}
}
権限の最小化
- 読み取り専用キーで十分なツールには書き込み権限を渡さない
- 機密データを返すツールはエージェント階層で隔離
- 削除・送金などの不可逆操作は人間承認 Confirm
サンドボックス
- ファイル:bind mount で限定範囲
- ネットワーク:許可ドメインのみ
- コマンド実行:rm -rf や sudo はブラックリスト
Sub-agent パターン
Coordinator + Specialists
main agent (Opus)
├─ research_subagent (Sonnet):情報収集
├─ analysis_subagent (Sonnet):分析
└─ writing_subagent (Haiku):文章生成




