我深读 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. 先跑分析师节点 -
2. 再进入多空研究辩论 -
3. 再由 Research Manager 输出 investment plan -
4. Trader 基于这个 plan 形成交易提案 -
5. 风险三方再进行一轮辩论 -
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 真正开始有用,不是在它更像人时,而是在它更像一个组织时。
夜雨聆风