A2A System Overview
이 페이지는 Cloud A2A, 온디바이스 Agent, DeviceAgent TaskManager, SoC 패키지의 연결 구조를 한 장의 지도로 설명한다.
Speech/STT, voice context, memory, device context, Agent/Skill, 복합제어를 한 흐름으로 보고 싶으면 Speech-LLM Context-Aware A2A Architecture를 먼저 본다.
한 줄 요약
Cloud A2A는 “무엇을 어떤 순서로 할지”를 계획하고, 온디바이스와 DeviceAgent는 “기기에서 실제로 어떻게 안전하게 실행할지”를 책임진다.
주요 저장소
| 레이어 | 저장소 | 역할 |
|---|---|---|
| Cloud A2A | ~/work/8.cloudLLM/backend-cloud-llm-lambda |
Planner, Router, Runtime, task event 처리, 테스트 |
| On-device Bridge | ~/work/2.A1_LLM_Aent/skmagic_ondeviceai_agent |
Cloud 응답 수신, device request 해석, DeviceAgent 연결 |
| DeviceAgent / SoC | ~/work/1.A1_SoC_new/SoC/a1-packages |
TaskManager, 기기 상태, native command 실행 조건 |
레이어 구조
[User / STT]
-> [Cloud A2A Planner]
-> [Cloud Runtime / Orchestrator]
-> [On-device Cloud Bridge]
-> [DeviceAgent TaskManager]
-> [Device Native Functions]
데이터 흐름
- 사용자가 단일 또는 복합명령을 말한다.
- Cloud Planner가 발화를
ODL,FRG,DEF,SCH같은 family와 step으로 나눈다. - Cloud Runtime은 Cloud-only step은 내부 agent로 실행하고, device step은
device_task_requests로 만든다. - 온디바이스 브릿지는
device_intent_step또는 legacy task request를 받아 workflow로 등록한다. - DeviceAgent TaskManager는 실제 task queue에 넣고 순차 실행한다.
- Task 상태는 callback/event로 올라온다.
- 정상 이벤트는 기록과 다음 step 진행에 쓰고, 실패/차단 이벤트는 Cloud replan 후보가 된다.
복합명령 예시
발화:
거실로 갔다가 안방으로 이동해서 청정해줘
Cloud plan:
step_1 ODL: 거실로 이동
step_2 ODL: 안방으로 이동, wait step_1 completed
step_3 ODL: 안방 청정 시작, wait step_2 completed
온디바이스 request:
step_1 token_text=<sk_100>(position=거실)<sk_end>
step_2 token_text=<sk_100>(position=안방)<sk_end>
step_3 token_text=<sk_4>(position=안방)<sk_end>
Event 정책
| 이벤트 | 기본 처리 |
|---|---|
QUEUED, RUNNING, PROGRESS |
상태 표시와 audit 기록 |
COMPLETED |
다음 의존 step unlock |
WORKFLOW_COMPLETED |
전체 workflow 종료 |
FAILED, BLOCKED, PAUSED, NEEDS_USER_INPUT |
Cloud replan 또는 사용자 확인 후보 |
설계 판단
Cloud가 모든 task마다 LLM을 다시 돌리면 지연과 토큰 비용이 커진다. 따라서 Cloud는 처음에 plan을 만들고, 정상 실행은 온디바이스와 DeviceAgent가 로컬에서 진행한다. Cloud 재개입은 판단이 필요한 이벤트에 한정한다.