持续优化约 12 分钟
EvoAgent 持续进化
自进化元智能体:一句话启动对技能文档的自动优化,跑完回放、归因、反思、合并、挑选、应用、验证,验证不过就不上线。
依据 agent-solution 0.1.3 · main@bf702bc9(2026-11-03)核实
进化的是文档,不是模型
企业智能体的大部分"本事"写在技能文档里:遇到什么情况、按什么步骤、注意什么。EvoAgent 做的是自动改进这些文档:拿一批真实或构造的任务跑一遍,看哪里做得不好,让模型反思后改写文档,验证新文档确实更好,再应用上去。
用户下指令 → 识别意图 → 编排优化流水线(远程回放 + 远程更新技能)→ 输出优化报告
源码EvoAgent READMEagent-solution/common/agent-evolve/evoagent/README.md@bf702bc9
它本身也是一个智能体(基于 agent-core 的 ReActAgent),优化引擎复用 agent-core 的 agent_evolving(agent-core 区第 8 关)。
流水线的阶段
优化过程中,各阶段通过 SSE 实时推送进度:
| 阶段 | 做什么 |
|---|---|
| rollout | 让目标智能体在数据集上跑一遍,收集轨迹 |
| attribute | 把好坏结果归因到具体技能 |
| reflect | 针对每个技能反思:哪里写得不清楚、缺了什么 |
| aggregate | 合并多条反思 |
| select | 挑出要应用的修改 |
| apply | 把修改写入技能文档 |
| validation | 在验证集上比较候选版本和基线 |
阶段名取自 README 列出的进度事件;每个阶段的说明是本站按名称和代码目录(optimizer/skill_document/)的概括,没有逐行核对。
目标智能体不在 EvoAgent 进程里。两边通过一个 Adapter sidecar 用 HTTP 通信:触发对话、收集轨迹、读写技能文档。
上线前的三道保险
| 保险 | 默认值 |
|---|---|
| 验证批次最低成功比例 | 1.0(全部通过) |
| 候选与基线必须用同一组用例 | 是 |
| 单个验证用例最多尝试次数 | 2 |
对托管文档还有时间上限和回滚:应用过程默认 600 秒内完成;任务被取消后,900 秒内要么完成、要么回滚到基线。还可以按文档类型声明"保护区段",这些区段必须原样保留,优化不许碰。
源码rollback_managed_docagent-solution/common/agent-evolve/evoagent/src/evo_agent/optimizer_runner.py:257@bf702bc9说明
仓库自带的示例场景是金融客服。开发新场景就是在 examples/scenarios/ 下建目录,放场景配置、优化器子类和可选的提示词覆盖,场景注册表会自动加载。
两种入口
| 模式 | 适合 |
|---|---|
| CLI | 现场部署,用数据集清单文件启动 |
| API | 平台集成:POST /optimize 提交任务拿到 job_id,再轮询或订阅 SSE;支持取消 |
小结
- EvoAgent 优化的是技能文档,流程是回放 → 归因 → 反思 → 合并 → 挑选 → 应用 → 验证。
- 默认要求候选版本在同一组用例上全部通过才算合格。
- 托管文档有时限、可回滚、可设保护区段,进化不会失控。
源码出处
- agent-solution/common/agent-evolve/evoagent/README.md核心闭环、API、场景开发
- agent-solution/common/agent-evolve/evoagent/src/evo_agent/optimizer_runner.py:410
async def run_optimization唯一编排入口 - agent-solution/common/agent-evolve/evoagent/src/evo_agent/optimizer_runner.py:257
def rollback_managed_doc托管文档回滚 - agent-solution/common/agent-evolve/evoagent/src/evo_agent/config.py:89
validation_min_success_ratio: float = 1.0验证门槛默认值
链接指向固定提交,仓库后续更新不影响这里的行号。
过关测验
1. EvoAgent 优化的对象主要是什么?
2. 按默认配置,候选版本要满足什么才算验证通过?