動画記事 · LangChain
LangSmith で A2A を用いたエージェントのデプロイ
動画の文字起こしと公開情報をもとにAIで要約・構成しています。 正確な発言は元動画と時間位置で確認してください。
まず要点
LangChainのHarryが、GoogleのA2Aプロトコルに対応したLangSmith Deploymentを用いたエージェント構築とヒューマンインザループの実装デモを紹介する。
Google の A2A プロトコルを LangSmith で実装:マルチエージェント連携とヒューマンインザループのデモ
Google が 2024 年に公開した「A2A(Agent-to-Agent)」プロトコルは、異なるフレームワーク間で構築された AI エージェントが標準化された方法で通信するための基盤です。LangChain はこの A2A を LangSmith Deployment に組み込むことで、複雑なインフラ構築なしに、すぐに使える標準準拠のエージェントをデプロイ可能にしました。
本記事では、LangChain の Harry 氏によるデモをもとに、A2A の基本概念から LangSmith での実装方法、そして実務で重要な「ヒューマンインザループ(人間を介在させる承認フロー)」の実行までを解説します。
A2A プロトコルの3大コア概念
A2A は単なる通信規格ではなく、エージェントの能力や状態を構造化して伝えるための言語です。デモでは、以下の 3 つの基本概念が紹介されました。
エージェントカード:能力の宣言書
エージェントカードは、エージェントが持つ能力を記述した JSON データです。これには、ストリーミングに対応しているかどうか、エージェントの URL、およびその他のメタデータが含まれます。
「エージェントカードは、そのエージェントが何ができるのかを概説する JSON オブジェクトです。」
タスク:リクエストとレスポンスの単位
タスクとは、特定のコンテキスト内での「リクエスト」と「レスポンス」のペアを指します。これは LangSmith の「Runs(実行)」の概念と非常に類似しています。
コンテキスト:会話の文脈
複数のタスクオブジェクトをグループ化し、マルチターン会話全体の文脈を保持するのがコンテキストです。これは LangSmith の「Threads(スレッド)」に相当する概念で、一連のやり取りを単一の文脈として管理します。
LangGraph で A2A 対応エージェントをデプロイする
LangSmith を使って A2A プロトコルに対応したエージェントを公開するには、以下の手順で行います。
- LangGraph の設定: まず、ツール(時間確認、計算、メール送信など)を組み込んだシンプルなエージェントを LangGraph で定義します。この例では、Anthropic を利用し、ローカル環境で
uv sync devして依存関係をインストールしています。 - デプロイの実行:
quick uv runコマンドを実行することで、エージェントが LangSmith のデプロイメントページに展開されます。 - A2A サポートの有効化: デプロイ完了後、LangSmith UI 内の該当デプロイメントページへアクセスし、「接続」ボタンを押してグラフの形状を確認します。その後、「A2A」タブを開くと、自動的にエージェントカードが生成され、URL やストリーミング対応状況などが表示されます。
UI 上に表示される使用例スニペットをコピーすれば、すぐに外部クライアントからの通信テストが可能になります。
公式クライアントによる通信検証
デプロイされたエージェントの動作を確認するには、Google が提供する公式ツール「A2A Inspector」や Python SDK を利用します。
- A2A Inspector の使用: A2A Inspector(a2a-inspect.com)にアクセスし、LangSmith から取得したエージェント URL を貼り付けます。ここで API キー認証を設定すると、エージェントカードの有効性が即座に確認できます。
- ツール連携の検証: 接続が成功したら、実際にチャットを送信します。例えば、「3 * 2 * 2 の結果は?」と入力することで、計算機ツールがトリガーされ、公式 A2A インターフェースを通じてレスポンスが返ってきます。コンテキストやタスクの状態もリアルタイムで確認可能です。
ヒューマンインザループ:承認フローの実装例
実務において最も重要なのが、重要なアクション(メール送信など)を実行する前に人間が介入する「ヒューマンインザループ」の仕組みです。A2A プロトコルはこのプロセスを標準化してサポートしています。
承認・拒否フローの実装
デモでは、メール送信ツールに「Human in the Loop ミドルウェア」を設定しました。これにより、エージェントがメールを送信しようとした瞬間に処理が中断され、ユーザーに対して以下の判断を促します。
- Approve(承認): そのまま実行する
- Edit(編集): 内容を修正して再送する
- Reject(拒否): 実行を取りやめる
公式クライアントでの再開デモ
この中断状態から処理を再開するには、A2A クライアントを通じて特定のデータを送信する必要があります。
- 中断の確認: エージェントが「承認が必要です」と応答し、タスク状態が入力必須(pending)になっていることを確認します。
- 承認データの送信: 公式クライアントのスクリプトで、
type: "approve"を指定し、元のメールペイロード(例:履歴書送信の文面)を再送します。 - 処理完了: これによりタスクが再開され、メールは正常に送信されます。
「これはすべて A2A クライアントを通じて行われる標準的なプロセスです。中断状態からの再開も、仕様に則ったデータ送信で実現できます。」
まとめ
Google の A2A プロトコルと LangSmith Deployment を組み合わせることで、開発者は複雑なインフラを構築せずとも、標準準拠のマルチエージェントシステムを迅速に立ち上げることができます。特に、承認フローを標準化された形で実装できる点は、エンタープライズレベルでの AI ワークフロー自動化において大きな強みとなります。
Original Source
元動画で発言を確認
プレイヤーは必要になるまで読み込みません。YouTubeのCookieと通信も再生を選ぶまで開始しません。
時間位置から根拠を確認
章や引用を選ぶと、元動画をその位置から再生します。