☰
如何安全地运行AI交易系统?AI Market Maker三种运行模式与双重门控安全机制详解
2026/10/8 18:50:39 网站建设 项目流程

如何安全地运行AI交易系统?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 加密货币对冲基金交易操作系统。很多新手第一次接触 AI 交易系统时最担心一个问题:如何让 AI 自主交易又不让它在失控时烧掉本金?这篇文章带你搞懂 AIMM 提供的三种运行模式(backtest / paper / live),以及它的「双重门控」安全机制——为什么它的实盘模式必须同时打开两道"闸门"才能真正下单。

从上面的架构图可以看到,AIMM 的整个交易链路是:研究台 → 信号合成 → 组合管理 → 风控门卫(Risk Guard)→ 执行。安全设计就藏在每一环里,下面我们逐个拆解。

三种运行模式:先搞懂 backtest、paper 和 live

AIMM 的三种运行模式共用同一套 LangGraph 工作流,由一个run_mode配置项统一控制,定义见 src/config/run_mode.py,完整说明在 docs/run-modes.md:

模式用途订单执行方式
📊backtest历史回测 / K线回放仅模拟成交,完全不需要真实 API Key
📝paper默认的开发测试模式Binance 测试网(或模拟),不动真钱
💰live真实交易真实下单,受双重门控保护

切换模式只需要改一个环境变量MODE,或者用命令行参数临时覆盖:

# 默认就是 paper 模式,无需任何配置 uv run python src/main.py # 单次指定模式(不修改配置文件) uv run python src/main.py --mode backtest

💡新手建议:90% 的时间你应该待在backtest和paper模式里。paper 模式默认走测试网路径(src/config/exchange_env.py),不需要配置任何真实密钥,这也是默认值被设计为paper的原因。

第一道闸门:AI_MARKET_MAKER_ALLOW_LIVE 环境开关

第一重门控非常简单粗暴:除非你显式声明"我要真实交易",否则系统拒绝进入实盘路径。

在 src/config/run_mode.py 中,如果MODE=live但没有设置AI_MARKET_MAKER_ALLOW_LIVE=1(或true/yes),程序会直接抛出异常并退出:

Run mode 'live' requires AI_MARKET_MAKER_ALLOW_LIVE=1 (or true/yes)

同样的逻辑也保护了交易所适配层:只要EXCHANGE不是paper(比如设置为hyperliquid),就强制要求这个开关打开,否则会报"确认真实交易意图"的错误。

再看仓库的 .env.example,里面的默认值就是刻意留了一道坎:

# 必须为 1 才允许任何非 paper 交易所。纯纸面交易请保持 0。 AI_MARKET_MAKER_ALLOW_LIVE=0

这就是所谓的"显式确认"设计:把实盘从"默认状态"变成"需要额外一步操作"的状态,防止一个手滑的export MODE=live直接烧钱。

第二道闸门:Risk Guard 的"一票否决权"

即使你打开了AI_MARKET_MAKER_ALLOW_LIVE,还有第二道闸门:Risk Guard(风控门卫)拥有对每一笔交易的最终否决权。

Risk Guard 是一个治理层 Agent(src/agents/governance/risk_guard.py),它的职责不是"打个分",而是真的能叫停执行。它检查的维度包括:

  • 回撤止损:当前回撤达到策略设定的risk_max_drawdown_stop阈值时,风险分直接拉满到 1.0,立即 VETO;
  • 杠杆/敞口上限:总敞口与权益之比超过策略允许的最大杠杆时,风险分被推到 0.95,触发否决;接近上限时风险分也会升到 0.75 作为警告;
  • 紧急停止开关(Kill Switch):设置AIMM_KILL_SWITCH=1或AIMM_RISK_GUARD_KILL_SWITCH=1后,所有执行提案一律被否决——这是留给人类的"物理急停按钮"。

被否决后会发生什么?看 docs/personas/14_risk_guard.md 中的图路由规则:

  • ✅APPROVED→ 进入portfolio_execute(执行节点)
  • 🚫VETOED→ 直接跳到audit(审计节点),订单根本不会被创建

也就是说,否决发生在你以为会下单的那一刻之前,而且是流程层面的硬性跳转,不是日志里的一句"建议谨慎"。

更多内置的"防御性默认值"

除了双重门控,AIMM 在执行层还有几个值得了解的安全细节(均来自 docs/run-modes.md 的 Safety model 部分):

机制说明
🧪 Dry-run 守卫HYPERLIQUID_DRY_RUN=1时,订单只做解析和校验,永远不会发往交易所
🌐 默认测试网HYPERLIQUID_TESTNET默认为1,主网需要你显式关掉的 opt-out 配置
🛑 Fail-closed 设计遇到未实现的实盘路径,启动时就报错退出,而不是等到下单那一刻才炸
🔐 密钥脱敏内部对象的__repr__永远不会把私钥/密钥打印进日志
🔁 幂等去重开启 OMS 引擎(src/config/execution_engine.py)后,订单按 SHA-256 幂等键去重,重复提交不会造成重复下单

OMS 引擎还可以把订单状态持久化到 SQLite(src/oms/oms.py),让"重启后不会重复下单"和完整的事件审计日志成为可能。

新手推荐的上手路径 🚀

按下面这个顺序使用 AIMM,安全边际最大:

  1. 回测验证:MODE=backtest跑历史数据,看超额收益(对比买入持有基准)是否成立;
  2. 纸面交易:切到默认的MODE=paper,在 Binance 测试网观察信号质量和组合行为,至少观察一段时间;
  3. 打开第一道闸门:确认真的要实盘后,才设置AI_MARKET_MAKER_ALLOW_LIVE=1+MODE=live;
  4. 随时准备急停:了解AIMM_KILL_SWITCH=1这个环境变量,出问题时一键否决所有执行。

常见问题 FAQ

Q:不设置任何环境变量,程序默认会实盘交易吗?不会。默认MODE=paper、AI_MARKET_MAKER_ALLOW_LIVE=0、交易所默认paper,所有路径都指向测试网/模拟环境。

Q:live 模式和 paper 模式用的是同一套代码吗?是的。三种模式共用同一个 LangGraph 工作流(详见 docs/langgraph-workflow.md),区别只在执行端如何落地订单。这意味着回测验证过的行为,在实盘中具有一致性。

Q:Risk Guard 否决后,AI 会继续"重试"下单吗?不会。图路由在 VETOED 时直接跳到 audit 节点,执行节点被整体跳过,且每轮决策都会重新走一遍 Risk Guard。


一句话总结:AI Market Maker 的安全哲学是"默认不交易,实盘要显式确认,每一笔单都要过风控门卫,且门卫有真正的否决权"。理解了这三种运行模式和双重门控,你就能放心地把探索留在 backtest 和 paper 的世界里,等策略被充分验证后,再决定是否打开那两道闸门。

【免费下载链接】ai-market-makerAgentic AI Hedge Fund OS (AIMM)项目地址: https://gitcode.com/gh_mirrors/ai/ai-market-maker

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询