为什么用LangGraph构建多Agent交易流水线?AI Market Maker编排工作流完全解读
【免费下载链接】ai-market-makerAgentic AI Hedge Fund OS (AIMM)项目地址: https://gitcode.com/gh_mirrors/ai/ai-market-maker
AI Market Maker(AIMM)是一个开源的 Agentic AI 对冲基金操作系统,它用LangGraph编排多 Agent 交易流水线,让多个 AI 交易员像真实基金团队一样分工协作:感知市场、生成信号、组合提案、风险否决、最终执行。对于想理解多 Agent 编排工作流如何落地到真实交易场景的开发者来说,这是一个非常完整的参考实现。
一、为什么多 Agent 交易系统需要 LangGraph?
如果把交易系统写成一长串函数调用,会遇到三个典型问题:
| 痛点 | 传统写法的问题 | LangGraph 的解法 |
|---|---|---|
| 状态散落 | 每个 Agent 各自维护变量,难追踪 | 统一的图状态(Graph State),所有节点共享同一份"工作记忆" |
| 流程写死 | 分支逻辑用 if/else 堆叠 | 条件边(Conditional Edges)显式声明路由规则 |
| 难以观测 | 出错后不知道流程走到哪一步 | 每个节点可插桩(instrument),全链路留痕 |
LangGraph 把交易流程抽象成一张状态机图:Agent 是节点(Node),数据是共享状态(State),流转规则是边(Edge)。这正是 AIMM 的编排方式——它的核心图定义在 build_workflow() 中,完整文档见 docs/langgraph-workflow.md。
二、图状态:一份共享的"交易工作台"
整条流水线共享一个类型化的状态对象HedgeFundState,定义在 src/schemas/state.py。它大致包含五类字段:
- 感知层输出:
market_context、tier0_contracts(每个 Agent 的结构化结论) - 决策层:
proposed_signal、trade_intent(仲裁后的交易意图) - 风控层:
risk_report、is_vetoed(是否被否决)、veto_reason - 执行层:
execution_result(下单结果) - 审计层:
reasoning_logs(每一步的思考日志)
值得注意的是几个用了operator.add聚合器的键(如debate_transcript、reasoning_logs):各节点只负责追加自己的片段,LangGraph 会自动合并。这意味着任何节点都读得到前面所有 Agent 的全部产出——就像一张摆在所有交易员面前的共享白板。
三、九个感知 Agent 并行分析:图节点全览
AIMM v4 采用"加权收敛架构",九个 Tier-0 感知 Agent 并行分析市场,各自输出一份标准化 JSON 契约。节点清单与默认权重如下(详见 docs/personas/README.md):
| Agent | 角色 | 关注点 | 默认权重 |
|---|---|---|---|
| 1.1 Monetary Sentinel | 宏观分析师 | 宏观环境与流动性 | 0.05 |
| 1.2 News Narrative Miner | 新闻叙事 | 事件冲击与叙事新鲜度 | 0.05 |
| 2.1 Pattern Recognition | 形态识别 | K线形态与结构质量 | 0.25 |
| 2.2 Statistical Alpha | 统计 Alpha | 截面 z-score 信号 | 0.10 |
| 2.3 Technical TA Engine | 技术分析 | RSI、MACD、ATR 等指标 | 0.30 |
| 3.1 Retail Hype Tracker | 散户情绪 | FOMO 程度与背离预警 | 0.05 |
| 3.2 Pro Bias Analyst | 聪明钱 | 资金费率与持仓变化 | 0.05 |
| 4.1 Whale Behavior | 巨鲸行为 | 砸盘概率(默认关闭) | 0.05 |
| 4.2 Liquidity Order Flow | 流动性与订单流 | 滑点风险与盘口失衡 | 0.15 |
每个 Agent 都遵循同一套契约接口Input → Process → Output → Feedback,抽象基类在 src/agents/base_agent.py,并且process()必须返回结构化的reasoning载荷——这是后面全链路可追溯的基础。
四、边与条件路由:Risk Guard 拥有一票否决权
整个图的路由规则非常简洁(src/main.py):
policy_orchestrator → market_scan → [9 个 Tier-0 Agent 并行] → risk → desk_debate → signal_arbitrator → portfolio_proposal → risk_guard → (条件路由) → portfolio_execute → audit关键在最后一步的条件边:风险守门员 Risk Guard 会给出否决或放行。路由函数只有几行核心逻辑(src/workflow/routing.py):
- 若
is_vetoed为真 → 跳过执行,直接进入audit(审计) - 否则 → 进入portfolio_execute(下单执行)
也就是说,所有路径在 Risk Guard 处收敛,任何交易想在执行前都必须先过这道闸。Risk Guard 的实现见 src/agents/governance/risk_guard.py:它根据组合快照和策略配置计算保守风险分,超过 0.8 直接否决;还支持AIMM_KILL_SWITCH环境变量一键熔断全部执行。这正是"多 Agent 流水线"里最容易被忽略、却最值钱的一环——治理能力。
五、为什么这个设计值得借鉴?
- 可追溯:每个节点的思考都写入
reasoning_logs,前端控制台(Web Dashboard)可以按时间轴回放每个 Agent 的推理过程。 - 可插拔:Agent 只是图上的节点,想替换某个"交易员",只需换一个节点函数,图结构不动。
- 可配置:Agent 权重、决策阈值(如 BUY 需综合分 ≥ 0.60)都来自策略文件,如 config/policy.default.json,而非硬编码。
- 确定性:仲裁默认走加权收敛(确定性算法),而非 LLM 自由发挥,LLM 仲裁只是可选项(
AIMM_ARBITRATOR_MODE=llm)。
六、快速体验:从零跑起这条流水线
git clone https://gitcode.com/gh_mirrors/ai/ai-market-maker cd ai-market-maker pip install uv uv sync --extra dev cp .env.example .env # 填入 LLM API Key 与交易所密钥 uv run python src/main.py跑完后每个 run 的完整推理轨迹都会落盘并同步到 Web 控制台。回测、信号发布、排行榜等功能说明见根目录 README.md 与 docs/run-modes.md。
总结
AIMM 展示了 LangGraph 在多 Agent 系统里的正确打开方式:状态集中、节点专精、路由显式、风控一票否决。它不是把一堆 LLM 调用串起来,而是用图的状态机语义,把"感知 → 辩论 → 仲裁 → 提案 → 否决 → 执行 → 审计"建模成一个可观测、可治理的确定性流程。如果你想给自己的 AI 交易系统加一套编排骨架,这份 工作流文档 和src/workflow/下的路由、仲裁实现,是最好的起点。
【免费下载链接】ai-market-makerAgentic AI Hedge Fund OS (AIMM)项目地址: https://gitcode.com/gh_mirrors/ai/ai-market-maker
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考