TradingAgents는 매수·매도 논거를 일부러 싸우게 설계했다

TradingAgents의 Bull·Bear 리서처 대립 구조, 리스크 가이드 사전 검토, 앙상블 가중치 집계 메커니즘과 범용 멀티에이전트 프레임워크와의 설계 비교

2026-08-14 · 최초 발행 2026-05-04

TauricResearch가 공개한 TradingAgents는 LLM 기반 멀티에이전트 시스템을 금융 거래 의사결정에 적용한 오픈소스 프레임워크다. 실제 트레이딩 회사의 조직 구조에서 영감을 받아 여러 전문 에이전트가 협력해 시장 분석, 포지션 결정, 리스크 관리를 수행하는 계층적 구조를 채택했다. arXiv에 논문이 공개된 이후 GitHub 트렌딩 상위에 오르며 금융 AI 분야에서 주목받고 있으며, v0.2.4까지 지속적인 업데이트를 통해 GPT-5.x, Claude 4.x, Gemini 3.x, Grok 4.x 등 다양한 LLM 프로바이더를 지원하는 수준으로 발전했다.

트레이딩 회사 조직도를 소프트웨어로 옮기다

TradingAgents의 설계 원칙은 실제 트레이딩 회사에서 어떻게 투자 결정이 이루어지는지를 소프트웨어 시스템으로 추상화하는 것이다. 현실의 헤지펀드나 투자은행에서는 펀더멘털 애널리스트, 센티먼트 애널리스트, 기술적 애널리스트, 리스크 매니저, 포트폴리오 매니저 등 서로 다른 전문성을 가진 인력이 협력해 투자 결정을 내린다. TradingAgents는 이 각각의 역할을 LLM 에이전트로 구현한다. 이 접근법의 핵심 이점은 단일 LLM에 모든 판단을 맡길 때 발생하는 편향과 환각(hallucination)을 분산된 전문 에이전트들의 상호 검증으로 완화할 수 있다는 점이다. 각 에이전트는 자신의 분석 도메인에 특화된 컨텍스트와 도구를 가지며, 다른 에이전트의 분석 결과를 입력으로 받아 종합적 판단을 형성한다.

의사결정 계층리서치 매니저분석 종합·신호 생성트레이더매수·매도·보류 결정포트폴리오 매니저최종 포트폴리오 조정리스크 관리리스크 가이드손실 제한·포지션 검토리서치Bull 리서처매수 논거 수집Bear 리서처매도·위험 논거 수집애널리스트펀더멘털 애널리스트재무제표·실적 분석센티먼트 애널리스트소셜미디어·뉴스 감성기술적 애널리스트차트 패턴·지표뉴스 애널리스트거시경제·이슈 모니터링

애널리스트 팀의 네 에이전트는 각자 다른 데이터 소스와 분석 방법론을 사용한다. 펀더멘털 애널리스트는 기업의 재무제표, 분기 실적, P/E 비율, 부채 비율 등 펀더멘털 지표를 LLM을 통해 해석한다. 단순히 수치를 나열하는 것이 아니라 산업 맥락에서 해당 수치의 의미를 자연어로 추론한다. 센티먼트 애널리스트는 소셜미디어, 뉴스 기사, 애널리스트 보고서의 감성을 분석한다. 뉴스 애널리스트는 거시경제 지표, 중앙은행 발표, 지정학적 이슈를 실시간으로 모니터링한다. 기술적 애널리스트는 이동 평균, RSI, MACD 등 기술 지표와 차트 패턴을 해석한다.

리서치 팀의 Bull·Bear 리서처는 의도적으로 대립하는 관점을 갖도록 설계됐다. Bull 리서처는 매수를 지지하는 근거를 최대한 수집하고, Bear 리서처는 매도나 위험 요소를 강조한다. 이 구조적 대립은 편향된 단방향 분석을 방지한다.

