- 12 Factor Agentsは、信頼できるLLMアプリケーションを構築するための原則を提示
- AIエージェントフレームワークを使った経験をもとに、多くの製品は真のエージェントではないことを発見
- 12 Factor Agentsは、LLMベースのソフトウェアを顧客に提供できるだけの十分に高い品質へと仕上げる方法を探求
- 12の要因は、LLMソフトウェアの信頼性、拡張性、保守性を高める中核技術を含む
- モジュール型の考え方を既存製品に統合することが、高品質なAIソフトウェアを迅速に提供する方法
12 Factor Agents - 信頼できるLLMアプリケーション構築の原則
- AIエージェントフレームワークを使った経験をもとに、多くの製品は真のエージェントではないことを発見
- 12 Factor Agentsは、LLMベースのソフトウェアを顧客に提供できるだけの十分に高い品質へと仕上げる方法を探求
- 12の要因は、LLMソフトウェアの信頼性、拡張性、保守性を高める中核技術を含む
- モジュール型の考え方を既存製品に統合することが、高品質なAIソフトウェアを迅速に提供する方法
要約: 12の要因
- 自然言語をツール呼び出しに変換: 自然言語を使ってツールを呼び出す方法を理解
- プロンプトを所有: プロンプトを所有し管理することが重要
- コンテキストウィンドウを所有: コンテキストウィンドウを所有し管理することが重要
- ツールは構造化出力: ツールは構造化された出力として扱うべき
- 実行状態とビジネス状態を統合: 実行状態とビジネス状態を統合して管理
エージェントの約束
- DAG(Directed Acyclic Graph): ソフトウェアは有向グラフとして表現でき、DAGオーケストレーターが人気を集めた
- エージェントの約束: エージェントを使えばDAGを捨て、LLMがリアルタイムで経路を決定できる
- エージェントはループで動作: エージェントは、LLMが次のステップを決め、ツール呼び出しを実行し、その結果をコンテキストウィンドウに追加するループとして動作
なぜ12-factor agentsなのか?
- 既存フレームワークの限界: 多くのSaaSビルダーがエージェント構築を試みているが、既存フレームワークの限界により80%以上の品質を達成するのは難しい
- モジュール型の考え方の重要性: モジュール型の考え方を既存製品に統合することが、高品質なAIソフトウェアを迅速に提供する方法
優れたLLMアプリケーションのためのデザインパターン
- エージェントの中核要素: エージェントを優れたものにする中核要素があり、フレームワークを使えばその大半を得られる
- モジュール型の考え方の統合: モジュール型の考え方を既存製品に統合することが、高品質なAIソフトウェアを迅速に提供する方法
関連リソース
- Tool Useポッドキャスト: 2025年3月のエピソードで関連内容を扱う
- The Outer Loop: 関連内容を扱うブログ
- ウェビナー: @hellovai とともにLLM性能最大化に関するウェビナーを実施
- オープンソースエージェント: この方法論を使ってOSSエージェントを構築
1件のコメント
Hacker Newsのコメント
とても有益なWikiだ。感謝しているし、ぜひ活用したい。私は昨日ちょうどリリースした"AI Agents framework"を作った。このフレームワークはアクターモデル、状態機械、そしてアスペクト指向プログラミングに基づいている。特に5番目と7番目のポイントが気に入った
素晴らしい。何年もこの作業をしてきて、自分なりの教訓リストを作ってきた。最も重要なのは、最下層の計画ループを所有することだ
このタイミングでこの資料が出てきて本当に助かる。感謝している
DSPYのようなライブラリがfactor-2にどう当てはまるのか気になる
古いブログ記事だが、フレームワークパターンについての内容には自分のキャリアを通して共感してきた。LLMはフレームワークよりもライブラリとして使うほうがよい
素晴らしい。80%は苦労して学んだことで、残りの20%は価値ある読み物になりそうだ
もう一つ。スケール時のコストを計画する必要がある
原則に従いやすくするには、一貫したナラティブが必要だ。実世界の例を使うのがよい
HNのトップページに載ってとてもうれしい
BAMLがここにあるのを見るのは本当にすばらしい。LLMを関数として扱うことに100%同意する