Physical AI 向け汎用プラットフォーム構想
Physical AI 向け汎用プラットフォーム構想
Microsoft Foundry + Unity ベース
1. 目的
Microsoft Foundry を知能基盤(推論、エージェント、ツール実行、評価、監視)として使い、Unity を現実世界との接点(3D UI / XR / デバイス制御 / 状態可視化)として使うことで、ロボット、XR支援、現場作業支援、設備監視、教育訓練、遠隔操作支援など、さまざまな Physical AI プロジェクトに横展開できる共通基盤について検討してみました。
2. このプラットフォームの考え方
Physical AI を個別案件ごとにゼロから作ると、毎回次のようなものを作り直すことになります。
- センサー入力の取り込み
- 状況理解
- AI への問い合わせ
- AI の判断結果の可視化
- 操作 UI
- 安全制御
- ログ / 評価 / 監視
そこで、これらを共通レイヤー化します。
特に Foundry 側では、モデル利用だけでなく、agent が tool を呼ぶ構成や、trace / evaluate / monitor を組み込めるため、単なるチャットAIではなく、現実世界に作用する AI ワークフロー基盤として設計しやすいです。
3. 想定ユースケース
3.1 現場作業支援
作業員が HMD やタブレット越しに設備を見ると、Unity 上で設備状態・手順・警告を重畳表示し、Foundry 側の agent が「今どの手順を提示すべきか」「異常兆候に対して何を提案すべきか」を判断します。検索や社内ナレッジ照会が必要なら、tool 経由で検索系 API や業務 API を呼び出します。
3.2 ロボット / AMR / ドローン支援
ロボットから位置・障害物・バッテリー・タスク状態を受け取り、Unity で 3D デジタルツインとして表示します。Foundry 側では「次の行動候補生成」「異常時の代替行動」「人へのエスカレーション」を agent が担います。
3.3 教育 / 訓練シミュレータ
Unity で訓練空間や装置モデルを再現し、Foundry を使って、受講者の発話・操作・行動ログからリアルタイムに指導コメントを返す構成です。評価結果は trace と dataset に蓄積し、後からシナリオ改善に回せます。
3.4 設備監視・保守
IoT や映像から異常候補を検知し、Unity で設備のどこが怪しいかを 3D 表示、Foundry agent が保守履歴やマニュアルを参照して、点検候補や優先度を提示します。
4. プラットフォーム全体アーキテクチャ
[Physical World]
├─ Camera / Depth / Mic / IMU / IoT / Robot State
├─ Operator Input (Voice / Gaze / Hand / Controller / Touch)
└─ External Systems (MES, ERP, Ticket, Manual DB, GIS, CAD, PLC)
↓
[Unity Runtime Layer]
├─ Device Adapter Layer
│ ├─ XR Adapter (OpenXR)
│ ├─ Mobile/Tablet Adapter
│ ├─ Robot Adapter
│ └─ Sensor Adapter
│
├─ Interaction Layer
│ ├─ Voice Command
│ ├─ Hand / Controller Interaction
│ ├─ Spatial UI / 3D Annotation
│ └─ Workflow UI
│
├─ Scene Understanding / Digital Twin View
│ ├─ Asset Viewer
│ ├─ Task State Overlay
│ ├─ Alert Visualization
│ └─ Replay / Simulation
│
└─ AI Gateway Client
├─ Request Composer
├─ Context Packager
├─ Safety Precheck
└─ Result Renderer
↓ HTTPS / WebSocket / Event Bus
[Microsoft Foundry / Cloud AI Layer]
├─ Agent Orchestration
│ ├─ Planner Agent
│ ├─ Safety Agent
│ ├─ Retrieval Agent
│ └─ Action Agent
│
├─ Model Layer
│ ├─ LLM / VLM
│ ├─ Speech / Multimodal
│ └─ Specialized Models
│
├─ Tool Layer
│ ├─ Search Tool
│ ├─ Business API Tool
│ ├─ Robot Command Tool
│ ├─ Ticket/Workflow Tool
│ └─ Simulation Tool
│
├─ Knowledge Layer
│ ├─ Azure AI Search
│ ├─ Vector / Hybrid Search
│ ├─ Manuals / SOP / Logs
│ └─ Operational Memory
│
└─ Governance / Ops
├─ Tracing
├─ Evaluation
├─ Monitoring
├─ RBAC / Policy
└─ Content Safety
↓
[Execution / Actuation Layer]
├─ Suggest only
├─ Human approval required
└─ Auto-execute allowed (bounded actions only)
この構成のポイントは、Unity を「表示アプリ」ではなく Physical AI のフロント実行基盤にすることと、Foundry を「LLM呼び出し先」ではなく agent / tool / evaluation / governance を含む知能中枢にすることです。
5. レイヤー別の役割
5.1 Unity 側の役割
Unity は以下を担当します。
- センサーや操作入力の統合
- 3D / XR UI の提示
- 空間内オブジェクトや設備の可視化
- AI判断結果の人にとって分かりやすい表現
- 現場での即応性が必要な軽いローカル判定
- クラウドへ送るコンテキストの整形
Unity 共通モジュール案
/Runtime
/Core
AppStateManager
EventBus
ConfigManager
SessionManager
/Devices
OpenXRAdapter
HandTrackingAdapter
ControllerAdapter
CameraAdapter
MicrophoneAdapter
RobotStateAdapter
/AI
FoundryClient
ContextAssembler
PromptProfileManager
SafetyClient
ResponseInterpreter
/Visualization
SpatialHUD
AnnotationRenderer
AlertRenderer
DigitalTwinRenderer
TimelineReplayView
/Workflows
TaskGuideFlow
InspectionFlow
TrainingFlow
RemoteAssistFlow
/Safety
ActionGuard
ApprovalUI
EmergencyStopBridge
5.2 Microsoft Foundry 側の役割
Foundry 側は以下を担当します。
- モデル選択
- agent orchestration
- tool 呼び出し
- 検索 / 業務データ参照
- 推論の trace
- オフライン / オンライン評価
- 監視
- 安全制御ポリシー
Foundry エージェント分割案
1. Perception Agent
- Unityから来た観測情報を整理
- 状況ラベル化
- 異常候補抽出
2. Retrieval Agent
- Azure AI Search から SOP / 過去事例 / 図面 / FAQ を検索
- ベクター検索 + キーワード検索のハイブリッド検索
3. Planning Agent
- 今取るべき次の行動候補を生成
- リスク / 優先度 / 必要確認事項を整理
4. Safety Agent
- 危険操作の抑制
- human approval 必須判定
- policy check
5. Action Agent
- 業務API、ロボットAPI、チケット発行APIなどを tool として実行
6. Knowledge / Retrieval 基盤
Physical AI では、単に「賢く会話する」よりも、現場文脈に grounded した応答が重要です。
そのため、Foundry の agent から Azure AI Search を接続し、以下のデータを検索対象にします。
- マニュアル
- 保守手順書
- 作業標準書
- 設備台帳
- エラー履歴
- 過去チケット
- CAD / BOM のメタデータ
- 教材 / 訓練シナリオ
検索インデックス設計例
{
"asset_id": "EQ-1024",
"asset_name": "Hydraulic Pump A",
"document_type": "maintenance_manual",
"section": "pressure abnormality",
"text_chunk": "圧力低下時はまずシール摩耗を確認する...",
"vector": "[embedding]",
"tags": ["pump", "pressure", "maintenance"],
"risk_level": "medium",
"language": "ja",
"updated_at": "2026-04-01T09:00:00Z"
}
Retrieval の考え方
- 普段は hybrid search
- 図や写真が多い場合は将来的に multimodal index 拡張
- 機械ID・作業ID・位置情報でフィルタ
- Unity から送る現在状態をフィルタ条件に使う
7. 「汎用プラットフォーム」にするための抽象化ポイント
個別案件化しないためには、以下を固定化せず、差し替え可能な抽象インターフェースにします。
7.1 入力抽象化
public interface IPhysicalInputSource
{
string SourceId { get; }
PhysicalContextSnapshot GetSnapshot();
}
7.2 AI 呼び出し抽象化
public interface IAIOrchestrator
{
Task<AIActionPlan> EvaluateAsync(PhysicalContextSnapshot context);
}
7.3 出力抽象化
public interface IPhysicalActionTarget
{
Task<ActionResult> ExecuteAsync(ActionCommand command);
}
8. 動作モード
安全性のため、最初から fully autonomous にしない方が実務向きです。
Mode A: Advisory
AI は提案だけ行い、人が判断して操作する。
最も導入しやすく、安全監査もしやすいです。
Mode B: Human-in-the-loop
AI が候補行動を出し、人が承認したものだけ実行する。
現場支援や保守に向いています。
Mode C: Bounded Autonomy
「この条件を満たす時だけ自動実行」を許可する。
例: ログ取得、軽微なパラメータ調整、通知発報。
危険操作や物理移動は原則 approval 必須にします。
9. Safety / Governance 設計
Physical AI は、普通のチャットボットより安全設計が重要です。
そのため、以下の 3 段階を推奨します。
9.1 生成前・入力時
- ユーザー指示の危険性判定
- 作業フェーズに合わない命令の拒否
- 無関係な命令の抑制
9.2 生成後・提案時
- 提案内容の危険度スコア化
- 手順抜け / 根拠不足 / 曖昧命令のチェック
- high-risk は human approval 必須
9.3 実行前
- 装置状態との整合性確認
- 許可された API / command のみ実行
- fail-safe / emergency stop の用意
10. Trace / Evaluation / Monitoring 設計
このプラットフォームの強みは、案件を作ることではなく、案件を回しながら改善できることです。
そのため、すべての推論・検索・tool 実行・承認操作を trace 化します。
記録すべきもの
- 入力コンテキスト
- Unity 上の状況スナップショット
- 検索クエリ
- 取得ドキュメントID
- モデル応答
- 提案アクション
- 承認 / 却下
- 実行結果
- 現場 KPI
評価指標例
- 正答率
- 指示妥当性
- 手順逸脱率
- 危険提案率
- 人の修正率
- タスク完了時間短縮率
- 教育効果
- 誤アラート率
継続改善ループ
Trace収集
↓
失敗ケース抽出
↓
評価データセット化
↓
Prompt / Agent / Tool設計修正
↓
再評価
↓
本番反映
11. Unity 側の推奨技術スタック
最小構成
- Unity
- OpenXR
- Input System
- XR Interaction Toolkit
- Text / Voice / Networking 基盤
- Foundry 接続用 API クライアント
推奨サブシステム
- Interaction: XR Interaction Toolkit
- Cross-device XR: OpenXR
- State Sync: WebSocket / SignalR / gRPC
- Speech: Azure Speech など別サービス連携
- Visualization: デジタルツイン / 空間注釈 / 作業フローUI
- Logging: trace ID を Unity 側にも保持
12. API 設計イメージ
12.1 Unity → Foundry Gateway
{
"session_id": "sess-001",
"user_id": "operator-a",
"device_type": "xr_headset",
"scene_id": "plant-room-3",
"task_mode": "inspection",
"context": {
"asset_id": "EQ-1024",
"user_utterance": "この異音は危険ですか?",
"position": { "x": 1.2, "y": 1.6, "z": -0.3 },
"sensor_state": {
"temperature": 76.2,
"pressure": 3.1,
"battery": 82
},
"vision_tags": ["pump", "valve", "warning-light"]
}
}
12.2 Foundry Gateway → Unity
{
"trace_id": "trace-789",
"status": "requires_human_confirmation",
"summary": "ポンプ周辺の圧力低下と異音が同時に観測されています。",
"recommended_actions": [
{
"action_type": "show_instruction",
"priority": "high",
"label": "シール摩耗点検手順を表示"
},
{
"action_type": "create_ticket",
"priority": "medium",
"label": "保守チケットを起票"
}
],
"safety_flags": ["mechanical_risk_possible"],
"references": [
"manual:hydraulic_pump_a:sec_4_2",
"ticket_history:eq_1024:last_maintenance"
]
}
13. プロジェクト適用テンプレート
どの案件にも適用しやすくするには、最初から Project Template 化しておくと良いです。
Template A: XR作業支援
- HMD前提
- 空間注釈
- 音声入力
- 手順誘導
- human approval UI
Template B: ロボット監視・遠隔支援
- 2D/3D マップ
- ロボット状態一覧
- 行動候補提示
- 通知・アラート
- オペレータ承認
Template C: 教育訓練
- シナリオ再生
- 受講者操作ログ
- AI講師コメント
- 採点
- リプレイ評価
Template D: 設備保守
- 設備3Dモデル
- 異常箇所マーキング
- 手順表示
- 保守履歴検索
- チケット起票
14. 導入ロードマップ例
Phase 1: Viewer + AI Assistant
Unity で現場情報を表示し、Foundry に問い合わせて提案を返す段階。
まだ制御はせず、提案中心にする。
Phase 2: Retrieval + Workflow
Azure AI Search を接続し、マニュアル・履歴・SOP と連携。
案件ごとの差分は「検索対象データ」と「業務 tool」に閉じ込める。
Phase 3: Human-in-the-loop Action
チケット発行、点検依頼、ログ保存、軽微コマンド実行まで拡張。
危険動作は approval 必須。
Phase 4: Bounded Autonomy
条件付き自動実行へ拡張。
十分な評価データと安全ポリシーを前提に、一部操作のみ自動化する。
15. この構成の強み
1: 案件横断で再利用しやすい
Unity 側を「入力・可視化・操作」、Foundry 側を「判断・検索・実行・評価」に役割分担すると、案件ごとの差分を限定できます。
2: XR でも 2D でも展開できる
Unity は XR だけでなく PC / モバイル / タブレットにも展開しやすいため、同じ AI バックエンドを複数 UI に再利用しやすいです。
3: 評価しながら育てられる
Foundry は tracing / evaluation / monitoring の導線を持つため、PoC 止まりではなく、改善サイクルを回しやすいです。
4: 汎用性
tool 呼び出しを組み込むことで、検索、API 実行、業務システム更新、ロボット制御などに接続できます。
16. 注意点
1 検索品質が全体品質を左右する
現場AIは、モデル性能だけでなく、検索対象の整備、chunk 設計、メタデータ設計、フィルタ設計が重要です。
2 Unity 側は“派手さ”より運用性
現場向けでは、
- 低遅延
- わかりやすい注釈
- 誤操作しにくい導線
- trace_id と結びつくログ
の方が重要です。
17. 原則の取り決めの例
概要
「Unity を身体・空間・現場のフロントエンド、Microsoft Foundry を知能・判断・評価のバックエンドにした、再利用可能な Physical AI 共通基盤」
コア原則
- Unity は現場接点
- Foundry は知能中枢
- Search は現場知識基盤
- Tool は実行手段
- Safety / Trace / Evaluation は最初から組み込む
18. 方針検討案
Microsoft Foundry を用いて AI エージェント、モデル、ツール実行、評価、監視を担い、Unity を用いて現実空間・設備・ロボット・作業者とのインタラクションを構築する、Physical AI 向け汎用プラットフォームとする。
本プラットフォームにより、XR作業支援、設備保守、ロボット監視、教育訓練など複数の案件に対し、共通アーキテクチャを再利用できる。Unity 側は OpenXR と XR Interaction Toolkit によってマルチデバイス対応し、Foundry 側は agent / tools / tracing / evaluation / monitoring を通じて、PoC から運用改善まで一貫して支援する。
また、Azure AI Search によるベクター検索・ハイブリッド検索を知識基盤とし、現場文脈に grounded した応答を実現する。安全面では、Content Safety、human approval、bounded autonomy を組み合わせ、現実世界へ作用する AI に必要な統制を確保する。
Discussion