Hotdry.

Article

TradingAgents 多代理 LLM 金融交易框架的内部架构设计

深入剖析 TradingAgents 框架的角色分工、消息传递协议与决策共识机制,揭示其如何通过层级式代理协作实现金融决策的智能化。

2026-05-02ai-systems

在大型语言模型(LLM)应用于金融领域的探索中,多代理系统通过模拟真实金融机构的专业分工与协作流程,正在成为一种有效的工程范式。TradingAgents 是这一方向的典型开源实现,其核心设计理念是将复杂的交易决策拆解为分析师、研究员、交易员和风险管理团队的协同工作,并通过结构化辩论机制达成最终决策。本文将从角色分工、消息传递协议和决策共识机制三个维度,详细解析该框架的内部架构设计。

层级式角色分工体系

TradingAgents 的架构设计严格遵循了真实金融机构的专业分工逻辑,整个系统由四层角色构成,每一层承担独立的认知任务,并通过标准化接口向上层输出结构化结论。

分析师团队(Analyst Team) 是整个决策链的输入层,负责从不同角度对标的资产进行多维度分析。该层包含四个专业化代理:基本面分析师(Fundamentals Analyst)评估公司财务指标和业绩表现,识别内在价值与潜在风险;情绪分析师(Sentiment Analyst)分析社交媒体和公众情绪数据,通过情绪评分算法判断短期市场心态;新闻分析师(News Analyst)监控全球宏观经济新闻和事件,解读其对市场条件的潜在影响;技术分析师(Technical Analyst)运用 MACD、RSI 等技术指标识别价格走势模式并预测未来动向。这四个代理并行工作,各自生成独立的市场分析报告,为后续决策提供多视角的原始数据支撑。

研究团队(Researcher Team) 承担着观点整合与对抗性检验的职能。该层由多头研究员(Bullish Researcher)和空头研究员(Bearish Researcher)两类代理组成,它们并非简单地汇总分析师结论,而是对分析师报告进行批判性评估。通过结构化的多空辩论,研究团队平衡潜在收益与固有风险,输出经过对抗性验证的研究结论。这一设计的核心价值在于模拟了真实投资机构中研究部门与交易部门的张力 —— 多头方强调机会,空头方揭示风险,两者的碰撞能够有效过滤单方面判断的盲点。

交易员代理(Trader Agent) 是决策链的核心枢纽,负责综合分析师的研究结果与研究团队的辩论结论,形成具体的交易建议。交易员代理需要确定交易的时机、规模与方向,并将决策输出为结构化的交易提案。该代理不直接执行交易,而是将提案提交至上层进行风险审核。

风险管理团队与投资组合经理(Risk Management & Portfolio Manager) 构成决策链的终审层。风险管理团队持续评估投资组合风险,考察市场波动性、流动性及其他风险因素,生成风险评估报告。投资组合经理则基于风险评估报告对交易提案进行最终审批 —— 只有通过审批的交易指令才会被发送至模拟交易所执行。这一设计确保了交易决策不会绕过风险控制流程,体现了金融机构中前台交易与中后台风控的分离原则。

消息传递与数据流协议

TradingAgents 的消息传递采用严格的层级式数据流架构,不同层级之间的信息传递遵循固定的协议格式,确保各代理之间的交互具有可预测性和可追溯性。

从数据输入到最终决策输出的完整数据流如下:外部市场数据(包括价格数据、财务数据、新闻流、社交媒体数据等)首先进入分析师团队层;各分析师代理独立处理其擅长的数据维度,生成结构化的分析报告;分析报告被传递至研究团队层,研究员代理基于这些报告进行多空辩论,输出经过对抗性验证的研究结论;研究结论与原始分析报告一同传递至交易员代理,由其综合权衡后生成交易提案;交易提案进入风险管理流程,风险管理团队生成风险评估报告;最终,投资组合经理根据风险评估报告做出批准或驳回的交易执行决策。

整个数据流通过 LangGraph 的状态图(State Graph)进行管理,每个节点对应一个代理或代理组,边的连接定义了消息传递的流向。这种基于图结构的编排方式使得数据流具有明确的拓扑顺序,避免了循环依赖和状态不一致问题。

在代理内部,每个代理维护自己的短期记忆和长期记忆。短期记忆记录当前分析周期内的上下文信息,长期记忆则存储历史决策结果和反思笔记。框架在每次决策完成后会自动将决策结果追加到记忆库中,并在下一次相同标的的分析时提取历史经验作为参考,实现从历史决策中学习的能力。

决策共识与冲突消解机制

