量化系统的多 Agent 拆法:一人公司的分权制衡
量化系列第四篇:为什么一个单人系统要拆成多 Agent —— 不是赶时髦,是分权制衡。提案权、否决权、审计权分开,人做最后的仲裁者。
[前三篇](/zh/blog/quant-not-a-gambling-machine)把单体的架构讲完了:确定性引擎、双模型、决策记忆。单进程当然也能跑 —— Phase 1 和 Phase 2 本来就是那么设计的。但过了某个复杂度,单体会变成一锅粥:模型又当研究员又当交易员又当风控,自己给自己审批。这篇讲一个正在成形的想法:把系统拆成多个 Agent。 不是因为多 Agent 时髦,是因为分权制衡。
先想清楚为什么是 Agent
一个人做量化,最大的风险不是算力不够,是没有制衡。模型给出一个信号,谁来质疑它?回测漂亮,谁来检查是不是前瞻偏差?策略连亏三天,谁来决定是停还是扛?单模型单进程的答案全是「同一个它」—— 这是过拟合和自我确认偏差的温床。多 Agent 的本质,是给系统装上利益互相牵制的多个视角:提案权、否决权、审计权,分开。
四层八个角色
按已有的架构分层,每层长出自己的 Agent:
感知层 —— Data Agent:喂 BaseDataProvider,对齐时间戳,防前瞻偏差,数据不干净它负责喊停。News Agent:抓新闻和公告,舆情打分,把非结构化文本蒸馏成几行 Market Context。
研究层 —— Factor Agent:跑 RD-Agent 式的生成-回测-筛选循环,不停产出候选因子。Backtest Agent:只管跑回测出指标,胜率、期望值、回撤,它不解释、不辩护,只报数。
决策层 —— Strategy Agent:结合技术指标和 Market Context,输出结构化信号加置信度。Risk Agent:拿否决权的那位 —— 仓位上限、止损纪律、回撤约束,任何信号过不了它的关就死在原地。提案者不掌握批准权,这是整个设计里最重要的一条线。
监督层 —— Audit Agent:写决策记忆,算 Strategy Health,评估每次 AI 判断的对错 —— 它审计的对象包括 Strategy Agent 和 Risk Agent 自己。Orchestrator:任务路由、模型分级调度、熔断降级,系列第二篇那套分层路由就是它的岗位职责。
三条设计原则
一,Agent 之间不聊天,传结构化消息。 Market Context、因子向量、信号 JSON,走 Redis 队列总线,每一条消息都可审计。自由对话式的多 Agent 协作听着性感,但不可审计的协作等于没协作。二,每个 Agent 用不同的模型档位。 传感器们用便宜甚至免费的通用模型,Strategy Agent 用微调过的小模型(下一篇展开),Risk Agent 甚至可以是纯规则加一个小模型的混合 —— 制衡不需要每个环节都聪明,需要每个环节都可靠。三,人是最后一个 Agent。 控制台里所有授权等级(L0 到 L5)最终都汇到管理员的一次确认上。系统提案,人仲裁 —— 一人公司里 CEO 只有一个。
一个反模式警告
不要把这套东西做成 Auto-GPT 式的自由循环 —— 给模型一个目标,让它自己想、自己干、自己评。那套玩法烧 token、无问责、出了事连日志都对不上账。我想要的 Agent 不是有自由意志的员工,是确定性管线上的 LLM 关节:管线的骨架是代码,关节处才是模型。这也是为什么上一篇敢说「可审计」—— 管线确定,关节的每一次输出都有日志。
说到底,这张架构图就是一人公司的组织架构图:我是 CEO,感知层是情报部门,研究层是研究部,决策层是交易台加风控台,监督层是内审。一个人开公司,缺的从来不是人手,是组织结构。Agent 是把组织结构装进代码里的方式。
[下一篇](/zh/blog/quant-tiny-decision-models)补上最后一块拼图:Strategy Agent 的大脑从哪来 —— 哪些极小的开源模型适合微调成决策模型,训练数据为什么就是决策记忆本身。
评论
评论区由 GitHub Discussions 驱动。点右上角 "Sign in" 用 GitHub 账号登录即可评论。