AI OSS STACK GUIDE
この記事でわかること
- LangChain、LangGraph、Langfuse、LlamaIndex、Haystack、CrewAI、AutoGen、Semantic Kernelの違い
- RAG、AIエージェント、LLMアプリ運用でどのOSSを組み合わせるべきか
- Observability、Prompt Management、Evaluation、Deployまで含めた実務構成
- 法人導入で失敗しないためのセキュリティ、評価、運用チェックポイント
生成AIの開発は、ChatGPTやClaudeのAPIを呼び出すだけの段階から、社内データ検索、AIエージェント、業務フロー自動化、評価、監視、プロンプト管理まで含む「AIアプリケーション運用」の段階へ進んでいます。そこで重要になるのが、LangChain、LangGraph、Langfuseを中心としたAI周辺のオープンソースです。
ただし、名前が似ているツールや役割が近いフレームワークが多いため、何を選べばよいか迷いやすい領域でもあります。この記事では、Lang系OSSだけでなく、実務で比較対象になりやすいLlamaIndex、Haystack、CrewAI、AutoGen、Semantic Kernel、LiteLLM、Vector DBまでまとめて整理します。
SUMMARY
結論:LangChainだけでなく、Langfuseまで含めて設計する
小さなRAGや社内FAQを作るだけなら、LangChainまたはLlamaIndexから始めるのが現実的です。複数ステップの業務、承認フロー、長時間の処理、状態管理が必要になったらLangGraphを使います。そして本番運用に進むなら、LangfuseのようなObservability/Evaluation基盤を入れて、プロンプト、コスト、レイテンシ、失敗パターンを追える状態にします。
つまり、AIアプリは「作るOSS」だけでなく、「動かすOSS」「見るOSS」「評価するOSS」まで含めて考える必要があります。PoCでは動いても、本番で品質が落ちるケースの多くは、ログ、評価、データ更新、権限管理を後回しにしたことが原因です。
AI OSS Stackの全体像
まずは、AI周辺OSSをレイヤーで分けて理解します。LangChainやLlamaIndexはアプリを作るレイヤー、LangGraphやCrewAIはエージェントを制御するレイヤー、Langfuseは観測と評価のレイヤーです。
LangChain / LlamaIndex / Haystack
RAG、Tool Calling、検索、文書処理、LLMアプリケーションの構築。
LangGraph / CrewAI / AutoGen
状態管理、複数エージェント、承認フロー、長時間タスクの制御。
Langfuse / LangSmith
Trace、Prompt Management、Evaluation、コスト・レイテンシ分析。
LangServe / LiteLLM / Vector DB
API化、モデルルーティング、検索基盤、社内システム連携。
主要OSS・周辺ツール比較
すべてを一つのフレームワークで解決しようとすると複雑になります。実務では、役割ごとに組み合わせる方が安全です。
| ツール | 主な役割 | 向いている用途 | 注意点 |
|---|---|---|---|
| LangChain | LLMアプリ開発フレームワーク | RAG、Tool Calling、モデル連携、プロトタイプ | 抽象化が多いため、内部挙動を理解して使う |
| LangGraph | Agent/Workflow Orchestration | 状態を持つAIエージェント、承認フロー、再実行 | 設計自由度が高く、状態管理の設計力が必要 |
| Langfuse | Observability / Evaluation | Trace、Prompt管理、評価、コスト・レイテンシ分析 | 導入時にログ設計と個人情報管理を決める |
| LangSmith | LangChain系の運用・評価基盤 | トレース、デバッグ、評価、実験管理 | 利用形態や料金、データ保持要件を確認する |
| LlamaIndex | Data Framework / RAG | 文書検索、Indexing、社内ナレッジ、構造化データ抽出 | RAGに強いが、業務フロー制御は別途設計する |
| Haystack | RAG / NLP Pipeline | 検索パイプライン、QA、文書処理、企業向け検索 | パイプライン設計と検索品質の評価が重要 |
| CrewAI | Multi-agent Framework | 役割を持つ複数エージェント、調査・企画・実行分担 | エージェントの役割設計が曖昧だと暴走しやすい |
| AutoGen | Multi-agent / Conversational Agent | 複数Agentの会話、タスク分担、研究・開発系ワークフロー | 会話型設計のため、終了条件と評価が重要 |
| Semantic Kernel | Microsoft系AI Orchestration SDK | .NET/C#/Azure/Microsoft 365連携、業務アプリ統合 | Microsoft環境との相性が強み。既存基盤との整合を見る |
| LiteLLM | LLM Gateway / Model Routing | 複数LLM APIの統一、コスト管理、モデル切替 | ルーティングとログの責任範囲を決める |
| Vector DB | 検索基盤 | Qdrant、Weaviate、Milvus、pgvectorなどでRAG検索 | Chunking、Metadata、権限管理で精度が変わる |
RAGならLangChain、LlamaIndex、Haystackを比較する
RAGは、社内資料やWeb情報を検索し、その結果をもとにLLMが回答する仕組みです。資料検索、社内FAQ、営業資料生成、マニュアル検索、問い合わせ対応などに使われます。
LangChainはモデルやツール連携を含めた汎用性が高く、LLMアプリ全体を作りやすい選択肢です。LlamaIndexは文書取り込み、Indexing、Query Engineなどデータ中心のRAGに強く、社内ナレッジ活用と相性が良いです。Haystackは検索パイプラインやNLPパイプラインとして整理しやすく、企業向け検索・QA基盤として検討できます。
AIエージェントならLangGraph、CrewAI、AutoGenを比較する
AIエージェントは、LLMがツールを使いながら複数ステップのタスクを進める仕組みです。例えば、問い合わせを分類し、関連資料を検索し、回答案を作り、人間の承認後にメール下書きを作る、といった流れです。
LangGraphは、状態を持つワークフローをグラフとして設計しやすい点が強みです。CrewAIは、リサーチャー、ライター、レビュアーのように役割を持つAgentを組み合わせる設計に向いています。AutoGenは、複数Agentが会話しながらタスクを進める設計を取りやすく、研究・開発ワークフローで比較対象になります。
Agent開発で最初に決めること
- Agentに任せる範囲と、人間が承認する範囲
- 利用するツール、API、社内データの権限
- 失敗時のリトライ、停止条件、差し戻し条件
- ログに残す内容と、個人情報・機密情報の扱い
- 評価基準、レビュー担当、改善サイクル
Langfuseは本番運用で重要:Trace、Prompt、Evaluationを管理する
Langfuseは、LLMアプリケーションのObservability、Prompt Management、Evaluationを扱うオープンソースのAI Engineering Platformです。公式ドキュメントでは、Trace、コスト、レイテンシ、Promptのバージョン管理、評価、Production Healthの監視などが主要機能として整理されています。
AIアプリは、通常のWebアプリよりも挙動が非決定的です。同じ入力でもモデルや検索結果、プロンプトの変化で出力が変わるため、失敗したときに「どのPrompt」「どの検索結果」「どのモデル」「どのTool Call」が原因だったかを追える状態が重要です。Langfuseを入れると、開発中だけでなく本番利用後の改善にもつながります。
| Langfuse機能 | 実務での意味 | 見えるようになるもの |
|---|---|---|
| Observability | LLM呼び出しや検索処理をTraceする | 失敗箇所、遅延、Token、Tool Call |
| Prompt Management | Promptをバージョン管理して改善する | どのPromptが良い結果を出したか |
| Evaluation | 回答品質を定量・定性で評価する | 正答率、根拠妥当性、NG回答 |
| Metrics | 本番利用のコストやレイテンシを見る | 部署別・機能別の利用状況 |
実務構成例:法人向けAIシステムならこう組む
中小企業や新規事業で現実的なのは、最初から巨大なAgent基盤を作るのではなく、RAGから始めて段階的にAgent化する構成です。
RAG PoC
LangChainまたはLlamaIndexで社内文書検索を構築。対象資料を限定して精度を確認します。
Workflow化
LangGraphで承認、分岐、再実行、メール下書き、CRM更新などを設計します。
Observability
LangfuseやLangSmithでTrace、Prompt、Evaluation、コストを管理します。
Production
LiteLLMやAPI Gateway、Vector DB、権限管理と連携して本番運用します。
どれを選ぶべきか:目的別のおすすめ
| 目的 | 第一候補 | 組み合わせ候補 |
|---|---|---|
| 社内FAQを作りたい | LangChain / LlamaIndex | Vector DB、Langfuse |
| 文書検索を強化したい | LlamaIndex / Haystack | Reranker、Metadata設計、Langfuse |
| 承認付き業務フローを作りたい | LangGraph | LangChain、Langfuse |
| 複数Agentで調査・記事生成をしたい | CrewAI / AutoGen | Langfuse、LiteLLM |
| Microsoft 365やAzureとつなぎたい | Semantic Kernel | Copilot、Azure OpenAI、社内認証 |
| 複数モデルを切り替えたい | LiteLLM | OpenAI、Anthropic、Gemini、Langfuse |
| 本番品質を管理したい | Langfuse / LangSmith | Evaluation Dataset、Prompt管理 |
法人導入チェックリスト
OSSを入れる前に、次の項目を決めておくと、PoCから本番化までの失敗が減ります。
- 参照してよいデータ、参照してはいけないデータを分ける
- 部署・役職ごとに検索可能な情報を制御する
- Prompt、検索結果、回答、Tool Callをログに残す
- 個人情報・機密情報をログに残すか、マスクするか決める
- 回答品質の評価基準を作る
- コスト、レイテンシ、エラー率をモニタリングする
- AIが実行してよい処理と、人間承認が必要な処理を分ける
FAQ
LangfuseはLangChainの代わりになりますか?
なりません。LangChainはLLMアプリを作るためのフレームワーク、Langfuseは作ったアプリのTrace、Prompt、Evaluationを管理する運用基盤です。役割が違うため、組み合わせて使うのが自然です。
LangChainとLlamaIndexはどちらが良いですか?
汎用的なLLMアプリやTool Callingまで広げたいならLangChain、文書検索やIndexing中心ならLlamaIndexが候補になります。実務では両方を比較し、データ構造と運用要件で選びます。
LangGraphとCrewAIは何が違いますか?
LangGraphは状態を持つグラフ型ワークフローを細かく設計する基盤です。CrewAIは役割を持つ複数Agentを組み合わせる発想が強く、調査・企画・記事生成などに使いやすいです。
OSSだけで本番運用できますか?
可能ですが、認証、権限、ログ、監視、評価、データ更新、障害対応を設計する必要があります。OSS選定よりも、運用設計の有無が成果を左右します。
まず何から始めるべきですか?
まずは対象業務を一つに絞り、RAGで社内文書検索を作るのがおすすめです。その後、利用ログを見ながらLangGraphなどでワークフロー化し、Langfuseで評価・改善できる形にします。


