← 블로그로
Ai약 13 분 읽기

LLM 에이전트로 세운 트레이딩 회사, 스타 11만7천. 먼저 면책 문구를 읽어야 한다

게시일 2026년 10월 28일
LLM 에이전트로 세운 트레이딩 회사, 스타 11만7천. 먼저 면책 문구를 읽어야 한다

TradingAgents는 GitHub에서 약 11만7,700개의 스타를 받았고, 이번 주에만 4,900개가량을 더했다. "실제로 일을 하는 에이전트" 범주에서 손에 꼽히는 저장소다. Tauric Research가 만든 멀티 에이전트 프레임워크로, 트레이딩 회사를 흉내 낸다. 애널리스트, 리서처, 트레이더, 리스크 팀, 포트폴리오 매니저가 모두 언어 모델로 움직이며, 무언가 승인될 때까지 서로 논쟁한다.

이 저장소는 자기 주장에 신중하다. 설명에는 연구 목적으로 설계됐다고 적혀 있고, 성과는 선택한 백본 모델과 temperature, 거래 기간, 데이터 품질, 그리고 순수한 비결정성에 따라 달라진다고 덧붙인다. 그 문장 하나가 많은 일을 하고 있고, README에서 가장 중요한 부분이다.

조직도가 곧 아키텍처다

여기서 흥미로운 점은 LLM이 종목을 고를 수 있다는 게 아니다. 그걸 형편없이 해내는 프롬프트는 얼마든지 있다. 흥미로운 것은 파이프라인이 실제 회사처럼 구조화되어 있다는 점이다. 직무가 분리되어 있고, 토론 단계가 있다.

네 명의 애널리스트가 병렬로, 독립적으로 움직인다. 펀더멘털(재무제표, 내재가치, 리스크 신호), 센티먼트(뉴스 헤드라인, StockTwits, Reddit), 뉴스(글로벌 및 매크로 이벤트), 테크니컬(MACD, RSI, 패턴 인식)이다. 서로의 결과물을 보지 못한다. 네 개의 보고서가 모두 도착해야 다음 단계가 시작된다.

이어서 두 명으로 구성된 리서치 팀, 강세론자와 약세론자가 그 보고서를 두고 정해진 라운드로 토론한다. 그다음 트레이더가 애널리스트와 리서처의 자료를 타이밍과 비중이 붙은 결정으로 종합한다. 이후 리스크 팀이 변동성, 유동성, 익스포저를 평가해 포트폴리오 매니저에게 넘기고, 그가 승인하거나 기각한다. 승인된 거래는 모의 거래소로 간다.

펀드에서 일해 봤다면 이 구조가 낯익을 것이다. 리스크 팀에 거부권이 있고 포트폴리오 매니저가 최종 결정을 내리는 부분까지 그렇다. 이건 장식이 아니다. 트레이딩 회사가 이렇게 조직되는 이유는, 세상을 보는 관점이 하나뿐인 단일 의사결정자가 상관된 실수를 저지르기 때문이다. 이 구조 자체가 오류 수정 장치이며, 프레임워크가 복제하는 것은 직함이 아니라 그 장치다.

玻璃会议墙上用白色马克笔画出的决策流程,方框与箭头分成两路又重新汇合,一处分支被画上叉

실행까지

Python 3.11 이상. README는 conda나 uv를 권한다.

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
pip install .

그다음 환경 파일을 복사하고 키를 넣는다.

cp .env.example .env

그리고 대화형 CLI를 실행한다.

tradingagents

Docker 경로도 있다. 재현 가능한 결과를 원한다면 나는 이쪽을 쓴다.

docker compose run --rm tradingagents

정기 실행을 위해서는 모델을 명시적으로 지정하는 비대화형 모드가 있다.

export TRADINGAGENTS_LLM_PROVIDER=openai \
  TRADINGAGENTS_QUICK_THINK_LLM=gpt-6-luna \
  TRADINGAGENTS_DEEP_THINK_LLM=gpt-6-sol
tradingagents --ticker NVDA --date 2026-09-23 \
  --analysts market,news,fundamentals --save --no-show

이 이중 모델 구성은 눈여겨볼 만하다. "quick think"는 기계적인 턴을 처리하고, "deep think"는 분석을 맡는다. 설정 항목의 옷을 입은 비용 통제 결정이며, 큰 모델로 멀티 에이전트 전체를 돌리면 종목당 비용이 크다는 것을 저자들이 안다는 뜻이기도 하다.

숫자의 문제

여기서부터는 이 저장소가 흔히 논의되는 방식에 반론을 제기하고 싶다.

종목당 하루 한 번의 결정을 내는 멀티 에이전트 트레이딩 시스템은 1년에 아주 적은 데이터 포인트를 만든다. 30개 종목을 12개월 돌리면 7,560개의 결정이 나온다. 많아 보이지만, 그것들이 모두 같은 12개월의 시장 환경에서 뽑혔다는 점을 떠올리면 얘기가 달라진다. 실질 표본 크기는 7,560개의 독립 관측치라기보다 하나의 국면에 가깝다.

README가 경고하는 비결정성도 더해진다. temperature, 모델 버전, 도구 지연, 검색된 뉴스가 도착하는 순서가 모두 출력을 흔든다. 같은 날짜, 같은 종목으로 두 번 돌리면 리서처 토론 단계에서 갈라져 서로 다른 포지션에 도달할 수 있다. 그러면 통상적인 백테스트는 복제가 거의 불가능해진다. 그리고 복제만이 결과를 증거로 바꾼다.

