AIエージェントの作り方のパターン
全体の前提
各社の公開資料は意外なほど同じ方向を向いている
推奨される設計の順番
派手な事例集より、設計の前提を整える一次ドキュメントが頼りになる
各社資料の役割分担
最もシンプルな解から始め、必要なときだけ複雑さを足すのが原則
モデルが自ら検索クエリ生成・ツール選択・保持情報の判断を行う 再利用可能で組み合わせ可能なパターンとして整理されている
タスクを順次のステップに分解し、各LLM呼び出しが前の出力を処理 タスクを綺麗に固定サブタスクへ分解でき、レイテンシと引き換えに精度を上げたいときに有効 入力を分類し、専門化された後続タスクへ振り分ける
簡単な質問は安価なモデル、難しい質問は高性能モデルへ振り分けるのにも使える
並列化で高速化、または複数視点で確度を上げたいときに有効
中央LLMが動的にタスクを分解し、worker LLMへ委譲して結果を統合 一方のLLMが生成し、他方が評価とフィードバックをループで返す 明確な評価基準があり、反復的改善が効くときに有効
停止条件(最大反復数など)で制御を保つ
まずLLM APIを直接使うことを推奨、多くのパターンは数行で実装できる 良い文脈設計とは、望む結果の確率を最大化する最小の高シグナルなトークン集合を見つけること 文脈の構成要素
文脈の取得戦略
長時間タスクの技法
要件定義の4軸
cost: 1リクエストで複数モデル呼び出しを許容できるか single-agent system
multi-agent system
大目標を小タスクに分解し専門エージェントへ割り当てる
文脈設計(隔離・永続化・圧縮)が必須、評価/セキュリティ/コストの考慮が増える deterministic(決定的)なワークフロー向け
反復を伴うワークフロー向け
特殊要件のワークフロー向け
複雑さのスペクトラム
信頼して使える最小の複雑さを選ぶ
sequential orchestration
LLMエージェントを事前定義の線形順で連結。次のエージェントは決定的に決まる concurrent orchestration
複数エージェントが同一入力を同時処理。集約はvoting・重み付けマージ・要約など group chat orchestration
handoff orchestration
各エージェントが自分で処理するか適切なエージェントへ委譲するか判断。1度に1エージェントが完全に制御を持つ
magentic orchestration
実装上の考慮事項
単一エージェントで解けるなら分割しない
エージェントの構築(composable primitives)(OpenAI) 4つのプリミティブ
モデル選択
まず汎用フラッグシップから試し、用途に応じて軽量/高性能へ
構築の選択肢
Agents SDKのプリミティブ
組み込みツール
マルチエージェント連携
最終手段。タスクが重ならず、指示が複雑またはツールが多すぎる場合に検討 ベストプラクティス
安全性(OpenAI「Safety in building agents」) エージェントが任意テキストを処理してツール呼び出しへ影響させるとリスクが上がる エージェント評価(OpenAI「Agent evals」「Trace grading」) 3つの分類
agentic workflow patterns の中身
multi-agentが欲しくなる理由
中心にあるのは文脈設計(各エージェントが何を見るか) 主要パターン
router: 分類ステップが入力を専門エージェントへ振り分け、結果を統合 性能特性
パターン名の対応関係(横断メモ)