Skip to main content

Agent Frameworks

Agent Framework は、prompt、tool、memory、control flow、observation、retry、safety を 抽象化して再利用しやすくする library / SDK です。Agent system を production に乗せる際には、何かしらの framework を使うのが一般的です。

主要 framework

Framework焦点
LangGraph明示的なグラフで agent flow を定義
AutoGenConversable agents と multi-agent chat
CrewAIRole-based crew、task delegation
OpenAI Agents SDKLightweight primitives: agents、handoffs、guardrails
LlamaIndex AgentRAG / index と統合した agent
HaystackProduction NLP pipeline

LangGraph

LangGraph は、agent の流れを node と edge のグラフ で記述します。

  • 明示的な state machine として書ける
  • Checkpoint / persistence
  • Human-in-the-loop
  • Multi-agent をグラフで表現

AutoGen

AutoGen は 会話する agent (conversable agent) を基本単位とし、agent 同士の対話で task を解きます。Code execution、tool、group chat、teachability を含む豊富な abstraction を持ちます。

CrewAI

CrewAI は role-based。Crew (agent の集合) と task の delegation を中心に、軽量に multi-agent を構築できます。

OpenAI Agents SDK

OpenAI Agents SDK は、

  • Agents: instructions + tools + model
  • Handoffs: agent 間の制御移譲
  • Guardrails: 入出力 validation
  • Tracing: 自動 trace

という小さな primitive で agent を構築します。Multi-provider 対応で、シンプルさを重視。

選び方の目安

状況推奨
明示的 control flow、production stabilityLangGraph
Multi-agent dialogue / collaborationAutoGen
Role 分担を直感的にCrewAI
シンプルで provider 横断OpenAI Agents SDK
RAG-heavyLlamaIndex
既存 NLP pipeline 統合Haystack

Framework に依存しすぎない

Anthropic の "Building Effective Agents" では、

  • 多くの場合 直接 LLM API を呼ぶだけで十分
  • Framework は debugging を難しくすることがある
  • まずシンプルに、必要に応じて framework を導入

と推奨されています。

数式で見る workflow graph

Agent framework は、LLM call、tool call、retrieval、human approval などの node を持つ workflow graph として整理できます。Node 集合を V\mathcal{V}、edge 集合を E\mathcal{E} とすると、状態 svs_v は前段 node の出力に依存します。

sv=fv({su:(u,v)E})s_v=f_v\left(\{s_u:(u,v)\in\mathcal{E}\}\right)

この式の気持ちは、「agent application は一つの巨大な prompt ではなく、複数の処理 node が依存関係を持ってつながった計算グラフである」ということです。

Router を持つ framework では、次に実行する node を policy で選びます。

vt+1π(vht)v_{t+1}\sim\pi(v\mid h_t)

この設計では、正しい node を選ぶ routing 精度と、各 node の出力品質の両方が全体性能を決めます。

関連ページ

主なソース