DeviceAgent Semantic Observation Catalog
이 문서는 MR6 DeviceAgent에서 Cloud A2A로 전달되는 자율주행 주변 상태, Vision/WSS, LLM, AWS 데이터를 관찰 가능과 자동 재계획 가능으로 나누어 설명한다.
기계 판독용 원장:
1. 가장 중요한 경계
데이터가 DeviceAgent에 존재함
!= Planner가 읽을 수 있음
!= active workflow와 correlation됨
!= Experience Supervisor가 호출됨
!= TaskManager 재계획이 실기기에서 완료됨
현재 AWS, LLM, Vision/WSS producer는 기본적으로
requires_cloud_decision=false인 telemetry를 만든다. 이것은 정상 상태
변화마다 Cloud LLM을 호출하지 않기 위한 안전한 기본값이다.
새 runtime observation policy는 active workflow가 catalog의 contract ID를
구독한 경우에만 workflow_policy 경계로 승격한다. 사용자 발화, event 이름
부분 문자열, 한국어 keyword를 다시 해석하지 않는다.
2. 기능군별 데이터
| 기능군 | 현재 들어오는 데이터 | 현재 사용 범위 | 자동 재계획 상태 |
|---|---|---|---|
| 자율주행 | 현재 공간, 방 목록, 위치, 이동 상태, 도킹 상태 | Planner context, TaskManager 완료 판정 | 이동 terminal은 task event로 연결. semantic policy 대상과 별도 |
| Vision/WSS | 사람 존재, 인증 시작·결과·timeout, 저조도, Security 조건·session | 원본 frame 없이 의미 event만 전달 | active Security workflow correlation이 있을 때만 policy 승격 가능 |
| LLM | pipeline state, busy, voice session, reasoning backend, output state | Planner context와 telemetry | 현재 observation은 unscoped라 active workflow 자동 승격 불가 |
| AWS | IoT 연결 여부와 session state | Planner context와 telemetry | 현재 observation은 unscoped라 active workflow 자동 승격 불가 |
| 환경·배터리 | 공기질, 배터리, freshness/TTL | 조건 판단과 사용자 응답 | 주기 snapshot이며 별도 semantic decision producer는 제한적 |
| TaskManager | queue, running task, step lifecycle, reason, terminal evidence | 실행·재개·실패·취소의 권위 | task event의 explicit decision boundary는 기존 경로 유지 |
3. 현재 9개 의미 observation
| Contract ID | 주요 facts | workflow correlation |
|---|---|---|
network.aws_iot_session_changed |
connected, session state | 없음, snapshot 전용 |
voice_llm.pipeline_state_changed |
pipeline, busy, voice session, backend | 없음, snapshot 전용 |
security.person_detected |
presence, verification state, area | active Security workflow |
security.verification_started |
area | active Security workflow |
security.verification_result |
outcome, method, terminal, attempt | active Security workflow |
security.verification_timed_out |
area | active Security workflow |
security.session_state_changed |
session state, result, event code | active Security workflow |
vision.low_light_changed |
low-light semantic state | active Security workflow |
security.condition_changed |
battery/network/low-light condition | active Security workflow |
Vision의 bbox, raw frame, 얼굴 이미지, PIN, credential은 일반 Planner 또는 Supervisor context에 넣지 않는다. LLM observation에도 recognized text, prompt, 응답 본문, TTS 문장을 포함하지 않는다.
4. runtime observation policy
Planner가 장시간 목표를 계획할 때만 아래와 같은 typed policy를 만들 수 있다.
{
"contract_version": "a2a-experience-policy-v1",
"experience_id": "adaptive-welcome",
"goal_summary": "사용자 귀가 상황을 안전하게 지원한다.",
"observation_policy": {
"subscriptions": [
{
"contract_id": "security.person_detected",
"decision_mode": "supervisor",
"step_ids": ["confirm_presence"]
}
]
},
"decision_budget": {
"max_decisions": 3
}
}
Cloud runtime은 다음 순서로 검사한다.
- catalog에 존재하는 contract ID인지 확인한다.
- observation의 workflow와 step correlation을 확인한다.
freshness_ms <= ttl_ms인지 확인한다.- privacy class와 허용 fact key만 Supervisor context에 남긴다.
- workflow decision budget을 확인한다.
- 통과한 event만 Experience Supervisor에 전달한다.
producer가 이미 requires_cloud_decision=true를 명시한 explicit boundary는
기존대로 우선한다. policy는 이 경계를 대체하지 않고, 정상 telemetry 중
현재 목표에 의미가 있는 event만 제한적으로 승격한다.
5. 현재 가능한 Agentic 폐루프
사용자 장시간 목표
-> Planner: typed action + observation policy
-> On-device: workflow 전달
-> TaskManager: 단계 실행과 admission
-> DeviceAgent: executor와 semantic observation
-> Cloud: correlation + freshness + privacy 검증
-> Experience Supervisor: continue / ask / replan / return / abort
-> catalog-grounded 새 계획
-> TaskManager callback과 terminal evidence
코드 수준에서는 policy 승격과 Supervisor 호출이 연결됐다. 그러나 platform-signed 전체 E2E는 미검증이다. 특히 AWS·LLM observation은 현재 workflow ID가 없으므로 active experience에 자동으로 결합되지 않는다.
6. 다음 보강 순서
- AWS와 LLM producer에 발화 내용 없이 active workflow correlation을 전달하는 소유권 계약을 정의한다.
- 일반
VisionAIManagerlocal scenario와 WSS semantic event를 구분한 perception catalog를 만든다. - TaskManager가 시작하지 않은 product interaction에도 experience/workflow correlation을 보존한다.
- A2A Text Console에 observation 수신, policy match, Supervisor decision, replan dispatch, terminal evidence를 한 timeline으로 표시한다.
- platform-signed 실기기에서 WSS observation부터 policy 폐루프를 검증한다.
7. 소스 근거
- Cloud
gemini/a2a/registry/semantic_observation_registry.v1.json - Cloud
gemini/a2a/runtime/observation_policy.py - Cloud
gemini/a2a/runtime/semantic_observation.py - MR6
task/observation/ConnectivityObservationBridge.java - MR6
task/observation/LlmPipelineObservationBridge.java - MR6
wss/support/WssSemanticObservationAdapter.java - MR6
task/DevicePlanningContextProvider.java - MR6
recognition/VisionAIManager.java