내부 연구 프로젝트

컨설팅 역량을 코드로 검증하기 위해 자체적으로 진행한 연구입니다. 24개 저장소를 아이디어 단위로 10개 주제로 묶었고, 같은 목적의 저장소는 하나로 합쳐 소개합니다. 외부 제공 시에는 별도 계약 범위로 다룹니다.

01

내 목소리로 부르는 AI 노래 주문 제작

인어공주의목소리 (mzstudio) — media.ifweb.kr

참여자(최대 3명)가 스마트폰으로 짧은 문구 네 개를 녹음하고 가사·분위기를 적어 주문하면, AI 가 작사·작곡하고 참여자 본인의 목소리로 부른 완성곡을 만들어 이메일로 납품하는 유료 서비스. 주문 접수부터 생성·검수·납품·결제·세무 원장까지 사람 손 없이 돌아가며, 웹·API·녹음 보관·GPU 생성을 모두 Mac mini 한 대의 로컬 모델로 처리한다.

연구 질문

1분 남짓한 녹음만으로 본인 목소리처럼 들리고, 음이 깨지지 않으며, 가사가 정확히 들리는 완성곡을 사람 검수 없이 만들어 돈을 받고 팔 수 있는 품질로 납품할 수 있는가.

접근

생성 모델의 결과를 그대로 믿지 않는다. 녹음에서 참여자의 실제 음역을 재고, 그 음역을 작곡 규칙으로 걸어 곡을 만든 뒤, 받아쓰기로 가사 일치율을, 음높이 추적으로 음역 초과·긴 고음·급등을 검사해 통과한 시도만 목소리 변환으로 넘긴다. 주문 1건은 준비 → GPU → 후처리 세 단계 대기열로 나눠, 하나뿐인 GPU 를 빌린 동안에는 줄 선 작업을 이어 처리한다. 실패는 원인(가사·녹음·시스템)별로 나눠 고객이 직접 고치거나 자동으로 다시 시도한다.

구성 저장소

mzstudio / webNext.js 정적 웹(한국어·English). 주문서, 녹음 4종과 따라 부르기 샘플, 결제, 진행률·남은 시간, '내 음악' 다운로드·수정 요청, 30초 Shorts 관리
mzstudio / apiFastAPI. 녹음 업로드 검사, 주문·결제(토스페이먼츠)·웹훅, 다운로드 토큰, 매출 원장, 내부망 전용 관리자 화면
mzstudio / worker생성 워커. 작사·곡 설계, GPU 임대, 작곡·분리·검수·목소리 변환, 단락 조립·마스터링, 악보·Shorts 렌더링, 납품 메일, 보관 기간 정리
공유 엔진ACE-Step · Seed-VC 설치물과 GPU 교대를 Baron(02)과 함께 쓰되, 사용자별 임대로 서로의 작업을 내리지 않는다. 주문·고객 데이터·DB 는 분리

