Experience Runtime Validation Closure 2026-08-05
문서 역할
이 문서는 Experience의 소개 문서가 아니라 현재 구현·실기기 증거·Go/No-Go를 판정하는 최신 검증 문서다. 왜 Experience가 필요하고 무엇이 달라지는지는 Experience Goal: 명령 수행에서 결과 위임으로에서 먼저 본다.
이 문서는 Experience Goal, 기존 A2A Planner, On-device Bridge, DeviceAgent TaskManager가 현재 어디까지 하나의 실행 계통으로 연결됐는지 판정하는 최신 기준 문서다.
기존 문서들이 이론, 설계, 사용성, 비용과 개별 실험을 설명한다면 이 문서는 다음 질문에 답한다.
사용자의 목표가 실제 기기 작업으로 내려가고, callback 증거를 받아 다음 단계와 완료 상태를 올바르게 결정하는가?
1. Executive Verdict
2026-08-05 기준 판정은 다음과 같다.
| 범위 | 판정 | 근거 |
|---|---|---|
| 기존 DEF/ODL/FRG/DQR/SCH owner 경로 | 유지 | Experience는 별도 family가 아니며 owner plan을 대체하지 않음 |
| Planner -> On-device -> TaskManager 제출 | 통과 | 단일 청정과 이동·복귀 workflow가 실기기 TaskManager에 도달 |
| 단일 device step 종료 | 통과 | 실제 COMPLETED callback 뒤 Cloud workflow도 completed로 종료 |
| multi-step dependency | 통과 | 이동 완료 뒤 복귀 step 시작, 최종 callback 뒤 workflow 종료 |
| 등록 공간·기기 상태 context 조회 | 통과 | 실기기 room list, 위치, 배터리, 작업 상태가 Planner 입력에 전달 |
| Planner 사전 실패 설명 | 통과 | 등록되지 않은 공간을 실행 전에 차단하고 사용자용 원인 반환 |
| runtime 실패 설명 계약 | 자동 테스트 통과 | 위치, 정책, busy, timeout, 저전력, 취소 등 구조화 |
| PUI 취소 실기기 반복 | 미완료 | callback reducer와 dependent-step 차단 테스트는 통과, 실제 PUI 반복 필요 |
| 바이탈 foreground interaction | No-Go 유지 | 완료와 취소 terminal event의 반복 실기기 증거 필요 |
Experience content_only |
제한 검증 가능 | 기존 content provider와 effect grounding 범위 |
Experience non_motion / full 제품 기본 활성화 |
No-Go | capability별 terminal evidence와 rollback 반복 검증 필요 |
핵심 결론은 실행 backbone이 닫혔다는 것이다. Planner가 계획을 만들고, TaskManager가 실행하며, callback이 다음 step과 종료를 결정하는 경로는 실제 기기에서 확인됐다.
그러나 이것을 곧바로 “Experience가 모든 기기 목표를 자율 수행한다”는 의미로 확대하면 안 된다. 현재 실기기 검증은 기존 ODL owner workflow의 실행·관찰 backbone을 증명한다. Experience Goal의 device live tier는 이 backbone 위에서 effect, consent, terminal evidence가 모두 닫힌 capability만 별도로 승격해야 한다.
2. Experience의 의미
Experience Goal의 목적은 action 수를 늘리는 것이 아니다. 사용자가 위임한 결과가 여러 step, 긴 대기, 다른 Agent와 기기 callback을 지나도 사라지지 않게 하는 것이다.
명령형 시스템
"무엇을 실행할까?"
Experience 시스템
"사용자가 어떤 결과를 위임했으며,
그 결과가 달성됐다는 증거는 무엇인가?"
따라서 Agentic함은 LLM 호출 횟수나 자율 행동 수로 측정하지 않는다.
| 약한 자동화 | 목표 보존형 Agent |
|---|---|
| 명령을 여러 개 추출 | 목표와 성공 조건을 유지 |
| 제출되면 완료로 간주 | 실제 terminal evidence로 완료 |
| 실패하면 전체 재시작 | 완료된 효과와 남은 목표를 분리 |
| 매 event를 다시 추론 | 정상 진행은 deterministic, 의미 경계만 판단 |
| 오류 코드를 그대로 노출 | 사용자 설명과 복구 가능성을 함께 제공 |
이 구조에서 책임 있는 agency는 다음 식으로 표현할 수 있다.
Agency
= Goal continuity
+ Grounded capability
+ Observable evidence
+ Bounded adaptation
+ User control
하나라도 빠지면 Experience는 과승격, 임의 action, false completion 또는 과도한 재계획으로 변한다.
3. 권한과 데이터 소유권
Experience는 기존 Planner 위에 또 하나의 Planner를 올리는 구조가 아니다.
| 계층 | 소유하는 것 | 소유하지 않는 것 |
|---|---|---|
| Main Router / Planner | owner, skill, typed step, dependency, execution target | 장기 실행의 실제 완료 |
| Experience admission | delegated outcome, desired effect, constraint 후보 | dispatch 권한 |
| Experience activation gate | plan-effect-provider 정합, consent, live tier | 새 device action 생성 |
| On-device Bridge | Cloud request 전달, correlation, callback relay | 의미 기반 목표 변경 |
| DeviceAgent TaskManager | queue, dependency, wait, timeout, cancel, 실행 사실 | 사용자 목표 의미 |
| Workflow state | event 축약, step 결과, terminal 상태, etag | 임의 기기 상태 추정 |
| Experience Supervisor | 목표 달성 여부와 제한된 continue/ask/replan/complete | safety와 capability 정책 우회 |
실행 권위의 단방향성은 다음과 같다.
Experience desired effect
-> 기존 Planner step과 provider에 결속
-> TaskManager가 실행
-> callback이 사실을 증명
-> Supervisor가 필요할 때만 의미를 판단
Experience admission 자체는 dispatch_allowed=false다. 모델이 “조용한 환경”을
원한다고 해석해도 catalog와 기존 plan에 실제 provider가 없으면 action을 만들 수
없다.
4. Runtime State Machine
4.1 Goal과 workflow 상태
candidate
-> rejected
-> blocked
-> activated
-> active
-> waiting_event
-> waiting_user
-> replanning
-> completed
-> cancelled
-> failed
상태의 의미는 다음과 같다.
| 상태 | 의미 | 완료 발화 가능 여부 |
|---|---|---|
candidate |
의미상 Experience 후보 | 불가 |
rejected |
일반 owner 경로로 처리 | Experience 완료 발화 불가 |
blocked |
effect, provider, consent 또는 live tier 부족 | 불가 |
active |
실행 또는 content session 진행 | 불가 |
waiting_event |
TaskManager/semantic observation 대기 | 불가 |
waiting_user |
동의, 정보 또는 사람 interaction 필요 | 불가 |
replanning |
명시된 decision event로 제한 판단 중 | 불가 |
completed |
모든 success criteria의 권위 있는 증거 확보 | 가능 |
cancelled |
사용자 또는 PUI 취소가 terminal로 확정 | 취소 안내만 가능 |
failed |
복구되지 않은 실패로 목표 종료 | 실패 안내만 가능 |
4.2 Step callback의 상태 전이
| TaskManager event | 기본 처리 | 모델 호출 | 다음 step |
|---|---|---|---|
STARTED, WORKFLOW_STEP_STARTED |
active 상태와 UI 갱신 | 0 | 제출하지 않음 |
WORKFLOW_STEP_WAITING |
delay/condition 대기 보존 | 0 | 조건 충족 전 제출 금지 |
WORKFLOW_STEP_COMPLETED |
completed step과 output 저장 | 0 | dependency가 풀린 step만 제출 |
마지막 COMPLETED |
pending continuation 검사 | 0 | 없으면 workflow 종료 |
FAILED, BLOCKED, TIMEOUT |
reason·failed step·recoverability 저장 | 필요 시 1회 | 정책과 budget 안에서 결정 |
NEEDS_USER_INPUT |
waiting_user로 전환 |
좁은 질문에만 사용 | 응답 전 제출 금지 |
CANCELLED |
terminal 취소, dependent step 차단 | 0 | 제출 금지 |
중요한 수정은 마지막 단일 device step의 COMPLETED 처리다. 이전에는 callback이
정상 수신돼도 “완료 event가 plan을 해제했다”는 이유로 이전 active 상태를
무조건 유지했다. 이제 pending device request, pending cloud step, next step이
없으면 completed와 complete_workflow로 닫힌다.
5. Callback Correlation과 Evidence
callback은 다음 식별자가 같은 실행 계통에 결속돼야 한다.
experience_id
-> cloud_workflow_id
-> plan_id
-> step_id
-> task_id
-> event fingerprint
각 필드의 역할은 다르다.
| ID | 역할 |
|---|---|
experience_id |
상위 사용자 목표 |
cloud_workflow_id |
Cloud와 기기를 잇는 실행 인스턴스 |
plan_id |
Planner가 만든 방법 |
step_id |
dependency와 결과 binding 단위 |
task_id |
DeviceAgent가 실행하는 task |
| event fingerprint | 중복 callback 억제 |
COMPLETED는 하나의 task 또는 native workflow executor가 끝났다는 사건일 수
있다. Experience Goal의 완료는 별도다. 결속된 모든 step과 desired effect의
terminal evidence가 충족돼야 goal_status=completed가 된다.
task submitted != task completed
task completed != workflow completed
workflow completed != goal achieved
이 구분은 바이탈사인 같은 human-in-the-loop 동작에서 특히 중요하다. 앱을 열었다는
사실은 측정 성공이 아니다. 현재 effect도 vital_interaction_ended까지만
정의하며, 실제 완료 또는 취소 event가 없으면 다음 step을 열지 않는다.
6. Failure UX는 실행 계약이다
실패 설명은 TTS 문구를 꾸미는 후처리가 아니다. 원시 기기 사건을 사용자 이해와 재계획 판단에 동시에 사용할 수 있는 구조화된 계약이다.
failure_reason:
ux_reason_code: DEVICE_LOCATION_NOT_FOUND
category: position_not_found
user_message: 거실 공간은 기기에서 찾지 못했어요. 다른 공간 이름을 말씀해 주세요.
raw_reason_code: position_not_found
step_id: step_move_living_room
task_method: setMoveTo
step_purpose: 거실 이동
target_name: 거실
replan_action: ask_user
retryable: false
recoverability: user_recoverable
suggested_action: CHOOSE_ANOTHER_ROOM
6.1 의미 계층
| 계층 | 소비자 | 목적 |
|---|---|---|
| raw reason | DeviceAgent/Cloud 개발자 | 원인 보존과 디버깅 |
| normalized category | workflow reducer | 상태 전이와 정책 |
| UX reason code | Console/제품 UI | 안정적인 표시 계약 |
| user message | TTS/화면 | 사용자가 이해할 수 있는 설명 |
| recoverability | Supervisor | retry, ask, abort 후보 제한 |
| suggested action | operator/재계획 | 다음 조치 힌트 |
6.2 현재 매핑
| 실패 범주 | 사용자 의미 | 기본 다음 행동 |
|---|---|---|
| 위치 없음 | 등록된 공간에서 목표를 찾지 못함 | 다른 공간 확인 |
| 경로 차단 | 이동 경로 때문에 계속할 수 없음 | 환경 확인 또는 중단 |
| 정책 차단 | 현재 상태에서 해당 동작이 허용되지 않음 | 조건 변경 또는 중단 |
| resource busy | 다른 작업이 실행 중 | 대기 또는 재시도 확인 |
| schedule missed | 실행 허용 시간이 지남 | 새 시간 확인 |
| timeout | 제한 시간 안에 terminal evidence 없음 | 안전 종료 후 재시도 확인 |
| 추가 정보 필요 | slot 또는 사용자 행위가 필요 | 좁은 질문 |
| 저전력 | 배터리 조건을 충족하지 못함 | 도킹/충전 후 재개 후보 |
| 취소 | 실행 중 task와 dependent step을 중단 | 자동 재시작 금지 |
| partial failure | 일부 effect만 완료 | 완료된 결과를 보존하고 잔여 설명 |
Console의 DEVICE RESPONSE · LIVE 카드는 사용자 메시지와 함께
FAILURE CODE, FAILED STEP, NEXT ACTION을 분리해 표시한다. raw reason은
operator용 trace에 남지만 TTS가 내부 key나 영문 context를 읽지 않는다.
7. 2026-08-05 실기기 Evidence
검증은 로컬 shim, 실제 On-device Agent, DeviceAgent TaskManager, 실제 callback을
연결해 수행했다. Experience mode는 shadow, live tier는 content_only였다.
따라서 아래 physical workflow는 기존 ODL plan과 TaskManager backbone의
실기기 증거이며, full Experience device tier의 제품 승인 증거는 아니다.
7.1 Context 수신
실기기 질의에서 다음 범주의 planning context를 확인했다.
- 등록 공간 목록과 room/position mapping
- 현재 위치와 도킹 여부
- 배터리 잔량과 저전력 여부
- 이동·청정 상태
- TaskManager busy와 active task 수
- 공기질 availability와 요약 상태
응답은 사용자에게 등록 공간 이름을 자연어로 설명했고 내부 field 이름이나 raw parameter를 TTS로 노출하지 않았다.
7.2 단일 청정 시작과 정지
| 단계 | 관찰 |
|---|---|
| Planner | ODL 단일 device step 생성 |
| TaskManager | 실제 task 접수와 실행 |
| callback | COMPLETED 수신 |
| Cloud reducer | pending continuation 없음 확인 |
| terminal | workflow completed, 기기 작업 완료 |
청정 시작과 정지를 각각 실행해 같은 종료 계약을 확인했다. 이 검증에서 발견된 단일-step 종료 결함을 수정하고 회귀 테스트를 추가했다.
7.3 이동 후 스테이션 복귀
대표 검증 발화:
욕실로 이동했다가 스테이션으로 복귀해줘
관찰된 실제 event 순서:
STARTED
-> WORKFLOW_STEP_STARTED setMoveTo
-> WORKFLOW_STEP_COMPLETED setMoveTo
-> WORKFLOW_STEP_STARTED returnToStation
-> WORKFLOW_STEP_COMPLETED returnToStation
-> COMPLETED native workflow
Cloud workflow는 첫 callback에서 완료되지 않았고, 복귀 dependency가 풀린 뒤 두
번째 step을 실행했다. 최종 callback 뒤에만 completed로 닫혔다.
7.4 사전 실패와 runtime 실패
등록되지 않은 공간은 Planner가 device dispatch 전에 차단하고 구체적인 공간 실패 설명을 반환하는 경로를 확인했다.
runtime failure는 실제 기기에 의도적으로 장애를 만들지 않고 reducer 계약 테스트로 검증했다.
| 항목 | 검증 방식 | 판정 |
|---|---|---|
| position not found | callback contract test | 통과 |
| policy blocked | callback contract test | 통과 |
| TaskManager busy | callback contract test | 통과 |
| timeout | callback contract test | 통과 |
| low battery | callback contract test | 통과 |
| PUI cancel dependent-step 차단 | callback contract test | 통과 |
| 실제 PUI cancel 반복 | 실기기 | 남은 Gate |
합성 callback 통과와 실제 기기 통과를 같은 수준으로 표현하지 않는다. 전자는 Cloud reducer 계약의 증거이고, 후자는 DeviceAgent와 물리 실행을 포함한 증거다.
7.5 이미 만족된 목표와 단계 결과
스테이션으로 복귀해줘를 스테이션 도킹 상태에서 다시 실행해 멱등성 경계를
검증했다.
| 관찰 지점 | 결과 |
|---|---|
| Planner | ODL/device_execution_bridge |
| Device request | returnToStation, wait_policy=completed |
| TaskManager | STARTED → COMPLETED |
| 물리 제어 | movement framework 재호출 없음 |
| 정책 오류 | RETURN_TO_STATION_POLICY_NOT_ALLOWED 미검출 |
| Cloud workflow | completed, complete_workflow |
DeviceAgent terminal callback에는 다음 물리·의미 결과가 함께 있었다.
{
"physicalCompletionObserved": true,
"completedAreaId": "0",
"outcome": "arrived",
"current_room_name": "스테이션",
"position_id": "0",
"area_id": "0"
}
Cloud는 이 전체 객체를 다음 단계에 노출하지 않는다. return_to_station
capability가 선언한 outcome, current_room_name, position_id,
area_id만 step_results에 투영했다. 이는 이전 단계 결과를 후속
input_from이 사용할 수 있게 하면서 내부 필드의 무제한 전파를 막는
deny-by-default 경계다.
같은 live E2E에서 실행 안내의 공통 한국어 조사 처리도 확인했다.
복귀을 진행할게요는 복귀를 진행할게요로 교정됐으며, 이 변경은 route
판단 규칙이 아니라 TTS 문장 합성의 문법 보정이다.
8. Regression Closure
2026-08-05 집중 확대 회귀:
415 passed
15 subtests passed
범위:
- Experience admission positive/negative boundary
- Experience Goal compile과 effect grounding
- bounded Supervisor transition
- Router plan과 TaskManager request compile
- task event ingest와 callback reducer
- single-step/multi-step terminal closure
- failure reason과 사용자 응답 계약
- local shim과 trace contract
- 기존 main router response parsing
저장소 전체 회귀:
925 passed
49 skipped
전체 suite에서 처음에는 단일-step round-trip 테스트 1건이 과거 계약인
COMPLETED -> active를 기대해 실패했다. 실기기에서 확인한 terminal 의미와
일치하도록 pending continuation이 없는 경우 COMPLETED -> completed로 기대값을
갱신한 뒤 전체 suite가 통과했다. 이는 실패를 숨긴 것이 아니라 기존 테스트가
보존하던 결함 동작을 새 runtime contract로 교정한 것이다.
이 결과가 일반 Router의 1,000건 Gemini benchmark를 대체하지는 않는다. Router 정확도는 별도 고정 test set과 holdout으로 관리하며, 이 문서의 회귀는 Experience와 TaskManager 구조 변경이 코드 계약을 깨지 않았는지 확인하는 release gate다.
Non-interference 불변조건
- Experience는 route family가 아니다.
- 일반 대화는 DEF owner로 끝날 수 있다.
- 단일 기기 명령은 ODL owner plan을 불필요하게 확장하지 않는다.
- Experience admission이 거절되거나 blocked돼도 기존 owner 결과를 임의로 바꾸지 않는다.
- Experience candidate가 활성화되지 않으면 candidate가 만든 side effect는 dispatch되지 않는다.
- 정상 callback은 모델을 추가 호출하지 않는다.
- 재계획은 명시적 decision event와 budget 안에서만 열린다.
9. 비용과 지연의 의미
Experience State를 유지한다고 작업 시간 내내 LLM을 호출하지 않는다.
초기 route/plan model call
Experience semantic grounding 필요한 mode에서만 model call
TaskManager 실행 대기 0
정상 progress callback 0
dependency 해제 0
terminal evidence 축약 0
failure/blocked/ambiguity budget 안에서만 decision call
비용을 볼 때 서로 다른 세 수치를 섞지 않는다.
| 수치 | 의미 |
|---|---|
| compact Experience state | callback decision에 전달할 축약 상태 크기 |
| Experience grounding input | 목표와 effect를 semantic하게 결속하는 추가 입력 |
| total request input | catalog, context, history를 포함한 전체 Planner 입력 |
운영 최적화의 우선순위는 모델을 작은 모델로 무조건 바꾸는 것이 아니라 다음과 같다.
- 일반 non-admission turn에는 Experience payload를 주입하지 않는다.
- device context는 freshness와 scope를 유지한 compact snapshot으로 제한한다.
- callback은 event allowlist와 dedup으로 줄인다.
- 정상 dependency 진행은 deterministic reducer가 처리한다.
- replan은 전체 plan 재생성보다 국소 repair를 우선한다.
10. 왜 룰베이스가 아닌가
시스템에는 deterministic validator와 state reducer가 존재한다. 이것은 발화별 hardcode와 다르다.
| 의미 판단 | 결정론적 실행 계약 |
|---|---|
| 사용자가 원하는 결과와 제약 | step ID와 dependency 검증 |
| 어떤 effect가 필요한가 | effect-provider catalog membership |
| 대안 중 무엇이 적절한가 | capability payload schema |
| 사용자에게 다시 물어야 하는가 | callback correlation과 dedup |
| 실패 후 목표를 유지할 것인가 | terminal transition과 budget cap |
예를 들어 “편하게 쉬고 싶다”를 나이트 모드와 청정으로 고정 치환하지 않는다. Planner는 현재 context에서 의미 목표를 구성하고, catalog가 실제 제공 가능한 effect만 허용한다. 공기질이 양호하면 불필요한 청정을 만들지 않고, 해당 live tier가 닫혀 있으면 안전한 content 응답만 제공한다.
즉 LLM은 의미와 대안을 판단하고, deterministic 계층은 권한, 형식, 순서, 증거와 상한을 보장한다.
11. Observability Contract
운영자가 한 화면에서 확인해야 하는 질문은 다음과 같다.
- 사용자의 원래 목표는 무엇인가?
- 어떤 owner와 plan이 선택됐는가?
- Experience는 admission됐는가, 왜 blocked됐는가?
- 현재 TaskManager step은 무엇인가?
- 어떤 callback이 다음 step을 열었는가?
- 실패했다면 실제 원인, 사용자 설명, 다음 행동은 무엇인가?
- 완료 주장은 어떤 terminal evidence에 근거하는가?
- 추가 모델 호출과 replan budget은 얼마인가?
Text Console의 핵심 표시:
- Planner decision flight recorder
- device context snapshot
- Experience admission / activation / goal / grounding
- plan step과 dependency
- device task/workflow request
- live device response
- failure code / failed step / next action
- callback timeline과 terminal status
- model usage ledger
Task Monitor는 실제 queue, 실행 task, physical callback을 중심으로 본다. Text Console은 Planner와 Experience의 “왜”를, Task Monitor는 DeviceAgent의 “무엇이 실행됐는가”를 소유한다.
12. Release Gate
현재 Go
- 로컬 Text E2E 검증
- 기존 ODL single/multi-step TaskManager workflow
- callback 기반 dependency 진행
- terminal evidence 기반 Cloud workflow 종료
- Planner 사전 실패 설명
- runtime failure UX 계약
- Experience shadow 분석
content_only제한 검증
Pilot 조건부
- non-motion capability
- 명시적 consent가 필요 없는 가역 설정
- callback과 rollback이 반복 검증된 provider
- feature flag와 usage budget이 적용된 환경
현재 No-Go
- Experience
fulltier 제품 기본 활성화 - callback 없는 capability의 완료 주장
- 바이탈 측정 성공의 시간 기반 추정
- PUI 취소 실기기 반복 증거 없는 dependent workflow
- catalog 밖 action 생성
- 사용자 요청 없는 민감 센서·촬영·외부 연락
- 무제한 Supervisor loop
- stale context를 근거로 한 자동 action 확대
13. 남은 과업
| 우선순위 | 과업 | 완료 기준 |
|---|---|---|
| P0 | PUI cancel 실기기 반복 | 취소 callback, dependent step 미제출, Console/TTS 일치 |
| P0 | capability별 terminal evidence matrix | 이동, 청정, 복귀, 설정, 바이탈, 콘텐츠를 개별 판정 |
| P1 | failure/busy/timeout 실기기 표본 | 실제 reason과 normalized UX 계약 일치 |
| P1 | stale context 재검증 | 실행 직전 prerequisite 변경 시 안전 차단 |
| P1 | Experience positive/near-negative 반복 | false admission과 owner delta 기준 충족 |
| P1 | full Router benchmark | 고정 1,000건·holdout family 성능 비교 |
| P2 | input context 절감 | 정확도와 plan 구조를 유지하며 token/P95 개선 |
| P2 | restricted-device rollback | feature flag off 즉시 기존 owner 경로 복원 |
제품 성숙도는 capability 개수를 세는 방식보다 효과-실행-증거 closure 비율로 관리한다.
Evidence closure coverage
= terminal evidence까지 반복 검증된 provider 수
/ live 후보 provider 수
14. 읽기 순서
이 문서는 최신 판정을 소유한다. 배경은 다음 순서로 본다.
- Experience Goal Academic Deep Dive - 이론, 형식 모델, 연구 가설
- Experience Goal과 기존 Planner 통합 구조 - owner, plan, task, goal 책임 경계
- A2A Experience Workflow - Goal contract, effect grounding, lifecycle
- Experience Goal Usability Playbook - 사용자 여정, KPI, 수용 기준
- A2A Experience Supervisor - 장기 운영 모델과 향후 자율성
- TaskManager Live Monitor - 이전 실험과 비용 장부
15. 최종 의미
이번 closure에서 중요한 변화는 “복합명령 하나가 움직였다”가 아니다.
Planner의 약속
-> TaskManager의 실행
-> Device callback의 사실
-> Workflow reducer의 상태
-> Experience의 성공 의미
-> 사용자가 이해할 수 있는 응답
이 연결이 생기면서 시스템은 답변 생성기에서 증거를 기다리고, 남은 목표를 보존하며, 실패 이유를 설명할 수 있는 실행 Agent로 이동한다.
다음 고도화의 기준도 기능 수가 아니다. 더 많은 행동을 허용하기 전에 각 행동의 전제, 취소, terminal evidence, 실패 설명과 rollback이 닫혀야 한다. 이것이 Experience Goal이 기존 Planner의 성능과 사용자 통제권을 해치지 않으면서 Agentic해지는 핵심 조건이다.