多代理系统的核心工程挑战在于如何让多个具有独立判断能力的代理达成一致的决策。TradingAgents 通过辩论机制和审批层级相结合的二元共识策略来解决这一问题。

第一层共识:研究团队的对抗性辩论。 多头研究员和空头研究员围绕分析师报告进行结构化辩论,每方都必须对对方的观点进行回应和质疑。辩论可以设置为多轮进行(通过 max_debate_rounds 参数配置,默认值为 2 轮),每轮辩论的结果都会被压缩为关键要点,传递给交易员代理作为决策参考。辩论机制的设计并非追求某一方获胜,而是通过观点碰撞暴露决策中的潜在风险,确保交易员在获得充分信息的基础上做出判断。

第二层共识:风险管理的一票否决权。 交易员代理提出的交易提案必须经过风险管理团队的审核。风险管理团队有权基于风险评估结果否决交易提案,这一设计赋予风控团队 “一票否决” 的权力,确保交易决策不会因追求收益而忽视风险边界。即使交易员代理做出了看似合理的判断,风险管理团队如果认为当前市场条件下的仓位风险超出可接受范围,仍可驳回交易提案。

第三层共识:投资组合经理的最终审批。 投资组合经理是整个决策链的最终决策者,负责平衡风险与收益,做出最终的交易执行决定。投资组合经理的决策不仅基于交易提案和风险评估报告,还会参考系统记忆中的历史决策经验,特别是同标的历史决策的结果反馈。

这种三层共识机制的设计确保了决策的稳健性:辩论机制提供了多视角的分析基础,风险管理提供了风险过滤层,投资组合经理提供了人工监督层。对于追求确定性的金融决策场景,这种多重验证机制能够显著降低单点故障带来的决策风险。

工程实现的关键参数

从工程实践角度,TradingAgents 提供了一系列可配置参数,用于调优框架在不同场景下的行为表现。以下是几个核心配置项及其建议值:

在 LLM 提供商选择方面,框架支持 OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen(阿里云)、GLM(智谱)、OpenRouter、Ollama(本地模型)和 Azure OpenAI(企业部署)等十餘种后端。通过 llm_provider 参数指定 provider,通过 deep_think_llmquick_think_llm 分别配置用于复杂推理和快速任务的模型。对于需要深度分析的机构场景,建议使用 deep_think_llm 配置能力较强的模型(如 GPT-5.4、Claude 4.6),而将简单任务分配给轻量模型以控制成本。

辩论轮数通过 max_debate_rounds 参数控制,默认值为 2。对于高波动市场或高风险资产,建议将轮数增加至 3 或 4,以获得更充分的对抗性检验;对于低波动环境或快速决策场景,可降至 1 轮以加快决策速度。

状态持久化方面,框架提供两种机制:决策日志(Decision Log)和检查点恢复(Checkpoint Resume)。决策日志默认开启,每次决策完成后自动追加至 ~/.tradingagents/memory/trading_memory.md,系统会基于历史决策生成反思段落并在后续分析中注入上下文。检查点恢复通过 checkpoint_enabled 参数启用,LangGraph 会在每个节点完成后保存状态,确保中断后能从最后一步恢复而非从头开始。

架构设计的局限性与适用边界

理解框架的适用边界对于正确部署至关重要。TradingAgents 的架构设计面向研究目的,其交易性能受多个非确定性因素影响,包括所选语言模型的能力、模型 temperature 参数设置、交易时段、数据质量等。框架明确声明不构成金融或投资建议,使用者需自行承担决策风险。

从技术架构角度看,该框架的优势在于模块化程度高、易于扩展 —— 新增分析维度只需实现对应的分析师代理并接入数据流即可。但层级式架构也意味着决策延迟与代理数量正相关,对于需要毫秒级响应的场景可能不适用。此外,多代理辩论机制带来的 Token 消耗是实际部署时需要评估的成本因素。

小结

TradingAgents 通过层级式角色分工、结构化消息传递协议和多层共识机制,构建了一套完整的多代理 LLM 金融交易决策框架。其设计理念借鉴了真实金融机构的专业分工与制衡逻辑,通过分析师团队提供多维度输入、研究团队进行对抗性检验、风险管理提供风险过滤、投资组合经理进行最终审批,实现了从数据到决策的端到端流程。LangGraph 的状态图编排、多后端 LLM 支持、记忆与检查点恢复机制则为框架提供了工程化的实现基础。在使用该框架时,明确其研究定位、合理配置辩论深度与模型组合、充分利用历史记忆进行决策反思,是发挥其架构优势的关键。


参考资料

ai-systems