AIエージェント学習帳

AIエージェントの仕組みを、LLMの基礎から設計パターンまで体系的に学べる学習サイト。

← 一覧へ

エージェントフレームワーク入門 ─ LangChain・AutoGen・CrewAI の役割と選び方

結論から言うと、エージェントフレームワークは「何度も書き直すことになるボイラープレートを省くツール」 です。ツール呼び出しのループ・会話履歴の管理・複数エージェントの調整など、エージェントに共通する基盤をまとめて提供してくれます。ただし抽象化に頼りすぎると「内部で何が起きているか分からなくなる」という落とし穴があります。レッスン10で学んだ最小エージェントの原理を理解した上で使うのが定石とされます。

なぜフレームワークを使うのか?

スクラッチ(素のAPI呼び出し)では、ループ・ツール定義・エラーハンドリング・メモリをすべて自分で実装します。フレームワークを使うと、これらが「部品」として提供され、少ないコードで動くエージェントを作れます。

トレードオフは透明性とコントロールです。フレームワーク内部の動作を把握せずに使うと、予期しない挙動のデバッグが困難になります。「まずスクラッチで最小エージェントを動かし、次にフレームワークで置き換える」という順番が理解を深める近道とされます。

代表的なフレームワークには何がある?

LangChain

Python(およびJavaScript)向けの汎用エージェントフレームワーク。OpenAI・Anthropic・Googleなど多くのモデルプロバイダーを統一インターフェースで扱えます。状態機械ベースの LangGraph が組み込まれ、ヒューマン・イン・ザ・ループにも対応しています。

  • 強み: 対応モデル・ツールが多い。エコシステムが豊富。
  • 弱み: 抽象化が深く学習コストが高め。バージョン間で破壊的変更が多いとされる。

AutoGen(AG2)

Microsoft が開発したマルチエージェント会話フレームワーク(2023年8月 arXiv 発表)。「エージェント同士が自然言語で会話しながらタスクを分担する」設計が特徴です。コード生成→実行→レビューを担う複数エージェントを組み合わせる用途に向いています。

  • 強み: マルチエージェントの調整が得意。人間がエージェントとして会話に割り込める。
  • 弱み: 会話駆動のため、決定論的な制御フローを作りにくい場合がある。

CrewAI

役割(Role)ベースのマルチエージェントフレームワーク。「研究者・ライター・編集者」のように各エージェントに役割とゴールを与え、チームとして協調させます。直感的なAPIで短く書けるのが特徴です。

  • 強み: 役割定義が直感的。コード量が少ない。
  • 弱み: 複雑な制御フローには不向きとされる。

どのフレームワークを選べばよいか?

目的 推奨
まず動くものを作りたい LangChain(エコシステムが大きい)
複数エージェントが会話で協調 AutoGen
役割分担が明確なチーム型 CrewAI
原理理解・小規模・フル制御 スクラッチ

まとめ

エージェントフレームワークはボイラープレートを省き初期開発を速める利点がある一方、抽象化が深くなるほどデバッグが難しくなります。まずスクラッチで原理を理解し、次にフレームワークで同じことを置き換えるという順番が、実力を高める近道とされています。LangChainはエコシステムの広さ、AutoGenはマルチエージェント会話の柔軟性、CrewAIは役割定義のシンプルさがそれぞれの強みです。どれを選ぶかより「なぜそう動くか」を理解することが長期的に重要です。

出典