多智能体交易团队:Swarm 协作系统
让一个智能体做交易决策就像让一个人经营整个基金公司。Vibe-Trading 的 Swarm 系统用 29 个预置团队模拟了真实金融机构的协作流程。
为什么需要多智能体交易系统?
量化交易中的一个经典困境是:一个模型的判断无论多好,都不应该作为唯一决策依据。真实的交易决策需要多角度验证——基本面分析员提出观点,量化分析师用数据验证,风控经理评估下行风险,最终由 PM 综合判断。
Vibe-Trading 的 Swarm 系统将这种"机构级协作"复制到了 AI 智能体中。它不是让多个 LLM 同时回答一个问题,而是让它们像真实团队一样分工、协作、辩论和决策。
Swarm 架构
Swarm 系统由以下核心组件构成:
1. Worker(工人)
Worker 是 Swarm 的基本执行单元。每个 Worker 是一个独立的 LLM Agent 实例,拥有自己的:
- 系统提示:定义角色定位和专业领域
- 工具集:可以调用的 MCP 工具(可配置为 operator 指定的外部 MCP 服务器)
- 上下文:从 Swarm 协调器接收的任务相关的市场数据和历史信息
- 心跳机制:在 LLM 流式生成、数据获取和工具执行期间发送心跳
2. Preset(预置团队模板)
29 个预置的团队模板覆盖了主要交易角色。每个 Preset 定义了:
- 团队成员的组成和角色
- 角色之间的依赖关系
- 预配置的触发关键词
- 输出格式规范
3. Runtime(运行时)
Swarm 运行时负责:
- DAG 编排:根据任务依赖图决定执行顺序
- 状态管理:实时追踪每个 Worker 的状态(waiting / running / done / failed / blocked / retrying)
- 进度广播:通过 SSE / WebSocket 向 CLI 和 Web UI 推送实时状态
- 故障恢复:自动 reconcile 崩溃的 run,reap 过时的 stale run
- Heartbeat Keepalive:在长时间运行时保持连接活跃
29 个预置交易团队
| 团队 | 工作流 |
|---|---|
investment_committee | 多空辩论 → 风险审查 → PM 最终决策 |
global_equities_desk | A 股 + 港/美股 + 加密研究员 → 全球策略师 |
crypto_trading_desk | 资金费率/基差 + 清算 + 资金流 → 风险经理 |
earnings_research_desk | 基本面 + 预期修正 + 期权 → 财报策略师 |
macro_rates_fx_desk | 利率 + 外汇 + 商品 → 宏观 PM |
quant_strategy_desk | 筛选 + 因子研究 → 回测 → 风险审计 |
technical_analysis_panel | 经典 TA + Ichimoku + 谐波 + Elliott + SMC → 共识 |
risk_committee | 回撤 + 尾部风险 + 市场状态评估 → 审批 |
global_allocation_committee | A 股 + 加密 + 港/美股 → 跨市场配置 |
stocks_recommendation | 多因子筛选 + 基本面验证 → 推荐池 |
market_briefing | 多市场快讯汇总 → 日报生成 |
merger_arbitrage | 公告挖掘 + 概率评估 → 套利策略 |
event_study | 事件检测 + 超额收益分析 → 事件影响报告 |
options_strategy_desk | 波动率分析 + Greeks 计算 → 期权策略推荐 |
pairs_trading_desk | 协整检验 + 价差分析 → 配对交易信号 |
sentiment_analysis | 新闻情绪 + 社交媒体 → 情绪得分 |
sector_rotation | 行业动量 + 资金流 → 行业轮动建议 |
ipo_analysis | 招股书提取 + 估值比较 → IPO 定价与首日预测 |
convertible_bond_desk | 转股溢价 + 债底分析 → 可转债策略 |
fixed_income_desk | 收益率曲线 + 信用利差 → 固收策略 |
fund_allocation | 基金持仓 + 风格分析 → 基金优选 |
dividend_desk | 除息日历 + 派息率 → 股息策略 |
etf_flow_analysis | 申赎数据 + 折溢价 → ETF 资金流分析 |
volatility_desk | 波动率曲面 + VIX 期货 → 波动率交易 |
behavioural_finance | 行为偏误检测 + 市场情绪 → 逆向策略 |
correlation_breakdown | 相关性矩阵 + 聚类 → 分散化建议 |
rebalancing_committee | 持仓偏离度 + 交易成本 → 再平衡方案 |
factor_exposure_committee | 因子暴露 + 风险归因 → 组合风险管理 |
sustainability_desk | ESG 评分 + 碳排放 → 可持续投资建议 |
Swarm 工作流程
1. 用户输入 → 关键词匹配 → 选择 Preset
2. 启动运行时 → 广播 swarm_started 事件
3. 创建 Workers → 各 Worker 加载工具与上下文
4. DAG 调度 → 上游完成 → 依赖满足 → 启动下游
5. 进度流式 → 每 3 秒心跳 → 状态变更推送
6. 结果汇聚 → 协调器汇总所有 Worker 输出
7. 最终输出 → 格式化报告(文本 / 表格 / 图表)Preset 路由逻辑
Vibe-Trading 使用两阶段路由来匹配用户输入与合适的 Swarm Preset:
- 精确匹配:如果用户显式指定 preset 名称(如
investment_committee),直接命中,带不带下划线均可 - 关键词评分:否则对每个 preset 的关键词进行打分,选择分值最高的
关键词匹配做了边界处理,避免误触发——例如裸关键词 IV 不会误匹配到普通单词 "given" 中的 iv。
实时状态可视化
当 Swarm 正在运行时,用户可以看到:
- CLI:Rich Live 面板展示每个 Worker 的状态转轮、进度条和 ETA
- Web UI:聊天时间线中内联渲染状态卡片,每个 Worker 一个独立状态指示器
- REST / SSE:实时事件流,支持客户端重连后从快照恢复
安全机制
Swarm 系统有多层安全保护:
- DAG 阻断:上游任务失败时自动阻断下游任务
- 外部 MCP:Worker 可以调用 operator 配置的外部 MCP server,信任边界由测试固定
- 等待超时:SwarmTool 不再在 wait budget 用尽后取消仍在运行中的 team
- Stale Run 回收:使用 per-run 阈值判断 stale 状态,自动清理
- 结果 persist:每个 Worker 的输出持久化到 task store,支持故障恢复和事后审计
生产环境建议
- 从单一团队开始:第一次使用时,选择一个最相关的 preset(如
quant_strategy_desk),理解输出格式后再扩展到多团队 - 慢 Preset 模式:可以先在常规 agent 对话中完成初步研究,确认方向后再用 Swarm 做深度评审
- 注意 Token 消耗:一个包含 5 个 Worker 的 Swarm 运行可能消耗大量 token,建议设置合理的 Research Goal budget
- 检查 Worker 工具:确认每个 Worker 有足够的工具来完成任务,必要时通过 operator 配置外部 MCP
检验标准
读完本文后,你应该能回答:
- Swarm 系统为什么要用多个智能体而不是一个智能体做交易决策?
- Preset 和 Worker 各自的职责是什么?
- Swarm 的工作流程包括哪些步骤?
- Vibe-Trading 的 Swarm 有哪些安全保护机制?
- 生产中应该如何使用 Swarm 系统?