이것은 프레임워크를 깎아내리는 말이 아니다. "내 에이전트가 S&P를 이겼다"는 글의 장르를 깎아내리는 말이다. 이런 릴리스가 나올 때마다 그런 글이 따라붙는다. 저자들은 스스로 연구라는 틀을 달아 arXiv 논문(2412.20138)으로 발표했고, 저장소 첫 문장에도 연구 목적이라고 써 있다. 그 문장과 이것이 공유되는 방식 사이의 간극에서 사람들이 돈을 잃는다.

토론 레이어가 실제로 사 주는 것

에이전트 토론 기록을 꽤 많이 읽었는데, 일관된 패턴이 있다. 토론은 결론을 바꾸는 것보다 확신의 정도를 바꾸는 경우가 더 많다.

그래도 쓸모가 있다. 같은 애널리스트 보고서를 두고 강세론자와 약세론자가 다투면, 그 거래가 의존하는 구체적인 가정이 드러난다. "마진 확대가 계속되면 이건 성립한다" 같은 문장인데, 원래 인간 애널리스트가 읽어야 할 문장이 바로 그것이다. 산출물은 신호가 아니라, 무엇이 참이어야 하는지를 구조화해 진술한 것이다.

반대 방향의 위험도 실재한다. 토론 기록은 설득력이 있다. 잘 쓴 약세 논거는 환각으로 만든 이익 수치 위에 세워져 있어도 통찰처럼 읽힌다. 프레임워크는 애널리스트를 서로 격리하고 리스크 팀에 거부권을 줌으로써 이를 완화하지만, 인용된 숫자가 실제로 존재하는지 검증하는 단계는 파이프라인 어디에도 없다. 배포한다면 검증 레이어는 직접 만들어야 하고, 그것은 또 다른 에이전트의 의견이 아니라 단단한 게이트여야 한다.

이 도구의 "결과"는 어떤 모습이어야 하는가

이런 멀티 에이전트 구성에 우위가 있다고 나를 설득하려면, 최소 기준은 이렇다. 그리고 내가 본 어떤 데모보다 높다.

모든 것을 고정하라. 모델 버전, temperature, 프롬프트 템플릿, 데이터 스냅샷 날짜, 검색 코퍼스까지. 특정 화요일의 실시간 데이터로 나온 결과는 측정이 아니라 일화다.

올바른 기준선과 비교하라. "돈을 벌었나"가 아니라 "같은 익스포저를 가진 순진한 전략을 이겼나"다. 상승장에서 롱온리 시스템은 정의상 현금을 이긴다. 에이전트 트레이딩 콘텐츠의 놀라울 만큼 많은 부분이 바로 그것에 단계만 몇 개 더한 것이다.

비용을 보고하라. 애널리스트 네 명, 여러 라운드 토론을 돌리는 전체 구성은 종목당 하루에 실제 토큰을 태운다. 전략이 연 12%를 벌고 모델 청구서가 포트폴리오의 3%라면, 토론 레이어는 알파의 4분의 1만큼 값을 해야 비로소 자리를 얻는다.

그리고 진 실행도 공개하라. Cloudflare 보안 저장소가 신뢰를 얻는 이유는 한 번의 패스가 반복 패스가 찾는 것의 절반을 찾는다고 공개적으로 말하기 때문이다. 여기서 등가물은 약세 리서처가 옳았는데 포트폴리오 매니저가 뒤집은 종목들을 공개하는 일일 것이다. 어떤 저장소도 아직 하지 않는다.

실제로 clone해야 하는 사람

정당한 용도는 세 가지이고, 그중 "내 돈을 굴려 달라"는 없다.

멀티 에이전트 협업 연구의 발판으로서는 확실히 좋다. 역할 분리가 깔끔하고, 토론 프로토콜이 있고, 거부 메커니즘이 있고, 설계를 설명한 논문도 있다. 구조화된 이견이 LLM 추론을 개선하는지 연구한다면, 인터페이스를 직접 만들 필요가 없는 작동하는 테스트베드다.

트레이딩 데스크가 결정을 어떻게 분해하는지 배우는 사람의 교육 도구로서는 교과서 도해보다 낫다. 보고서가 흘러가는 것을 지켜보고, 나쁜 입력이 어디서 번지는지 볼 수 있기 때문이다.

개인의 사전 부검(pre-mortem)으로서, 단 엄격한 제한 아래에서. 이미 보유한 포지션에 돌려 보고, 약세 논거를 읽고, 산출물을 검증할 항목의 체크리스트로 다뤄라. 가치는 질문 쪽에 있지 BUY/SELL 칸에 있지 않다. 그리고 모의 거래소 안에 두라. 기본값이 거기이고, 거기 남아야 한다.

11만7,000개의 스타는 수요의 신호이지 성과의 신호가 아니다. 사람들은 뉴스를 대신 읽고 무엇을 해야 할지 알려 주는 시스템을 원한다. 이 프레임워크가 건네는 것은 더 정직하고 덜 만족스러운 무언가다. 의견이 갈리는 동료들로 가득한 방, 그리고 여전히 데이터가 옳았는지에 달려 있는 결정이다.

관련 글