Vibe-Research: AI가 의사 결정을 하기 위해 필요한 데이터만 모아 주는 개인용 투자 리서치 대시보드

Vibe-Research 소개

LLM으로 시장 데이터를 다루는 오픈소스 프로젝트는 대부분 파이프라인 끝에 트레이더나 포트폴리오 매니저 역할을 하나 두고, 그 역할이 매수 또는 매도와 비중을 출력하도록 만들어져 있습니다. 결과물이 명확해서 데모가 잘 되지만, 쓰는 쪽에서는 그 결론이 어느 데이터에서 어떻게 나왔는지 되짚기 어렵고, 모델을 바꾸면 결론도 함께 바뀌는데 무엇 때문에 바뀌었는지는 남지 않습니다. 데이터를 모으는 일과 판단을 내리는 일이 한 덩어리로 묶여 있어서 생기는 문제입니다.

Vibe-Research는 그 둘을 떼어 놓은 오픈소스 리서치 대시보드입니다. 시세, 리서치 리포트, 밸류에이션, 재무제표, 공시, 자금 흐름, 뉴스를 한 화면에 모아 놓되 방향과 결론은 내지 않고, 사용자가 직접 연결한 AI가 그 데이터를 받아 판단하게 합니다. 저자는 이 성격을 *"You bring the model, it brings the data"*라는 한 줄로 요약하고 있습니다. 중국 A주를 비롯하여 미국(US)과 홍콩(HK) 주식 시장을 함께 담았으며, 한국 주식은 6자리 코드에 .KS 를 붙여 시세만 조회할 수 있습니다. (예. 삼성전자: 005930.KS)

Vibe-Research는 FastAPI 백엔드와 React 19 프론트엔드로 이루어진 Python 3.10 이상 프로젝트이며, 독립 개발자 Simon이 혼자 만들어 공개했습니다. 데이터 계층은 세 개의 공개 툴킷을 저장소 안에 그대로 넣어(vendoring) 두는 방식이라, git clone 만으로 추가 다운로드 없이 동작합니다.

:warning: 본 게시물은 인공지능 에이전트가 시장 데이터를 모아 보여 주는 오픈소스 리서치 대시보드를 소개하는 글로, PyTorchKR은 이번 글을 통해 인공지능 기술이 금융 분야에서 어떻게 활용될 수 있는지 가능성과 그 방법에 대한 소개를 하는 것을 목적으로 합니다. 즉, 어떠한 경우에도 PyTorchKR 및 이 게시물은 투자를 권유, 제안, 또는 추천하려는 목적으로 작성한 것이 아님을 알려드리며, 투자에 대한 조언을 구성하지 않습니다.

Vibe-Research의 화면 구성

일간 복기 화면은 지수 시세와 미국 및 홍콩 시장의 전일 종가, 관심 종목 시세, 단기 심리 지표, 시장 전체 거래대금 상위 20개, 시장 폭, 업종 자금 흐름 추이와 업종 순환을 한 화면에 놓습니다. 화면 오른쪽 위의 버튼을 누르면 그날의 객관적 데이터가 묶여 사용자가 연결한 AI에게 넘어가고, 복기 문서는 그 모델이 씁니다. 화면 안의 안내 문구도 *"분석은 그쪽이 하고, 우리는 데이터를 먹이는 일만 한다"*는 뜻을 그대로 적어 두었습니다.

나머지 화면은 각각 다른 질문을 담당합니다. 자료 레이더는 12개 산업 트랙에 걸친 106개 공개 RSS 피드를 모아 요약하고, 개별 종목 데이터 화면은 A주에 대해 밸류에이션 행렬과 실적 스냅샷과 자체 5년 이력 대비 밸류에이션 백분위와 재무 지표와 자금 흐름을 붙여 보여 줍니다. 관심 종목은 쉼표나 공백이나 줄바꿈으로 구분한 티커를 한 번에 붙여 넣을 수 있고 로컬에만 저장됩니다. 보유 현황과 업로드한 리서치 문서는 프로젝트 폴더 밖의 ~/.vibe-research/ 에 기본 저장되어, 프로젝트를 다시 받거나 덮어써도 데이터가 사라지지 않는 구성입니다.

Vibe-Research의 GPU 임대료 패널

산업 신호 화면 중 GPU 임대료 항목은 이 커뮤니티의 관심사와 가장 가까운 자리입니다. B200과 H100 SXM과 A100 SXM4의 최근 1년 일별 가격 이력을 보여 주는데, 출처는 500.farmVast.ai의 임대 가능 매물을 기종 등급별로 묶어 낸 중위값 집계입니다. 화면 아래의 현물 카드는 그 곡선의 가장 최근 표본점이라고 명시되어 있어, 카드의 숫자와 곡선의 끝점이 어긋나지 않습니다. 카드에는 현재 시장에 올라온 카드 수와 총 대수, 임대 중 비율도 함께 표시됩니다.

