Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LangGraph × Bedrock による複数の Agentic Workflow を利用...

Renya K.
March 10, 2025

LangGraph × Bedrock による複数の Agentic Workflow を利用した Supervisor 型のマルチエージェントの実現/langgraph-bedrock-supervisor-agent

2025/3/10
Bedrock Night オンライン 〜AWSで生成AIアプリ開発! 最新ナレッジ共有〜
https://jawsug.connpass.com/event/345497/

LT登壇資料です.解説記事は近日公開予定です.

その他,弊社での取り組み内容です.
- https://note.com/digitalsuccess/n/n958487f4d1cf
- https://qiita.com/yamato0811/items/02688690a85a670b773f

Renya K.

March 10, 2025
Tweet

More Decks by Renya K.

Other Decks in Technology

Transcript

  1. © 2025 NTT DATA Japan Corporation LangGraph × Bedrock による

    複数の Agentic Workflow を利用した Supervisor 型のマルチエージェントの実現 2025/3/10 株式会社NTTデータ 鯨田 連也 Bedrock Night オンライン 〜AWSで生成AIアプリ開発! 最新ナレッジ共有〜
  2. © 2025 NTT DATA Japan Corporation 2 自己紹介 鯨田 連也

    (Renya Kujirada) • 職種: Data Scientist / MLOps Engineer • 業務: PoC, R&D(Computer Vision, LLMOps) • 好きなAWSサービス: Bedrock, SageMaker • X : @recat_125 株式会社NTTデータ テクノロジーコンサルティング事業本部
  3. © 2025 NTT DATA Japan Corporation 3 目次 • はじめに

    • Agentic Workflow vs Agent • Multi Agent • LangGraph での実装方法 • アプリケーションのデモ • まとめ • 参考資料
  4. © 2025 NTT DATA Japan Corporation 4 はじめに LangGraph と

    Bedrock を利用し,広告の 「キャッチコピー文」 と 「画像」 を生成する Supervisor 型のマルチエージェントを 構築しました.実装の考え方や,LangGraph で利用した機能を紹介します. 画像生成 SubAgent • 英語のプロンプト生成 • 画像生成 コピー文生成 SubAgent • コピー文生成 • コピー文の改善
  5. © 2025 NTT DATA Japan Corporation 6 Agentic Workflow とは

    事前に定義された実行順序で,複数のタスク (LLM や Tool) を実行する仕組み.タスクを順序通り実行するため, 最終的な出力は一貫性を持ち,正確なものになりやすい. LLM Call 1 LLM Call 2 In Out
  6. © 2025 NTT DATA Japan Corporation 7 Agent (ReAct) とは

    状況に応じて LLM が実行すべき Tool を自律的に決定し,Tool の実行結果に応じて次の行動(他の Tool 実行など)を 思考することを繰り返す仕組み.実行タスクを動的に決定できるため,ユーザーの要望に対し,柔軟に対応できる. LLM Call Tool 1 Human Tool 2 (1) reasoning (2) acting (3) observation
  7. © 2025 NTT DATA Japan Corporation 8 Agentic Workflow vs

    Agent Agentic Workflowは制御しやすいが柔軟性に欠ける一方,Agentは柔軟性が高いが制御しづらくチューニングが必要. Agentic Workflow Agent 回答の一貫性 ◦ タスクの実行順序は決定的で制御しやすい △ 想定通りのタスクの実行順序になるとは 限らない 全体的なレイテンシー ◦ タスクを直列に実行するのみ △ タスク (Tool) 実行の度に LLM の思考がある 柔軟性 △ 一部のタスクのみを実行することはできない ◦ LLM が実行すべきタスクや実行順序を動的に 決定する 機能追加の容易性 △ フローが複雑になるほど,実装コストが高い (タスク間の依存関係の管理など) ◦ Tool を追加するのみで,改修範囲は狭い
  8. © 2025 NTT DATA Japan Corporation 10 SubAgent 2 Supervisor

    型の Multi Agent とは Supervisor と呼ばれる Agent が,状況に応じて実行すべき Agent (SubAgent) を決定し,SubAgent に制御を 渡す仕組み.Supervisor は,SubAgent の実行結果に応じて次の行動(他の SubAgent の実行など)を思考する. Supervisor SubAgent 1 Human routing LLM Call Tool 1 Tool 2 SubAgent を オーケストレーション 専門分野毎に, SubAgent を複数定義
  9. © 2025 NTT DATA Japan Corporation 11 Workflow を Multi

    Agent で利用するアイデア SubAgent として Agentic Workflow を利用することで,ユーザーの要望を基に実行すべき Workflow を柔軟に 選択しつつ,決定的な実行順序で正確にタスクを実行できると考えた. Supervisor SubAgent 1 Human SubAgent 2 LLM Call 1 LLM Call 2 In Out routing SubAgent として Agentic Workflow を利用
  10. © 2025 NTT DATA Japan Corporation 13 LangGraph で利用した機能 グラフをノードとして利用する

    SubGraph,Agent の制御を他の Agent に譲渡する handoff (Command) という機能 を利用している. Supervisor SubAgent 1 Human SubAgent 2 LLM Call 1 LLM Call 2 In Out routing SubGraph handoff (Command)
  11. © 2025 NTT DATA Japan Corporation 14 LangGraph とは ノードやエッジを利用して有向グラフを定義することで,Agentic

    Workflow や Agent を構築できるフレームワーク. 各ノード間のデータ (Agent の状態) の連携はステートを介して行う. ノード エッジ { ”messages”: ... , ”artifacts”: ... , } ステート (イメージ)
  12. © 2025 NTT DATA Japan Corporation 15 SubGraph 構築した Agentic

    Workflow や Agent をノードとして利用できる機能.コンパイルしたグラフを親グラフのノードとして追加 するだけで利用できる. Agentic Workflow を ノードとして定義
  13. © 2025 NTT DATA Japan Corporation 16 handoff (Command) ある

    Agent が別の Agent に制御を渡す考え方のことで,LangGraph の Command という機能を利用して実現する. Command とは,ノード内で Agent のステートの更新と,次に実行するノードの指定を同時に行う機能である. goto:次に実行するノード(サブグラフなど)を指定 update:ステートの更新 ノード内で動的に次に実行するAgentを指定可能
  14. © 2025 NTT DATA Japan Corporation 18 実装した Multi Agent

    によるアプリケーションのデモ 広告キャッチコピー文や広告画像を,Supervisor が各 Agentic Workflowで実行していることを確認できます. モデルは Amazon Bedrock の Claude 3.7 Sonnet,Amazon Nova Canvas を利用しています.
  15. © 2025 NTT DATA Japan Corporation 20 まとめ • Agentic

    Workflow, Agent 共に一長一短ある. • Agentic Workflow:タスクの実行順序は決定的で制御しやすいが,柔軟性に欠ける • Agent:柔軟性は高いが,制御しづらくチューニングが必要 • LangGraph と Bedrock を利用し,Supervisor 型の Multi Agent を実装した. • SubAgent として Agentic Workflow を利用することが可能 • SubGraph, handoff (Command) を利用することで実現可能 より詳細な解説記事や実装例は,近日公開予定です!
  16. © 2025 NTT DATA Japan Corporation 21 参考資料 本内容は,弊社での AWS

    Japan 生成 AI 実用化推進プログラムでの取り組みの一環です.プログラムにおける取り組み 内容や Agent に関するナレッジを外部発信しています!是非ご覧下さい! https://note.com/digitalsuccess/n/n958487f4d1cf https://qiita.com/yamato0811/items/02688690a85a670b773f
  17. © 2025 NTT DATA Japan Corporation 22 参考文献 ◼ Agent

    • https://www.anthropic.com/research/building-effective-agents • https://langchain-ai.github.io/langgraph/tutorials/workflows/ • https://langchain-ai.github.io/langgraph/concepts/multi_agent/ ◼ LangGraph • https://langchain-ai.github.io/langgraph/how-tos/subgraph/ • https://langchain-ai.github.io/langgraph/how-tos/agent-handoffs/ • https://langchain-ai.github.io/langgraph/how-tos/pass-run-time-values-to-tools/