완전 로컬 AI 비서
Baron (바론) — 자비스형 개인 비서
영화 아이언맨의 자비스처럼 말을 걸면 바로 대답하고, 지시하면 도구를 조합해 일을 처리하며, 묻지 않아도 먼저 알려주는 개인 AI 비서. 원하는 곡을 설명하면 작사·작곡부터 내 목소리로 부른 음원까지 만들어 준다. 외부 AI API 없이 Mac mini 두 대의 로컬 모델만으로 동작한다.
연구 질문
클라우드 API 없이 소형 서버 두 대만으로 사람과 대화하듯 빠른 응답, 안전한 도구 실행, 장기 기억을 모두 갖춘, 매일 쓰는 비서를 만들 수 있는가.
접근
모든 요청을 큰 모델에 보내지 않는다. 소형 모델(gemma-4)이 먼저 의도를 분류해 인사·단순 조회는 수 초 안에 직접 답하고, 여러 단계가 필요한 일만 27B 추론 루프로 넘긴다. 그 직전에 규칙 기반 플래너가 이번 요청에 필요한 도구 묶음만 골라 실어 프롬프트 캐시를 살린다. 도구는 유스케이스가 아니라 능력 단위로 정의해 루프가 조합하게 하고, 위험한 도구는 승인 카드를 거쳐야만 실행된다. 수집·계산·검증은 코드가, 해석과 문장은 LLM 이 맡는다.
구성 저장소
| baron / primary | 추론 머신. 27B 에이전트 루프와 플래너, RAG 기억, 비전, REST·WebSocket API(연결과 분리된 실행), 아침 브리핑, 자가 점검 |
|---|---|
| baron / secondary | 작업 머신. 의도 라우터와 경량 경로, 도구 런타임·정책·감사, 시장 데이터와 전략 검증, 포지션 감시, 사업자 관리, 메일 정리 |
| baron / voice | 실시간 음성 대화. 음성 감지·턴 판정·끼어들기, 화자 인식, 발음 적응 교정, 조회 도구 연결 |
| baron / music | 음원 제작. 곡 설계·작사, ACE-Step 생성과 GPU 교대 스케줄링, 참고 음원 분석, 보컬 분리·음색 변환·재합성 |
| baron / pwa | 스마트폰 클라이언트(React PWA). 채팅·음성·사진·음악, 승인 카드, 페어링 코드 인증 |
주요 기능
- 세 갈래 응답 경로 — 소형 라우터가 확신할 때만(0.8 이상) 직접 답하거나 조회 도구 하나를 바로 실행하고(수 초~20초), 나머지는 27B ReAct 루프(최대 5스텝)로 보낸다. 도구가 필요한 요청에 도구 없이 쓴 답은 버리고 다시 시킨다.
- 버튼 없는 실시간 음성 대화 — 계속 듣다가 말이 끝나면 답하고, AI 가 말하는 중에 끼어들면 멈춘다. "응·그래" 같은 맞장구는 끼어들기와 구분해 하던 말을 이어 가고, 끊긴 답은 실제로 들린 부분까지만 기억한다. 실측 기준 말을 마친 뒤 약 2초 안에 첫 음성이 나오고, 끊으면 0.5초 안팎에 멈춘다.
- 내 목소리만 듣는 모드 — 약 45초 목소리를 등록하면 등록된 사람의 말만 받아들인다. 프로필은 암호화해 로컬에 두고, 쓸수록 목소리와 발음 습관(예: 잘못 인식되는 용어)을 배워 인식이 나아진다. 다만 화자 인식은 권한 근거로 쓰지 않아, 음성으로는 조회만 하고 주문·발송은 하지 않는다.
- 확인한 사실만 말하기 — 날씨·주가·일정 같은 실시간 질문은 "확인해 볼게요"로 기다림을 가린 뒤 조회 결과만 근거로 답하고, 조회에 실패하면 수치를 지어내지 않는다. 주식 질문은 서버가 자료 수집·계산·문장 구성까지 끝낸 브리핑 도구 하나로 보내 모델의 선택 실수를 줄였다.
- 시간 한도 안의 답 보장 — 남은 시간이 부족하면 도구를 멈추고 모은 결과로 답을 쓰며, 그래도 비면 성공한 조회 결과로 부분 답을 만든다. 실행은 연결과 분리돼 있어 폰 연결이 끊겨도 끝까지 진행되고, 재접속하면 이어받는다.
- 장기 기억 — 대화에서 지속되는 사실(이름·취향·일정 등)을 추출해 벡터 DB 에 쌓고, 실측으로 정한 유사도 기준을 넘는 것만 꺼내 쓴다. 거의 같은 기억은 중복으로 저장하지 않는다.
- 먼저 말하기 — 매일 아침 메일·일정·세무 기한·리마인더·보유 종목을 묶은 브리핑(날짜·요일 표현은 코드로 검증·교정), 매 정시 새 메일 정리, Google Tasks 와 연동한 리마인더 D-day 알림.
- 사업자 비서 — 말·영수증 사진·카드 내역 파일로 거래 원장 기록(부가세 역산), 견적·청구서 발행과 미수금 알림, 문서 보관과 의미 검색, 순자산과 월간 보고서.
- 금융 데이터와 전략 검증 — 전 종목 일별 시세를 자체 수집해 조건 선별과 백테스트를 한다. 백테스트는 전일까지의 정보만 쓰고 체결 순서를 알 수 없으면 불리한 쪽으로 가정한다. 새 설정은 네 구간에서 모두 기존보다 나아야 후보가 되고, 실제 주문 없이 매일 섀도 운용으로 표본 외 성적을 쌓으며, 반영은 사람이 결정한다. 대화로 내는 주문은 자동 승인 설정과 무관하게 사람이 직접 승인해야 한다.
- 작사·작곡·음원 생성 — 원하는 곡을 말이나 글로 설명하면 27B 가 섹션·코드 진행·BPM·조성을 담은 곡 설계도(JSON)를 만들고 가사를 쓴 뒤, 음악 생성 모델 ACE-Step 1.5 가 보컬이 들어간 음원을 만든다. 설계도는 스키마로 검증하고, 응답이 잘리거나 형식이 틀리면 사유를 붙여 다시 요청한다. 실측 기준 30초 곡의 음원 생성 단계는 약 45초다.
- 한 대의 GPU 를 나눠 쓰는 교대 운용 — 메모리 32GB 에 27B 와 음악 모델을 함께 올리면 메모리가 부족해, 음원 작업 동안만 27B 를 내리고 음악 엔진을 올렸다가 끝나면 되돌린다. 그동안 대화는 소형 모델 경로로 계속된다. 생성은 기본적으로 밤(22:00~05:30)에 몰아 하고, 낮에 들어온 요청은 설계·작사까지 해 두고 대기열을 비워 다른 작업을 막지 않는다. 급하면 [지금 생성]으로 바로 돌린다.
- 참고 음원 분석 작곡 — 유튜브 링크 여러 개와 비중을 주면 곡마다 BPM·조성·코드 진행·구조·에너지·음색을 분석해 목표 특성을 만들고, 그 특성에 맞춰 코드 진행과 구조를 새로 설계한다. 참고곡의 멜로디나 코드 진행은 그대로 가져오지 않는다. 완성곡을 같은 분석기로 다시 분석해 참고곡과 지나치게 비슷하면 경고한다(복제 가능성을 거르는 보조 지표이며 법적 판정은 아니다). 참고 음원은 개인 분석용으로만 보관한다.
- 내 목소리로 부르기 — 본인 또는 허락받은 사람이라는 동의를 남긴 뒤 30초 안팎의 목소리를 등록하면, 생성곡이나 갖고 있는 노래에서 보컬을 분리(Demucs)하고 음색을 바꿔(Seed-VC) 반주와 다시 합친다. 키는 ±12 반음까지 조정한다. 등록한 목소리는 암호화해 로컬에만 두고, 결과물은 개인 청취용이다.
- 스스로 빨라지는 비서 — 매일 새벽 전날의 응답 시간·도구 실패율·부정 피드백을 진단해 보고하고, 느리게 처리된 단순 질문은 라우터 예시로 학습해 다음부터 빠른 경로로 보낸다. 평가셋 정확도가 떨어지면 자동으로 되돌리며, 코드는 스스로 고치지 않는다.
처리 흐름 · 채팅
- 입력텍스트 · 사진 · 음성 파일
- 의도 분류소형 라우터 · 경량 즉답
- 플래너규칙 · 도구 묶음 선택
- 기억 검색bge-m3 · pgvector
- 에이전트 루프27B ReAct · 최대 5스텝
- 도구 정책SSRF · 예산 · 승인 · 감사
- 답변기억 추출 · 음성 합성
처리 흐름 · 실시간 음성
- 마이크 스트림16kHz · 20ms 조각
- 음성 감지silero VAD
- 화자 확인등록된 목소리만
- 음성 인식Whisper · 발음 교정
- 턴 판정어미 · 무음 규칙
- 답 생성gemma-4 · 조회 도구
- 문장 단위 합성첫 문장부터 재생
처리 흐름 · 음원 제작
- 요청곡 설명 · 참고 음원 · 목소리
- 참고 음원 분석librosa · 템포·조성·코드
- 곡 설계27B · 섹션·코드·BPM
- 작사섹션별 가사
- GPU 교대27B 내림 · 밤 배치
- 음원 생성ACE-Step 1.5
- 내 목소리 변환Demucs · Seed-VC
- 결과 검사파일 검증 · 독창성 지표
코드 · 통계LLM 판단검증 게이트
※ 금융 기능은 기술 레퍼런스입니다. 투자 자문이나 매매 권유가 아니며, 어떤 수익도 보장하지 않습니다.