원거리 구간은 Kalshi의 공개 이벤트 계약에서 가져오고, 정산 기준은 Ornn 크로스 플랫폼 지수의 월 평균입니다. 상장된 모든 정산 월을 다뤄 기간 구조 곡선으로 시장이 임대료를 어느 방향으로 보는지 보여 주며, 월별 확률 분포와 내재 중위값과 최빈 구간도 함께 표시합니다. 저자가 화면 위에 직접 적어 둔 단서가 하나 있는데, 현물은 *"지금 이 순간"*이고 원거리는 *"월 평균"*이라 서로 다른 척도이므로 한쪽에서 다른 쪽을 빼지 말라는 것입니다. 데이터 스냅샷이 저장소에 함께 들어 있어 새로 받은 직후에도 전체 이력이 보이고, 한 번 갱신하면 최신 상태가 됩니다.

Vibe-Research가 다중 에이전트를 설계한 방식

이 프로젝트가 스스로 밝힌 차별점이 여기 있습니다. TradingAgents (:pytorch::kr: TradingAgents: 전문 애널리스트와 트레이더 역할을 맡은 LLM 에이전트들이 협력하는 다중 에이전트 금융 트레이딩 프레임워크)와 같은 오픈소스 다중 에이전트 금융 프레임워크는 파이프라인 끝에 트레이더나 포트폴리오 매니저 역할을 두고 매수와 매도와 수량을 출력하는데, Vibe-Research는 그 계층을 의도적으로 생략했습니다. 다중 에이전트 흐름의 종착점이 결론이 아니라 의견 불일치라는 것이 저자의 설계입니다.

강세 대 약세 토론의 진행 순서는 다음과 같습니다:

① 사실 자료      백엔드가 13종의 객관적 데이터셋을 수집 (LLM 미개입)
                  ↓  양쪽이 같은 데이터를 놓고 다투므로 숫자를 지어내서는 이길 수 없음
② 강세 연구원    논지 + 근거 + 그것이 성립하려면 무엇이 유지되어야 하는지
③ 약세 연구원    반론 + 위험 근거 + 그것이 성립하려면 무엇이 유지되어야 하는지
   (선택)         반박 라운드: 항목별로 응답하고, 인정할 것은 인정하고, 데이터로 반박
④ 중립 사회자    합의된 지점 / 실제로 갈리는 지점 / 확인할 것 / 없는 데이터

의도적으로 걸어 둔 제약도 세 가지입니다. 사실 자료를 먼저 채워 모델이 어떤 도구를 호출할지 기억하지 않아도 되게 만들고, 빠진 항목은 자료 안에 *"추측하지 말라"*는 지시와 함께 명시합니다. 모든 주장은 근거가 되는 데이터를 지목해야 하고, 지목할 수 없는 것은 그렇다고 표시해야 합니다. 그리고 사회자는 승자를 고르지 않고 등급이나 성향도 내지 않으며, 산출물은 *"다음에 무엇을 볼 것인가"*입니다.

같은 발상을 이미 가진 글에 적용하는 기능이 회고 감사(Reflection Audit)입니다. 그럴듯하게 들리지만 아무 근거가 없는 부분을 골라내는 용도로, 저자는 시험 과정에서 세 개의 데이터로 일반화한 "기관에서 널리 인정받는" 같은 표현이나 수치가 없는 "추정치를 자주 올렸다" 같은 표현을 안정적으로 잡아냈다고 보고합니다. 토론과 달리 선택한 텍스트에 대한 모델 호출 한 번으로 끝납니다.

토론 한 번의 비용

토론은 대화보다 훨씬 무겁습니다. 모든 역할이 완전한 사실 자료를 함께 들고 가기 때문입니다. 저자가 측정해 공개한 값은 다음과 같습니다:

항목 1라운드 2라운드 (반박 포함)
모델 호출 3회 5회
입력 약 35k 한자 약 60k
출력 약 4k 약 7k
소요 시간 약 100~120초 약 3분

이 중 약 35초는 사실 자료를 받아오는 시간으로, 십여 개의 공개 엔드포인트를 호출하며 토큰은 쓰지 않습니다. 나머지가 생성에 들어갑니다. 저자가 권하는 비용 절감 방법은 대개 1라운드로 충분하다는 것, 구독 방식을 쓰는 편이 낫다는 것, 사실 자료가 이미 채워져 있으므로 비싼 모델이 필요하지 않다는 것, 그리고 호출 제한이 걸린 엔드포인트를 두드리므로 남발하지 말라는 것입니다.

Vibe-Research에 내 AI를 연결하는 세 가지 방법

첫 번째는 구독 방식으로, 이미 로그인해 둔 CLI를 그대로 씁니다. API 키가 필요하지 않고 Claude Code, Codex, Qwen Code, DeepSeek CLI를 지원합니다. 백엔드가 사용자 컴퓨터에서 돌아가고 CLI가 설치되어 로그인된 채 PATH 에 있어야 합니다. 단서가 하나 붙는데, CLI는 여러 단계의 도구 호출 없이 한 번에 답하므로 데이터가 이미 준비된 흐름에 맞고, 모델이 스스로 데이터를 가져와야 하는 열린 질문에는 API 방식이 낫습니다.

