자비스

지금 내가 어떤 기능들을 써서, 만들고 있는지 정리

lsjking911 2026. 4. 25. 01:34

1️⃣ 한 줄 요약 (제일 중요)

나는 지금 “핸드폰에 AI를 넣는 게 아니라,
핸드폰을 AI의 마이크·스피커로 쓰는 구조”를 만들고 있다.

즉,

  • 핸드폰 = 입출력 단말
  • AI의 뇌 = 서버(Python Agent)

2️⃣ 전체 구조를 사람 말로 풀면

 
 
 
 
Plain Text
 
[ 핸드폰 ]
├─ 마이크로 말함
├─ 버튼(UI) 누름
└─ 소리로 응답 들음
↓ (실시간 음성 스트림)
[ LiveKit ]
├─ 전화선 같은 역할
└─ 음성 데이터 중계
[ Python Agent ]
├─ 음성을 글자로 바꿈 (STT)
├─ 생각함 (LLM)
├─ 필요하면 기능 실행 (tools)
└─ 말을 만들어 다시 보냄 (TTS)
더 많은 선 표시

3️⃣ 지금 내가 직접 쓰고 있는 기능들 (정리)

✅ ① 안드로이드 앱 (UI + 입출력)

내가 쓰는 기능

  • 버튼 (START CALL)
  • 마이크 권한
  • 스피커 출력
  • LiveKit Room 참가

중요한 점

  • ❌ AI 로직 없음
  • ❌ API 키 없음
  • ❌ 판단 로직 없음

👉 진짜로 ‘전화기’ 역할만 함


✅ ② LiveKit (실시간 연결)

내가 쓰는 기능

  • WebRTC 기반 음성 스트리밍
  • Room 개념 (통화방)
  • Token Server (자동 제공)

비유하면

  • LiveKit = 전화국
  • 핸드폰 ↔ AI를 실시간으로 연결만 해줌

👉 LiveKit은 AI가 아니고, 연결 인프라임


✅ ③ Token Server (인증용)

내가 쓰는 기능

  • Sandbox Token Server ON
  • 참가자 토큰 자동 발급

안 하는 것

  • ❌ API Key 안 씀
  • ❌ 직접 토큰 발급 코드 안 짬

👉 “누가 이 방에 들어와도 되는지”만 결정


✅ ④ Python Agent (Jarvis의 진짜 뇌)

내가 쓰는 파일

  • agent.py → 전체 흐름 제어
  • prompts.py → 성격/말투/규칙
  • tools.py → 기능(행동) 확장

여기서 실제로 일어나는 일

  1. 핸드폰 음성 수신
  2. 음성을 텍스트로 변환(STT)
  3. 텍스트를 보고 판단(LLM)
  4. 필요하면 기능 실행(tools)
  5. 말로 다시 변환(TTS)
  6. 핸드폰으로 음성 전송

👉 여기가 진짜 개발 포인트


✅ ⑤ Android Studio (의외로 중요하지 않음)

내가 쓰는 기능

  • 무선 디버깅
  • 앱 실행
  • 로그 확인

안 하는 것

  • ❌ 로직 개발
  • ❌ AI 수정
  • ❌ 핵심 디버깅

👉 그냥 “설치기 + 리모컨”


4️⃣ 그래서 지금 내가 만들고 있는 건 정확히 뭐냐면

❌ “안드로이드 AI 앱”
“모바일을 UI로 쓰는 분산 AI 시스템”

조금 더 멋있게 말하면:

  • AI는 서버에서 산다
  • 핸드폰은 항상 들고 다니는 입과 귀
  • LiveKit은 신경계

5️⃣ 지금 단계에서 내가 하는 개발의 성격

❌ 지금 아닌 것

  • UI 디자인
  • 안드로이드 앱 개발
  • 모바일 로직 최적화

✅ 지금 맞는 것

  • AI 사고 흐름 설계
  • 프롬프트 튜닝
  • 음성 대화 품질 개선
  • 기능(tool) 추가

6️⃣ 진짜 중요한 한 문장

나는 “핸드폰에 AI를 넣고 있는 게 아니라,
AI에게 핸드폰을 하나 달아주고 있다.”

이 관점이 잡히면:

  • 왜 Android 코드를 안 봐도 되는지
  • 왜 API 키가 필요 없는지
  • 왜 Agent가 먼저 떠야 하는지
    전부 자연스럽게 연결됨

'자비스' 카테고리의 다른 글

인터렉션 확장  (0) 2026.06.07
카메라 기반 AI 눈 추적 시스템 환경구축  (1) 2026.06.07