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

EarthCopilotに学ぶマルチエージェントオーケストレーション

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 EarthCopilotに学ぶマルチエージェントオーケストレーション

2026/4/18(土)に開催された Global Azure 2026 @ Tokyo( https://jazug.connpass.com/event/386399/ ) に参加した時に懇親会飛び込みLTで発表した資料です。

Avatar for なかしょ

なかしょ

April 18, 2026

More Decks by なかしょ

Other Decks in Technology

Transcript

  1. 自己紹介 • なかしょ(中島進也) @nakasho_dev • 所属:NTTテクノクロス株式会社 デジタルトランスフォーメーション事業部 • 業務:MaaS関連のスマートフォンアプリ開発担当 •

    趣味: ➢妻とモンハンデート ➢AI+モバイル+地理空間情報システム ➢IT関連の勉強会(主にモバイル系 or アジャイル系 or Microsoft系) ➢技術コミュニティの運営スタッフ ✓eXtreme Programming Japan User Group(XPJUG) 2019〜 ✓TDD BootCamp Online (TDDBC) 2020~ ※本資料は私個人の意見であり、所属企業・部門見解を代表するものではありません。
  2. Earth Copilot 3 https://blogs.microsoft.com/blog/2024/11/14/from-questions-to-discoveries-nasas-new-earth-copilot-brings-microsoft-ai-capabilities-to-democratize-access-to-complex-data/ • 自然言語で衛星データ を検索・可視化・分析 できる。 • NASAの

    100ペタバイト 超 の Earth Science データ活用の壁を下げ ることが狙い。 • 土台には NASA の VEDA というオープン な Earth Science プ ラットフォームがある。
  3. OSS版 Earth Copilot登場 5 • 2025/9/15 GitHub上に公開 • PoC(概念実証)であり本番向け製品ではない •

    Microsoft Copilot 製品そのものとしてサポートされるものではなく、 再利用可能な geospatial AI パターンを示すための実装例 • これからのCopilot/Agentが業務データ以外の巨大な専門データに も拡張される未来像を語る材料
  4. 1.『ユーザー要求』ではなく『処理責務』で分割 ユーザー要求の例 2025年6月のサンディエゴで、雲量が少ない HLS画像を表示してください 1. User Query 自然言語 の入力 2.

    Agent 1 Intent Classification 意図理解 3. Agent 2 Collection Mapping データの抽出 4. Agent 3: STAC Query Builder (Orchestrator) 位置 / 時刻 / 雲量を統合して検索条件を作る 4-1 Agent 4 Location Extraction Utility Location Resolution bounding box化 4-2 Agent 5 Datetime Translation 4-3 Agent 6 Cloud Filtering 5. STAC Search 検索実行 6. Agent 7 最適タイル 選定 7. Utility Hybrid Rendering System bands / color scale / TiTiler URL 8. Agent 8 Response Generation 説明生成 9. Output Map Overlay + Explanation 地図表示 + 文章回答 責務分割の見取り図:意味理解 → データ選定 → 条件抽出(位置 / 時刻 / 雲量)→ 検索 → 表示最適化 → 説明生成 1つのエージェントに全部やらせず、曖昧な部分だけAIに任せ、正確性が必要な部分はUtilityで支える 構造化 STAC条件 最適タイル選定
  5. 2. オーケストレーターは『全部やる賢い親分』ではなく、『流れを設計する司令塔』 Earth Copilot の Agent 3 は、自分で全部解くのではなく、Location / Datetime

    / Cloud Filtering を順序立てて呼び出し、結果を統合して STAC Query にする 入力クエリ Show me HLS images of San Diego with low cloud cover from June 2025 Agent 1 Intent Classification 何をしたい問い合わせかを判定 Agent 2 Collection Mapping どの衛星データを使うか選ぶ Agent 3: STAC Query Builder (Orchestrator) 役割: 誰に何をどの順番でやらせるかを決め、結果を統合する Step 1 Agent 4 Location Extraction Utility Location Resolution 地名 → bbox Step 2 Agent 5 Datetime Translation Step 3 Agent 6 Cloud Filtering 統合 結果を まとめる STAC Search Executor STAC API に検索条件を渡す Agent 7 Tile Selector 候補から最適タイルを選択 Utility Hybrid Rendering Agent 8 Response Generation 説明生成 Output Map Overlay + Explanation 司令塔としてのポイント オーケストレーターの仕事は『答えること』ではなく、『順序づける・ルーティングする・統合する』こと = 最強の単独エージェントではなく、流れを設計する中核部品 Location → Datetime → Cloud Filter の順に処理させる 統合後に STAC API へ渡す 構造化クエリ
  6. 3. LLMに任せるべき部分と、決定論的に処理すべき部分を分ける Earth Copilot は 『曖昧な解釈はAI、精密で再現性が要る部分はコード』 に分ける hybrid flow の実例

    入力クエリ Show me HLS images of San Diego with low cloud cover from June 2025 AI に任せる領域 決定論的 Utility / Code 自然言語の曖昧さを解釈して、意味を抽出する 座標化・構造化・描画パラメータ生成のような再現性が必要な処理 Agent 4 Location Extraction 地名を抽出 Agent 5 Datetime Translation 自然言語の時間表現を解釈 Agent 6 Cloud Filtering 雲量条件を解釈 Agent 8 Response Generation 結果を文章化 Location Resolution Azure Maps / Geo API 地名 → bbox 座標 Datetime Structuring ISO 8601 時間表現 → 構造化形式 STAC Query Builder 構造化クエリ生成 Hybrid Rendering System STAC collection ごとの描画設定 bands / color scale / URL Output Map Overlay 設計原則 Dynamic flow + Deterministic flow = Hybrid flow 解釈はAI、精度はコード 設計メッセージ Earth Copilot は LLM を増やしたのではなく、LLM の責任範囲を絞っている。 抽象的な理解は AI、確定処理は Utility に分けることで、精度と再現性を両立する。 抽出 → 座標化 解釈 → ISO化 条件 → クエリ 地図結果 + 構造化情報
  7. 4. 『全エージェント常時起動』ではなく、条件付きで呼び出している Earth Copilot は、必要な場面で必要な専門家だけを呼ぶ。Tile Selector は条件付き、GEOINT は pin-drop 時のみ起動

    通常のテキスト検索フローTile Selector は“必要なときだけ”起動 User Query 自然言語の検索 Base Pipeline Intent / Collection / STAC Query Builder STAC Search 検索結果 条件判定 広域検索? 複数collection? 高解像度優先? Agent 7 Tile Selector 必要時のみ Skip そのまま次工程へ 不要なら起動しない Hybrid Rendering 描画設定生成 Agent 8 応答 GEOINT 専門分析フロー 通常検索とは別系統。pin-drop 時だけ起動 Map Interaction ユーザーが pin-drop GEOINT Router 専門分析モードへ移行 Terrain 地形分析 Mobility 移動性分析 Damage 被害評価 Comparison 比較分析 Extreme Weather 気象/気候分析 Agent 8 結果説 明 設計メッセージ: すべてのエージェントを毎回オーケストレーション対象にしない。 条件付き起動にすることで、ノイズ・誤選択・コストを減らし、必要な場面で必要な専門家だけを呼ぶ。 Yes No 通常の検索フローとは分離。ユーザー操作(pin-drop)が トリガーになったときだけ GEOINT 系を起動 Tile Selector は、広域 / 複数候補 / 高解像度優先のときだけ使う。 毎回は呼ばない。
  8. 5. 専門エージェントは『知識が違う』だけでなく『使える道具が違う』 Earth Copilot の GEOINT 系は prompt の違いではなく、ツール権限・データアクセス・実行可能アクションの違いで専門性を分けている 共通の入口とルーター

    User / Pin-drop 地図上の地点指定 何を分析したいかを入力 GEOINT Router 分析種別に応じて 適切な専門エージェントへルー ティング 共通メッセージ 『どの人格か』ではなく 『どのツールが必要か』で選ぶ Terrain Analysis Agent = 地形を見る専門家 Agent Terrain 地形 / 洪水 / 環境制約 Primary Data DEM / Water / WorldCover Elevation 標高分析 Slope 傾斜分析 Aspect 斜面方向 Flood Risk 洪水リスク Flat Areas 平坦地抽出 Env. Sensitivity 環境制約 = 地形を見るための専用ツールセットを持つ Mobility Analysis Agent = 進める / 進めないを 見る専門家 Agent Mobility 移動性 / 障害物 / 火災 Primary Data SAR / Sentinel-2 / DEM / MODIS Water Detect SAR 水域検知 Vegetation NDVI vegetation Slope for Mobility 傾斜判定 Active Fire 火災検知 Directional Mobility 方向別評価 Obstacle Synthesis 障害統合判定 = 移動可否を見るための専用ツールセットを持つ 設計メッセージ: エージェントを“人格分割”として考えるのではなく、tool calling・データアクセス・権限の分離として設計する。 専門性は『知っていること』より『呼べる道具』で決まる。 ルーターは『どの話題か』より 『どのツールセットが必要か』 で専門家を選ぶ Terrain は DEM 系ツール群で強い Mobility は SAR / NDVI / 火災検知ツール群で強い
  9. 6. フォールバックがあるから、マルチエージェントでも壊れにくい Earth Copilot は GPT 系エージェントが失敗しても、rule-based / keyword-based /

    multi-tier resolution に退避できる構造を持つ Primary Path と Fallback Path の関係 失敗したら全体停止ではなく、別ルートで処理を継続する User Query 自然言語の入力 Collection Mapping Primary: GPT-based selection Location Resolution Primary: multi-tier geocoding Tile Selector Primary: GPT logic Output 処理継続 / 回答生成 GPT unavailable ? Primary fail? GPT fail? Fallback Path 失敗時は deterministic / keyword / cascade strategy に切り替え Fallback 1 Keyword-based Collection Mapping collection 選択をルールベースで 継続 Fallback 2 Geocoding Cascade Azure Maps → OpenAI → Nominatim → GeoNames Fallback 3 Rule-based Tile Selection resolution / date / cloud でソー ト Result 品質を保ちながら処理を継続 “完全停止”ではなく “劣化継続” を選ぶ 設計原則 1) 1つのエージェント失敗で全体停止させない 2) 失敗時は精度が少し下がっても 決定論的パスへ退避する 3) オーケストレーション品質 = 賢さ + 退避経路 + 観測可能性 fail cascade fallback 設計メッセージ: マルチエージェントは『賢いエージェントを増やすこと』ではない。失敗しても業務が前に進むように、fallback を含めて設計することが実務では重要。
  10. 7. マルチエージェントの目的は会話を豪華にすることではなくドメイン操作を成功させること Earth Copilot は会話を盛るためではなく、衛星データ検索・地理条件生成・画像選定・専門分析という実務の成功率を上げるために分散している ユーザー視点: 何をしたいか 『会話』ではなく 『目的達成』 がゴール

    User Query 例: 2025年6月の San Diego の 雲量が少ない HLS 画像を見たい 本当の目的 正しいデータを見つける 条件に合う画像を表示する さらに高度な目的 比較したい 地形を知りたい 災害影響を見たい システム視点: 成功させるべきドメイン操作 会話を分散しているのではなく、 業務処理を分散している 1. Data Discovery どの collection を使 うか 2. Query Structuring 位置 / 時刻 / 雲量を構造 化 3. Search Execution STAC API 検索 4. Tile Selection 最適画像の選定 5. Rendering 地図表示用パラメー タ生成 6. Domain Analysis 比較 / 地形 / 被害評価 成果物と価値 会話の豪華さではなく、 成果物の有用性で評価する 成果物 1 正しいデータ発見 探す時間を短縮 成果物 2 条件に合う画像表示 見たいものが見える 成果物 3 専門分析の実行 terrain / mobility / damage 成果物 4 説明と次アクション 意思決定につなげる 価値 専門知識がなくても Earth science data にアクセスし、 探索・可視化・分析を前に進められる 設計メッセージ: マルチエージェントの目的は、チャットを派手にすることではない。 複雑なドメイン操作を成功させ、ユーザーを『会話の満足』ではなく『目的達成』へ近づけることにある。 = 分散対象は “会話” ではなく “実業務処理” ユーザーが欲しいのは『うまい返答』 ではなく『欲しい結果』 評価軸は『会話が面白いか』 ではなく『データ探索や分析が前進したか』
  11. まとめ 17 • 地球に質問できるAI、Earth Copilot • 地球観測データの「検索UI」を会話型に変えたものではなく、専門 的な地理空間ワークフロー全体をAIでオーケストレーションする事例 • Earth

    Copilotは、1人の超人AIではなく、専門家チームを司令塔が動 かす設計 ➢マルチエージェントの価値は、エージェント数ではなく、責務分解とオーケ ストレーション品質にある • AIエージェントアーキテクチャを学んで、 Azureを活用した他の専門 分野のCopilotを作ろう