乐于分享
好东西不私藏

我深读 TradingAgents 源码后,看到的不是“AI 炒股神器”,而是一家被拆开的投研公司

我深读 TradingAgents 源码后,看到的不是“AI 炒股神器”,而是一家被拆开的投研公司

这两天我去啃了一个在 AI 量化圈子里挺容易让人上头的开源项目:TauricResearch/TradingAgents

如果你只看它的名字,很容易脑补成另一种故事:多智能体、金融交易、LLM、自动做多做空,最后仿佛马上就要通向“全自动印钞机”。

但我把仓库文档、CLI、主流程图、核心 agent、数据接口、记忆模块一路读下来之后,感受反而很明确:

它真正有价值的地方,不是“AI 帮你炒股”这句口号,而是它把一套投研组织流程,拆成了可以编排、可以复盘、可以替换的节点。

说白了,它更像一家被 LangGraph 拆开重组的投研公司,而不是一个神神叨叨给你报买卖点的黑盒机器人。

这也是我觉得它值得写一篇公众号文章的原因。

一、它表面上是多智能体交易框架,底层其实是在模拟一家投研机构

TradingAgents README 里给自己的定义很直接:

  • • 多智能体
  • • 金融交易框架
  • • 角色分工接近真实交易机构

它不是只放一个“大模型分析师”在那里胡说八道,而是明确拆了几层角色:

第一层,是分析师团队。

这里面有四个核心输入角色:

  • • Market Analyst
  • • Social Media Analyst
  • • News Analyst
  • • Fundamentals Analyst

这四个人分别干四件事:

  • • 看价格和技术指标
  • • 看社交媒体和市场情绪
  • • 看新闻和宏观事件
  • • 看基本面和财务数据

第二层,是研究员对抗。

它不是让分析师写完报告就直接下结论,而是再拉出:

  • • Bull Researcher
  • • Bear Researcher
  • • Research Manager

也就是多头研究员、空头研究员和一个收敛决策的研究经理。

第三层,是交易员。

Trader 会拿着前面那一堆报告和辩论结果,生成具体交易提案。

第四层,是风险团队。

这里又不是一个人说了算,而是再拆成:

  • • Aggressive Analyst
  • • Conservative Analyst
  • • Neutral Analyst

最后再交给 Portfolio Manager 做最终评级。

这个结构为什么有意思?

因为它把很多人嘴里的“多智能体协同”从一句空话,变成了一个能看见节点、顺序、状态和输出的流程。

不是“大家一起思考”,而是: 谁先做输入,谁负责反驳,谁负责收敛,谁负责风险否决,链路是清楚的。

二、我觉得它最聪明的一点,不是 agent 多,而是流程拆得像回事

很多多智能体项目,最大的问题不是 agent 太少,而是角色虽然多,流程却是糊的。

今天来个 analyst,明天来个 critic,后天来个 reviewer,名字看着很热闹,但你真去追代码,会发现他们其实只是轮流对同一段上下文说话。

TradingAgents 不是这种套路。

我读它的 trading_graph.py 和 setup.py 时,一个特别明显的感受是:

它在认真把“投研—交易—风控”做成一条流水线。

整个顺序大概是这样:

  1. 1. 先跑分析师节点
  2. 2. 再进入多空研究辩论
  3. 3. 再由 Research Manager 输出 investment plan
  4. 4. Trader 基于这个 plan 形成交易提案
  5. 5. 风险三方再进行一轮辩论
  6. 6. 最后 Portfolio Manager 给出 Buy / Overweight / Hold / Underweight / Sell

注意,它不是简单输出 BUY / SELL。

在当前版本里,最终评级被细化成五档:

  • • Buy
  • • Overweight
  • • Hold
  • • Underweight
  • • Sell

这个细节很重要。

因为这说明它想表达的不是“拍脑袋式交易信号”,而是更接近机构语境下的仓位态度。

也就是说,它不是在装神弄鬼地告诉你“明天涨不涨”,而是在试图把决策表达成一种可执行但不绝对化的投资立场。

这就比很多“AI 今日必涨票推荐器”正常多了。

三、源码里最值得学的,不是某个 prompt,而是三层工程化设计

我觉得这项目真正值得学习的地方,主要有三层。

1)角色层:先把人的分工拆清楚

TradingAgents 并没有假装一个 agent 什么都能干。

它的做法是先承认现实:不同任务需要不同视角。

技术指标、新闻、情绪、基本面,本来就不是一种分析。多头逻辑和空头逻辑,本来就不该由同一个声音一把梭。风险偏好激进、中性、保守,本来就应该互相制衡。

所以它不是在追求“一个超级大脑”,而是在追求“一个有组织结构的大脑群”。

这个思路对很多做 AI Agent 的团队都很有借鉴意义。

因为真实世界里,复杂决策从来不是靠一个最聪明的人单点完成的,而是靠不同角色之间的张力完成的。

2)数据层:先做供应商抽象,再谈 agent 能力

