LLM 智能体拼出一家交易公司:117,000 星,先读免责声明

TradingAgents 在 GitHub 上大约有 117,700 颗 star,本周进账约 4,900 颗,这让它成了「真正能干活的 agent」这一类里排名靠前的仓库。它出自 Tauric Research,是一个多智能体框架,模拟一家交易公司:分析师、研究员、交易员、风控团队和组合经理,全部由语言模型驱动,互相争论,直到某个方案被批准。
这个仓库对它的宣称很谨慎。它自己的描述写着,是为研究用途设计的,并补充说表现会随所选底座模型、温度、交易时段、数据质量以及纯粹的非确定性而变化。这句话承担了很多重量,也是 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
这个双模型拆分值得注意。「快思考」处理机械性的回合,「深思考」负责分析。这是一个伪装成配置项的成本控制决定,也意味着作者清楚:用大模型跑完一整套多智能体流程,每只标的都很贵。
数字上的问题
接下来是我要反驳这个仓库常见讨论方式的地方。
一个每天为每只标的产出一次决策的多智能体交易系统,一年下来的数据点非常少。如果跑 30 只标的、12 个月,你有 7,560 个决策——听起来很多,直到你想起它们全来自同样的 12 个月市场环境。有效样本量更接近一种市场状态,而不是 7,560 个独立观测。
再加上 README 警告的非确定性。温度、模型版本、工具延迟,以及检索到的新闻到达的顺序,都会改变输出。同一天同一标的跑两次,可能在研究员辩论阶段就分岔,最后拿到不同的持仓。这让传统回测几乎无法复现,而可复现是唯一能把结果变成证据的东西。
这些都不是在挑框架的刺,而是在挑「我的 agent 跑赢了标普」这类文章的刺——每次有这种发布,后面都会跟着一批。作者自己是以研究定位发在 arXiv 上的(2412.20138),仓库第一句也写着研究用途。那句话和它被传播的方式之间的差距,就是人们亏钱的地方。
辩论层到底买到了什么
我读过相当数量的 agent 辩论记录,有一个稳定的模式:辩论改变结论的频率,远低于它改变信心的频率。
这仍然有用。一个多头和一个空头围绕同一批分析师报告争论,会把这笔交易依赖的具体假设逼出来——「如果利润率继续扩张,这就成立」——而这本来就是人类分析师该读到的那句话。产出不是一个信号,而是一份关于「什么必须为真」的结构化陈述。
反方向也有真实风险:辩论记录是有说服力的。一份写得好的空头论证读起来像洞见,即使它建立在一个幻觉出来的盈利数字上。框架通过让分析师彼此隔离、并给风控团队否决权来缓解这一点,但流水线里没有任何环节去核实被引用的数字是否真实存在。如果你要部署它,验证层得你自己建,而且它应该是一道硬门槛,而不是另一个 agent 的意见。
这东西的「有效结果」得长什么样
如果有人想说服我,这样的多智能体设置真的具备优势,这是最低门槛,而且比我见过的任何演示都高。
把一切冻结。模型版本、温度、提示词模板、数据快照日期、检索语料。针对某个具体周二的实时数据跑出来的结果是一则轶事,不是一次测量。
对标正确的基线。不是「它赚钱了吗」,而是「它是否跑赢了同等敞口的朴素策略」。在上涨市场里,一个只做多的系统按定义就跑赢现金,而相当一部分 agent 交易内容就是这个,只是多了几步。
报告成本。一整套四分析师、多轮辩论的流程,每只标的每天都烧真实的 token。如果策略年化 12%,而模型账单占组合的 3%,那么辩论层必须先值回四分之一的 alpha,才配得上它的位置。
还有,把失败的运行也发出来。Cloudflare 那个安全仓库之所以可信,是因为它明说单次扫描只能找到重复扫描结果的一半。这里的等价物,是公布那些空头研究员判断正确、却被组合经理否决的标的。到现在为止,没有任何仓库这么做。
到底谁该 clone 它
三种正当用途,没有一种是「替我管钱」。
作为多智能体协作研究的脚手架,它确实不错:干净的职责划分、一套辩论协议、一个否决机制,还有一篇描述设计的论文。如果你在研究结构化分歧能否改善 LLM 推理,这是一个现成的试验台,连接口都不用自己搭。
作为给初学者的教学工具,用来理解交易台如何拆解一个决策,它比教科书上的框图更好,因为你能看着报告流动,看到糟糕的输入在哪里扩散。
作为个人的事前验尸(pre-mortem),但要严格限定:拿你已经持有的仓位去跑,读那份空头论证,把输出当成一份待核实清单。价值在那些问题里,不在 BUY/SELL 那一栏。而且把它留在模拟交易所里——它默认就跑在那里,也应该待在那里。
那 117,000 颗 star 是关于需求的信号,不是关于表现的信号。人们想要一个替他们读新闻、然后告诉他们该怎么做的系统。这个框架给的是更诚实、也更不令人满足的东西:一屋子意见不合的同事,以及一个仍然取决于数据是否正确的决策。
相关文章
5B 的 MOSS-Image 把海报上的中文写对了,代价是它不会改图
开源权重新高的长文本渲染分数、能按坐标摆版式的 JSON Layout,以及一个绕不过去的短板:它是纯文生图,接不了参考图,也改不了图。
Cloudflare 开源了自用的审计器:值钱的是它会反驳
六个阶段、三种结论,还有一条最要紧的规则:检查 finding 的 agent 永远不是发现它的那个;Cloudflare 也承认单次运行大约只找到一半。
225,000 颗 star 只为一份 markdown:Karpathy 的抱怨变成四条规则
没有代码,没有构建,没有 benchmark:四原则写进一份 CLAUDE.md,比今年大多数讲能力的发布都更受关注,而这个落差本身就是新闻。
Impeccable:62 条不需要模型的规则,专治 AI 味
满屏 Inter、紫色渐变、卡片套卡片,一个给编码智能体用的设计技能用 24 个命令和 62 条确定性规则,在 CI 里零 token 拦住这些套路。