AIエージェントフレームワーク比較:LangChainの代替9選【2026年】
LangChainの代替9選を、状態の復旧、文書RAG、型付き出力などの課題別に比較します。LangGraph、LlamaIndex、Pydantic AIをはじめ、対応言語、モデル選択、ライセンス、運用で担う範囲を整理。AIエージェントフレームワークの選び方と、既存アプリを段階的に移行する手順が分かります。
公開日

AIエージェントフレームワークは、解決したい課題から選びます。失敗した処理を途中から再開するならLangGraph、文書の扱いがボトルネックならLlamaIndex、型を活かしたPythonサービスを作るならPydantic AIが有力です。ここで紹介する9つのLangChain代替候補は、エージェントやRAGアプリのそれぞれ異なる部分を担います。RAGは、関連データを検索してからモデルに回答させる仕組みです。移行の価値は、いま起きている不具合の原因を切り分けやすくなるかどうかで決まります。
ドキュメントとリポジトリのライセンスは2026年10月26日に確認しています。 本記事はドキュメントに基づく比較であり、実機で性能を測ったベンチマークではありません。各フレームワークが提供する機能と、ストレージ、モデルへのアクセス、運用などアプリ側で担う仕事を分けて評価しています。
エージェントとは、モデルがツールを選び、その実行結果をもとに作業を続けられるソフトウェアです。エージェントとRAGは組み合わせて使われますが、文書に基づく回答の誤りと、エージェントのワークフローの不具合では、通常、直すべき箇所が異なります。
AIエージェントフレームワーク比較:LangChainの代替候補を一覧で確認
まず、システムのどの部分を把握しやすくしたいのかを決めましょう。 検索処理を変えずに制御フローを簡素化することも、エージェントの実行ループをそのままにして文書処理を改善することもできます。
表の言語欄は、実装が提供されている言語を示しています。言語間で機能が同じという意味ではありません。「モデルを選べる」とは複数のモデルプロバイダーと連携できることであり、すべてのモデルでツール、構造化出力、ストリーミングが同じように動く保証ではありません。ライセンスと初期費用の欄も、ホスト型サービスのセット料金ではなく、ライブラリ自体について記載しています。
モデル呼び出し、計算資源、ストレージ、運用ツールの費用は別にかかります。まずアプリに合うライブラリを選び、そのうえでホスト型サービスに費用を払う価値があるか判断します。Claude Agent SDKでは、さらに区別が必要です。Anthropicのドキュメントでは、独自のライセンスを持つコンポーネントを除き、SDK全体の利用に商用利用規約が適用されます。
用途別に検討したいフレームワーク
実行の流れが見えにくい、検索が難しい、Pythonの機能に対して仕組みが大げさすぎる、といったLangChainから移る際によくある理由から順に紹介します。後半では、より個別の要件に応える候補を取り上げます。用途別の候補一覧であり、先頭のフレームワークがあらゆるアプリで最良という順位ではありません。
1. LangGraph:状態を持つエージェントの動作を追いたい場合に
LangGraphは、長時間動くエージェントが次の処理へどう進むかを確認し、制御したい場合の有力候補です。低レベルのオーケストレーションランタイムとして、状態、各ノードの処理、ノード間の経路を自分で定義します。LangChainと同じ会社の製品ですが、公式ドキュメントにはLangChainなしでも使えると明記されています。高レベルのチェーン抽象化から離れつつ、明示的なワークフローの仕組みを使いたいなら、LangGraphを選びます。 LangGraphの概要
たとえば、アカウントに関する根拠を集め、解決策を提案し、担当者の確認を待ってから承認済みの操作を行うサポート業務を考えてみます。知りたいのは、どこで停止したのか、確認担当者に何が提示されたのか、ワーカーの再起動後にどうなるのかです。モデルとのやり取りの記録だけでこれらを復元するのは骨が折れます。状態を明示すれば、提案した操作、確認状況、アプリでの実行結果を別々に記録できます。
LangGraphの永続化には、実用上重要な区別があります。checkpointerは特定の処理スレッドのグラフ状態を保存し、storeはスレッドをまたいで利用する情報を保存します。顧客の好みを覚えておくことと、その顧客の現在の依頼が承認待ちだと記録することは別です。どちらも単なる「メモリ機能」と扱うと、復旧時の動きを考えにくくなります。永続化のドキュメント
課題は、明示的に設計すべき仕事が残ることです。状態の設計、永続ストレージの選択、エラー時の経路、外部操作を繰り返しても問題が起きない仕組みは自分で用意します。ドキュメントも、インメモリのcheckpointerは再起動すると内容を失うと注意しています。同じプロセス内で再開できるデモだけでは、デプロイ後の復旧を確認したことにはなりません。
モデルを呼び出し、型の決まった回答を返すだけの小さな処理には、仕組みが大きすぎる場合があります。また、組織としてLangChainのエコシステム全体から離れたいのであれば、LangGraphではその要件を満たせません。LangChainとLangGraphの違いでは、フレームワークとランタイムの役割の境界を詳しく説明しています。
向いている用途: 一時停止、再開、分岐、人による明示的な確認が必要なワークフロー。
特徴: 確定的な処理とモデルが判断する処理の両方を、確認可能なグラフ状態と設定可能な永続化で管理できます。
料金: コアライブラリのライセンス料は不要です。モデル呼び出し、ストレージ、ホスティングは別途かかります。
無料トライアル: オープンソースのコアには該当しません。
- ワークフローの各処理と遷移を明示できます。
- スレッドのチェックポイントと、アプリ全体で共有するメモリを分けられます。
- LangChainの高レベルなエージェントインターフェースを採用せずに、自分のコードを連携させられます。
- 状態、ストレージ、復旧を意図して設計する必要があります。
- 単純な関数呼び出しで済む仕事にも、追加の仕組みが入ります。
- LangChainのエコシステムに属することは変わりません。
まず再起動しても再開できるワークフローを作り、そこから広げましょう。 状態を持つエージェント向けの候補を試すなら、次の手順が役立ちます。
運用担当者が確認する状態を定義する
依頼、検索で得た根拠、提案した操作、承認状況、操作の完了記録を、それぞれ別のフィールドに保存します。業務上の識別子は、フレームワーク固有のメッセージオブジェクトから独立させます。
その状態を扱う最小限のグラフを作る
結果が決まるチェックにはアプリの関数を使い、判断が必要な箇所だけをモデルに任せます。人の確認へ進む経路も明示します。
永続化するチェックポイントを設定する
永続化対応のcheckpointerを指定してグラフをコンパイルし、安定したthread_idで呼び出します。利用するデータベースについて、ドキュメントに沿って永続化を設定してください。再起動を試すには、インメモリの保存先では不十分です。
操作の前後でワークフローを中断する
確認待ちの間にワーカーを再起動し、次に外部操作が成功した直後にも再起動します。根拠が保持された状態で依頼を再開できることと、操作の完了記録によって重複実行を防げることを確認します。
2. LlamaIndex:文書の扱いが難しい場合に
LlamaIndexは、文書内の情報を見つけられない、または正しく表現できないためにアプリがうまく動かない場合の出発点に向いています。データを扱うコネクター、インデックス、リトリーバー、クエリエンジン、エージェントがそろっています。文書アシスタントなら、エージェントの実行ループだけを置き換えるよりも、必要な構造を整えやすくなります。モデルに渡す根拠の質を高める作業が中心なら、LlamaIndexを選びます。 LlamaIndexフレームワークのドキュメント
顧客との契約に関する質問に答える社内アシスタントを考えてみます。誤答の原因は、スキャンした表、見出しと切り離された段落、古い文書、あるいは別の顧客の似た契約を返す検索処理かもしれません。計画を立てる機能を高度にしても、こうした原因の特定が簡単になるわけではありません。
まず、回答の根拠からさかのぼって確認します。解析後のテキストを確認できるでしょうか。検索された各文章に出典と必要なメタデータが残っているでしょうか。答えの分かっている質問で、生成を始める前に期待した条項を取得できるでしょうか。こうした確認によって、開発者が手を入れるべき場所が明確になります。また、文書の準備の問題と、受け取った情報をモデルが説明する能力の問題を分けられます。
LlamaIndexの用途は質問応答に限りません。現在のドキュメントには、エージェントのほか、分岐、再試行、人による確認を備えたイベント駆動のワークフローも記載されています。RAGパイプラインをアプリ全体にする必要はなく、エージェントが呼び出すツールとして組み込めます。TypeScript実装もありますが、必要なコネクターとワークフロー機能が、実際に採用する言語で使えるか確認してください。
課題になるのは、データ品質と検索の設計です。フレームワークが欠落した条項を復元したり、組織のアクセス方針を決めたりすることはできません。ドキュメントでも、きれいなテキストを読むリーダーと、扱いの難しいスキャン、帳票、表を区別しています。LlamaParseやマネージド検索サービスは別途検討するものです。オープンソースのフレームワークを採用しても、同じブランドのすべてのサービスを購入する必要はありません。
移行は、アプリの他の部分を維持したまま、文書の準備か検索を担う部分の置き換えから始めます。オーケストレーションまで変えるのは、そこにも不具合がある場合です。LlamaIndexとLangChainの比較では、この切り分けをさらに掘り下げています。
向いている用途: 文書アシスタント、ナレッジ検索、検索した根拠に基づく必要がある回答。
特徴: データ読み込み、インデックス作成、検索、エージェントの各コンポーネントを組み合わせて使えます。
料金: フレームワークのライセンス料は不要です。ホスト型の文書解析、モデル呼び出し、インフラは別途検討します。
無料トライアル: オープンソースのフレームワークには該当しません。
- 文書の準備と検索を、アプリ内で独立した処理として設計できます。
- 検索層を利用するエージェントやワークフローに対応しています。
- PythonとTypeScriptの実装があり、使うモデルも選べます。
- 解析品質、ソースへのアクセス権限、検索の評価は自分で管理する必要があります。
- Python用の連携機能があっても、TypeScriptで同じ機能が使えるとは限りません。
- 予算を考える際に、フレームワークとマネージド文書サービスを混同しやすい点に注意が必要です。
3. Pydantic AI:型を活かしたPythonサービスを作る場合に
Pydantic AIは、エージェントをPythonアプリの通常の機能として扱いたい開発者に向いています。主な強みは、型のあるツール、検証済みの出力、そしてアプリのサービスをエージェントに明示的に渡す依存性注入です。モデルの振る舞いとバックエンドのコードの境界を、読み解きやすく保ちたい場合に選びます。 Pydantic AIの概要
たとえば、サポートの問い合わせを振り分けるサービスなら、緊急度、振り分け先のキュー、短い説明を返す設計が考えられます。モデルを呼び出す前に、これらのフィールドの形式を定義しておきます。結果を使うために、アプリの他の部分が文章からキュー名を探したり、内部のメッセージ履歴を理解したりする必要はないはずです。
依存性注入も、役割を分けるうえで役立ちます。認証済みアカウントのコンテキスト、データベースへのアクセス、情報を照会するサービスなどを、明示的な依存関係として渡します。評価時には、それらを条件を制御できるフィクスチャに置き換えます。エージェントには同じツールインターフェースを使わせたまま、存在するアカウントデータや後続の照会が返す値をテスト側で決められます。
Pydantic AIはツールの引数と出力を検証し、検証に失敗した内容をモデルに返して再試行させることができます。OpenTelemetryによる計装とPydantic Evalsについてもドキュメントがあり、型の整合性を確認するだけで品質管理を終える必要はありません。現在のフレームワークにはグラフや永続実行の選択肢もあるため、状態を持たない単一エージェント専用のライブラリと説明するのは不正確です。
残る課題は意味の正しさです。形式が整っているだけでなく、回答が事実に即していて適切かどうかは別に確かめます。有効なキュー名でも、振り分け先としては誤りかもしれません。金額の型が正しくても、別のアカウントの金額かもしれません。権限と業務ルールはアプリのコードで保証し、モデルの判断は評価ケースで確かめます。
小さなフレームワークの中に、大きな抽象化の仕組みを作り直してしまうこともあります。ツールの責務を絞り、依存関係はアプリが果たす仕事に結び付けておきます。使える機能をすべて追加していくと、クラス名だけが変わり、同じデバッグの問題が再発します。この選択を詳しく検討するには、Pydantic AIとLangChainの比較を参照してください。
向いている用途: エージェントの入力、ツール、出力オブジェクトの形式を予測可能にしたいPython API。
特徴: 型付きの依存関係とツールの入出力仕様に、出力の検証を組み合わせられます。
料金: コアライブラリのライセンス料は不要です。推論と任意の運用サービスは別途かかります。
無料トライアル: オープンソースのコアには該当しません。
- モデルの出力を、型のあるアプリケーションデータとして扱えます。
- アプリのサービスやテストダブルを、明示的な依存関係として渡せます。
- 複数のモデルプロバイダーに対応し、評価やトレーシングとの連携も文書化されています。
- 出力の検証だけでは、回答が事実として正しいと証明できません。
- 中断後も継続できる業務ワークフローには、実行とストレージの設計が必要です。
- Python向けの選択肢であり、PythonとTypeScriptで共通のフレームワークAPIではありません。
4. OpenAI Agents SDK:アプリ側でエージェントの実行ループを管理する場合に
OpenAI Agents SDKは、バックエンドを自分で管理しながら、再利用できるエージェント実行機能、ツール、専門エージェントへのハンドオフを導入したいアプリに向いています。モデルとツールの呼び出しを繰り返すループはSDKが担当し、デプロイ、ストレージ、ツールの実装、承認の判断はアプリ側で担います。アプリ全体のプラットフォームではなく、エージェントの実行ループが必要な場合に選びます。 OpenAI Agents SDKの概要
製品サポート用のアシスタントが分かりやすい例です。既存のサービスでユーザー認証やアカウント取得を行い、許可されたアカウント操作を公開しているとします。エージェントの仕事は、適切なツールを選び、結果を解釈し、必要に応じて専門エージェントへ引き継ぐことです。業務上の操作を通常のアプリコードに残しておけば、これまでと同じ境界でレビューできます。
ハンドオフによって変わるのは、会話を担当するエージェントです。引き継ぎ先が認可システムになるわけではありません。請求担当のエージェントであっても、認証済みユーザーに許される操作をサーバー側の実装で確認するツールを呼ぶ必要があります。明確なツール定義とトレースがあれば処理の順序を追えますが、操作を許可するかどうかを決めるのはアプリのルールです。
製品名だけで、使えるモデルが固定されていると判断しないでください。OpenAIの現在のモデルとプロバイダーのガイドでは、複数プロバイダーを使うアプリに対し、言語別のプロバイダーやアダプターのインターフェースを案内しています。一方、一部の機能はOpenAI Responses経由の利用に依存するとも説明しています。正確には、互換性を確認する作業は必要ですがモデルを選べるSDKであり、どのモデルでも機能が同一という意味ではありません。
複数プロバイダーを使う製品で採用する前に、必要な組み合わせを実際に確かめます。ツール呼び出し、構造化された結果、ストリーミング、例外、運用担当者が使うトレーシングが対象です。ツールの動作に依存するアプリでは、テキストの応答が返っただけでは互換性を確認したことになりません。
課題は、ランタイムを自分で運用する責任です。業務状態の永続化、サービスのデプロイ、外部操作後の復旧は、SDKを使ってもアプリ側に残ります。また、OpenAIのホスト型Agents APIとは別のものです。ベンダー名から運用も任せられると考えるのではなく、これらをアプリ側で管理することに価値がある場合にSDKを選びます。
向いている用途: 既存のバックエンドサービスがあり、エージェントのオーケストレーションを追加したいPythonまたはTypeScriptアプリ。
特徴: 自分で管理するインフラ内で、再利用可能な実行機能とハンドオフの仕組みを使えます。
料金: SDKのライセンス料は不要です。モデル利用、ストレージ、デプロイは別途かかります。
無料トライアル: オープンソースのSDKには該当しません。
- 既存のアプリのツールやサービスに組み込めます。
- PythonとTypeScriptの実装があります。
- アダプターやプロバイダー経由でOpenAI以外のモデルを使う方法が文書化されています。
- プロバイダーに対応していても、機能の対応範囲が同じとは限りません。
- デプロイ、アプリの状態管理、認可は自分で担います。
- SDKとホスト型Agents APIでは、ランタイムの管理をどちらが担うかが異なります。
5. Claude Agent SDK:ファイルやコマンドを扱うワークフローに
Claude Agent SDKは、Claude Codeの作業能力をプログラムに組み込みたい場合に向いています。エージェントの実行ループ、コンテキスト管理、ファイルの読み込み、内容の編集、コマンド実行などのツールを備え、PythonまたはTypeScriptから制御できます。モデルへのリクエストを包むライブラリだけでなく、実際に作業を実行できる環境が欲しい場合に選びます。 Claude Agent SDKの概要
違いが分かりやすいのは、リポジトリを保守するアシスタントです。ファイルを調べ、設定を変え、チェックを実行し、エラーを読んで修正し直す、といった作業が必要になります。いくつかのアカウントAPIを呼ぶだけのアシスタントとは出発点が違います。汎用的なツール実行ランタイムはSDKに含まれるため、開発側の主な仕事は、作業環境に制約を設け、その結果をアプリへ組み込むことになります。
現在のドキュメントには、権限、フック、サブエージェント、Model Context Protocol経由の外部ツール、再開や分岐ができるセッションが記載されています。Model Context Protocol、略してMCPは、ツールやデータソースを接続する標準インターフェースです。これらの機能は、通常のWebリクエストに短いモデル応答を埋め込む用途よりも、作業セッション自体が製品の中心となる場合に役立ちます。
課題はホスティングです。Anthropicのホスティングガイドでは、独自の作業ディレクトリとセッションファイルを持つClaude CLIのサブプロセスを説明しています。プロセスの分離、ファイルの永続化、テナント間の境界を計画する必要があります。こうしたリソースを考慮せずに、デモを短時間で終了するWebハンドラーへ移すと、実行環境との不整合が生じます。
また、Claude向けのSDKです。クイックスタートには、Anthropicから直接利用する方法と、Amazon BedrockやMicrosoft Foundryなど対応するクラウド経由のアクセスが記載されています。Claudeへの接続経路が複数あっても、異なるモデル系列を自由に切り替える汎用ランタイムになるわけではありません。
ライセンスの区別も重要です。PythonラッパーはMITライセンスですが、TypeScriptリポジトリはAnthropicの商用利用規約を参照しています。概要ページでも、別のライセンスを持つコンポーネントを除き、利用全体にその商用利用規約が適用されます。スタック全体を「MITでモデルも自由に選べる」と表現すると、両方の制約を隠してしまいます。第三者が提供する製品も、ユーザーの個人向けログインでサービスの利用を賄えると思い込まず、文書化されたAPI認証の仕組みに従う必要があります。
向いている用途: 作業用エージェントランタイムを活用できる、コード、ファイル、コマンドのワークフロー。
特徴: Claude Codeのエージェント機能を、自分のアプリに組み込めます。
料金: MITのPythonラッパーにライセンス料はかかりません。モデルへのアクセスとホスティングは別途必要で、該当するランタイムの利用条件が適用されます。
無料トライアル: ライブラリには該当しません。モデルへのアクセスは各プロバイダーの条件に従います。
- エージェントの実行ループ、コンテキスト管理、ファイル・コマンド用ツールがそろっています。
- 権限制御、フック、再開可能なセッションに対応しています。
- PythonとTypeScriptから組み込めます。
- Claude向けであり、モデル系列を問わず使えるSDKではありません。
- サブプロセス、作業ディレクトリ、永続化するセッションデータの運用設計が必要です。
- ラッパーのライセンスだけでは、ランタイム全体の利用条件を判断できません。
6. CrewAI:エージェントの役割分担に意味がある仕事に
CrewAIは、調査、分析、レビューなど、エージェントの責務を分けることで仕事が進めやすくなる場合に向いています。現在のアーキテクチャでは、役割とツールを持つエージェントの集まりであるCrewsと、状態と実行を管理するイベント駆動のワークフローであるFlowsを組み合わせます。ドキュメントは、本番アプリをFlowから構築するよう勧めています。単一のエージェントに長い指示を与えるより、役割の境界を設けたほうが仕事を明確に説明できるなら、CrewAIを選びます。 CrewAIの概要
たとえば、仕入先を審査する業務を考えてみます。ある担当は承認済みの情報源から根拠を集め、別の担当は調達要件と照合し、レビュー担当は結論が根拠に裏付けられているか確認します。こうした責務があれば、指示やツールへのアクセスを分ける理由になります。Flowでは、作業を始める条件、必要な根拠、完成した結果の送り先を決められます。
ただし、役割に名前を付けるだけでは、有効な分担にはなりません。各エージェントが同じコンテキストを受け取り、同じツールを呼び、同じ要約を書き直すなら、責任の所在は明確にならず、引き継ぎだけが増えます。役割を追加する前に、どの情報を提供し、何を行う権限を持ち、どんな成果物を返すのかを定義します。
CrewAIのFlowsは状態管理、条件付き実行、分岐に対応しています。そのため、仮想の同僚同士に際限なく会話させる用途に限られません。予測できる振り分けは明示的なアプリロジックで処理し、判断を委ねる価値のある部分にCrewを使います。業務責任者が、確認の結果によってどこで処理を止めたり、進路を変えたりできるか理解する必要がある場合に、特に役立ちます。
複数のモデルプロバイダーにも対応しています。LLMのドキュメントでは、ネイティブ連携と、アダプターライブラリであるLiteLLM経由のプロバイダーを区別しています。選んだモデルで、ツールと構造化出力が実際にどうサポートされるかを確認してください。対応プロバイダーの一覧は、すべてのバックエンドが同じ動きをする保証ではありません。
課題は、連携によって複雑さが増すことです。結果が間違っていたとき、元の根拠、中間の分析、レビューのどこに問題があったかを特定する必要があります。最後の文章だけでなく、中間の出力も残しましょう。分類してからAPIを呼ぶだけの仕事なら、型を活かした小さなサービスのほうが、通常は動きを確認しやすくなります。
向いている用途: エージェントごとの責務を明確に説明でき、ワークフロー全体の管理主体も決まっている仕事。
特徴: 周囲のプロセスを管理するFlowsの中で、Crewsによる協働を行えます。
料金: コアライブラリのライセンス料は不要です。モデル利用とデプロイは別途かかります。
無料トライアル: オープンソースのコアには該当しません。
- 専門担当の責務をアプリの設計に明示できます。
- エージェント間の協働と、状態を持つイベント駆動のFlowsを組み合わせられます。
- 文書化された連携方法で、複数のモデルプロバイダーを利用できます。
- 不要な役割を増やすと引き継ぎが増え、エラーの発生箇所も増えます。
- 最終出力しか記録しないと、連携のどこで問題が起きたか調べにくくなります。
- プロバイダー固有の機能は、別途確認が必要です。
7. Mastra:TypeScriptで製品を開発するチームに
アプリも開発チームもすでにTypeScriptを中心にしているなら、今回の候補ではMastraが最も自然な出発点です。TypeScriptでエージェントとワークフローを提供し、Webフレームワークと連携でき、プロジェクトの開発に使うStudioも含まれています。Python中心のAIスタックを導入するより、アプリと型や担当範囲を共有することを重視するなら、Mastraを選びます。 Mastraのドキュメント
製品に、アカウント設定を読み、次の操作を提案し、確認を待ってから設定を変更する導入支援アシスタントを追加するとします。エージェントのツールスキーマとバックエンドの入力仕様を同じ言語で扱えれば、レビューや保守を簡単にできます。また、主な強みを必要としていないフレームワークを使うためだけに、別のサービスを設けずに済みます。
Mastraのワークフローのドキュメントには、型付きの入出力スキーマ、ワークフローの状態、一時停止、再開、復旧が記載されています。エージェントの機能が単発の応答を超えると、こうした仕組みが役立ちます。確認の段階は、モデルが後で覚えていることを期待する文章ではなく、アプリが確認できるワークフローの状態として表現すべきです。
モデルインターフェースでは、対応する各プロバイダーをプロバイダー/モデルの識別子で指定します。アプリから共通の呼び出し口を使えますが、モデルを置き換える際には、実際のツールと出力を評価する必要があります。TypeScriptの型が共通でも、背後のモデルの振る舞いまで同じにはなりません。
課題は、型が整った開発環境と、正しく運用されるサービスの間にある差です。ワークフローの状態をどこに保存するか、停止中の実行をどう復旧するか、ツールの完了直後にワーカーが止まったらどうなるかを決めます。Studioは開発を助けますが、アプリ側のこうした設計を不要にはしません。
ライセンスの適用範囲も、パッケージ単位で確認してください。Mastraのリポジトリでは、コアと除外対象でないコードにApache-2.0が適用され、eeという名前のディレクトリには別のエンタープライズ向け条件が適用されます。「リポジトリ全体がMIT」とまとめるのは誤りです。オープンソースのコアを比較する段階で、クラウドのサブスクリプションを必須費用として含める理由はありません。
向いている用途: 既存の製品にエージェントと再開可能なワークフローを組み込むTypeScriptチーム。
特徴: アプリの言語と型による入出力仕様に沿って、エージェントやワークフローを定義できます。
料金: オープンソースのコアにライセンス料はかかりません。エンタープライズ向けコンポーネント、推論、ホスティングは別途かかります。
無料トライアル: オープンソースのコアには該当しません。
- エージェントの開発もTypeScriptのアプリ構成にまとめられます。
- 型付きワークフローの状態管理と、一時停止・再開の動作が文書化されています。
- プロバイダー間で共通のモデルインターフェースと、ローカル開発用のUIを利用できます。
- 永続化と復旧には、明示的なデプロイ設定が必要です。
- コアのライセンスが、そのままエンタープライズ用ディレクトリにも適用されるわけではありません。
- すでにPythonで無理なく開発・運用しているサービスには、言語面での利点がほとんどありません。
8. DSPy:プロンプトの品質改善がボトルネックの場合に
DSPyは、成果を測れるタスクに対してモデルの振る舞いを改善することが、繰り返し課題になっている場合に適した代替候補です。Pythonフレームワークで、シグネチャで入出力を宣言し、モジュールでタスクの実行方法を記述し、オプティマイザーで例題と評価関数に基づいてプログラムのプロンプトを改善します。完璧なプロンプトを書くことよりも、良い回答の条件を正確に定義することが得意なら、DSPyを選びます。 DSPyのドキュメント
問い合わせを振り分ける分類器を例にします。実際のチケット、各チケットの正しい振り分け先、許容できない誤りの明確な定義があるとします。直近の失敗を見てプロンプトを書き直し続けるのではなく、タスクを定義し、改善候補をデータセットで評価します。「この表現のほうが良さそう」という感覚を、再現できる比較に変えられることが価値です。
DSPyは、ReActのようにツールを使うモジュールや、検索を含むプログラムにも対応しています。プロンプトを保存するだけのライブラリではありません。ただし、LangChainアプリの一部を置き換える理由は通常、この体系的な最適化にあり、長時間続く業務プロセス全体の管理ではありません。
最適化ガイドでは、学習用の例、検証用の例、最終テストセットの役割を分けて説明しています。学習用の例はプロンプトの変更に使い、検証用の例は生成されたプログラムの選択に使います。取り分けておいたテストセットでは、そのどちらにも影響していない例を確認します。同じ評価ケースで選択を繰り返すと、スコアの向上は製品全体の信頼性向上ではなく、そのケースへの適応を表している可能性があります。
課題は評価指標です。整った説明を高く評価する採点器では、もっともらしく聞こえても振り分け先を間違えるプログラムが選ばれるかもしれません。アプリに必要な振る舞いを採点してください。簡単なケースの平均だけを最適化するのではなく、根拠が足りないのに確信を持って振り分け先を選ぶ、といった損失の大きい失敗も含めます。
DSPyのモデル設定は、LiteLLM経由で複数のプロバイダーに対応しています。ただし、モデルを変えたら改めて評価する必要があります。あるモデル向けに最適化したプロンプトが、別のモデルでもうまく動く保証はありません。DSPyの解説では、プログラミングモデルをより詳しく紹介しています。
向いている用途: 例題と意味のある評価指標があり、モデルの振る舞いを改善したい反復可能なタスク。
特徴: 評価に使う入力を明示し、プログラムでプロンプトを最適化できます。
料金: フレームワークのライセンス料は不要です。最適化と推論では、モデルまたは計算資源を消費します。
無料トライアル: オープンソースのフレームワークには該当しません。
- タスクの定義と、手作業で書くプロンプトの表現を分離できます。
- 例題と測定可能な目標に基づいて最適化できます。
- 複数のプロバイダーで、モジュール化したプログラム、検索、ツール利用の手法を使えます。
- 評価指標が不適切だと、望ましくない振る舞いを最適化してしまいます。
- 評価データが最適化側に漏れると、実際よりも幅広いケースで改善したように見えてしまいます。
- これだけで、ワークフローの永続化やデプロイのインフラを置き換えられるわけではありません。
9. Haystack:本番の検索パイプラインを明示的に組み立てたい場合に
Haystackは、中間段階を確認し、置き換えられる検索・RAGパイプラインが必要なアプリの有力候補です。コンポーネント、ドキュメントストア、ツール、エージェントを、明示的なパイプラインとして構成します。エージェントの自律性を高めることよりも、ソース文書から検索された根拠までの流れを制御することが重要なら、Haystackを選びます。 Haystackの概要
正しい版のマニュアルに基づいて回答する必要がある、製品ドキュメントの検索サービスを考えてみます。デバッグで追うべき情報は回答の前にあります。どの文書を取り込み、どの版のメタデータが残り、どの候補を取得し、どの文章が生成処理に渡ったのか。その流れは、回答を書くモデルを変えても確認できる状態にしておくべきです。
Haystackのパイプラインのドキュメントには、分岐、ループ、独立した処理の非同期実行が記載されています。コンポーネントとその接続はシリアライズできます。これにより、文書の取り込みとクエリ実行時の処理を、単一の「文書に質問する」操作に隠さず、明確な入出力仕様を持つ処理として設計できます。
パイプラインをエージェントが呼び出すツールにすることも、エージェントをパイプライン内のコンポーネントにすることもできます。製品全体について、完全に固定した実行か、モデルへの全面的な制御委譲かを選ぶ必要はありません。たとえば、文書の選択とフィルタリングは確定的な処理にし、依頼に柔軟な調査が必要な場合だけ、モデルが判断する処理を使えます。
LlamaIndexとの違いは、どちらを出発点にしたいかという違いです。どちらかに相手の幅広い機能がないと主張するものではありません。文書の取り込みとコンテキストの構成が課題の中心なら、LlamaIndexから始めます。検索パイプラインをアプリの中心に据え、処理同士を接続して確認したいなら、Haystackから始めます。判断が拮抗する場合は、実際に使うコンポーネントと評価結果で決めるべきです。
課題は連携部分の実装です。コンポーネントの境界が明確なら原因を調べやすくなりますが、各境界を何が通るのかを決める必要があります。アクセス権限による絞り込み、文書の鮮度、デプロイ、検索を評価するための根拠は、引き続きアプリ側で管理します。別製品のHaystack Enterprise Platformはホスト型の選択肢であり、オープンソースライブラリをインポートするための料金ではありません。
向いている用途: 処理段階とコンポーネントの入出力仕様を明示し、本番運用に向けた評価を行いたい検索・RAGサービス。
特徴: 固定の処理、分岐、エージェントを組み合わせ、内部を確認できるパイプラインを作れます。
料金: コアフレームワークのライセンス料は不要です。ストレージ、モデル、ホスティング、任意のプラットフォームサービスは別途かかります。
無料トライアル: オープンソースのコアには該当しません。
- 検索の経路を、具体的で内部を確認できるアプリ構造として表現できます。
- 分岐、ループ、コンポーネントの非同期実行に対応しています。
- パイプラインからエージェントを使う構成も、その逆も可能です。
- コンポーネントの入出力仕様と連携を、意図して設計する必要があります。
- パイプラインの構造だけでは、文書へのアクセス権限や回答品質は保証できません。
- 検索が主役でない場合は、最小限のツール実行ループより設定作業が増えます。
LangChainの代替は、直したい不具合から選ぶ
移行によって、運用上繰り返し起きている不具合を解消することが目標です。 いま時間を取られている具体例から始め、原因を理解しやすくするために必要な最小の範囲だけを置き換えます。
失敗した実行を正しく再開できないなら、LangGraphから検討します。重要なのは、確認状況や外部操作の完了記録を含む、永続化されたワークフローの状態です。TypeScriptで開発・運用するアプリなら、同じ復旧ケースでMastraのワークフローモデルも評価します。「メモリがある」という説明だけで選ぶのは曖昧すぎます。
回答が誤った根拠を引用するなら、LlamaIndexかHaystackから検討します。モデルのプロンプトや計画機能を変える前に、文書解析と検索を確認してください。文書中心で考えるならLlamaIndex、明示的なパイプライン中心で考えるならHaystackが自然な出発点です。どちらにも、実際の情報源とアクセスルールを反映した検索の評価セットが必要です。
Pythonの機能に対してフレームワークの仕組みが大げさすぎるなら、Pydantic AIから検討します。アプリ独自のデータ仕様とサービスインターフェースは維持します。足りないものがツールとハンドオフを備えたコンパクトなエージェント実行ループなら、OpenAI Agents SDKも目的を絞った出発点になります。TypeScriptでも使えます。
作業にファイルシステムとコマンドが必要なら、ランタイムとホスティングの要件を明確にしたうえで、Claude Agent SDKを検討します。専門的な責務を分けることで仕事の質が上がるなら、各引き継ぎの意味を説明できることを前提にCrewAIを検討します。プロンプトを変えても改善したか判断しにくいなら、評価指標を定義し、DSPyを検討します。
これらの選択肢は併用できます。検索コンポーネントをエージェントのツールの背後に置いたり、最適化した分類器を通常のバックエンド内で動かしたりできます。モデル呼び出しに別のライブラリを使うプロセスを、ワークフローランタイムで管理することも可能です。各コンポーネントの役割が明確なら、組み合わせは有効です。複数のフレームワークが同じメッセージ、再試行、状態をそれぞれ管理しようとすると、問題になります。
移行候補にとどまらず広く検討したい場合は、AIエージェントフレームワークの比較を参照してください。今回の選定で最も役立つ問いは、変更後、どの状態・データ・出力を、より直接確認できるようになるのかです。
比較と選定の基準
本記事の推奨は、文書化されたアーキテクチャと用途への適合性に基づいています。人気や架空のテストスコアによる評価ではありません。 2026年10月26日に、各フレームワークの公式ドキュメントと該当するリポジトリのライセンスファイルを確認しました。ワークロードのベンチマークは実施しておらず、これらの実装を本番で運用した経験があると主張するものでもありません。
評価基準は、アプリのどこで不具合が起きるか、言語との相性、モデルプロバイダーを選べる柔軟性、確認可能な状態や出力、そして運用担当者に残る作業です。ライセンスの適用範囲は、製品ブランドとは切り離して確認しました。そのため、Claudeのラッパーとランタイムの条件、Mastraのエンタープライズ用ディレクトリ、OpenAIのプロバイダー互換性に関する注意点を明記しています。
各フレームワークを候補に入れた理由は、想定する開発者にとって、実装上の明確に異なる選択肢になるためです。ノーコードの自動化製品やマネージドのモデルプラットフォームは、アプリを構築するレイヤー自体が変わるため、候補一覧から外しています。導入する価値がある場合もありますが、同じ移行の問いに答えるものではありません。
表の「得意な用途」は、文書化された機能に対する編集上の評価です。フレームワークの用途がそこだけに限られるという意味ではありません。また、提案している移行時の確認作業は、読者のアプリで行う受け入れ確認です。本記事のために実施したテストとして紹介しているわけではありません。
避けたい選択と組み合わせ
本番向けの新規開発でMicrosoft AutoGenを選ぶのは避けてください。 Microsoftの現在のリポジトリには、プロジェクトはアーカイブ済みで、積極的な保守は終了し、Microsoftはバグ修正、セキュリティ修正、新機能、サポートを提供していないと記載されています。新規ユーザーにはMicrosoft Agent Frameworkを、既存ユーザーには移行ガイドを案内しています。単なる「メンテナンスモード」よりも踏み込んだ状態です。Microsoft AutoGenのリポジトリ
既存のAutoGenアプリでは、依存しているコンポーネントと連携機能を洗い出し、自分たちの評価ケースに基づいて移行を計画します。アーカイブされたからといって、特定のアプリが今日動かなくなるかどうかまでは分かりません。ただし、使い続けるうえでの保守の前提は変わります。
また、意味のある役割分担がないタスクでCrewAIを使うことも避けたい選択です。チケットの分類について複数のエージェントが議論しても、それだけでデバッグしやすくはなりません。まず小さな入出力仕様から始め、中間の仕事を独立させる価値がある場合にだけ役割を追加します。
ワークフローの永続化がない問題をDSPyで解決しようとすることや、モデル系列を自由に切り替えることが必須なのにClaude Agent SDKを選ぶことも避けてください。どちらも想定された用途には価値がありますが、別のレイヤーの問題を解決するために導入するものではありません。
最後に、小さなLangChain連携を、役割が重なる複数のフレームワークへ一度に置き換えることは避けましょう。同じ状態や再試行の管理主体が移行後に増えたなら、減らしたかった作業をむしろ増やしている可能性があります。
LangChainを使い続けたほうがよいのはどんな場合か
モデルやツールとの連携、用意されたエージェント実行ループ、LangGraphの基盤によって、すでにアプリの開発や内部の確認が進めやすくなっているなら、LangChainを維持します。 現在のドキュメントは、それらのレイヤーを明確に説明しています。すべてのLangChainアプリを、内部の見えないチェーンの集まりと捉えると、現在の構成を見誤ります。LangChainの概要
有用なアダプターがあり、トレースが明確で、評価スイートにも合格している既存サービスなら、別のフレームワークのクイックスタートが短く見えるという理由だけで書き直す必要はありません。まず、難しさの具体的な原因を調べます。アプリの状態をプロンプトの中に隠しているのかもしれませんし、ツールの責務が多すぎるのかもしれません。検索を単独で評価したことがない可能性もあります。
判断が変わるのは、抽象化のせいで不具合を繰り返し切り分けられなかったり、アプリに必要な入出力仕様を表現できなかったりする場合です。その境界を移します。引き続き役立つコネクター、データモデル、テスト済みの業務処理は残してください。
アプリ全体を書き直す前に、不具合のある処理だけを移行する
最初の移行では、置き換えによって運用しやすくなったと示せることが重要です。 ユーザーから見た仕事は変えず、限られた範囲の内部実装を入れ替えます。モデル、検索対象の文書群、オーケストレーションを同時に変えると、結果を解釈しにくくなります。
不具合をアプリレベルのフィクスチャとして記録する
依頼、利用を許可されたソースデータ、期待する出力、許容できない操作を記録します。文書の欠落、曖昧な依頼、ツールのタイムアウト、承認待ちの実行など、実際に起きる種類の不具合を使います。フィクスチャは、どちらのフレームワークのメッセージクラスからも独立させます。
すでに信頼できる入出力仕様を維持する
アプリ側で管理するリクエストとレスポンスのスキーマ、ソースの識別子、認証済みのツールインターフェース、操作の完了記録を維持します。同じ境界の内側に移行候補の実装を置き、製品の他の部分を一度に移行せずに済むようにします。
不具合が起きたレイヤーを置き換える
検索の不具合なら、回答文の前に、返された根拠を比較します。型付き出力の不具合なら、検証と業務ルールの処理を確認します。復旧の不具合なら、ワーカー再起動の前後で状態を確認します。そのレイヤーを最も明確に表現できるフレームワークを使います。
扱いの難しい経路を試す
検索結果が空の場合、ツールの例外、操作の拒否、外部操作が完了する前後での再起動を試します。最終回答だけでなく、中間の成果物も確認します。自然な文章の成功応答によって、承認の欠落や操作の重複が見えなくなってはいけません。
段階的に切り替え、元に戻せる経路を残す
全ワークロードを移す前に、制御されたトラフィックや保存済みのリクエストで実装を比較します。比較中に副作用が重複して起きないようにします。永続化された状態は計画的に移行してください。別のフレームワークのチェックポイントやセッションファイルを、そのまま再開できると思い込まないことが大切です。
移行の記録には、何を説明しやすくなったのかを残します。検索された具体的な文章、検証済みの出力、ワークフローの現在位置、操作の完了記録などです。その改善を具体的に挙げられないなら、書き直す範囲を広げる前に調査を続けましょう。
LangChainの置き換えについてよくある質問
LangChainの代わりには何を使えばよいですか?
代替先はひとつではありません。LangGraphは状態を持つ処理の明示的なオーケストレーション、LlamaIndexとHaystackはデータと検索のパイプライン、Pydantic AIは型を活かしたPythonエージェントに対応します。他のSDKやフレームワークも、より限定した実行や最適化の要件に向いています。困っているレイヤーを置き換えてください。
LangChainは今もよく使われていますか?
LangChainは現在も提供されているフレームワークで、モデル連携、ツール、LangGraph上のエージェントが文書化されています。本記事では、スター数やダウンロード数から普及度を推定していません。アプリにとって有用かどうかは、その抽象化によって不具合を確認しやすくなり、変更を届けやすくなるかで決まります。
2026年のLangChain代替として有力なのはどれですか?
本記事の候補は、LangGraph、LlamaIndex、Pydantic AI、OpenAI Agents SDK、Claude Agent SDK、CrewAI、Mastra、DSPy、Haystackです。同じ用途で競う順位表として扱うのではなく、状態の復旧、検索、型による入出力仕様、実行環境、言語、評価の要件から選んでください。
LLMの代わりに使えるものはありますか?
範囲が狭く、結果を予測しやすい仕事には、ルール、従来型の検索、タスクに特化した機械学習モデルのほうが適する場合があります。ただし、それはLangChainの置き換えとは別の判断です。オーケストレーションのフレームワーク自体が言語モデルの代わりになるわけでも、モデルの必要性を決めるわけでもありません。
AIの「ビッグ5」とはどの企業ですか?
フレームワーク選びの基準になるような「ビッグ5」の固定された技術的定義はありません。モデルベンダー、クラウドプラットフォーム、AI企業では、どれを挙げるかで答えている問いが異なります。アプリを作る際には、必要なモデル連携とランタイムを具体的に確認してください。
今おすすめの無料LLMはどれですか?
用途とハードウェアに合わせて、モデルを別途比較する必要があります。フレームワークがオープンソースでも、モデル呼び出しが無料になるわけではなく、ローカルでモデルを動かすにも計算資源が必要です。まずローカル推論が必要かを決め、そのうえで適したモデルを評価してください。
日常的に使うなら、どのLLMが最適ですか?
コーディング、抽出、検索、会話のすべてに共通する最適解はありません。開発者は、代表的なリクエストとアプリに必要な出力基準を使って選びます。フレームワークの対応状況で互換性のある候補を絞れますが、モデル自体の評価を省くことはできません。
2026年にコーディング向けのローカルLLMを選ぶなら、どれが最適ですか?
利用可能なメモリ、許容できる遅延、リポジトリで完了させたい作業によって変わります。それらの制約から推論環境とコーディング用モデルを選び、フレームワークのツールや出力との連携を確認します。フレームワークの候補一覧だけで、現在最良のコーディングモデルを決めることはできません。
最も低コストで使えるLLMはどれですか?
再試行やツール利用も含め、実際のタスクを許容できる品質で完了するために必要なリソースを比較してください。モデルを単発で呼ぶ料金が安くても、ワークフローを最後まで完了する費用が安いとは限りません。ライブラリのライセンス費用は、別の項目です。
フレームワークを選ぶ前に、AI Business Workflow Audit Checklist(AI業務ワークフロー監査チェックリスト)で、最初に取り組む仕事、確認を挟む箇所、運用の担当者を決めておきましょう。
- 公開日
- カテゴリー
- Build
- 言語
