这个项目还有个我挺喜欢的地方:它没有把数据获取硬编码死。

在 dataflows/interface.py 里,它专门做了一层 vendor routing,把不同数据源抽象成统一方法,比如:

  • • 股价数据
  • • 技术指标
  • • 基本面
  • • 新闻
  • • insider transactions

默认配置里主要走的是 yfinance,也支持 alpha_vantage,而且做了类别级和工具级的 vendor 配置。

这有什么意义?

意义就是: agent 的“分析能力”不能建立在一堆写死的数据调用上。

你今天能接 yfinance,明天也许就要换 Alpha Vantage,后天可能接内部数据源。如果这里没抽象好,后面所有多智能体都只是样板戏。

TradingAgents 至少在这个方向上,是有工程自觉的。

3)记忆层:它没有追潮流上向量库,而是先用 BM25 把闭环跑起来

这个点我挺意外。

它的记忆系统 FinancialSituationMemory 不是那种花里胡哨的 embedding + vector db,而是一个更朴素的 BM25 检索。

也就是说,它会把历史情境和建议存下来,下一次遇到相似市场情况时,用 lexical matching 去找回之前的经验。

这方案先进吗?不算最前沿。

但它有两个好处:

  • • 简单
  • • 够稳

更关键的是,它让“反思—回写—再利用”这条链先跑起来了。

很多项目特别喜欢一上来谈长期记忆、智能进化、自主学习,但真追到代码层,根本没有把闭环打通。

TradingAgents 至少做到了这件事:它有 reflection.py,会根据收益或亏损去回顾各角色表现,再把教训塞回对应 memory。

这事虽然不华丽,但很实在。

四、它厉害归厉害,但离“实盘自动赚钱”还差得远

这里我想泼一盆必要的冷水。

因为这类项目最容易被误读的地方,就是“多智能体 + 金融交易”几个词摆在一起,用户就自动脑补成“已经快能代替基金经理了”。

从我目前读到的仓库现状看,我不会这么夸。

我更愿意把它定义成:

一个偏研究和演示导向的多智能体投研框架。

为什么这么说?

第一,它当前最强的是分析链路和组织结构,不是券商执行链路。

README 里会讲到模拟交易、组合管理、最终执行这些概念,但从当前开源仓库的核心代码路径来看,你最明确能看到的,还是:

  • • 信息收集
  • • 报告生成
  • • 辩论收敛
  • • 评级输出

也就是说,它的重心明显更偏“让决策过程可见”,而不是“把订单打进真实市场”。

第二,它的数据层虽然做了抽象,但默认公开数据源还是决定了它的上限。

你拿 yfinance 这种数据源做研究和演示没问题,但你要真想做高频、盘中、复杂市场结构建模,那肯定不够。

第三,它的很多输出,仍然建立在 LLM 文本推理之上。

这意味着什么?

意味着它很适合:

  • • 研究多角色投研协作
  • • 观察不同分析链条如何收敛
  • • 让人类看到完整 reasoning trail

但不意味着它天然适合:

  • • 无监督实盘
  • • 资金规模化配置
  • • 极端行情下的可靠自动执行

这一点如果不说清楚,文章就容易写成那种“看着很燃,实际上误导读者”的 AI 工具吹捧稿。

我不想这么写。

五、那它到底值不值得学?我觉得很值,但学的不是“跟单”,是“组织方法”

如果你问我,这个项目值不值得研究?

我会说,很值得。

但值得的地方,不是“把它 clone 下来就能靠 AI 炒股赚钱”。

而是它给了一个很好的样本: 当你要把复杂决策做成 AI 系统时,怎么把一个组织拆成节点,把节点串成流程,再把流程做成可以回放、可以替换、可以复盘的工程系统。

这件事不只适用于交易。

你做下面这些,其实都能借鉴:

  • • AI 研究助手
  • • 商业分析 Agent
  • • 风控审批系统
  • • 投资研究工作台
  • • 多角色协作决策系统

TradingAgents 最有启发的,不是“金融”这层皮,而是“组织流程可编排”这层骨架。

说得再直白一点:

很多人做 Agent,还停留在“多叫几个 prompt 一起说话”。TradingAgents 至少已经往前走了一步,它在认真回答一个更硬的问题:

一个复杂决策系统,到底该怎么分工?

最后

所以回到这篇文章的标题。

我深读 TradingAgents 源码后,最大的感受不是“AI 炒股又进化了”,而是:

真正值得关注的,不是它会不会给出一个买卖建议,而是它开始像一家真正的投研机构那样被拆解、被编排、被工程化了。

这比“又一个金融 Agent Demo”有意思得多。

因为前者是在搭系统,后者大多只是做表演。

如果你正在做 AI 量化、投研 Agent,或者更广一点,正在做任何需要多角色协作的 AI 决策系统,我觉得这个仓库都值得你读一遍。

不是为了抄它的 prompt。

而是为了想明白一件事:

Agent 真正开始有用,不是在它更像人时,而是在它更像一个组织时。