두 번째는 API 방식입니다. 모델을 고르면 기본 주소가 채워지므로 키만 붙여 넣으면 되고, DeepSeek, Doubao, MiniMax, OpenAI, OpenRouter, Groq, Together, MiMo와 그 밖의 OpenAI 호환 엔드포인트가 프리셋으로 들어 있습니다. 이 방식은 함수 호출을 지원해 모델이 시세와 밸류에이션과 리포트와 뉴스를 직접 가져옵니다. 키는 브라우저의 로컬 저장소에 남고 사용자 자신의 백엔드로만 전송됩니다.

세 번째는 MCP입니다. 백엔드를 MCP 서버로 연결하면 Claude Code 같은 에이전트가 자기 구독으로 Vibe-Research의 데이터 도구를 호출할 수 있습니다. 세 방식 모두 도구 계층(backend/tools.py)의 25개 데이터 도구를 공유하므로, 채팅과 MCP와 토론이 같은 데이터를 봅니다.

Vibe-Research 설치

백엔드와 프론트엔드를 각각 띄우는 구성입니다:

# Backend (:8900)
cd backend && python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python -m uvicorn app:app --host 127.0.0.1 --port 8900

# Frontend (:5899)
cd frontend && npm install && npm run dev
# Open http://localhost:5899

브라우저에서 http://localhost:5899 를 열면 화면이 나옵니다. 의존성은 계층으로 나뉘어 있어서 최소 설치만으로도 시세와 리포트와 공시가 동작하고, aksharemootdx 는 필요할 때 불러오므로 없으면 해당 엔드포인트만 설치 안내와 함께 501을 돌려주고 서비스 자체는 계속 돕니다. 테스트는 네트워크를 쓰지 않는 오프라인 검사와 실제 데이터 소스의 형태를 확인하는 검사로 나뉩니다:

cd backend && .venv/bin/pip install -r requirements-dev.txt
.venv/bin/pytest -m "not live"   # offline unit + API tests (fast, no network)
.venv/bin/pytest -m live         # verifies live data source shapes (run before releases)

데이터 계층으로 들어간 세 툴킷은 각자 별도 저장소로도 공개되어 있습니다. A주 전체를 담당하는 a-stock-data는 11개 데이터 계층과 54개 엔드포인트와 19개 소스를 다루고 주 소스가 막힐 때 쓰는 대체 소스를 함께 둡니다. 미국과 홍콩을 담당하는 global-stock-data는 13개 계층과 30개 이상의 엔드포인트와 11개 소스를 인증 없이 다루며 소스마다 규정 준수 등급을 붙여 두었습니다. 뉴스는 표준 라이브러리만 쓰는 investment-news가 담당합니다. 저장소에 들어간 사본은 고정된 스냅샷이라 갱신하지 않아도 계속 동작합니다.

Vibe-Research는 누구에게 맞는가

시장 데이터 수집을 직접 구현해 본 적이 있고, 데이터 파이프라인 작업을 건너뛰고 자기 모델과 프롬프트를 테스트해 보고 싶다면 참고할 값어치가 큽니다. 특히, 시장의 다양한 자료들을 먼저 결정론적으로 채우고 모델에는 정리와 표현만 맡기는 구조인데다, 사회자가 판정을 내리지 않게 못 박은 프롬프트 설계는 금융이 아닌 도메인의 다중 에이전트 시스템에도 그대로 참고할 수 있는 부분입니다. MCP 서버로 붙는 경로가 있어 데이터 도구만 떼어 쓰기도 쉽습니다.

반대로 한국 주식만 주로 거래하는 사용자라면 Vibe-Research가 지금 적절한 선택지가 아닙니다. 한국 종목은 005930.KS 처럼 .KS를 붙여야 하고, 시세만 조회되며, 재무 데이터는 제공되지 않습니다. 화면과 문서가 중국어를 중심으로 구성되어 있어 영어 README를 따라가더라도 실제 UI에서는 중국어를 읽어야 하고, 데이터 소스도 대부분 중국 시장용입니다. 다만 GPU 임대료 패널처럼 시장과 무관하게 쓰이는 항목은 언어 장벽이 낮은 편입니다.

Vibe-Research의 라이선스

Vibe-Research는 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

:house: Vibe-Research 공식 홈페이지 (중국어)

:github: Vibe-Research 프로젝트 GitHub 저장소 (영문 README)

더 읽어보기




이 글은 GPT 모델로 정리한 초안을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 댓글로 알려주시기를 부탁드립니다. :hugs:

이 도구를 직접 설치해 사용해보셨다면, :pytorch:파이토치 한국 사용자 모임:south_korea: 회원들을 위해 경험이나 팁을 댓글로 남겨주세요! :folded_hands: