SK-Intellix DeviceAgent and SoC
DeviceAgent·SoC 영역은 구조화된 요청을 실제 기기 기능으로 실행한다. TaskManager Core, 도메인 executor, callback·completion evidence, reason contract와 planning context가 핵심이다.
지정 커밋의 전체 모듈 분석
A1 SoC 전체 구조 — 1398d109는 앱 18개 디렉터리와 native 서비스·SDK·빌드·정책을 다룬다. 아래 TaskManager 문서의 후속 설계와 구분되는 소스 기준선이다.
먼저 읽을 문서
| 순서 | 문서 | 답하는 질문 |
|---|---|---|
| 1 | TaskManager 이해 가이드 | 기존 직접 호출과 관리형 실행은 무엇이 다른가? |
| 2 | TaskManager 기준 사양서 | Core API, lifecycle, Workflow와 호환성 규범은 무엇인가? |
| 3 | Source-Level Implementation Guide | MR6 코드에서 어느 클래스와 연결점을 수정하는가? |
| 4 | TaskManager Live Monitor | 요청부터 terminal evidence까지 어떻게 관찰하는가? |
SoC TaskManager Framework는 이 문서군의 단일 허브다.
업무별 기준 문서
| 업무 | 문서 |
|---|---|
| DeviceAgent control·event·reason 계약 | DeviceAgent TaskManager API Contract |
| 시스템 앱 typed API | TaskManagerClient AAR API |
| IoT/MQTT | MQTT Task Contract |
| 예약·지연 실행 | Scheduling Runtime Readiness |
| PUI·Voice 기능 경계 | PUI and Voice Task Design Hub |
| capability 조합과 executor closure | Capability Composition Catalog |
| Cloud·On-device 폐루프 | Voice TaskManager Closed Loop |
| 업체 구현과 인수 | Vendor Implementation Workbook |
| 발표용 압축 자료 | DeviceAgent TaskManager 핵심 설명 자료 |
실행 계층
PUI · Product App · IoT · Schedule · Internal Event · optional Planner
-> MainApi
-> TaskManager validation, admission, queue and workflow
-> domain executor
-> existing DeviceAgent API
-> callback and physical evidence
-> common terminal event
TaskManager는 기기 기능을 다시 구현하지 않는다. 기존 기능의 실행 수명과 조합을 공통 계약으로 관리한다. 자연어 해석과 제품 목표 구성은 호출자 또는 선택적 Planner의 책임이다.
책임 범위
| 영역 | 소유 책임 |
|---|---|
| DeviceAgent domain | 이동·청정·보안·화면·TTS·설정의 실제 기능과 안전 규칙 |
| TaskManager Core | 요청 검증, 상태·자원 정책, queue, lifecycle, timeout, 취소와 terminal 판정 |
| Completion adapter | domain callback을 공통 evidence로 변환 |
| Planning context | 위치, 공간, 배터리, 동작 상태, queue와 capability snapshot |
| 외부 호출자 | 사용자·제품 목표, Task·Workflow 구성과 사용자 표현 |
기준 소스
apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/task/
apps/DeviceAgent/app/src/main/java/com/sk/airbot/deviceagent/MainApi.java
apps/TaskManagerClient/
apps/IotAgent/
apps/SKMLauncher2/
상세 파일 목록과 온보딩 순서는 Source-Level Implementation Guide에만 유지한다.
검증 원칙
| 증거 | 판정 가능 범위 |
|---|---|
| 소스 존재 | 구현 후보 존재 |
| policy·executor 등록 | TaskManager 경로 연결 |
| unit/JVM test | 계약과 runtime 회귀 |
| command ACK | 요청 접수와 dispatch |
| DeviceAgent callback | runtime 상태 변화 |
| 물리·사용자 terminal evidence | 실기기 기능 완료·실패·취소 |
컴파일과 ACK만으로 물리 동작 완료를 주장하지 않는다. 시스템 앱 교체 시 설치본과 신규
APK의 certificate를 비교하고 Android debug certificate APK를 /system/priv-app에 넣지 않는다.
핵심 질문
| 질문 | 문서 |
|---|---|
| TaskManager의 현재 전체 규범은 무엇인가? | 기준 사양서 |
| 신규 기능을 어떻게 Task로 편입하는가? | 구현 가이드 |
| Task 상태와 단계는 어디서 보는가? | Live Monitor · Task Monitor UI |
| 현재 기기 상태를 계획에 어떻게 쓰는가? | Device Context Planning |
| 장기 Task와 예약 Workflow는 어디까지 검증됐는가? | Scheduling Readiness |