주요 기능

  • 녹음 네 개로 음역 측정 — 문장 읽기·편한 음·가볍게 노래하기·사이렌(가장 낮은 음에서 높은 음까지) 네 문구를 녹음하면, 노래 소리 문구로만 음역을 잰다. 말소리로 재면 음역이 낮고 좁게 잡혀 곡이 움츠러들기 때문이다. 녹음 직후 측정 음역(예: D3~A4)을 보여 주고, 너무 짧거나 음이 이어지지 않는 녹음은 다시 받는다.
  • 여러 명이 나눠 부르는 한 곡 — 가사 단락을 참여자에게 배정하고, 사람마다 변환한 보컬을 단락 경계에서 짧게 교차 페이드해 잇는다. 함께 부르는 단락은 겹쳐 섞는다.
  • 로컬 LLM 작사·곡 설계 — 제목·분위기·장르로 가사를 쓰거나 고객이 쓴 가사를 다듬는다. 소형 모델(gemma-4)이 1순위, 실패하면 27B 로 넘긴다. 노래 언어 9종, 빠르기·곡 길이는 '자동'을 기본으로 고르기 쉬운 몇 개 값만 둔다. 힙합·랩은 마디당 음절 수로 곡 길이를 따로 계산한다.
  • 음 이탈 방지 — 참여자 음역·한 옥타브 폭·5도 넘는 도약 금지 같은 규칙을 작곡 모델과 설계 LLM 에 함께 건다. 생성된 보컬의 음역을 재어 옥타브를 맞추고, 그래도 5반음 넘게 벗어나거나 긴 고음·12반음 급등이 있으면 다시 만든다. 변환 뒤에도 급등을 다시 검사한다.
  • 가사 검수 — 생성곡을 Whisper 로 받아써 주문 가사와 비교하고, 언어별 기준을 넘는 시도만 통과시킨다. '의/에', 'ㅐ/ㅔ'처럼 발음이 같은 표기는 같게 본다. 받아쓴 단어 시각은 Shorts 자막과 악보에도 쓴다.
  • 납품물 — 완성곡·MR·가사, 그리고 AI 가이드 보컬을 자동 채보한 가사 포함 악보 PDF(LilyPond). 이메일 링크와 '내 음악'에서 받는다.
  • 30초 Shorts 자동 공개 — 보컬 비율과 에너지로 하이라이트를 골라 9:16 영상과 가사 줄 자막을 만든다. 주문 때 참여자 전원의 동의를 받고, 주문자가 '이대로 확정'을 누른 뒤에만 공식 채널에 올린다. 언제든 공개를 취소할 수 있다.
  • 수정과 원본 녹음 보관 — 최초 납품 후 14일 안에 3회까지 수정(재생성)할 수 있다. 원본 녹음은 암호화해 두었다가 확정·수정 소진·기간 종료 때 지우고, 중간 파일은 납품 뒤 바로 정리한다.
  • 실패를 고칠 수 있게 — 실패를 가사·녹음·시스템으로 나눠, 가사 문제는 고객이 가사를 고치거나 AI 다듬기로 다시 제작하고, 녹음 문제는 재녹음, 시스템 문제는 워커가 몇 분 뒤 자동으로 두 번 더 시도한다.
  • 결제·세무 — 토스페이먼츠 원화·달러(해외카드·PayPal) 결제. 승인 응답이 끊기면 '승인 확인 중'으로 두고 워커가 결제사에 다시 물어 마무리한다. 웹훅 본문은 믿지 않고 재조회해 반영하며, 부분·전액 취소와 과세·영세율로 분류한 매출 원장을 남긴다.
  • 보안 기본값 — CSP 와 프레임 차단, 업로드 파일 머리 바이트 검사와 재생목록 위장 차단, 주문 조회 열쇠는 헤더로만, 관리자 화면은 VPN 대역 밖에서 404. 해외 접속은 처음 화면을 영어로 띄운다.
  • 한 대의 GPU 를 나눠 쓰기 — 주문이 들어오면 바로 비서의 27B 를 내리고 음악 엔진을 빌린다. 한 번 빌리면 대기 중인 작업을 이어 처리하고, 준비 단계는 GPU 대기 2건까지만 앞서 해 둔다. 실측 기준 2명 64초 곡 1건에 약 7분, 가사 일치율 0.975.
  • 주문량에 맞춘 확장 — 고객 요청 건수가 늘면 LLM 서버를 추가할 예정이다. 작업 집어 가기와 결제 반영은 DB 잠금으로 한 줄로 세워 두어, 처리 기계가 늘어도 같은 주문을 두 번 만들지 않는다.

구조 · 주문 1건