TradingAgents가 실제 금융 데이터와 연동되는 방식은 에이전트별로 분리된 도구(tool) 체계를 통해 이루어진다. 각 에이전트는 자신의 분석 역할에 적합한 데이터 소스에만 접근하는 도구를 갖는다. 이는 LangGraph 기반의 도구 호출 메커니즘으로 구현된다. 실시간 주가 데이터, 재무 데이터 API(예: yfinance, Alpha Vantage), 뉴스 API, 소셜미디어 데이터 등이 각 에이전트의 도구로 연결된다. v0.2.4에서는 LangGraph 체크포인트 기능이 추가되어 장기 실행 분석 세션을 중단하고 재개하는 것이 가능해졌으며, 각 결정의 근거를 추적하는 영구 결정 로그도 도입됐다.

의사결정 체인은 상향식으로 진행된다. 애널리스트 팀의 개별 분석이 리서치 팀에 전달되고, Bull·Bear 리서처의 대립 분석이 리스크 가이드를 거쳐 트레이더에게 전달된다. 트레이더는 모든 입력을 종합해 구체적인 매수·매도·보류 결정을 내리고, 포트폴리오 매니저는 이를 전체 포트폴리오 관점에서 최종 조정한다. 이 체인의 핵심은 각 단계에서 이전 단계의 분석이 다음 단계의 컨텍스트 윈도우에 포함된다는 점이다. LLM의 컨텍스트 길이 제한이 실시간 의사결정 체인의 실용적 한계를 규정하는 중요한 요소가 된다.

실행 전에 반드시 리스크 가이드를 거친다

금융 거래에서 리스크 관리의 핵심은 최대 허용 손실(Maximum Drawdown)을 통제하고 포지션 크기를 적절히 조절하는 것이다. TradingAgents의 리스크 가이드 에이전트는 트레이더의 매수·매도 결정을 최종 실행 전에 검토하며, 사전에 설정된 리스크 파라미터(최대 포지션 크기, 스톱로스 레벨, 포트폴리오 집중도 한계 등)를 기준으로 결정의 타당성을 평가한다.

포지션 사이징은 켈리 기준(Kelly Criterion)이나 변동성 기반 사이징 등 수학적 모델을 LLM 추론과 결합하는 방식으로 구현될 수 있다. 에이전트가 자신의 확신도(confidence level)를 수치로 출력하고, 이를 포지션 크기 결정에 반영하는 구조다.

통과초과허용 범위한도 초과트레이더 에이전트매수/매도 신호 생성리스크 가이드 에이전트리스크 파라미터검토포지션 사이징계산신호 수정 또는거부 요청포트폴리오집중도 확인주문 실행포지션 축소 조정

여러 에이전트의 의견을 어떻게 집계할 것인가는 멀티에이전트 금융 시스템의 핵심 설계 문제다. TradingAgents는 단순 다수결보다 정교한 가중치 기반 집계를 사용한다. 각 에이전트의 과거 예측 정확도, 현재 시장 상황에서의 관련성, 분석 기반 데이터의 신뢰도 등을 반영해 가중치를 부여한다. 예를 들어, 높은 변동성 국면에서는 기술적 애널리스트와 센티먼트 애널리스트의 가중치가 높아지고, 실적 발표 전후에는 펀더멘털 애널리스트의 가중치가 높아지는 동적 가중치 체계를 구현할 수 있다.

v0.2.4에서 도입된 구조화 출력(structured output) 에이전트는 각 결정의 근거를 JSON 형식으로 출력하여, 사후 분석과 백테스팅을 가능하게 한다. 이는 에이전트의 판단 과정을 추적 가능(auditable)하게 만들어 금융 규제 환경에서의 책임성 요건을 충족시키는 데 중요하다.

LLM 기반 시스템의 금융 적용에서 가장 큰 위험은 환각(hallucination)이다. 존재하지 않는 뉴스 이벤트를 사실로 가정하거나, 잘못된 재무 수치를 사용하는 오류가 실제 금전적 손실로 이어질 수 있다. TradingAgents는 이를 완화하기 위해 모든 에이전트가 분석 근거로 사용하는 데이터를 외부 도구 호출을 통해 검색하도록 설계했다. 에이전트가 내부 파라미터에 저장된 지식에만 의존하는 것이 아니라, 실시간으로 신뢰할 수 있는 데이터 소스를 조회하는 RAG(Retrieval-Augmented Generation) 방식을 채택한다.

범용 프레임워크와 나란히 놓으면

TradingAgents를 AutoGen, LangGraph, CrewAI 같은 범용 멀티에이전트 프레임워크와 비교하면 도메인 특화의 의미가 명확해진다.

항목 TradingAgents 범용 프레임워크(예: AutoGen)
에이전트 역할 금융 분석 역할 사전 정의 임의 역할 설정
데이터 소스 금융 API 통합 내장 범용 도구 연결
결정 구조 투자 의사결정 체인 고정 유연한 에이전트 토폴로지
리스크 제어 금융 리스크 파라미터 내장 커스텀 구현 필요
백테스팅 지원 지원 미흡

범용 프레임워크는 유연성이 높지만 금융 도메인에서 실제로 필요한 데이터 소스 연동, 리스크 파라미터 관리, 규제 준수 추적 같은 요소를 처음부터 구현해야 한다. 도메인 특화 프레임워크는 초기 설정 비용을 낮추는 대신 설계 유연성을 일부 제약한다.

TradingAgents v0.2.0 이후 주목할 만한 설계 결정은 특정 LLM에 의존하지 않는 추상화 레이어를 도입한 것이다. GPT-5.x, Claude 4.x, Gemini 3.x, Grok 4.x, DeepSeek, Qwen 등 다양한 LLM을 에이전트별로 다르게 설정할 수 있다. 예를 들어, 수치 분석이 강한 LLM을 펀더멘털 애널리스트에, 텍스트 이해가 뛰어난 LLM을 센티먼트 애널리스트에 배치하는 최적화가 가능하다. Docker 지원과 LangGraph 체크포인트를 통한 상태 영속성은 프레임워크를 운영 환경에 배포하는 데 필요한 인프라 요건을 충족시킨다. 금융 시스템은 24/7 운영이 요구되고 장애 시 빠른 복구가 필요하기 때문에, 상태 영속성은 실용적으로 필수적인 기능이다.

연구 도구와 실전 시스템 사이의 간극

TradingAgents는 현재 연구 프로토타입과 실제 자동화 트레이딩 시스템 사이의 간극을 솔직하게 인정한다. 실제 자금을 운용하는 자동 트레이딩 시스템으로 배포하기 위해서는 더 엄격한 백테스팅, 슬리피지(slippage)와 거래 비용 모델링, 증권 규제 준수, 레이턴시 최적화 등 추가 요소가 필요하다.

LLM 추론의 비결정성(non-determinism)은 동일한 시장 상황에서 매번 다른 결정이 내려질 수 있음을 의미한다. 금융 시스템에서 재현성(reproducibility)과 감사 추적(audit trail)은 규제 요건이기 때문에, 이 비결정성을 어떻게 관리할 것인지가 실용적 배포의 핵심 과제다. v0.2.4의 영구 결정 로그는 이 방향으로의 진전이지만 완전한 해결책이라고 보기는 어렵다.

TradingAgents는 실제 트레이딩 회사의 조직 구조를 LLM 멀티에이전트 시스템으로 추상화하는 명확한 설계 원칙을 제시한다. 펀더멘털·센티멘트·기술적 분석 에이전트의 역할 분리, Bull·Bear 리서처의 구조적 대립, 리스크 가이드의 사전 검토라는 계층적 의사결정 체인은 단일 LLM 사용 대비 더 균형 잡힌 판단을 유도한다. 다만 실제 자동화 트레이딩 배포에는 LLM 비결정성 관리, 규제 준수, 레이턴시 최적화라는 추가 과제가 남아 있어, 현시점에서는 연구와 반자동화 의사결정 지원 도구로서의 가치가 더 크다.

Sources

TradingAgents멀티에이전트LangGraph금융AI리스크관리