Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

© 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データ テクノロジーコンサルティング事業本部

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

© 2025 NTT DATA Japan Corporation 5 01 Agentic Workflow vs Agent

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

© 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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

© 2025 NTT DATA Japan Corporation 9 02 Multi Agent

Slide 10

Slide 10 text

© 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 を複数定義

Slide 11

Slide 11 text

© 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 を利用

Slide 12

Slide 12 text

© 2025 NTT DATA Japan Corporation 12 03 LangGraph での実装方法

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

© 2025 NTT DATA Japan Corporation 14 LangGraph とは ノードやエッジを利用して有向グラフを定義することで,Agentic Workflow や Agent を構築できるフレームワーク. 各ノード間のデータ (Agent の状態) の連携はステートを介して行う. ノード エッジ { ”messages”: ... , ”artifacts”: ... , } ステート (イメージ)

Slide 15

Slide 15 text

© 2025 NTT DATA Japan Corporation 15 SubGraph 構築した Agentic Workflow や Agent をノードとして利用できる機能.コンパイルしたグラフを親グラフのノードとして追加 するだけで利用できる. Agentic Workflow を ノードとして定義

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

© 2025 NTT DATA Japan Corporation 17 04 アプリケーションのデモ

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

© 2025 NTT DATA Japan Corporation 19 05 まとめ

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

© 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/

Slide 23

Slide 23 text

No content