인어공주의목소리 주문 처리 구조주문서와 녹음 4종, 결제를 거친 주문은 PostgreSQL 에 반영되고 워커가 DB 잠금으로 집어 갑니다. 준비 단계에서 작사와 곡 설계를 하고, GPU 단계에서 임대, 작곡, 부르기 검수, 목소리 변환을 합니다. 검수에 미달하면 다시 만듭니다. 후처리 단계에서 조립, 마스터링, 악보, Shorts, 납품을 합니다. 실패는 가사, 녹음, 시스템 원인별로 나눠 처리합니다.주문 · 웹 + API① 준비② GPU③ 후처리실패 처리주문서가사 · 분위기 · 최대 3명녹음 4종음역 측정 · 업로드 검사결제토스페이먼츠 · 승인 대조PostgreSQL주문 · 매출 원장반영DB 잠금으로 작업 집어 가기작사 · 곡 설계gemma-4 → 27B음역 규칙 적용GPU 대기앞선 준비는 2건까지GPU 임대Baron 27B 내림작곡ACE-Step · Demucs부르기 검수Whisper · 음역 · 급등목소리 변환Seed-VC통과미달 · 다시 생성한 번 빌리면 대기 작업을 이어 처리단락 조립 · 마스터링악보 PDF · 30초 Shorts납품이메일 · 내 음악실패 원인가사고객 수정 · AI 다듬기 후 재제작녹음고객이 재녹음시스템몇 분 뒤 자동으로 2회 더 시도실패 시
좌우로 밀어 전체를 볼 수 있습니다.코드 · 구성 요소LLM 판단검증 게이트데이터 저장소세 단계 대기열과 원인별 실패 처리입니다.
Python · FastAPINext.js 정적 exportMLX 로컬 LLM (gemma-4 · 27B)ACE-Step 1.5 · Demucs · Seed-VCWhisper 정렬 · pyinLilyPond 악보ffmpeg · Pillow 영상PostgreSQL토스페이먼츠 · YouTube API
02

완전 로컬 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 반음까지 조정한다. 등록한 목소리는 암호화해 로컬에만 두고, 결과물은 개인 청취용이다.
  • 스스로 빨라지는 비서 — 매일 새벽 전날의 응답 시간·도구 실패율·부정 피드백을 진단해 보고하고, 느리게 처리된 단순 질문은 라우터 예시로 학습해 다음부터 빠른 경로로 보낸다. 평가셋 정확도가 떨어지면 자동으로 되돌리며, 코드는 스스로 고치지 않는다.

구조 · 채팅 처리

Baron 채팅 처리 구조스마트폰 입력을 작업 머신의 소형 라우터가 분류합니다. 확신도가 0.8 이상이면 직접 답하거나 조회 도구 하나를 실행해 수 초에서 20초 안에 돌려줍니다. 아니면 추론 머신의 플래너가 도구 묶음을 고르고 기억을 검색한 뒤 27B ReAct 루프가 최대 5스텝을 돕니다. 도구 호출은 작업 머신의 정책 게이트를 지나며 위험한 도구는 승인 카드가 필요합니다. 도구 없이 쓴 답은 버리고 다시 시킵니다.스마트폰 PWA작업 머신baron / secondary추론 머신baron / primary빠른 답변입력텍스트 · 사진음성 파일승인 카드사람이 승인답변텍스트 · 음성의도 분류gemma-4확신도≥ 0.8 ?직접 답 · 조회 도구 1개수 초 ~ 20초도구 정책SSRF · 예산 · 승인 · 감사도구 런타임능력 단위 도구플래너규칙 · 도구 묶음 선택기억 검색bge-m3 · pgvector에이전트 루프27B ReAct · 최대 5스텝답변 검증도구 없이 쓴 답은 재시도기억 추출음성 합성예아니오도구 호출결과위험한 도구재시도저장
좌우로 밀어 전체를 볼 수 있습니다.코드 · 구성 요소LLM 판단검증 게이트데이터 저장소머신 두 대에 나뉜 구성 요소와 응답 경로입니다.

처리 흐름 · 실시간 음성

  • 마이크 스트림16kHz · 20ms 조각
  • 음성 감지silero VAD
  • 화자 확인등록된 목소리만
  • 음성 인식Whisper · 발음 교정
  • 턴 판정어미 · 무음 규칙
  • 답 생성gemma-4 · 조회 도구
  • 문장 단위 합성첫 문장부터 재생

