LangGraph は、エージェントベースのアプリケーションを構築するために、低レベルなプリミティブと高レベルな事前構築済み (prebuilt) コンポーネントの両方を提供しています。このセクションは、事前構築済み、再利用可能なコンポーネントに焦点を当てます、これらはエージェント型システムを素早く確実に構築するのに役立つように設計されています。
LangGraph : Prebuilt エージェント : LangGraph によるエージェント開発
作成 : クラスキャット・セールスインフォメーション
作成日時 : 06/07/2025
* 本記事は langchain-ai.github.io の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
◆ お問合せ : 下記までお願いします。
- クラスキャット セールス・インフォメーション
- sales-info@classcat.com
- ClassCatJP
LangGraph : Get started : Prebuilt エージェント : LangGraph によるエージェント開発
LangGraph は、エージェントベースのアプリケーションを構築するために、低レベルなプリミティブと高レベルな事前構築済み (prebuilt) コンポーネントの両方を提供しています。このセクションは、事前構築済み、再利用可能な コンポーネントに焦点を当てます、これらはオーケストレーション、メモリや人間のフィードバック処理をゼロから実装する必要なしに、エージェント型 (agentic) システムを素早く確実に構築するのに役立つように設計されています。
What is an agent?
エージェント は 3 つのコンポーネントで構成されます : 大規模言語モデル (LLM)、使用できる ツール のセット、そして指示を提供する プロンプト です。
LLM はループ内で動作します。各反復で、起動するツールを選択し、入力を提供し、結果 (観察結果) を受け取り、そしてその観察結果を使用して次のアクションを知らせます。このループは停止条件が満たされるまで – 通常はエージェントがユーザに応答するのに十分な情報を集めるまで続きます。
主要な機能
LangGraph は、堅牢で production-ready なエージェント型システムを構築するために不可欠な幾つかの機能を含みます :
- メモリ統合 : 短期 (セッションベース) そして長期メモリ (セッション間で永続的) のネイティブサポート、チャットボットとアシスタントでステートフルな動作を可能にします。
- Human-in-the-loop 制御 : (リアルタイムのインタラクションに制限された websocket ベースのソリューションとは異なる) 人間のフィードバックを待機するために実行は無期限に一時停止できます。これは、ワークフローの任意の時点で非同期な承認、訂正や介入を可能にします。
- ストリーミング・サポート : エージェント状態、モデルトークン、ツール出力や連結されたストリームのリアルタイム・ストリーミング。
- 配備ツール : インフラ・フリーな配備ツールを含みます。LangGraph プラットフォームはテスト、デバッグ、そして配備をサポートします。
高レベルのビルディングブロック
LangGraph は、一般的なエージェントの動作とワークフローを実装した事前構築済みコンポーネントのセットを備えています。これらの抽象化は LangGraph フレームワークの上に構築されていて、高度なカスタマイズへの柔軟性を維持しながら、実運用への迅速なパスを提供します。
エージェント開発に LangGraph を使用すれば、状態、メモリや人間のフィードバックをサポートするインフラの構築や保守の代わりに、アプリケーションのロジックと動作に焦点を当てることが可能になります。
パッケージ・エコシステム
高レベル・コンポーネントは幾つかのパッケージに編成されています、それぞれは特定のフォーカスを持ちます。
パッケージ | パッケージ説明 | インストール |
---|---|---|
langgraph-prebuilt (part of langgraph) | エージェント作成 用の prebuilt コンポーネント | pip install -U langgraph langchain |
langgraph-supervisor | supervisor エージェント構築用ツール | pip install -U langgraph-supervisor |
langgraph-swarm | swarm マルチエージェント・システム構築用ツール | pip install -U langgraph-swarm |
langchain-mcp-adapters | ツールやリソース統合用 MCP サーバ への I/F | pip install -U langchain-mcp-adapters |
langmem | エージェントメモリ管理: 短期と長期 | pip install -U langmem |
agentevals | エージェント性能を評価する ユティリティ | pip install -U agentevals |
エージェントグラフの可視化
以下のツールを使用して create_react_agent により生成されたグラフを可視化したり、該当するコードのアウトラインを表示できます。それは以下の存在により定義される、エージェントのインフラを探究することを可能にします :
- tools : エージェントがタスクを遂行するために使用できるツール (関数、API や他の呼び出し可能オブジェクト) のリスト。
- pre_model_hook : モデルが呼び出される前に呼び出される関数。メッセージの圧縮やその他の前処理タスクの遂行のために使用できます。
- post_model_hook: モデルが呼び出された後に呼び出される関数。ガードレール、human-in-the-loop フローや他の後処理タスクを実装するために使用できます。
- response_format : 最終出力の型 e.g., pydantic BaseModel を制約するために使用されるデータ構造。
以下のコードスニペットは、create_react_agent を使用して上記のエージェント (と基礎となるグラフ) を作成する方法を示しています :
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI
model = ChatOpenAI("o4-mini")
def tool() -> None:
"""Testing tool."""
...
agent = create_react_agent(
model,
tools=[tool],
)
agent.get_graph().draw_mermaid_png()
以上