LangChain — ラングチェーン

From Systems analysis wiki
Jump to navigation Jump to search

LangChain は、大規模言語モデル(LLM)を使用するアプリケーションを開発するためのオープンソースフレームワークです。統一された抽象化のセット(モデル、埋め込み、ベクトルストア、チェーン、エージェント、メモリ、コールバック)と250以上のインテグレーションを提供し、チャットボット、RAG検索エンジン、エージェントソリューションを含む複雑なLLMシステムを迅速に構築、デバッグ、運用することを可能にします。[1][2]

歴史

  • 2022年10月 — 作者ハリソン・チェイス(Harrison Chase)によるオープンソースプロジェクトとしての最初の公開リリース[3]。当時、彼はRobust Intelligenceの従業員でした。
  • 2023年4月 — LangChain Inc.が設立され、Sequoiaからの2000万〜2500万ドルのラウンドで2000万ドル以上の資金を調達(「pre-empt」投資のスピードで開示)。評価額は約2億ドル。それ以前にはBenchmarkから1000万ドルのシード資金を調達。
  • 2023年8月 — チェーンを構築するための宣言的構文であるLangChain Expression Language (LCEL)のリリース。[4]
  • 2023年10月 — FastAPIを介してLCELチェーンを本番APIとしてデプロイするためのライブラリであるLangServeの発表。[5]
  • 2024年〜2025年 — エコシステムはLangSmith(トレーシング、メトリクス、A/Bテスト用のプラットフォーム)やLangGraph(マルチエージェントワークフローのオーケストレーション)などのサービスで拡張されました。GitHubでのスター数は10万を超えました。

LangChainの機能

  • 推論チェーン (Chains) LangChainは、各ステップが特定のタスクを実行する一連のステップを作成することを可能にします。これらのステップには、モデルとの対話、その出力の処理、追加情報の検索、その他の操作が含まれます。このアプローチにより、複数の段階からなる複雑なワークフローを構築できます。
  • エージェント (Agents) LangChainのエージェントは、状況に応じて動的にアクションを選択できるプログラムです。例えば、エージェントは現在のコンテキストと中間結果に基づいて、どのツール(インターネット検索、データベースへのクエリ、計算の実行など)を使用するかを決定できます。
  • ツール (Tools) LangChainには、250以上の外部ツールやサービスとのインテグレーションが含まれています。これにより、モデルはデータベース、API、ファイル管理システムなどのさまざまなデータソースと連携し、コマンドラインを通じてアクションを実行できます。
  • メモリとコンテキスト (Memory) LangChainは長期記憶をサポートしており、モデルが呼び出し間で情報を「記憶」することを可能にします。これは、ユーザーとの対話のコンテキストを記憶し、将来の応答でその履歴を考慮する必要があるチャットボットやアプリケーションを作成する上で特に重要です。
  • Retrieval-Augmented Generation (RAG) RAGアプローチの枠組みの中で、LangChainはテキスト生成だけでなく、実際の情報源(例えば、データベースやウェブサイト)からの追加情報の検索も利用します。これにより、モデルは最新のデータに基づいて、より正確で根拠のある回答を提供できます。
  • デバッグと可観測性 (Callbacks & Tracing) モデルの動作プロセスの透明性と制御を確保するために、LangChainはトレーシングとモニタリング機能を提供します。これにより、モデルがどのデータを使用しているか、どの中間ステップを実行しているかを追跡し、システムの品質を向上させるためのパフォーマンスメトリクスを収集できます。
  • プラットフォーム向け拡張機能 LangChainには、LangSmithLangGraphといった追加コンポーネントが含まれており、これらは中央集権的なモニタリング、A/Bテスト、マルチエージェントワークフローの管理機能を提供します。LangSmithはモデルのパフォーマンス分析やテストを支援し、LangGraphは複雑なマルチステップタスクの管理とリアルタイムでの実行追跡を可能にします。

LangSmith - ラングスミス

LangSmith [6] は、大規模言語モデル(LLM)を使用するアプリケーション、特にLangChainで構築されたものの動作を追跡、分析、最適化するために設計されたクラウドプラットフォームです。LangSmithは、パフォーマンスの追跡、テスト、品質評価など、LLMを使用するアプリケーションの品質を監視し、向上させるための多くの機能を提供します。

  • トレーシング (Tracing): 入出力データや中間結果を含む、モデルのすべての対話を追跡できます。
  • メトリクスとパフォーマンス: 応答時間、トークン数、その他のパラメータに関する統計を収集し、モデルの動作を評価します。
  • A/Bテスト: モデルや設定の異なるバージョンを比較し、最も効果的なものを選択することをサポートします。
  • Human-in-the-loop: 専門家がモデルの結果を評価・修正し、その精度を向上させます。
  • 他のフレームワークとのインテグレーション: アプリケーションのモニタリングと分析のために、さまざまなプラットフォームとのインテグレーションをサポートします。
  • マルチタスク対応: 1つのプロジェクト内で複数のタスクを同時に追跡・管理できます。

LangGraph - ランググラフ