처리 흐름 · 음원 제작

  • 요청곡 설명 · 참고 음원 · 목소리
  • 참고 음원 분석librosa · 템포·조성·코드
  • 곡 설계27B · 섹션·코드·BPM
  • 작사섹션별 가사
  • GPU 교대27B 내림 · 밤 배치
  • 음원 생성ACE-Step 1.5
  • 내 목소리 변환Demucs · Seed-VC
  • 결과 검사파일 검증 · 독창성 지표

코드 · 통계LLM 판단검증 게이트

Python · asyncioFastAPI · WebSocket · SSEMLX 로컬 LLM (Qwen3.8-27B · gemma-4)Whisper · silero VADsherpa-onnx 화자 인식ACE-Step 1.5 · Demucs · Seed-VClibrosa · yt-dlpbge-m3 RAGPostgreSQL · pgvector · RedisReact · Vite PWA

※ 금융 기능은 기술 레퍼런스입니다. 투자 자문이나 매매 권유가 아니며, 어떤 수익도 보장하지 않습니다.

03

금융시장 인텔리전스

K-FinSight

뉴스·공시·시세를 온톨로지로 검증한 지식 그래프에 쌓고, 사건마다 시장 반응을 측정해 근거 참조 리포트를 자동 생성하는 로컬 LLM 파이프라인.

연구 질문

하루 수천 건의 문서에서 "무슨 일이 있었고 시장이 어떻게 반응했는가"를 사람이 검증할 수 있는 근거와 함께, 클라우드 API 없이 재현 가능하게 답할 수 있는가.

접근

LLM 을 데이터베이스처럼 쓰지 않는다. 수집·정규화·검증·통계는 코드가 맡고, LLM 은 압축된 증거 묶음을 받아 해석만 한다. 정형 공시 21종은 규칙 파서로, 서술형 문서만 두 로컬 모델 풀로 처리한다.

구성 저장소

K-FinSight수집 → 정규화 → AI 추출 → 지식 승격 → RAG → 시장 반응 → 인텔리전스 → 리포트. Next.js 대시보드·송출 화면 포함

처리 흐름

  • 수집뉴스 RSS · DART · KIS
  • 정규화표준 스키마 · 기업 매칭
  • AI 추출규칙 파서 + 로컬 LLM 풀
  • 온톨로지 검증20 이벤트 · 10 관계
  • 지식 승격중복 병합 · 증거
  • RAGbge-m3
  • 시장 반응초과수익 · 수급
  • 인텔리전스근거 참조 인사이트
  • 리포트일간 · 주간

코드 · 통계LLM 판단검증 게이트

Python · asyncioFastAPIPostgreSQL · pgvectorMLX 로컬 LLM (Qwen3.8-27B · gemma-4)bge-m3 RAGNext.js
04

주식 자동매매 연구·실행

tengine 계열

"잘 버는 봇"이 아니라 잘못된 전략이 실거래로 새어 나가지 않게 막는 공학. 연구·코어·실행·클라이언트를 4개 저장소로 분리해 역할과 권한을 나눴다.

연구 질문

백테스트의 거짓 우위를 시스템 차원에서 걸러내고, 검증한 전략과 실제 동작이 어긋나지 않게 같은 코드로 연구와 실거래를 묶을 수 있는가.

접근

전략 = 데이터(genome JSON) + 실행 코드(공유 코어). 연구 노드는 DB 읽기 권한만 갖고 증권사 API 없이 돌며, 검증된 genome 만 실행 엔진 카탈로그로 내보낸다. shadow → paper → live 승격에는 사람 승인이 필수이고, 안전 조건 하나라도 막히면 주문하지 않는다.

구성 저장소 (4개를 하나의 프로그램으로)

strategy-lab연구 = 생산자. LLM 토론으로 전략 후보 생성·백테스트·검증·승격
strategy-core공유 코어. genome 스펙, KR 신호 프리미티브, 백테스트 하니스 (순수 stdlib)
trading-engine실행 = 소비자. KR·US 독립 프로세스, 모바일 API, 웹 대시보드
trading-client사용자 프로필·모드·브로커·전략 설정 API와 클라이언트

구조 · 승격 경로

