← Docs hub

A2A Experience Supervisor

문서 역할
처음 접하는 독자는 Experience Goal: 명령 수행에서 결과 위임으로에서 전체 AS-IS/TO-BE를 먼저 본다. 이 문서는 장기 경험에서 목표·관찰·재판단 상태를 어떤 Supervisor가 유지하는지에 집중한다.

이 문서는 최근 진행한 A2A Planner, DeviceAgent TaskManager, device context, callback/replan 작업을 바탕으로, 물리 workflow와 대화·퀴즈·이야기·브리핑을 하나의 장기 경험으로 관리하는 Experience Supervisor를 구체화한다.

핵심은 복합명령 step을 더 많이 만드는 것이 아니다. Supervisor가 사용자의 상위 목표를 보존하고, 기기와 콘텐츠 상태를 함께 관찰하고, 상황 변화에 맞춰 경험을 재계획해야 한다.

A2A Experience Supervisor

1. 최근 작업에서 확보한 기반

기반 현재 의미
A2A Planner 발화를 route family, owner, skill, step, dependency로 분해
Cloud workflow state active workflow, plan state, 최근 task event, replan decision 유지
TaskManager task/workflow queue, 단계 실행, timeout, cancel, completion 관리
DeviceAgent context battery, map, location, cleaning, movement, TaskManager, capability 제공
Task event callback 정상 진행과 Cloud 판단 필요 event를 분리
Schedule 즉시 실행이 아닌 task/workflow 시작 시점 관리
콘텐츠 Agent DEF, FRG, STM, ETR을 통한 대화, 최신 정보, 이야기, 놀이

2026-07-25 비이동 shadow r3160/60, read-only 실기기 r3210/10은 초기 계약 증거다. 이후 2026-08-05에는 실제 기기에서 단일 청정 시작·정지 callback 종료와 이동 후 스테이션 복귀의 multi-step dependency까지 확인했다. 다만 이 증거는 기존 ODL plan과 TaskManager 실행 backbone을 닫은 것이며, Experience full tier 전체를 승인한 것은 아니다. 현재 판정과 남은 No-Go는 Experience Runtime Validation Closure 2026-08-05를 기준으로 한다.

2. Workflow와 Agentic Experience의 차이

정적인 workflow:

거실 이동 -> 청정 시작 -> 퀴즈 시작

Agentic experience:

목표: 청정을 수행하는 동안 사용자가 지루하지 않게 한다

-> 이동/청정/음성/콘텐츠 상태 관찰
-> 지금 시작할 콘텐츠와 시점 판단
-> 지연, 실패, 사용자 개입 시 계획 변경
-> 기기 작업과 콘텐츠 세션을 독립적으로 pause/resume/cancel
-> 목표 달성 여부를 판단하고 종료

정해진 step을 실행하는 것은 TaskManager의 역할이다. Experience Supervisor는 step 위에서 목표가 여전히 유효한지, 현재 계획이 최선인지, 사용자에게 물어봐야 하는지를 판단한다.

3. Target Architecture

