← Docs hub

SoC TaskManager Background

이 장은 왜 DeviceAgent에 TaskManager가 필요한지 설명한다.

SoC TaskManager Background

기존 DeviceAgent 구조와 TaskManager layer 추가 후 변화는 Before/After Change Model을 먼저 보면 빠르게 이해할 수 있다.

문제 배경

Cloud A2A는 발화를 이해하고 계획을 세운다. 그러나 DeviceAgent 입장에서는 Cloud A2A만 upstream이 아니다. 나중에는 MQTT 명령 서버, 앱/리모트 제어, 예약/자동화, 내부 정책도 같은 실행 계층으로 들어올 수 있다.

따라서 TaskManager의 배경은 “Cloud LLM과의 규약”만이 아니라 여러 명령 유입원을 SoC 실행 모델 하나로 통합하는 것이다.

제약 upstream만으로 판단하기 어려운 이유
현재 방 위치 맵/위치 정보는 DeviceAgent/SoC 상태
이동 가능 여부 장애물, 이동 상태, station 여부는 runtime 상태
청정 동작 가능 여부 cleaning transaction, pause 상태, 현재 mode와 충돌 가능
배터리/리소스 low battery, busy queue, thermal/resource 상태는 기기 내부 상태
기존 작업 진행 중 queue와 workflow 상태를 DeviceAgent가 알아야 함

명령 유입원

유입원 예시 TaskManager 관점
Cloud A2A / LLM “거실로 가서 청정하고 안방으로 이동해” plan/workflow를 task로 등록
MQTT Command Server 서버가 원격 청정/이동 명령 전달 server command를 task로 등록하고 ack/status 반환
App / Remote Control 앱 버튼, 리모컨, 예약 화면 명령 source만 다르고 실행은 동일한 task
On-device Local Voice 로컬 parser가 만든 token/function call DeviceAgent Bundle을 task로 변환
Internal Policy / Schedule 예약 실행, 자동 복귀, 보호 정책 내부 source의 system task로 등록

책임 경계

계층 책임
Upstream Command Source Cloud LLM, MQTT 서버, 앱, 예약, 내부 정책 등 task를 만들 수 있는 유입원
Cloud A2A 여러 유입원 중 하나이며, 사용자의 의도와 실행 순서를 plan으로 만든다.
MQTT Command Server 서버 명령을 task/workflow 요청으로 내려주고 ack/status를 받는다.
On-device Bridge Cloud 또는 로컬 음성 응답을 Bundle/task/workflow로 변환해 DeviceAgent에 전달한다.
DeviceAgent TaskManager 실제 기기 상태를 보고 task admission, queue, executor, event를 관리한다.
SoC Domain movement, cleaning, map, LLM/TTS, IoT/update 실제 동작을 수행한다.

핵심 원칙