5.6 KiB
5.6 KiB
主Agent 自动进化引擎设计
更新时间:2026-04-16
1. 背景
当前 Boss 主Agent 已经具备:
- 长期记忆:
masterAgentMemories - 提示词策略:
masterAgentPromptPolicy、userMasterPrompts - 对话控制:
userProjectAgentControls - 运行时自适应:Master Node / Hermes / Claw / API fallback
但它还不具备真正的自动进化闭环。现状只能“记住”与“回退”,不能持续发现问题、形成提案、沉淀规则并在后续回复中生效。
2. 目标
- 给主Agent增加统一的
Evolution Engine - 支持两种能力范围:
controlled:受控自动进化,只生成提案,等待用户批准后落地autonomous:完全自我进化,对高置信度提案自动落地
- 进化逻辑对现有主链最小侵入,不重写现有回复链、任务链、记忆链
- 所有进化行为可追踪、可审计、可回滚
3. 核心概念
3.1 Evolution Signal
进化信号,记录“为什么应该考虑进化”。
第一批信号来源:
- 高频重复问句
- 慢回复问题
- 用户纠正主Agent
- 模型/后端频繁手动切换
- 后端回退或执行失败
- Fast Path 未命中但属于确定性状态问题
3.2 Evolution Proposal
进化提案,记录“建议怎么改”。
第一批提案类型:
fast_path_ruleprompt_policy_patchmemory_patchagent_control_patchrouting_preference_patch
3.3 Evolution Rule
已生效规则,表示被批准或自动采纳后真正进入系统长期状态的变更。
3.4 Evolution Run Log
进化执行日志,记录某次信号分析、提案生成、采纳、拒绝、自动落地的全过程。
4. 运行模式
4.1 Controlled
受控自动进化:
- 主Agent可以自动记录 signal
- 可以自动生成 proposal
- 不允许自动改长期状态
- 只能在用户批准后写入 memory / prompt / controls / fast-path rules
适合生产稳态与审计要求更高的环境。
4.2 Autonomous
完全自我进化:
- 主Agent可以自动记录 signal
- 自动生成 proposal
- 对满足阈值的 proposal 直接自动采纳
- 自动把结果写入长期状态
- 仍保留完整日志,允许后续回滚
适合开发期快速迭代,用更高风险换更快自优化速度。
5. 架构
5.1 新增状态模型
在 BossState 中新增:
masterAgentEvolutionConfigmasterAgentEvolutionSignalsmasterAgentEvolutionProposalsmasterAgentEvolutionRulesmasterAgentEvolutionRunLogs
5.2 新增引擎文件
src/lib/master-agent-evolution.ts- 统一入口
- signal 归一化
- proposal 生成
- 自动采纳判断
- 规则落地
src/lib/master-agent-evolution-rules.ts- Fast Path 规则、路由偏好规则解析
src/lib/master-agent-evolution-projections.ts- 给 Web/API 返回 evolution 状态摘要
5.3 挂载点
第一批最小侵入挂载点:
replyToMasterAgentUserMessage()- 记录用户问题、Fast Path 命中/未命中、慢路径耗时、模型/后端实际选择
appendMasterAgentSystemReply()- 记录主Agent输出结果
completeMasterAgentTask()- 记录异步任务成功/失败、fallback、超时
updateProjectAgentControls()/updateMasterAgentPromptPolicy()/createUserMasterMemory()- 记录用户主动纠偏行为,作为 evolution signal 输入
6. 第一批自动进化能力
Controlled 与 Autonomous 共用
- 记录重复问句
- 记录低价值慢路径
- 记录用户纠正模型/后端/接管设置
- 自动生成三类提案:
- 新增 Fast Path 规则
- 调整默认快模型/强模型/后端偏好
- 追加 workflow_rule / user_preference 记忆
Controlled 专属行为
- 所有提案状态默认为
pending_review - 需要用户批准后才能落地
Autonomous 专属行为
- 当 proposal 满足“高置信度 + 低破坏性”时自动落地
- 第一批只允许自动落地:
memory_patchrouting_preference_patchfast_path_rule
- 不允许自动改管理员全局主提示词
7. 前台入口
第一批只做最小 Web 能力:
GET /api/v1/master-agent/evolution- 返回 config / pending proposals / recent run logs / effective rules
POST /api/v1/master-agent/evolution/config- 切换
controlled/autonomous
- 切换
POST /api/v1/master-agent/evolution/proposals/[proposalId]/approvePOST /api/v1/master-agent/evolution/proposals/[proposalId]/reject
先不做复杂 UI,先把数据和接口打通,必要时从 我的 > 主Agent 进入。
8. 双分支策略
统一内核先落在共享提交里:
- evolution state
- evolution engine
- proposal / rule / run-log 结构
- API 与测试
然后从共享基线分两条分支:
codex/master-agent-controlled-evolution- 默认
mode=controlled - 关闭自动采纳
- 默认
codex/master-agent-autonomous-evolution- 默认
mode=autonomous - 开启自动采纳阈值逻辑
- 默认
用户先使用 autonomous 分支验证真实开发效率;一旦发现策略漂移或错误写入,可直接回退 controlled 分支。
9. 风险控制
- 管理员全局主提示词永远不允许 autonomous 自动改写
- 自动落地范围先限制在低风险对象
- 每次自动采纳都必须写 run log
- 所有 rule 都要带
sourceProposalId - 所有 proposal 都要可拒绝、可归档、可回滚
10. 验证基线
npx tsx --test tests/master-agent-evolution*.test.tsnpx tsx --test tests/master-agent-message-queue.test.ts tests/master-agent-chat-controls.test.tsnpm run build- 线上切到
autonomous后:- 主Agent可记录进化信号
- 可自动生成并落地低风险规则
controlled分支同一套信号与提案只记录、不自动采纳