パターンの読み方
本カタログのすべてのパターンは、同じ9セクションの定型で書かれています。この定型はクラウドデザインパターン(Azure Cloud Design Patterns / AWSクラウドデザインパターン)のカタログ形式を範としており、「読み物」ではなく設計中に引くリファレンスとして機能するためのものです。
定型の9セクション
| # | セクション | 内容 |
|---|---|---|
| 1 | パターン名 | 日本語名と英語名。英語名は業界で最も通用する呼称を採用 |
| 2 | 別名 | 先行事例(Anthropic / Azure / 論文等)での呼称。検索と対応付けのため必ず記載 |
| 3 | 問題 | このパターンがないと何が壊れるのか。具体的な障害モード |
| 4 | コンテキスト | 適用条件と前提。いつ使うべきで、いつ使うべきでないか |
| 5 | 解決 | 構造図(Mermaid)と擬似コードによる解決策の本体 |
| 6 | トレードオフ | ✅ 得られるもの / ⚠️ 支払う代償。代償のないパターンは存在しない |
| 7 | クラウドパターンとの対応 | 継承・再定義元のクラウドデザインパターンと、何が変わったか |
| 8 | 関連パターン | 組み合わせるパターン、代替となるパターン、混同しやすいパターン |
| 9 | 出典・参考 | 一次資料へのリンク |
表記規約
構造図
構造図は Mermaid で記述します。凡例は次のとおりです。
- 角丸(
([ ])): システムへの入力・出力 - 長方形(
[" "]): LLM呼出(非決定論的な処理) - 二重枠(
[[ ]]): ツール実行・決定論的なコード - ひし形(
{ }): 分岐・検証ゲート
擬似コード
擬似コードはPython風で統一し、特定のフレームワーク(LangGraph、Claude Agent SDK 等)のAPIには依存しません。llm(...) はLLM呼出、tool(...) はツール実行を表す抽象関数です。実装例が陳腐化しないための意図的な選択です。
用語:ワークフローとエージェント
本カタログは Anthropic の区分に従い、次の2つを使い分けます。
- ワークフロー — LLMとツールを事前定義されたコードパスで編成するシステム。実行経路は開発者が決める。
- エージェント — LLMが自らプロセスとツール使用を動的に決定するシステム。実行経路はモデルが決める。
この区分はパターン選定の第一の分岐です(パターン選定ガイド参照)。ワークフローで足りるならワークフローを選ぶのが原則です。
横断的要件:可観測性
トレーシング、トークン消費の計測、エージェント単位のコスト監視は、特定のパターンではなくすべてのパターンに共通する実装要件です。どのパターンを選ぶ場合でも、(1) すべてのLLM呼出とツール実行を記録する、(2) 反復・トークン・コストをエージェント単位で計測する、(3) 非決定論的な出力はルーブリックやLLM-as-a-judgeで評価する、を前提としてください。