User goal
  -> Cloud A2A Main Router
  -> Experience Supervisor
       |- Device plan  -> TaskManager -> DeviceAgent/domain manager
       |- Content plan -> DEF / FRG / STM / ETR
       |- Time plan    -> SCH
       `- Observe      <- task event / device context / user turn
  -> continue | pause | substitute | ask | replan | complete
계층 책임 금지
Main Router 최초 목표 해석, Supervisor 활성화, Agent 후보 선택 장기 상태를 응답 한 번에 폐기
Experience Supervisor 목표, 경험 단계, 관찰 구독, 재계획 결정 DeviceAgent safety policy 우회
TaskManager 물리 task/workflow lifecycle 콘텐츠 의미 판단
DeviceAgent Observer 현재 상태와 event를 사실로 제공 사용자 의도 추론
Content Agent 퀴즈, 이야기, 브리핑, 대화 세션 물리 완료를 임의 추정
Schedule Experience 시작 시점과 반복 조건 실행 당시 device context 생략

4. Experience State

기존 workflow state 위에 아래 compact state를 추가한다.

experience:
  contract_version: experience.v1
  experience_id: exp_cleaning_companion_001
  goal: 청정 중 사용자가 지루하지 않게 한다
  status: active
  current_phase: waiting_for_cleaning_start
  success_criteria:
    - device_goal_completed
    - content_session_started
  constraints:
    - safety_policy_first
    - user_can_cancel_anytime
    - respect_quiet_hours
  observation_subscriptions:
    - movement.arrived
    - cleaning.started
    - cleaning.completed
    - task.failed
    - voice.interrupted
    - content.user_response
  active_sessions:
    device_workflow_id: wf_device_001
    content_session_id: quiz_001
  replan_budget:
    automatic_retries: 1
    user_questions: 1

중요한 것은 device workflow와 content session을 같은 lifecycle로 합치지 않는 것이다. 청정은 끝났지만 퀴즈는 계속될 수 있고, 퀴즈를 중단해도 청정은 유지할 수 있다.

대표 샘플을 gemini-2.5-flash-lite로 계측했을 때 experience.v1은 compact JSON 656 bytes, 175 tokens였다. 현재 2-step workflow_context와 결합한 크기는 1,784 bytes, 512 tokens였다. 이 상태를 prompt에 한 번 넣는 비용보다, event마다 LLM을 추가 호출하는 구조가 훨씬 큰 성능 위험이다.

상태 크기, 호출 횟수, p50/p95 회귀 기준은 A2A Experience Supervisor을 따른다.

5. Observation And Decision Loop

최신 catalog/effect/terminal authority와 실측 결과는 Experience Catalog, Evidence, and Bounded Replan 2026-08-09을 기준으로 한다. Supervisor의 재계획은 자유 action 생성이 아니라, 그 문서에 정의된 provider 후보와 terminal evidence 안에서 미달 효과를 해결하는 제한된 탐색이다.

Supervisor는 모든 raw sensor sample마다 LLM을 호출하지 않는다.

판단을 다시 실행하는 조건:

정상 QUEUED, RUNNING, PROGRESS, STEP_COMPLETED는 telemetry와 UI 갱신만 수행한다.

Supervisor decision:

continue
pause
resume
substitute
ask_user
retry_local
replan_cloud
complete
cancel

모든 변경은 reason_code, 관찰 근거, 이전 계획, 변경 계획을 trace에 남긴다.

6. 대표 Agentic Experience

6.1 Cleaning Companion

사용자: 거실로 가서 청정하면서 퀴즈 내줘

초기 계획:

거실 이동
-> 청정 시작 확인
-> 퀴즈 세션 시작
-> 청정과 퀴즈 상태 병행 관찰

재계획:

6.2 Bedtime Companion

사용자: 매일 밤 아이들 방 공기를 관리하면서 동화를 들려줘

Supervisor는 예약 시각에 현재 방, 공기질, 배터리, 야간 정책을 확인한다. 청정이 필요 없다면 동화만 시작할 수 있고, 기기 작업이 차단돼도 콘텐츠 세션은 독립적으로 판단한다. 지난 이야기 위치는 세션 memory로 이어간다.

6.3 Information After Task

사용자: 청정 끝나면 오늘 뉴스 요약해줘

뉴스는 명령 등록 시점이 아니라 청정 완료 callback 이후 FRG가 조회한다. 청정 실패를 완료로 처리하지 않으며, 작업이 오래 걸리면 뉴스를 먼저 들을지 사용자에게 물을 수 있다.

6.4 Open-Ended Chore Companion

사용자: 내가 집안일 하는 동안 심심하지 않게 해줘

이 시나리오는 정적인 workflow로 만들기 어렵다. Supervisor가 사용 가능한 시간, 현재 기기 작업, 최근 사용자 반응과 승인된 선호를 보고 퀴즈, 이야기, 브리핑, 대화 중 하나를 선택한다. 초기 제품에서는 선택 가능한 범위를 알리고 한 번 확인한 뒤 시작한다.

7. User Intervention

사용자 발화 Supervisor 해석
청정은 계속해 콘텐츠만 종료하고 device workflow 유지
퀴즈 말고 이야기해줘 콘텐츠 Agent 교체, device workflow 유지
안방부터 해 안전하게 중단 가능한 지점에서 device plan replan
지금 뭐 하고 있어? TaskManager 사실 기반 상태 설명 후 Experience 유지
나중에 계속하자 콘텐츠 bookmark 후 Experience pause
그만해 foreground owner와 active goal을 보고 범위가 불명확하면 좁게 확인

문장별 hardcode가 아니라 active goal, foreground owner, 실행 중 task/content state를 Main Router에 제공해 의미적으로 판단한다.

8. Autonomy Boundary

단계 동작 적용
L0 사용자가 지정한 순서만 실행 현재
L1 안전한 로컬 retry와 대기 현재/보강
L2 콘텐츠 종류, 난이도, 시작 시점 조정 1차 목표
L3 기기 작업 대안을 제안하고 승인 후 replan 1차 목표
L4 승인된 루틴에서 선제 실행 후속
L5 새 루틴을 스스로 생성하고 실행 비범위

초기 Experience Supervisor는 L2-L3까지만 허용한다.

로컬 deterministic 영역:

LLM 판단 영역:

9. Implementation Roadmap

Phase 1: Shadow Supervisor

Phase 2: Content Coordination

Phase 3: Bounded Replanning

Phase 4: Proactive Experience

10. Runtime Budget

Experience Supervisor는 매 event마다 LLM을 추가 호출하는 계층이 아니다. compact goal state와 의미 있는 상태 전이만 유지하는 event-gated control plane이다.

항목 목표 차단 기준
experience_state 1 KB 이하 2 KB 초과
prompt 증분 250 token 이하 400 token 초과
최근 decision 3개 5개 초과 금지
recent task event 요약 5개 raw event 누적 금지
정상 progress 추가 LLM 호출 0회 1회 이상
의미적 replan event당 최대 1회 2회 이상
local decision p95 50 ms 이하 100 ms 초과

QUEUED, RUNNING, PROGRESS, heartbeat와 중복 event는 local state와 UI만 갱신한다. 실패·차단·사용자 변경·계획에 영향을 주는 context 변화만 의미 판단을 연다. 상태에는 device context 원문 대신 etag와 필요한 observation만 저장한다.

11. Monitoring UX

Text Console은 Planner 선택 이유와 Experience 판단을, Task Monitor는 실제 기기 실행과 완료 evidence를 보여준다. 두 화면 모두 같은 correlation ID를 사용한다.

GOAL -> OBSERVE -> DECIDE -> ACT -> EVIDENCE

필수 표시 항목은 goal, phase, last observation, decision, reason, replan budget, device workflow와 content session, token·latency다. 물리 Task와 콘텐츠 세션은 서로 다른 lane으로 표시하며, 일부 trace가 없으면 이전 상태로 완료를 추정하지 않는다.

12. Acceptance Criteria

  1. 하나의 Experience에서 device workflow와 content session이 각각 식별된다.
  2. TaskManager 완료 전에는 의존 콘텐츠 단계를 완료로 처리하지 않는다.
  3. 정상 progress마다 Cloud LLM을 재호출하지 않는다.
  4. 사용자는 콘텐츠만 중단하고 물리 작업을 유지할 수 있다.
  5. 실패 시 continue, substitute, ask, replan, cancel 중 하나가 근거와 함께 기록된다.
  6. capability가 없는 음악·영상 기능을 임의로 약속하지 않는다.
  7. 모든 자동 변경은 trace에서 이전/이후 계획을 비교할 수 있다.

13. 구현·운영 기준

문서 역할
Task Scheduling Runtime Readiness scheduling 소스 구현, 실기기 증거와 release gate
TaskManager Live Monitor 기기 workflow, callback과 terminal evidence 관측
TaskManager Device Context Planning context freshness, 조건 판정과 실행 경계

14. Next Action

  1. PUI 취소를 실기기에서 반복해 dependent step이 제출되지 않는지 확인한다.
  2. 이동·청정·복귀·설정·바이탈·콘텐츠 provider별 terminal evidence matrix를 닫는다.
  3. 실제 busy, timeout, policy failure가 Cloud의 구조화된 failure UX와 일치하는지 확인한다.
  4. Experience positive와 near-negative에서 false admission과 기존 owner delta를 측정한다.
  5. restricted device tier의 feature flag, rollback, token/P95 gate를 통과한 provider만 승격한다.

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date