자동매매 저장소 구조와 승격 경로strategy-lab 은 DB 읽기 권한만 갖고 증권사 API 없이 전략 후보를 만들고 백테스트해, 검증된 genome 만 trading-engine 카탈로그로 내보냅니다. 전략은 shadow, paper 를 거쳐 사람 승인과 fail-closed 안전 게이트를 통과해야 live 가 됩니다. strategy-core 는 연구와 실행이 함께 쓰는 코어이고, trading-client 는 사용자 설정을 맡습니다.strategy-lab연구 = 생산자trading-engine실행 = 소비자strategy-core공유 코어 · 순수 stdlibtrading-client전략 후보LLM 토론백테스트보수적 체결OOS검증 통과genome 만연구 노드 권한DB 읽기만 · 증권사 API 없음카탈로그genomeshadow모의paper전진 검증사람 승인실현 성과 기준안전 게이트막히면 주문 안 함liveKR · US 독립 프로세스genome 스펙KR 신호 프리미티브백테스트 하니스같은 코드같은 코드프로필 · 모드 · 브로커 · 전략 설정설정
좌우로 밀어 전체를 볼 수 있습니다.코드 · 구성 요소LLM 판단검증 게이트데이터 저장소저장소 경계와 live 까지의 승격 경로입니다.
Python · asyncioPostgreSQLRedis Pub/SubFastAPI증권사 OpenAPI멀티프로세스 · systemd · launchd

※ 기술 레퍼런스입니다. 투자 자문이나 매매 권유가 아니며, 어떤 수익도 보장하지 않습니다.

05

암호화폐 선물 매매 봇

futures-ai → fmbot

Binance USDⓈ-M 선물을 대상으로, 객관적 계산은 규칙 엔진이 하고 종합 판단은 LLM 이 맡는 설명 가능한 의사결정 구조를 두 세대에 걸쳐 발전시켰다.

연구 질문

초 단위로 움직이는 시장에서 왜 진입·청산했는지 사람이 읽을 수 있는 근거를 남기면서, 실거래 안전을 코드로 강제할 수 있는가.

접근

1세대(futures-ai)는 규칙 엔진과 LLM 판단의 역할을 분리한 설명 가능 엔진으로 시작했고, 2세대(fmbot)는 수집·분류·판단·실행을 데몬 단위로 나눈 구조로 다시 만들었다. 시세·티커·웹소켓 수집 데몬이 먼저, 시장 상태 분류가 그 다음, 매매 데몬이 마지막에 뜬다. 실거래는 단 하나의 스위치로만 켜지고 나머지는 모두 페이퍼다.

구성 저장소 (세대 병합)

fmbot (2세대, 현행)데몬 분리 구조(scand · tickd · wsd · classd · beamd · trade). 로컬 MLX 모델을 판단에 사용, 페이퍼/섀도 트랙별 진입·청산 규칙 원장
futures-ai (1세대)Rule Engine + LLM 종합 판단의 역할 분리 원형. Alpha-first 개발 원칙 문서화
  • 시세 · 티커 · WS 수집1분봉 → DB · Redis
  • 시장 상태 분류레짐 라벨
  • 종합 판단규칙 + LLM
  • 안전 스위치LIVE 단일 플래그 · 포지션 상한
  • 실행페이퍼 / 섀도 / 실거래
Python · asyncioBinance Futures API · WebSocketPostgreSQL · RedisMLX 로컬 LLMuv · ruff · pytest

※ 기술 레퍼런스입니다. 투자 자문이나 매매 권유가 아니며, 어떤 수익도 보장하지 않습니다.

06

LLM 오케스트레이션 · 봇 아키텍처

FusionAgent 와 브리지/코어 패턴

메신저 봇은 메시지만 다루고 AI 처리는 별도 코어에 위임하는 2계층 구조를 세 번 반복해 검증했고, 그 코어 앞단에 다중 모델 게이트웨이(FusionAgent)를 두었다.

연구 질문

여러 봇 서비스가 모델을 직접 부르지 않고도 품질·비용·장애 격리를 얻으려면 경계를 어디에 두어야 하는가.

접근