LangGraph [7] は、LangChainエコシステムで使用される、複雑なマルチステップおよびマルチエージェントのワークフローをオーケストレーションするためのツールです。LangGraphは、複数のエージェントや実行段階を含む複雑なロジックチェーンやタスクを作成・管理するためのプラットフォームを提供します。

  • マルチステップワークフロー: 各ステップが前のステップに依存する複雑なタスクチェーンを構築します。
  • サイクルと分岐: 前の段階への復帰(バックトラッキング)や、異なるパスに基づく意思決定をサポートします。
  • バージョン管理と「タイムトラベル」: ワークフローの変更を管理し、以前のバージョンにロールバックする機能を提供します。
  • マルチエージェントシステム: 異なるタスクを並行または順次実行する複数のエージェントの管理を可能にします。
  • ハイブリッドソリューションのサポート: 1つのワークフロー内で、さまざまなデータ処理手法や推論生成手法を統合します。
  • 外部システムとの柔軟なインテグレーション: APIやデータベースなどの外部サービスやシステムをワークフローに簡単に接続できます。

LangChain Expression Language (LCEL) - LangChain式言語

LangChain Expression Language (LCEL) [8] は、Runnableオブジェクト(チェーン、エージェント、ハンドラ)を構成するための宣言的なDSLフレームワークです。これは|(パイプ)演算子を介して表現され、ステップバイステップの実装方法(how-to)ではなく、何が起こるべきか(what-to)を記述することができます。宣言的スタイル(what-to)では、望ましい結果を記述し、システムがその達成方法を自ら決定します。 LCELは、LangChainが実行時にチェーンを最適に実行できるようにするオーケストレーションメカニズムです。

  • 単純なチェーン(例:prompt → LLM → parser、または単純な抽出)には、LCELが適しています。
  • 複雑なロジック(分岐、ループ、複数のエージェント、複雑な状態管理)が必要な場合は、LangGraphの使用が推奨されます。その際、グラフのノード内でLCELを引き続き使用することは可能です。
  • LLMの呼び出しが1回だけ必要な場合は、LCELは不要で、モデルを直接呼び出すだけで十分です。
  • 単純なチェーンには、LCELが適しており、その利点を活用するのに役立ちます。
  • 複雑なチェーンにはLangGraphを使用し、必要に応じてLCELを組み込んで使用することができます。

代表的な利用シナリオ

LangChainは、以下のような幅広いタスクの解決に使用できます。

  • チャットボット: ユーザーと対話し、質問に答え、外部データソースと連携できるインテリジェントアシスタントの作成。
  • 自律エージェント: 情報収集やレポート生成など、人間の介入なしに特定のタスクを実行できるシステムの開発。
  • データの検索と分析: 法務、金融、その他の種類のデータを扱うのに役立つ、セマンティック検索や文書分析システムの構築。
  • ビジネスプロセスの自動化: データ処理、レポート作成、その他の定型業務を自動化するソリューションの作成。

参考文献

  • Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
  • Hong, S. et al. (2023). MetaGPT: Meta Programming for a Multi-Agent Collaborative Framework. arXiv:2308.00352.
  • Li, G. et al. (2023). CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society. arXiv:2303.17760.
  • Wu, Q. et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation. arXiv:2308.08155.
  • Liu, X. et al. (2023). AgentBench: Evaluating LLMs as Agents. arXiv:2308.03688.
  • Chen, W. et al. (2023). AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors. arXiv:2308.10848.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Shinn, N. et al. (2023). Reflexion: Language Agents with Verbal Reinforcement Learning. arXiv:2303.11366.
  • Wang, L. et al. (2025). A Survey on Large Language Model Based Autonomous Agents. arXiv:2308.11432.
  • Guo, T. et al. (2024). Large Language Model Based Multi-Agents: A Survey of Progress and Challenges. arXiv:2402.01680.
  • Li, X. (2025). LLMs Working in Harmony: A Survey on the Technological Aspects of Building Effective LLM-Based Multi-Agent Systems. arXiv:2504.01963.
  • Duan, Z.; Wang, J. (2024). Exploration of LLM Multi-Agent Application Implementation Based on LangGraph + CrewAI. arXiv:2411.18241.
  • Wang, J. & Duan, Z. (2024). Agent AI with LangGraph: A Modular Framework for Enhancing Machine Translation Using Large Language Models. arXiv:2412.03801.
  • Camargo da Silva, T. (2025). Extracting Knowledge Graphs from User Stories using LangChain. arXiv:2506.11020.
  • Wang, Z. et al. (2024). Poisoned LangChain: Jailbreak LLMs by LangChain. arXiv:2406.18122.

注釈

  1. 「Introduction」。 https://python.langchain.com/docs/introduction/.[1]
  2. 「LangChain」。 Wikipedia [2]
  3. Forbes。「Harrison Chase」。[3]
  4. LangChain Blog。「LangChain Expression Language」、2023年8月1日。[4]
  5. LangChain Blog。「Introducing LangServe, the Best Way to Deploy Your LangChains」、2023年10月12日。[5]

Category:AI tools