HomeSense-Studio은(는) 무엇을 하나요?
자연어로 기기 제어 + 시각적 워크플로우 오케스트레이션. L1/L2/L3 3단계 의도 라우팅, 메모리 + 경험 시스템, Skill 점진적 공개, TS ↔ Python CLI ↔ Mi Home Cloud API. 38개 모듈 계층 아키텍처, 이중 실행 엔진(Agent + Workflow).
개요
이 스킬은 AI 에이전트가 자연어만으로 사용자의 홈 IoT 기기를 제어하고, 다단계 자동화 워크플로우를 구성할 수 있도록 지원합니다. 핵심 설계 목표는 다음과 같습니다:
-
의도 라우팅 (L1/L2/L3): 사용자 명령을 세 가지 수준으로 분류하여 처리합니다.
- L1: 단순 명령 (예: "거실 불 켜줘") → 즉시 실행
- L2: 조건부 명령 (예: "내가 집에 도착하면 에어컨 켜줘") → 메모리 기반 계획 수립
- L3: 복합 시나리오 (예: "영화 모드 활성화") → 워크플로우 생성 및 실행
-
메모리 + 경험 시스템: 사용자의 이전 명령과 선호도를 기억하여 점진적으로 응답을 개선합니다.
-
Skill 점진적 공개: 긴 Skill 문서를 한 번에 읽지 않고, 필요에 따라 단계적으로 정보를 참조할 수 있도록 설계되었습니다.
-
이중 실행 엔진:
- Agent 엔진: 대화형, 즉각적인 명령 처리 (L1/L2)
- Workflow 엔진: 복잡한 시나리오를 그래프 기반으로 실행 (L3)
아키텍처 개요
| 계층 | 설명 | 예시 모듈 |
|---|---|---|
| 인터페이스 계층 | 사용자/에이전트와의 상호작용 | CLI, WebSocket, REST API |
| 의도 라우팅 계층 | 명령 분류 및 라우팅 | L1 Intents, L2 Planner, L3 Composer |
| 실행 계층 | 실제 작업 처리 | Agent Executor, Workflow Engine |
| 메모리 계층 | 컨텍스트 및 경험 저장 | Short-term Memory, Long-term Experience |
| 기기 계층 | 물리적/가상 기기 연결 | Mi Home Bridge, Simulator |
지원 플랫폼
- TypeScript:
ts-node,npm scripts - Python:
pythonCLI,pip install - Mi Home Cloud API: 직접 클라우드 API 호출
사용 예시
L1: 직접 명령
# 에이전트에게 말합니다:
"거실 전등을 켜줘"
# 응답:
실행: lumi.light.aq02
상태: 켜짐
L2: 메모리 기반 계획
# 에이전트에게 말합니다:
"매일 아침 7시에 침실 블라인드를 열어줘"
# 응답:
계획 수립: 7:00 AM -> open_curtain(bedroom)
메모리에 저장: daily_routine.bedroom.curtain_open = 0700
L3: 워크플로우 생성
# 에이전트에게 말합니다:
"영화 모드를 설정해줘. 거실 불은 30% 밝기로, 커튼은 닫고, TV는 켜줘"
# 응답:
워크플로우 생성:
1. wait_for_trigger: "영화 모드"
2. set_light: living_room, 30%
3. close_curtain: living_room
4. turn_on_tv: living_room
설정 방법
- 환경 변수 설정
export MI_HOME_ACCESS_TOKEN="your_token"
export HOME_SENSE_MEMORY_PATH="./home_sense_memory"
- CLI 도구 설치
# Python
pip install homesense-cli
# TypeScript
npm install -g @homesense/cli
- 에이전트에 스킬 추가
스킬: chentianxiong123/HomeSense-Studio
환경:
- MI_HOME_ACCESS_TOKEN: <토큰>
- HOME_SENSE_MEMORY_PATH: <경로>
고급 기능
경험 시스템
사용자의 반응을 분석하여 자동으로 경험을 축적합니다:
- 긍정적 경험: 자주 반복되는 명령에 대한 바로가기 생성
- 부정적 경험: 오류가 발생한 패턴을 학습하여 재시도 시 개선
점진적 Skill 공개
스킬은 다음과 같은 순서로 정보를 제공합니다:
- 핵심 기능 한 줄 요약
- 현재 컨텍스트에 맞는 상세 문서 열기
- 필요시 전체 문서 참조
문제 해결
| 오류 | 원인 | 해결 방법 |
|---|---|---|
| 기기 찾을 수 없음 | 토큰 오류 또는 네트워크 문제 | MI_HOME_ACCESS_TOKEN 확인 |
| 명령 인식 실패 | 의도 라우팅 실패 | 더 구체적인 표현 사용 |
| 워크플로우 거부 | 메모리 부족 | HOME_SENSE_MEMORY_PATH 용량 확보 |
라이선스
MIT License