봇(브리지)은 플랫폼(Telegram·Kakao) 수신과 정규화, 역방향 알림만 담당하고 AI 코어는 플랫폼을 모른다. 코어들은 FusionAgent 로 요청을 넘기며, 게이트웨이가 분류 → 역할별 모델 병렬 실행 → 신뢰도 평가 → 결합을 처리한다. 메모리·검색은 호출 서비스의 책임으로 남겨 게이트웨이를 무상태로 유지한다.

구성 저장소 (역할별 병합)

fusion-agent다중 모델 게이트웨이. 적응형 라우팅, 결합 게이팅, 서킷 브레이커, SSE 스트리밍, DB 가드레일
dnbot / dncore동네 생활 봇. Telegram·Kakao 브리지 + LLM 대화·도메인 데이터·스케줄러 코어, 내부 토큰 인증
ngbot / ngaicore봇 서버 / AI 서버 스캐폴딩 쌍. 같은 패턴의 재사용 템플릿
mybotTelegram 메시지를 Claude·Gemini·Codex·Ollama 로 라우팅하는 다중 LLM 봇. 단일 인스턴스 잠금

구조

봇 2계층과 FusionAgent 구조봇 브리지는 Telegram 과 Kakao 메시지 수신, 정규화, 역방향 알림만 맡고 내부 토큰 인증을 거쳐 AI 코어로 넘깁니다. 코어는 플랫폼을 모르며 FusionAgent 로 모델 요청을 보냅니다. FusionAgent 는 분류, 역할별 모델 병렬 실행, 신뢰도 평가, 결합을 처리하는 무상태 게이트웨이이고 메모리와 검색은 호출 서비스의 책임입니다.메신저봇 브리지AI 코어플랫폼을 모름FusionAgentTelegramKakao수신 · 정규화역방향 알림 발송내부 토큰 인증x-internal-token대화 상태 · 도메인스케줄메모리 · 검색호출 서비스 책임알림무상태 게이트웨이 · 서킷 브레이커 · DB 가드레일분류적응형 라우팅역할별 모델병렬 실행신뢰도 평가결합결합 게이팅응답SSE 스트리밍로컬 모델 백엔드MLX · OpenAI 호환모델 요청
좌우로 밀어 전체를 볼 수 있습니다.코드 · 구성 요소LLM 판단검증 게이트데이터 저장소브리지, 코어, 게이트웨이의 경계입니다.
Python · asyncioFastAPI · aiohttpSSE 스트리밍Ollama / OpenAI 호환 백엔드RedisWireGuard 내부망
07

AI 코칭 서비스

Relavo · hearimz

텔레그램에서 대화·분석·코칭을 제공하는 AI 코치와, 그 결과를 본인만 토큰으로 조회하는 보안 우선 웹 대시보드.

연구 질문

민감한 개인 데이터를 다루는 B2C AI 서비스에서 웹 노출 면을 어디까지 줄여야 편의와 안전을 함께 얻는가.

접근

코칭·편집 같은 민감 기능은 봇에 남기고 공개 웹은 조회 전용으로 한정한다. 쓰기 권한은 데이터베이스 단계에서 제거하고, 서명 기반 임시 토큰으로 세션 저장소 없이 인증한다. 시각화는 서버에서 SVG 로 렌더링해 클라이언트 스크립트를 최소화한다. 결제는 Telegram Stars 로 처리한다.

구성 저장소 (봇 + 웹 병합)

Relavo텔레그램 AI 코칭 봇. 대화 분석(/analyze), 마음 분석 누적, Stars 결제, 관리자 패널. 모델 호출은 FusionAgent 위임
hearimz공개 랜딩 + 읽기 전용 대시보드(aiohttp), PWA, 페이지별 CSP
  • 텔레그램 봇코칭 · 분석 · 결제
  • FusionAgent모델 위임
  • 서명 토큰임시 · 무상태
  • 읽기 전용 조회DB 쓰기 권한 없음
  • 서버 SVG 렌더관계 네트워크
  • WebApp / PC페이지별 CSP
Python · asynciopython-telegram-botaiohttp · asyncpgPostgreSQLnginx · HTTPS · PWA
08

