LangGraph : Prebuilt エージェント : LangGraph によるエージェント開発

LangGraph は、エージェントベースのアプリケーションを構築するために、低レベルなプリミティブと高レベルな事前構築済み (prebuilt) コンポーネントの両方を提供しています。このセクションは、事前構築済み、再利用可能なコンポーネントに焦点を当てます、これらはエージェント型システムを素早く確実に構築するのに役立つように設計されています。

LangGraph : Prebuilt エージェント : LangGraph によるエージェント開発

作成 : クラスキャット・セールスインフォメーション
作成日時 : 06/07/2025

* 本記事は langchain-ai.github.io の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています :

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ リニューアルしました 😉

クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

お問合せ : 下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

 

LangGraph : Get started : Prebuilt エージェント : LangGraph によるエージェント開発

LangGraph は、エージェントベースのアプリケーションを構築するために、低レベルなプリミティブと高レベルな事前構築済み (prebuilt) コンポーネントの両方を提供しています。このセクションは、事前構築済み再利用可能な コンポーネントに焦点を当てます、これらはオーケストレーション、メモリや人間のフィードバック処理をゼロから実装する必要なしに、エージェント型 (agentic) システムを素早く確実に構築するのに役立つように設計されています。

 

What is an agent?

エージェント は 3 つのコンポーネントで構成されます : 大規模言語モデル (LLM)、使用できる ツール のセット、そして指示を提供する プロンプト です。

LLM はループ内で動作します。各反復で、起動するツールを選択し、入力を提供し、結果 (観察結果) を受け取り、そしてその観察結果を使用して次のアクションを知らせます。このループは停止条件が満たされるまで – 通常はエージェントがユーザに応答するのに十分な情報を集めるまで続きます。


エージェントループ : LLM はツールを選択し、出力を使用してユーザの要求を満たします。

 

主要な機能

LangGraph は、堅牢で production-ready なエージェント型システムを構築するために不可欠な幾つかの機能を含みます :

  • メモリ統合 : 短期 (セッションベース) そして長期メモリ (セッション間で永続的) のネイティブサポート、チャットボットとアシスタントでステートフルな動作を可能にします。

  • Human-in-the-loop 制御 : (リアルタイムのインタラクションに制限された websocket ベースのソリューションとは異なる) 人間のフィードバックを待機するために実行は無期限に一時停止できます。これは、ワークフローの任意の時点で非同期な承認、訂正や介入を可能にします。

  • ストリーミング・サポート : エージェント状態、モデルトークン、ツール出力や連結されたストリームのリアルタイム・ストリーミング。

  • 配備ツール : インフラ・フリーな配備ツールを含みます。LangGraph プラットフォームはテスト、デバッグ、そして配備をサポートします。
    • Studio : ワークフローを調べてデバッグするためのビジュアル IDE。
    • 実運用のための複数の 配備オプション をサポートします。

 

高レベルのビルディングブロック

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()

 

以上