QMT AI Harness 工程与扩展防线设计
文件性质: 架构决策增补草案 (针对 Blueprint 致命缺陷的修复) 重点目标: 彻底消除大模型在金融交易中的“看图作文”幻觉,并加固周边基建的容错能力。
专项一:AI Harness 维度隔离工程设计 (解决缺陷3)
为了防止 AI 因为迎合设定的“多空人设”而产生数据幻觉,我们需要在底层设计一套**特征路由与盲区隔离(Harness)**机制。
1. 核心设计思想:剥夺全知全能的视角
过去我们将包含 OHLC/技术指标/财务面/新闻 的整个巨大 JSON 广播给所有特工。
在全新的 Harness 设计下,系统只通过“守门人 (ContextRouter)”对数据进行脱敏切分后再下发。
2. 维度特工阵列 (Dimensional Agents)
A. 技术派特工 (Technical Agent)
- 看到的数据: 纯 K 线形态、MA60 均线、MACD/BOLL 极值点、价格相对强度。
- 被屏蔽的数据: 估值 PE、公司名字、新闻利好。
- 任务: 纯粹从图形和博弈阻力位出发,哪怕公司马上退市,只要底背离了也必须说看多。
B. 价值派特工 (Fundamental Agent)
- 看到的数据: 历史 5 年 PE/PB 绝对分位值、ROE 变化、当前行业平均市盈率。
- 被屏蔽的数据: K 线形态走势、短线暴涨暴跌的惊悚新闻。
- 任务: 冷血计算护城河与折价率。只要低于 30% 分位即给出买点,哪怕天天跌板。
C. 资金/情绪面特工 (Sentiment Agent)
- 看到的数据:
volume_shadow(量影)、大单净流入、外部飞书资讯情绪。 - 任务: 捕猎当前市场主力的动向和筹码集中度。
3. Harness 融合器 (The Arbitrator)
三位盲人摸象的特工将产生极为结构化的短 JSON 报告(包含 Stance: INT 与 Confidence: 0.0-1.0)。Harness 的最终融合节点(Arbiter)将不再听他们吵架,而是基于他们不可调和的矛盾点做出终裁。
例如 Arbiter 的逻辑推演会变成:“该股技术面触发死叉(Technical输出空),但价值层因为暴跌进入极度低估区(Fundamental输出多),综合考虑这属于黄金坑,给出建仓信号。”——这才是真正的投研。
专项二:必须重视与处理的“隐藏地雷” (Other Critical Aspects)
在量化工程大一统的过程中,除了 AI Harness,还有三个决定能否平稳活过第一个交易日的生死防线:
1. 数据保鲜剂检查 (Staleness Detection Engine)
一旦我们把数据系统和运算系统解耦成了 Data Daemon,最可怕的事情就是**“脏读假死”**。
如果底层的异步抓取程序因为断网死锁了,但主程不知道,它会拿着 5 分钟前的一根死 K线疯狂循环判断并买入。
- 处理方案: 所有经过
EventBus流转的OHLCData和Context必须带有时效印记timestamp。必须在StrategyBase.on_bar()的第一行加入硬编码:if (now - data.timestamp) > 500ms: return。哪怕错失交易,也不能对着僵尸数据开枪。
2. LLM 熔断与物理降级机制 (Graceful Degradation)
不管用 DeepSeek 还是 Claude,大模型的 API 在极端行情下(由于用的人多)经常 502 拒载或超时 120 秒。
- 处理方案: 系统管线必须包含一个
Bypass Mode(旁路模式)。当监测到 LLM 返回耗时超过 5 秒 或连续 2 次报错,立刻在飞行状态中开启熔断。所有选股与调仓完全降维并移交给纯数学的V7.1 Titan引擎自动执行防守,直到 AI 重新上线连接恢复。不能让断网导致仓位裸奔。
3. 指令幂等性与防重打薄 (Idempotency Control)
因为系统非常复杂(跨过了 ATMS -> QMT -> 异步发单),如果网络由于某种抖动,让大模型的某个 JSON 因为重传被执行了两次,会导致双倍满仓某只股票。
- 处理方案: 在最后的订单网关建立极度严苛的
Order Hash Registry。对标的、时间戳和意图做 Hash 化。1 小时内相同方向、相似评分的指令即使再次传来,网关层面也强制吃掉不予执行。