DBA 자동화 도구

hybot · migjob

DBA 실무에서 반복되는 두 작업, SQL 튜닝과 스키마 마이그레이션을 도구로 만들었다. 컨설팅 서비스(DBA-02·DBA-03)의 바탕이다.

연구 질문

실행계획·AST·벤치마크 같은 객관적 근거를 LLM 판단 앞에 두면 튜닝 제안의 품질이 얼마나 안정되는가. 오브젝트 이름을 바꿀 때 참조하는 프로시저·뷰까지 안전하게 따라 바꿀 수 있는가.

접근

hybot 은 Oracle·PostgreSQL 에 붙어 EXPLAIN PLAN·AST·벤치마크를 먼저 뽑고, 여러 LLM 프로필이 그 근거 위에서 제안한다. LLM 없이 도는 독립 AST 튜너도 있다. migjob 은 추출 → 명칭 변환 → 마이그레이션 SQL 생성 → 적용 → 검증 파이프라인이며, 연관 오브젝트 내부 참조를 자동 치환한다.

구성 저장소

hybot다중 LLM SQL 성능 튜닝 콘솔 에이전트 (Oracle · PostgreSQL), 독립 AST 튜너
migjobOracle 스키마 마이그레이션 도구. 연관 FUNCTION/PROCEDURE/VIEW 참조 반영, make 기반 파이프라인
PythonOracle · PostgreSQLEXPLAIN PLAN · AST다중 LLM 프로필Makefile 파이프라인
09

로컬 LLM 창작 스튜디오

wt-studio · nvstudio

웹툰과 소설 제작을 기획 → 에이전트 실행 → 산출물 관리의 파이프라인으로 만들어, 창작 도메인에서 로컬 모델 오케스트레이션을 실험했다.

연구 질문

플래너 모델이 작업을 나누고 에이전트가 수행하는 구조가 긴 서사 콘텐츠에서도 일관성을 유지하는가.

접근

wt-studio 는 FastAPI 백엔드와 OpenCode 오케스트레이션으로 웹툰 제작 단계를 관리하고 산출물을 DB 에 쌓는다. nvstudio 는 Gemma 플래너가 계획을 세우고 에이전트·메모리·컨트롤러가 소설 생성을 진행하는 구조다.

구성 저장소

wt-studio로컬 AI 웹툰 제작 시스템 (FastAPI + OpenCode, 마이그레이션·아티팩트 관리)
nvstudio소설 생성 에이전트: planner · agents · memory · controller
Python · FastAPIOpenCode 오케스트레이션Gemma 로컬 모델Alembic
10

서비스·데이터 실험

멍식당(ifewb) · gamebot · lotto

제품 기획과 데이터 파이프라인 훈련을 겸한 사이드 프로젝트. 아이디어 검증 단계에서 멈춘 것도 있다.

내용

  • 멍식당 (ifewb) — 반려견 맞춤 수제 한 끼 구독 플랫폼. 댕동네 커뮤니티 기획에서 출발해 화면·데이터·API·인프라를 단계별로 정의한 실행 계획과 API 스캐폴딩.
  • gamebot — 걸음·운동·수면 같은 현실 활동 데이터로 캐릭터를 키우고 결정론적 자동전투로 겨루는 모바일 RPG. 규칙 로직과 테스트부터 작성.
  • lotto — 로또 6/45 회차 데이터 수집·리포트·예측 파이프라인(v24). 결과의 실용성보다 수집·검증·리포트 자동화 구조를 연습한 프로젝트.

구성 저장소

ifewb기획 문서 3종, API·DB·배포 스캐폴딩
gamebot게임 로직 · 테스트
lotto수집 스크립트 · 예측 엔진 · 웹 · 리포트

비슷한 시스템이 필요하신가요?

LLM 오케스트레이션과 에이전트 비서, 보안 우선 웹 아키텍처, 비동기 데이터 파이프라인, 운영 안전장치 설계까지 — 위 연구를 수행한 역량으로 귀사의 과제를 설계하고 구현합니다.