DeviceAgent Agentic I/O Coverage Matrix
이 문서는 MR6 DeviceAgent의 함수와 데이터를 단순 API 목록이 아니라 Observe → Decide → Act → Evidence 폐루프로 읽기 위한 요약 원장이다.
기능이 있다는 것과 Agentic 폐루프가 닫혔다는 것은 다르다.
현재 기준 수량은 다음과 같다.
- 68개 저수준 AIDL method: AMR 47, Vision 3, IoT 4, Streaming 14
- 60개 등록 task method / 11개 executor 객체:
TaskExecutorBootstrap의 실제 실행 표면 - 24개 Capability Card 연결 task method: 실제 관리 실행에 쓰는 부분집합
- 14개 Planning Context bundle:
DevicePlanningContextProvider - 9개 semantic observation contract: 개인정보를 제거한 의미 이벤트
- 18개 Agentic Capability Card: Planner가 선택할 수 있는 의미 capability
68개 AIDL method는 Planner에 직접 노출되는 목록이 아니다. 저수준 domain 함수는 DeviceAgent adapter와 정책 뒤에 두고, Planner는 Capability Card를 선택한다. 또한 Capability Card ID와 Cloud runtime capability ID는 동일 이름을 전제하지 않는다. 현재 runtime binding manifest는 14개 connected, 3개 partial, 1개 blocked를 Cloud catalog·전문 Agent·workflow primitive에 명시적으로 연결한다.
기계 판독 원본은 deviceagent-agentic-io-coverage-matrix.json이다.
1. 네 개의 평면
Observe
DeviceAgent는 배터리, 공간, 위치, 이동, 공기질, 청정, AWS 연결,
음성 LLM pipeline, WSS Security, TaskManager queue와 bounded semantic
event를 제공한다. 데이터가 없거나 오래됐으면 unknown/stale이며 정상으로
간주하지 않는다.
Decide
Cloud Planner는 capability와 dependency를 선택한다. 장시간 경험에서는 Experience Supervisor가 catalog subscription, workflow correlation, freshness, privacy, step scope, decision budget을 통과한 사건만 재판단한다.
Act
On-device는 typed step을 전달하고 DeviceAgent TaskManager는 method mapping, admission, queue, timeout, cancellation, compensation을 소유한다. 자연어 keyword로 executor를 직접 선택하지 않는다.
Evidence
STARTED나 MQTT 응답은 물리 완료가 아니다. 다음 단계는
movement.arrived, cleaning.stopped, interaction.completed 같은 domain
predicate와 terminal task event를 함께 확인해야 한다.
2. 기능군별 정리
| 기능군 | Act | Observe | Evidence | 현재 판정 |
|---|---|---|---|---|
| 자율주행·Map | 이동·정지·제자리 회전·복귀·Map 요청 | 공간 목록·현재 위치·스테이션 후보·도킹 신호·이동 상태 | 도착·회전 완료·도킹·terminal | M3_MANAGED, 탐색 physical E2E 필요 |
| 청정·환경 | 청정 시작·정지 | 공기질·청정·freshness | started/stopped | M3_MANAGED, room scan은 미관리 |
| Vision·사람 | 정지·관찰 자세 기반 단발성 의미 관찰 | WSS-scoped 사람·저조도와 semantic-only 결과 | fresh semantic event | raw frame 비노출, 실기기 관찰 E2E 필요 |
| WSS Security | preflight·start/pause/resume/stop | session·stage·인증 outcome | started/stopped/patrolCompleted | 관리 lifecycle 연결, 전체 실기기 E2E 남음 |
| LiveView | 별도 Binder 기능 | 중앙 context 없음 | TaskManager terminal 없음 | NO_GO |
| LLM·음성 | TTS·상태·중지 | 내용 없는 pipeline state | accepted·state event | playback terminal과 workflow correlation 공백 |
| AWS·IoT | command relay·response publish | cached 연결 상태·freshness | transport observation | subscription/publish health 미노출 |
| 스케줄·Interaction | 반복·one-shot·Welcome lifecycle | 등록 schedule projection, interaction callback | interaction lifecycle | active stage·terminal outcome 보강 필요 |
| App·VitalSign | Launcher/app session 시작 | session callback | session ended | 성공 측정과 취소 구분 안 됨 |
| 설정·LED·PUI | 설정과 scene 변경 | 일부 get 결과 | 주로 ACK | effective state 증거 보강 필요 |
| 업데이트·정비 | OTA 결과·상태 반영 | 배터리 외 maintenance/resource 미노출 | 일부 method 결과 | production resource snapshot 공백 |
| Task·Supervisor | admission·queue·replan | queue summary·active workflow·현재 step·recent terminal·semantic event | task/workflow event | runtime context 코드 연결, platform-signed E2E 대기 |
3. 데이터가 오가는 방향
MR6 domain state / callback
-> DevicePlanningContextProvider 또는 SemanticObservationStore
-> On-device durable relay
-> Cloud Planner compact context / Experience Supervisor
-> typed capability plan
-> On-device TaskManager bridge
-> DeviceAgent TaskManager
-> domain executor
-> completion predicate + task event
-> workflow step_results
-> 다음 step 또는 bounded replan
Planner에 현재 들어가는 14개 bundle
battery, map, location, station, air_quality, cleaning, movement,
network, voice_llm, security, interactions, task_manager,
semantic_observations, capabilities
task_manager에는 device-task-manager-context.v1 계약으로 active
workflow·현재 step·recent terminal이 들어간다. MR6는 기존 TaskRecord
snapshot을 유일한 상태 권위로 사용하고, active task 최대 4건과 terminal
최대 4건만 allowlist projection한다. Cloud도 같은 필드를 다시 제한해
Planner에 전달한다.
포함되는 값은 task/workflow/step 상관관계, state, progress, stage, timestamp와 bounded reason뿐이다. raw input, result, message, conditions, reason parameters는 포함하지 않는다.
아직 직접 들어가지 않는 핵심 상태
- 지속 일반 Vision summary와 camera health. 단발성
observeVisionSemantics는 TaskManager 관찰 단계로 호출할 수 있다. - Streaming state, owner, correlation
- active Interaction stage와 성공·취소·실패 terminal outcome
- VitalSign의 측정 성공·취소 outcome
- maintenance/filter/update/resource pressure
이 공백은 발화 패턴을 추가해서 해결하지 않는다. 각 domain producer가 freshness와 provenance가 있는 bounded semantic state를 제공해야 한다.
4. 대표 Agentic 시나리오
전체 기능 조합의 대표 시나리오는 Adaptive Welcome & Care로 고정한다. Adaptive Home Guardian은 WSS·Vision·network interruption을 강하게 검증하는 specialist stress scenario로 유지한다.
Adaptive Welcome & Care가 묶는 기능
- AWS/GPS 또는 제품 schedule이 귀가 목표를 시작한다.
- 자율주행 context로 현재 위치와 실제 공간을 확인한다.
- 배터리·공기질·TaskManager 상태로 실행 가능성을 평가한다.
- 기존 Product Interaction으로 환영 동작을 수행한다.
- raw 영상 없이 사람 존재·저조도 의미 상태만 관찰한다.
- Supervisor가 청정·생략·질문 중 하나를 선택한다.
- LLM이 환경과 수행 결과를 사용자에게 설명한다.
- 취소·저전력·실패·네트워크 단절에서는 로컬 복구 또는 bounded replan을 수행한다.
- 경험이 끝나면 스테이션 복귀와 terminal evidence를 확인한다.
왜 단순 매크로가 아닌가
- 시작 때 한 번 만든 고정 순서만 실행하지 않는다.
- 이전 단계 결과를
output_key로 저장하고 다음 단계가input_from으로 소비한다. - 정상 progress는 Cloud LLM을 다시 호출하지 않는다.
- 의미 경계에서만 Supervisor가 제한된 대안을 선택한다.
- DeviceAgent policy, resource admission, privacy, physical evidence가 Planner보다 우선한다.
5. 현재 완료 수준
| 수준 | 상태 |
|---|---|
| 소스 기능 조사 | 68개 저수준 AIDL, 11 executor 객체, 60개 task method 정리 |
| 기계 계약 | 24개 Card task method, 18 capability, 14 context bundle, 9 semantic event 정리 |
| Cloud runtime 정합 | Card 14 connected, 3 partial, 1 blocked를 실제 catalog ID와 대조 |
| Cloud observation policy | 코드 연결 및 자동 테스트 완료 |
| 대표 Experience 계약 | 단계·의존성·결과 binding·재계획 예산 정의 |
| On-device/TaskManager 전달 | 기존 typed workflow 경로 연결 |
| 전체 physical E2E | 미완료 |
따라서 현재 결과는 “Agentic 설계와 계약이 연결됐다”까지다. 실제 기기에서 귀가 trigger → observation → Supervisor → TaskManager → 물리 완료 → 후속 step/replan을 한 trace로 증명해야 production-ready로 올릴 수 있다.
6. 다음 고도화 우선순위
- active workflow/step/recent terminal의 platform-signed 실기기 trace와 callback 기반 replan을 검증한다.
- AWS·LLM observation에 내용 없이 active experience correlation을 붙인다.
- 단발성 의미 관찰의 실기기 완료를 검증하고, 지속 Vision summary와 Streaming state는 privacy/security gate 뒤에 둔다.
- Interaction·VitalSign의 terminal outcome을 성공·취소·실패로 분리한다.
- 대표 Experience의 platform-signed 실기기 trace를 수집한다.