Agent 自进化:Harness 工程、技术路径、工程闭环与现实边界 深度专题
本文是一篇基于公开资料整理与综合判断形成的技术综述文章。文中将“资料事实”和“综合判断”尽量区分:涉及论文、项目、官方文档的事实性信息均在正文或文末给出来源;对工程路线、成熟度和落地边界的判断属于基于公开资料的归纳分析。
一、引言:为什么讨论 Agent 自进化
过去几年,AI Agent 从“会调用工具的聊天机器人”逐渐演化为一种复杂的软件系统形态。一个 Agent 系统通常不再只是一次模型调用,而是包含任务理解、计划生成、工具调用、环境观察、记忆管理、状态更新、反思修正、安全约束、人工接管、评测与监控等多个环节。
这带来了一个自然问题:Agent 能否在长期运行中变得更好?
本文先给出五个核心判断:
- Agent 自进化不是模型无约束自我改写,而是一个可观测、可评测、可审计、可回滚的持续优化系统;
- 短期最有性价比的进化发生在 Harness 层,也就是 Prompt、Context、Tool Schema、Skill、Memory、Evaluation、Guardrail 和 Deployment Policy;
- Trace-to-Dataset 是中间燃料层,它把真实行为、失败样本、人工修复和评测结果转成可复盘、可评测、可训练的数据资产;
- 后训练和 Agentic RL 是稳定经验的固化出口,不是所有问题的第一解法;
- 治理能力决定自进化上限,没有评测、灰度、权限和回滚,自动优化越强,自动放大错误的风险越高。
这个问题通常被包装成“Agent 自进化”“Agent 自学习”“Self-improving Agent”或“Agentic Learning”。但如果严格讨论工程落地,所谓自进化不应被理解为一个模型神秘地、无约束地、自动变聪明,而应被拆解为一组可观察、可评估、可治理的技术过程:
执行任务→ 记录行为轨迹→ 分析成功与失败→ 沉淀经验→ 优先优化 Harness:Prompt / Context / Tool / Skill / Memory / Workflow / Eval / Guardrail→ 构造评测与训练数据→ 在稳定模式上进行后训练 / 模型升级→ 灰度发布→ 监控反馈→ 进入下一轮迭代从公开研究看,相关思想并不是突然出现的。ReAct 将推理与行动结合起来,展示了语言模型如何在工具反馈中逐步完成任务;Reflexion 和 Self-Refine 展示了模型在测试时通过反馈和反思改进输出的可能;Voyager 展示了 Agent 可以通过技能库积累可复用行为;Toolformer 探索了模型通过自监督方式学习何时调用工具;AgentBench、GAIA、τ-bench 等评测工作说明了真实 Agent 能力需要通过交互式环境来衡量;OpenAI Agents SDK、LangSmith、Langfuse、Phoenix、OpenTelemetry GenAI 等工程工具则将 tracing、evaluation、observability 推向了生产系统。
因此,Agent 自进化不是单一算法,也不是单一框架,而是研究范式、工程工具链和组织流程共同构成的持续优化体系。尤其在当前阶段,很多最有性价比的“进化”并不发生在模型权重里,而发生在模型外部的 Harness 中:上下文如何组织、工具如何暴露、工作流如何编排、记忆如何写入、评测如何门禁、权限如何约束、失败如何回流。
本文的核心观点是:
当前最有工程可行性的 Agent 自进化,不是端到端全自动强化学习,也不是一开始就做昂贵后训练,而是以 Harness 层自进化 为起点:先让 Prompt、Context、Tool Schema、Skill、Workflow、Memory、Evaluation、Guardrail 和 Deployment Policy 持续变好;再把被反复验证的稳定经验沉淀为 Dataset;最后在确有必要时通过受控后训练或模型升级完成能力固化。
二、什么是 Agent 自进化
1、一个谨慎的定义
可以将 Agent 自进化定义为:
Agent 系统在持续执行任务的过程中,通过记录行为数据、分析反馈结果、沉淀可复用经验,并将这些经验优先作用于 Harness 层的 Prompt、Context、Tool、Skill、Memory、Workflow、Evaluation、Guardrail 和 Deployment Policy;当经验足够稳定、数据质量足够高、评测足够可靠时,再进一步作用于训练数据、Adapter 或模型参数,从而在后续任务中提升成功率、稳定性、效率、安全性和适应性的过程。
这个定义刻意避免两个极端:
- 一端是把任何 Prompt 修改都称为“自进化”,这会把概念稀释成普通优化;
- 另一端是把自进化等同于模型自动训练和自动上线,这会低估工程治理、安全评估和数据质量的重要性。
更准确地说,Agent 自进化是一组从浅到深的能力提升机制,而不是一个单点能力。
2、从不同角度理解 Agent 自进化
2.1、Harness 视角:模型外部的任务执行系统变好
本文所说的 Harness,可以理解为包裹在模型外部、负责让模型真正完成任务的工程系统。它不是单个库,也不是单个框架,而是一组运行时能力的总称,包括 Prompt、Context、Tool Schema、Skill、Workflow、Memory、Evaluation、Guardrail 和 Deployment Policy。
Harness 自进化的核心,是让模型外部的“任务执行环境”持续变好。它的优势是成本低、迭代快、可解释、可回滚,并且通常能跨模型迁移:即使底层模型从小模型换成更强的大模型,很多 Prompt 结构、工具 schema、评测集、Workflow、权限规则和 Trace 数据仍然有价值。第五章会专门展开这些子模块如何进化。
这也是为什么工程上不应把自进化直接等同于后训练。小模型上的昂贵后训练,可能很快被下一代大模型的一次能力升级覆盖;但一个高质量 Harness 往往会随着模型升级继续受益,因为它定义了任务边界、工具接口、反馈回路和质量门禁。
2.2、Trace 视角:行为经验被转成可复用资产
更工程化的视角是把 Agent 的执行轨迹视为数据资产。一个完整 Trace 可以包含:
- 用户输入;
- 系统提示词与开发者约束;
- 计划步骤;
- 工具选择;
- 工具参数;
- 工具返回;
- 中间状态;
- 重试与异常;
- 人工接管;
- 最终输出;
- 用户反馈;
- 评测分数;
- 成本、延迟与安全事件。
OpenAI Agents SDK 的 tracing 文档明确将 LLM generation、tool calls、handoffs、guardrails 和 custom events 纳入 trace;Phoenix、Langfuse、LangSmith 等平台也都把 trace 作为调试、评测和生产监控的基础。
Trace 本身不是自进化,关键在于它能否被评测、分类、清洗、样本化和回流。成功 Trace 可以沉淀为 Skill 或 SFT 样本,失败 Trace 可以沉淀为回归样本,人工修复 Trace 可以沉淀为偏好数据,高风险 Trace 可以沉淀为安全样本。第六章会专门展开 Trace-to-Dataset 管线。
2.3、模型视角:稳定经验被固化为参数能力
更深一层,自进化可以表现为将高质量执行轨迹转化为训练数据,通过 SFT、DPO、RLAIF、RL 等方式更新模型或 Adapter。Toolformer 展示了模型可以通过自监督方式学习工具调用;Agent Lightning 则进一步提出将任意 Agent 执行过程形式化为强化学习训练接口,在尽量少改 Agent 代码的情况下进行 RL 优化。
但后训练并不总是首选。只有当任务模式稳定、数据量足够、评测可靠、错误代价可控时,后训练才可能带来正收益。
2.4、工程系统视角:三层闭环共同工作
从工程系统看,Agent 自进化更像一个闭环:
Agent Runtime→ Trace / Telemetry→ Evaluation→ Failure Analysis→ Dataset Construction→ Optimization→ Model / Prompt / Skill Versioning→ Canary Release→ Production Monitoring→ Feedback Collection这里的关键不是“自动”,而是“可控”。自动优化可以逐步引入,但自动上线必须非常谨慎。
3、一个贯穿式小例子:代码 Agent 如何变好
为了让三层概念更具体,可以看一个代码 Agent 修复测试失败的例子。
第一轮运行时,用户要求 Agent 修复一个后端接口 bug。Agent 读取代码后直接修改文件,但没有先运行相关测试,结果补丁虽然看起来合理,却引入了新的边界条件错误。这时系统可以先在 Harness 层 做低成本修复:Prompt 增加“修改前先定位失败测试”的约束,Tool Schema 明确 run_tests 的参数和返回结构,Workflow 固化为“定位失败 -> 最小修改 -> 运行测试 -> 生成 diff 摘要”,Guardrail 要求大范围删除前必须人工确认。
第二轮运行时,Agent 仍然在某类异常输入上失败,但这次系统记录了完整 Trace:用户需求、读取的文件、测试命令、失败日志、工具调用参数、补丁 diff、重试动作、最终测试结果和人工修复。这个 Trace 不直接拿去训练,而是进入 Trace-to-Dataset 层:失败样本进入回归集,人工修复前后的差异进入偏好样本,稳定成功路径进入 Skill 候选,高风险文件操作进入安全样本。
当同类修复在多个项目中反复出现,并且 Harness 修复已经被回归集证明有效,系统才考虑进入 模型层:把稳定的测试修复模式做成 SFT 样本,把“错误补丁 vs 人工修复补丁”做成 DPO 偏好对,或者把小模型蒸馏成专门负责错误分类和测试选择的辅助模型。训练完成后,新模型仍然要回到 Harness 中接受工具约束、回归评测、灰度和回滚。
这个例子说明:自进化不是“模型自己偷偷训练自己”,而是一次失败先变成 Harness 修复,再变成可治理数据,最后在条件成熟时才变成模型能力。
4、核心术语表
| 术语 | 本文中的含义 | 容易混淆的点 |
|---|---|---|
| Harness | 模型外部的任务执行系统,包括 Prompt、Context、Tool、Skill、Memory、Eval、Guardrail、Deployment 等 | 不是单个框架,也不是只指 Prompt |
| Trace | Agent 执行任务时留下的结构化行为轨迹 | 不是普通聊天日志,必须包含过程、工具、状态和版本信息 |
| Trace-to-Dataset | 把 Trace 转成评测样本、偏好样本、训练样本、安全样本和回归样本的管线 | 不等于直接拿日志训练模型 |
| Eval / Regression | 判断系统是否真的变好的评测与回归机制 | 不应只看最终文本,还要看最终状态、成本和安全 |
| Skill / Workflow | 从成功路径或专家 SOP 中沉淀出的可复用流程 | 不是模型权重能力,而是外部可治理资产 |
| Memory | 跨会话或跨任务保存的事实、偏好、状态和经验 | 不是越多越好,必须有来源、生命周期和权限治理 |
| Guardrail | 权限、安全、合规和高风险操作控制机制 | 不是简单拒绝,而是允许、降级、确认、转人工和回滚策略 |
| Post-training | SFT、DPO、RLAIF、RFT、Adapter、Distillation 等模型升级方式 | 应作为稳定经验的固化出口,而不是第一修复手段 |
三、Agent 自进化的三层架构
Agent 自进化最容易被讲乱,是因为不同人说的“进化”并不在同一层:有人说的是 Prompt 自动优化,有人说的是 Memory 变好,有人说的是 Trace 变训练集,有人说的是 SFT / DPO / RL 更新模型。它们都和自进化有关,但不是同一种机制。
为了让后文逻辑更清楚,本文把 Agent 自进化统一放进三层架构里讨论:
- Harness 层自进化:优化模型外部的任务执行系统;
- Trace-to-Dataset:把 Harness 运行经验转成可评测、可训练的数据样本;
- 模型层自进化:把稳定、高价值、可验证的经验固化到模型或 Adapter 中。
这三个层次不是并列堆概念,而是一个递进关系:先让系统低成本变好,再把有效经验结构化,最后才把稳定经验写进模型。
本文后续论证也围绕这条链路展开:

问题来源:Agent 长期运行后需要持续适应任务、工具、成本和安全变化→ 架构拆解:把“进化”拆成 Harness、Trace-to-Dataset、模型层三种机制→ 技术依据:用论文、工程博客和平台工具说明三层分别有技术来源→ 分层展开:第五、六、七章分别讨论三层如何工作→ 工程闭环:第八章说明如何评测、变更、灰度和回滚→ 落地边界:第九章说明哪些场景值得做,哪些不应过早做→ 风险治理:第十章说明闭环可能如何放大错误以及如何治理→ 未来趋势:第十一章说明 Agent 自进化会走向系统智能而非单点模型智能1、为什么第一层是 Harness
从工程落地看,Agent 出问题时,第一原因往往不是“模型完全不会”,而是模型外部的执行条件不够好:任务边界不清、上下文污染、工具 schema 含糊、Memory 误用、Workflow 缺失、评测不可靠、权限和回滚机制不足。
这些都属于 Harness 问题。Harness 可以理解为包裹在模型外部的任务执行系统,它负责把模型能力组织成可用、可控、可观测的业务行为。它不改变模型权重,但会直接改变 Agent 的实际表现。
把 Harness 放在第一层,有三个原因:
- 成本最低:Prompt、Context、Tool Schema、Workflow、Memory、Guardrail 通常可以快速迭代,不需要训练资源;
- 反馈最快:一次 Harness 变更可以立刻进入评测和灰度,不必等待完整训练周期;
- 迁移性最好:当底层模型升级时,高质量工具接口、评测集、Workflow、Memory 治理和权限策略通常仍然可复用。
因此,本文不把 Prompt、Memory、Workflow、Reflection 看成和 Harness 并列的路线,而是把它们都归入 Harness 的可进化子模块。具体每个子模块如何自进化,放到第五章集中展开。
2、为什么第二层是 Trace-to-Dataset
Harness 层可以快速修复问题,但如果没有 Trace 和评测,团队很难知道修复是否真的有效。一个 Prompt 改动可能让某类任务变好,也可能让另一类任务退化;一个 Memory 策略可能减少重复提问,也可能引入错误记忆;一个 Workflow 可能提高稳定性,也可能降低开放任务的灵活性。
所以第二层不是“数据层自进化”,而是 Trace-to-Dataset。它的作用是把 Harness 运行中产生的行为轨迹、失败样本、成功路径、人工修复和评测结果,转成可复盘、可评测、可训练的数据样本。
这一层有两个方向:
- 向前反哺 Harness:失败 Trace 进入回归集,成功 Trace 沉淀为 Skill,人工修复反过来修 Prompt、Tool Schema、Memory 和 Guardrail;
- 向后服务模型升级:高质量 Trace 被构造成 SFT 样本、偏好样本、工具调用样本、Reflection 样本、安全样本或 RL 轨迹。
这就是为什么 Trace-to-Dataset 是中间层。它不直接让模型变强,但它决定后续优化是否有证据、有样本、有边界。具体 Trace 如何采集、如何评测、如何构造样本、如何做质量门禁,放到第六章展开。
3、为什么第三层是模型层
模型层自进化指的是 SFT、DPO、RLHF、RLAIF、RFT、Agentic RL、Adapter 或模型升级。它的目标是把已经被验证过的稳定经验固化到模型中,让能力不再完全依赖外部 Prompt、Workflow 或 Memory。
把模型层放在第三层,而不是第一层,是因为训练成本和风险都更高。训练需要高质量样本、可靠评测、回归集、安全门禁、灰度发布和回滚机制。如果前两层没有做好,后训练很容易把错误经验、偶然成功、越权路径或过时规则固化进模型。
模型层更适合处理三类已经稳定的问题:
- 高频、稳定、可验证的格式和领域表达;
- 反复出现、已经被 Harness 验证有效的工具调用模式;
- 长期有价值、可通过偏好或奖励定义的策略选择。
特别是小模型后训练,还要面对一个现实问题:训练成本很高,但收益可能被下一代大模型的一次升级快速覆盖。相比之下,Harness 资产和 Trace-to-Dataset 资产更容易迁移到新模型上。因此,本文把模型层视为“稳定经验的固化出口”,而不是自进化的第一入口。具体 SFT、DPO、RLAIF、Agentic RL 和模型升级边界,放到第七章展开。
4、三层边界:每一层改变什么
为了避免把三层混成一个模糊概念,可以用边界表来区分:
| 层次 | 改变什么 | 不改变什么 | 典型产物 | 主要风险 | 进入下一层条件 |
|---|---|---|---|---|---|
| Harness 层 | 改变模型外部的任务执行条件 | 不改变模型参数 | Prompt 版本、Tool Schema、Skill、Memory policy、Eval、Guardrail | 局部优化、规则膨胀、Memory 污染、工具越权 | 变更被 Trace 证明有效,并能形成可复用经验 |
| Trace-to-Dataset 层 | 改变经验的结构化和样本化方式 | 不直接提升模型能力 | 回归样本、偏好样本、SFT 样本、安全样本、数据卡 | 标签错误、样本污染、隐私泄露、评测失真 | 样本经过状态校验、质量门禁、版本治理 |
| 模型层 | 改变模型或 Adapter 的行为分布 | 不替代 Harness 和发布治理 | 微调模型、Adapter、偏好模型、蒸馏小模型 | 过拟合、灾难性遗忘、reward hacking、难回滚 | 训练后通过核心回归、安全评测和灰度发布 |
这个表也说明了一个关键判断:三层不是能力强弱的排序,而是成本、风险和固化程度的排序。越往后,经验越稳定,改动越重,回滚越难;因此越需要前一层提供证据。
5、三层之间如何形成闭环
三层架构不是一条只向前走的流水线,而是一个闭环:
Harness 层快速试错→ Trace-to-Dataset 记录、评测、筛选、样本化→ 模型层固化稳定经验→ 新模型回到 Harness 中接受工具约束、评测门禁、灰度和监控→ 线上行为再次产生 Trace这也是本文的核心判断:Agent 自进化不是单点算法,而是一个分层工程闭环。短期收益通常来自 Harness,中期壁垒来自 Trace-to-Dataset,长期能力固化来自模型层。把这三层分开,才能避免把普通 Prompt 调参、日志收集和后训练都混称为“自进化”。
四、三层架构的技术来源:论文、工程实践与大厂经验
如果把近几年关于 Agent 的论文、工程博客、产品文档和技术大牛观点放在一起看,会发现它们虽然使用的术语不同,但正在收敛到本文的三层结构:Harness 层负责低成本适配,Trace-to-Dataset 负责把行为经验转成样本,模型层负责长期能力固化。
- Harness 层:Agent 的能力提升并不只来自“更大的模型”,还来自更好的工作流、工具接口、记忆治理、评测体系和行为数据闭环;
- Trace-to-Dataset 层:真正进入生产环境后,最稀缺的不是“让 Agent 多做一步”,而是让每一步都可观测、可评测、可复盘、可转成样本;
- 模型层:前沿研究正在探索更自动的后训练、agentic learning 和 Agentic RL,但工程落地仍然依赖严格的数据质量、环境设计和发布治理。
Andrew Ng 在 2024 年关于 agentic workflow 的公开分享中,将当时最有实践价值的 Agent 形态概括为四类模式:reflection、tool use、planning 和 multi-agent collaboration。这个分类很适合作为理解本节的入口:自反思解决“能否根据反馈改进”;工具使用解决“能否连接外部世界”;规划解决“能否把目标拆成步骤”;多 Agent 协作解决“能否通过角色分工扩大问题求解空间”。但从工程角度看,这四类模式只有在 trace、eval、guardrail 和版本治理存在时,才可能变成稳定系统,而不只是 demo。
Anthropic 在《Building Effective Agents》中也给出了一个很重要的工程提醒:不要一开始就堆复杂自治系统,应该先从简单、可组合、可评测的 workflow 做起,在确实需要模型动态决策时再引入更开放的 agent。这个观点和本文的判断一致:所谓自进化,首先不是“把控制权交给模型”,而是把经验、工具、评测和发布流程组织成可持续改进的系统。
Chip Huyen 对生产级 AI Agent 的分析也强调了类似方向:Agent 的核心难点不只是模型推理,而是工具、规划、错误恢复、权限、安全、成本和评测。换言之,Agent 越接近真实业务,就越不像单次问答模型,越像一个持续运行的软件系统。下面几个研究线索,正是在回答这个系统如何逐步变好的问题。
Karpathy 在 2025 年关于 Software 3.0 的公开演讲中,则把自然语言、Prompt 和 LLM 放到了软件形态变化的语境里:软件不再只是人手写的确定性代码,也不只是训练出来的神经网络权重,还包括用自然语言组织、调用和约束模型行为的“可执行上下文”。这对 Agent 自进化很关键,因为 Prompt、Skill、Memory、工具说明和工作流文档都不再只是说明书,而逐渐变成系统运行时的一部分。它们的版本、质量和可测试性,会直接影响 Agent 行为。
OpenAI 和 Martin Fowler 近期围绕 harness engineering 的讨论,也把这个问题说得更工程化:在 agent-first 的世界里,真正决定 Agent 表现的,不只是模型本身,还包括模型周围的脚手架系统。这个脚手架负责把任务拆解给模型、给模型提供上下文、暴露工具、验证结果、记录轨迹、控制权限和回收反馈。Anthropic 关于工具设计和 Agent evals 的工程文章也指向同一件事:工具和评测不是附属物,而是 Agent 能否可靠进入生产环境的关键部分。
从综述论文看,这个方向已经从“单点方法”进入“系统分类”阶段。早期 LLM Agent 综述通常把 Agent 拆成 brain / planning / memory / tool / action / environment 等组件;后续关于 planning 的综述进一步把规划能力拆成任务分解、计划选择、外部模块、反思和记忆;2025 年之后的 self-evolving agents 综述则开始直接讨论 what to evolve、when to evolve、how to evolve,也就是到底进化什么、什么时候进化、用什么机制进化。这个变化很重要:它说明研究社区已经不满足于证明“Agent 可以调用工具”,而是在讨论如何让 Agent 的行为、记忆、工具、工作流、模型参数和组织反馈一起形成长期适应机制。
为了避免把资料堆成文献列表,可以先按本文三层架构做一次归位:
| 三层架构 | 主要技术来源 | 本章关注点 | 后文展开 |
|---|---|---|---|
| Harness 层 | ReAct、Reflexion、Self-Refine、MemGPT、Voyager、Toolformer、Anthropic workflow、harness engineering | 模型外部运行时如何通过工具、记忆、工作流、反思和评测持续变好 | 第五章 |
| Trace-to-Dataset 层 | AgentBench、GAIA、SWE-bench、τ-bench、AI Agents That Matter、OpenTelemetry GenAI、Langfuse、Phoenix、LangSmith | 行为轨迹如何被观测、评测、分类、样本化和治理 | 第六章 |
| 模型层 | SFT、DPO、RLAIF、RFT、Agentic RL、Adapter、Distillation、Agent Lightning、ARPO | 经过验证的稳定经验如何固化进模型或轻量权重 | 第七章 |
可以把本节涉及的前沿资料粗略整理为一张“研究地图”:
| 方向 | 代表资料 | 核心问题 | 对自进化的启发 |
|---|---|---|---|
| LLM Agent 总体架构 | LLM-based Autonomous Agents Survey、The Rise and Potential of LLM-based Agents | Agent 由哪些组件构成 | 自进化不能只看模型,要看感知、记忆、规划、工具和行动闭环 |
| 反思与测试时优化 | ReAct、Reflexion、Self-Refine | 失败后如何修正 | 低成本学习可以先发生在上下文和外部记忆中 |
| 长期记忆 | MemGPT、Letta、memory management 研究 | 如何跨任务复用经验 | 记忆必须具备写入、遗忘、来源、可信度和权限治理 |
| Workflow / Skill | Voyager、Anthropic Building Effective Agents | 如何沉淀可复用能力 | 很多能力可以先外部化为可审计、可回滚的软件资产 |
| 工具调用 | Toolformer、τ-bench、MCP / function calling 生态 | 如何稳定操作外部世界 | 工具轨迹是最接近“行动数据”的训练资产 |
| 规划与协作 | Planning survey、Andrew Ng agentic workflows、Agentic LLM survey | 如何做长程任务分解和角色协作 | 自进化需要优化的不只是答案,还有计划生成和协作协议 |
| 评测与可观测 | AgentBench、GAIA、SWE-bench、AI Agents That Matter、AgentOps | 如何证明真的变好 | 没有可复现评测和 trace,就无法区分进化与退化 |
| 后训练与 Agentic RL | Agent Lightning、ARPO、Agentic RL Survey | 如何把经验固化进策略 | 长期潜力大,但依赖环境、奖励、数据质量和安全门禁 |
这张表也揭示了一个现实边界:今天很多“Agent 自进化”更准确地说是 system-level adaptation,也就是系统层自适应,而不是模型参数层面的递归自我改写。Prompt、Skill、Memory、Workflow、Tool Schema、Eval Set、Dataset 和 Model Adapter 都可能被优化,但每一层的风险和收益完全不同。
如果用 Harness 的视角重新归纳,前面这些方向并不是散的:
- ReAct、Toolformer、τ-bench 关心的是 工具 harness:工具如何暴露、何时调用、结果如何进入下一步决策;
- Reflexion、Self-Refine 关心的是 反馈 harness:失败如何被解释、修正和复用;
- MemGPT、Letta 关心的是 记忆 harness:长期上下文如何写入、检索、更新和遗忘;
- Voyager、Anthropic 的 workflow / skill 实践关心的是 流程 harness:经验如何沉淀为可组合、可审计、可回滚的能力;
- AgentBench、GAIA、SWE-bench、AI Agents That Matter 关心的是 评测 harness:如何证明系统真的变好,而不是只是调用更多模型或消耗更多 token;
- AgentOps、OpenTelemetry GenAI、Langfuse、LangSmith、Phoenix 关心的是 观测 harness:如何把不可见的模型行为转成可查询、可复盘、可治理的数据。
因此,Harness 不是和训练对立的路线,而是训练之前必须存在的工程底座。没有 Harness,后训练缺少可靠数据来源;没有后训练,Harness 中长期稳定、重复、高价值的经验又难以最终固化进模型。更合理的关系是:Harness 负责低成本快速适配,Trace-to-Dataset 负责筛选和样本化稳定经验,模型训练负责长期固化。
1、Harness 层的技术来源:从外部脚手架到可治理运行时
Harness 层的技术来源非常丰富。ReAct、Reflexion、Self-Refine、MemGPT、Voyager、Toolformer、Anthropic workflow、OpenAI Agents SDK、Martin Fowler harness engineering 等资料虽然侧重点不同,但都在指向一个结论:Agent 的可靠性来自模型和外部运行时系统的共同设计。
1.1、自反思:从“当场修正”到“经验记忆”
Reflexion 和 Self-Refine 是理解 Agent 自进化的入口。
Reflexion 的关键不是“模型会反思”这个表面说法,而是它提出了一种不更新模型权重的学习机制:Agent 根据环境反馈生成语言形式的反思,并将反思放入 episodic memory,在后续尝试中作为上下文使用。这说明外部记忆可以承担一部分“学习”功能。
Self-Refine 则更轻量:模型先生成初稿,再给自己反馈,再根据反馈修正。它不需要监督数据,也不需要训练。但这也说明它更适合可局部改进的生成任务,不适合缺乏验证信号的高风险决策。
从研究脉络看,自反思的价值在于把“失败”从一次性结果变成可复用信号。ReAct 让模型在推理和行动之间交替,把环境观察纳入下一步决策;Reflexion 进一步把失败后的语言反馈保存下来;Self-Refine 则证明在写作、代码、推理等任务中,生成-反馈-修正循环可以在不训练模型的情况下提升输出质量。
更细地看,这几项工作其实对应三种不同的“反馈位置”:
- 行动中反馈:ReAct 在推理步骤中穿插 action 和 observation,让模型根据环境返回修正下一步;
- 失败后反馈:Reflexion 在一次尝试结束后生成反思,把失败经验写入 episodic memory;
- 输出内反馈:Self-Refine 让模型对自己的初稿提出反馈,再生成修订稿。
这三种反馈位置,对工程系统有不同含义。行动中反馈适合浏览器操作、数据库查询、代码执行、运维排障等“每一步都有外部返回”的任务;失败后反馈适合竞赛题、代码修复、工具调用链失败复盘等场景;输出内反馈适合写作、总结、结构化回答、方案设计等可迭代文本任务。把它们混在一起说“反思”会掩盖差异:有些反思改进的是下一步动作,有些改进的是下一轮尝试,有些只是改写同一个回答。
但这里有一个常被忽略的问题:反思本身不是事实来源。模型可以给出听起来合理但实际错误的失败归因,也可能在没有外部证据时不断强化错误解释。因此,在工程系统里,自反思最好绑定外部反馈:单元测试、编译错误、规则校验、环境状态、人工评分、检索证据或真实业务指标。没有验证器的反思,更像“语言层面的重写”;有验证器的反思,才可能成为闭环优化。
近年来围绕 self-correction 的讨论也不断提醒:模型“知道自己哪里错了”和“真的能修正错误”不是一回事。对 Agent 自进化来说,真正有价值的不是让模型多写一段反思,而是把反思结果结构化,例如标注失败类型、失败步骤、证据来源、修复动作和是否通过验证。只有这样的反思才可能进入回归测试、Skill 修订或训练数据构造流程。
综合判断:
自反思是 Agent 自进化的低成本入口,但不能替代评测、工具验证和数据治理。它更像“测试时优化机制”,而不是完整的长期学习系统。
1.2、长期记忆:有用,但必须可治理
MemGPT 和 Letta 代表了长期记忆系统的工程化方向。它们把上下文窗口限制看作类似操作系统内存管理的问题,通过分层记忆、检索和写入策略扩展 Agent 的长期上下文能力。
长期记忆让 Agent 具备了“跨任务延续性”:它可以记住用户偏好、项目背景、历史决策、失败教训和领域知识。对个人助手、软件开发助手、企业知识助理来说,这种能力非常关键,因为真实任务往往不是一次对话内完成,而是在多天、多周甚至更长周期里不断推进。
但长期记忆的风险也逐渐清晰:
- 错误经验会被复用;
- 相似任务会诱导相似输出;
- 过期记忆会污染当前判断;
- 检索召回错误会让模型基于错误上下文推理;
- 隐私数据进入记忆后难以治理。
因此,成熟的记忆系统不应只是“向量库 + 自动写入”,而应该具备写入策略、遗忘机制、可信度标注、来源追踪、权限控制和评测机制。
2025 年关于 LLM Agent memory management 的实证研究进一步提醒:Agent 会出现 experience-following behavior,也就是倾向于复用相似记忆中的行动模式。这既可能带来效率提升,也可能把错误经验复制到新任务中。由此看,记忆系统的核心不是“存得越多越好”,而是决定什么值得写入、什么应该过期、什么需要降权、什么必须隔离。
工程上可以把长期记忆分成几类治理:事实记忆需要来源和更新时间;偏好记忆需要用户可编辑;经验记忆需要成功/失败标签;安全相关记忆需要权限和脱敏;任务状态记忆需要生命周期管理。只有这样,Memory 才能从“上下文补丁”变成自进化闭环中的可靠资产。
进一步说,记忆系统至少要回答六个工程问题:
| 问题 | 如果处理不好 | 更稳妥的做法 |
|---|---|---|
| 写入什么 | 噪声、隐私、错误经验被长期保存 | 设置写入门槛,只写稳定事实、明确偏好、已验证经验 |
| 何时写入 | 模型把临时对话误判为长期知识 | 区分 session memory、project memory、global memory |
| 如何检索 | 相似但不相关的记忆污染上下文 | 同时考虑语义相似度、时间、来源、任务类型和可信度 |
| 如何更新 | 旧事实与新事实冲突 | 保留版本、更新时间和冲突解决策略 |
| 如何遗忘 | 过期信息长期影响决策 | 引入 TTL、衰减权重、用户删除和审计机制 |
| 如何评测 | 不知道记忆是否真的帮忙 | 构造带记忆/不带记忆的对照评测 |
MemGPT 的意义在于把上下文窗口管理抽象成类似操作系统的内存层级问题:模型不必一次看到所有信息,而是通过读写外部记忆来维持长期任务状态。Letta 延续了这一思路,把 agent state、memory block、tools 和 runtime 更工程化地组织起来。对“自进化”来说,这类系统提供的是一种外部化学习路径:Agent 不需要每次都改变权重,也可以通过可编辑、可审计的状态逐渐变得更贴合长期任务。
但记忆和 RAG 也要区分。RAG 更偏“检索外部知识”,Memory 更偏“保存与主体、任务、历史交互相关的经验”。企业知识库问答主要依赖 RAG;长期项目助手、个人助理、代码协作 Agent 则更依赖 Memory。二者可以结合,但治理逻辑不同:RAG 关注文档来源和知识时效,Memory 还要关注用户授权、偏好演化、经验可信度和行为影响。
这组研究支撑了本文对 Harness 层的一个关键判断:Memory 确实能让 Agent 表现出长期适应性,但它必须作为可治理的运行时资产,而不能被简单理解成“把历史对话全部存起来”。
1.3、技能库与 Workflow:外部化的能力增长
Voyager 说明,Agent 可以不修改模型权重,而通过外部技能库持续获得复用能力。Anthropic 等工程团队也在公开讨论中强调,许多实际任务未必需要堆叠大量 Agent,而可以通过可复用的 Skills 让一个通用 Agent 获得更强领域能力。
这一路线的现实意义很强:企业通常更容易审核一个 Skill 文档、Workflow 或工具模板,而不是审核一个模型参数更新。它也更符合软件工程的版本管理与回滚习惯。
Anthropic 的工程建议中有一个非常值得借鉴的区分:workflow 是预先编排的路径,agent 是模型可以动态决定控制流的系统。前者更可控,后者更灵活。自进化系统不应该盲目追求“更 agentic”,而应该把高频、稳定、可审计的经验沉淀为 workflow,把开放、变化、需要判断的部分交给模型。
Voyager 的技能库提供了一个研究侧样例:Agent 在 Minecraft 中持续探索,把可复用行为保存成代码技能,并在后续任务中检索和组合。这个范式对企业系统有启发:很多“学习”并不一定要写入模型权重,可以先写入技能库、操作手册、工具模板、SOP 或自动化脚本。这样做的好处是可读、可测、可回滚,也更容易通过权限和审计控制风险。
局限是:Skill 需要被检索、选择、解释和执行,仍然依赖运行时上下文;而且 Skill 变多后,会出现能力发现、冲突管理、权限控制和版本漂移问题。
因此,Skill / Workflow 的自进化不只是“自动生成新技能”,还包括技能的命名、分类、触发条件、输入输出约束、适用范围、版本演进、弃用策略和回归测试。一个没有治理的技能库,最后会变成新的上下文噪声源。
从企业落地看,Skill / Workflow 往往比模型训练更早产生收益,原因有四个:
- 可解释:一个 SOP、脚本或工具模板可以被人类审阅;
- 可测试:可以为 Workflow 编写输入输出用例、异常用例和回归用例;
- 可版本化:可以像代码一样管理变更历史、发布版本和回滚点;
- 可授权:可以把高风险技能放在更严格的权限域中。
这也是为什么很多“自进化”系统的第一步,不是训练一个新模型,而是把高频成功路径沉淀成稳定流程。例如代码 Agent 在多次修复同类 lint 错误后,可以沉淀一个检查-修复-测试流程;数据分析 Agent 在多次生成报表后,可以沉淀 SQL 查询模板和图表校验规则;客服 Agent 在多次处理退款问题后,可以沉淀领域流程、升级条件和合规话术。
不过,Skill 自动生成也有风险。一个 Skill 如果只是从单次成功 Trace 中抽取出来,可能包含偶然路径、过拟合参数、隐藏权限假设或过时业务规则。因此,更稳妥的做法是把 Skill 生成看作“候选变更”:先由系统提出修订建议,再经过评测、人工审核和灰度启用,而不是直接进入生产技能库。
这组资料支撑了本文关于 Harness-first 的判断:很多能力增长可以先外部化为 Skill、Workflow 或 SOP,只有当这些流程跨场景稳定有效时,才需要考虑进一步固化到模型层。
1.4、工具调用训练:从会说话到会操作
Toolformer 的贡献在于将工具调用转化为模型可学习的数据形式。它不是简单让模型“知道有工具”,而是让模型学习:何时调用、调用哪个、传什么参数、如何利用结果。
后续大量 Agent 研究都围绕这个核心问题展开:如何让模型在多轮环境中稳定调用工具、遵守规则并完成任务。τ-bench 的结论尤其值得注意:即使先进函数调用 Agent 在真实风格的用户交互与领域规则下也并不稳定,这说明工具调用能力不能只靠单轮函数调用测试来验证。
工具调用也是技术大牛们讨论 Agent 时反复强调的分水岭。Andrew Ng 的 agentic workflow 把 tool use 单独列为关键模式;Chip Huyen 也把工具视为 Agent 进入真实世界的接口。因为一旦模型能调用搜索、数据库、代码执行器、浏览器、企业 API 或 MCP 工具,它就不再只是生成文本,而是在改变外部状态。
这也解释了为什么工具调用轨迹特别有训练价值。一次完整工具调用 Trace 通常包含:任务上下文、工具选择理由、参数构造、工具返回、错误处理、重试策略和最终状态。它既可以转成 SFT 样本,也可以转成 preference pair、failure analysis 样本或 regression case。相比普通对话数据,工具轨迹更接近“行动数据”。
但工具越强,风险也越高。工具 schema 写得含糊,会导致参数错误;工具权限过大,会导致越权操作;返回结果不结构化,会让模型误读;工具副作用没有标注,会导致不可逆动作。因此,工具调用训练必须和权限、沙箱、幂等性、审计日志、异常恢复一起设计。
综合判断:
工具调用是 Agent 从语言系统走向行动系统的关键接口;工具调用轨迹也是最有价值的后训练数据之一。
1.5、规划与多 Agent 协作:从一步生成到长程任务求解
如果说工具调用让 Agent 能“做事”,规划能力则决定 Agent 能不能把复杂目标拆成可执行步骤。LLM Agent planning 相关综述通常会把规划拆成几个层面:任务分解、子目标排序、计划修订、外部规划器结合、反思纠错和记忆利用。对自进化来说,规划非常关键,因为很多失败不是最终回答写错了,而是第一步任务分解就错了。
典型规划方法包括:
- 链式思考 / 分步推理:让模型显式生成中间推理步骤;
- 任务分解:把大目标拆成子任务,例如调研、编码、测试、总结;
- 树搜索或候选计划比较:生成多个计划,再选择更可靠的路径;
- 外部规划器:在需要强约束时调用传统规划算法、规则引擎或调度器;
- 执行后重规划:根据工具返回和环境状态调整原计划。
Andrew Ng 提到的 planning 和 multi-agent collaboration 本质上是在扩大模型的思考空间:一个 Agent 可以先制定计划,再调用工具;多个 Agent 可以分别承担研究、执行、审查、测试等角色。AutoGen、CrewAI、MetaGPT 等工程框架也体现了这一趋势:把复杂任务拆成多个角色或阶段,让系统通过消息传递和角色分工完成任务。
但多 Agent 并不天然更强。角色越多,通信成本越高,错误传播链越长,责任归因越困难。如果没有明确的终止条件、共享状态、冲突解决和评测标准,多 Agent 系统很容易变成“热闹但低效”的循环。Kapoor 等人对 Agent benchmark 的批评也提醒我们:多调用模型、多开几个角色带来的分数提升,必须和成本、延迟、可复现性一起评估。
规划轨迹本身也是重要数据。一个高质量 planning trace 可以记录:目标如何被拆解,哪些子任务被跳过或重排,什么时候触发重规划,哪个工具返回改变了计划,最终哪些步骤真正影响了成功。这样的数据不仅能用于评测,也能用于训练模型更好地做任务分解和失败恢复。
综合判断:
规划和多 Agent 协作扩展了 Agent 的任务求解空间,但它们只有在状态管理、通信协议、成本控制和结果评测存在时,才会从“复杂编排”变成真实能力。
2、Trace-to-Dataset 的技术来源:从评测、观测到样本构造
Trace-to-Dataset 层的技术来源主要来自 Agent 评测、生产观测和数据治理。AgentBench、GAIA、SWE-bench、τ-bench、AI Agents That Matter、OpenTelemetry GenAI、OpenAI Agents SDK tracing、Langfuse、Phoenix、LangSmith 等工作共同说明:Agent 的行为必须被记录、评测、分类和样本化,否则无法判断进化还是退化。
2.1、Agent 评测:从文本质量到状态正确性
AgentBench、GAIA、SWE-bench、τ-bench 等评测表明,Agent 能力评估已经从传统 NLP 指标转向交互环境中的任务成功率、工具使用能力、长程推理、状态变化和可靠性。
其中,τ-bench 对工程落地特别有启发:它不是只评估最后回答,而是比较任务结束后的数据库状态是否与目标状态一致。这意味着,Agent 评测应尽量靠近业务真实目标:如果 Agent 最终状态错了,即使文字解释流畅,也不能算成功。
几个代表性 benchmark 的关注点并不相同:
| Benchmark / 评测 | 主要关注 | 对工程的启发 |
|---|---|---|
| AgentBench | 多环境任务、工具使用、交互能力 | Agent 评测需要覆盖环境交互,而不是只测问答 |
| GAIA | 通用助手任务、检索、推理和工具组合 | 真实助手任务往往需要多步信息整合 |
| SWE-bench | 真实 GitHub issue 修复 | 代码 Agent 评测应看补丁是否通过测试,而不是解释是否漂亮 |
| τ-bench | 用户交互、领域规则、数据库最终状态 | 最终业务状态比最终文本更重要 |
| AI Agents That Matter | 成本、可复现性、基线和评测协议 | Agent 提升必须同时报告代价和可复现条件 |
Kapoor 等人在 AI Agents That Matter 中对 Agent 研究提出了一个很尖锐的提醒:如果不控制成本、可复现性、基线和评测协议,很多 Agent benchmark 的提升很难说明真实有效。这一点对工程实践尤其重要。一个 Agent 通过增加更多模型调用、更多工具尝试和更长上下文获得更高分,并不一定代表它更适合生产,因为成本、延迟和失败恢复也属于系统质量的一部分。
因此,Agent 评测至少应该分成四层:
- 结果评测:最终答案或最终状态是否正确;
- 过程评测:计划、工具选择、参数、重试是否合理;
- 系统评测:成本、延迟、稳定性、可恢复性是否可接受;
- 安全评测:是否越权、泄露隐私、触发高风险操作或绕过约束。
这也是为什么自进化闭环需要 regression testing。每次 Prompt、Skill、Memory、工具 schema 或模型版本变化,都可能让某些任务变好、另一些任务变坏。没有回归集,系统只能看到局部收益,看不到全局退化。
更进一步,Agent 评测不能只依赖单一指标。一个比较完整的评测集应该包含:
- Golden tasks:人工确认过的关键任务,用于保护核心能力;
- Failure cases:历史失败样本,用于验证修复是否真的生效;
- Adversarial cases:诱导越权、幻觉、隐私泄露或错误工具调用的样本;
- Cost cases:用于测量 token、工具调用次数、延迟和重试成本;
- Long-horizon cases:需要多轮规划、记忆和工具交互才能完成的任务;
- State-based cases:通过数据库、文件、代码测试或业务状态判断成功。
在自进化场景中,评测集本身也会进化。线上失败 Trace 可以进入候选回归集,人工修复 Trace 可以进入偏好数据,灰度期间的异常样本可以进入安全评测。这个过程类似软件工程中的“发现 bug -> 写回归测试 -> 修复 -> 防止复发”,只是对象从代码扩展到了模型行为、工具调用和工作流。
综合判断:
Agent 评测应从“回答像不像”升级为“状态对不对、过程稳不稳、成本值不值、风险可不可控”。评测体系越接近真实业务状态,自进化才越不容易被表面指标误导。
2.2、AgentOps:自进化必须先可观测
AgentOps 相关论文和工具强调,Agent 的自主性、非确定性和持续变化使传统软件观测不足以支撑生产治理。OpenAI Agents SDK、Langfuse、Phoenix、LangSmith、MLflow、OpenTelemetry GenAI 等工具都在强化 tracing、evaluation、monitoring、prompt/version management 和 production feedback。
传统软件 observability 关注日志、指标和调用链;AgentOps 在此基础上还要记录模型输入输出、工具调用、上下文片段、检索结果、guardrail 命中、人工接管、评测分数和版本信息。原因很简单:Agent 的失败往往不是一个异常栈能解释的,而是出现在“理解错意图、选错工具、传错参数、误读返回、错误重试、上下文污染、记忆误用”等连续决策链条中。
OpenTelemetry GenAI 语义约定把 LLM 调用、提示词、生成结果、token、模型参数等纳入标准化观测;OpenAI Agents SDK tracing、Langfuse、Phoenix、LangSmith、MLflow 等工具则从不同角度提供 trace、eval、dataset、prompt/version 和 production monitoring 能力。这些工具的共同趋势,是把 Agent 行为变成可查询、可比较、可复盘的数据。
如果说传统 CI/CD 保证代码变更可控,那么 AgentOps 要保证“模型行为变更”可控。它关心的不只是服务有没有挂,还包括:新 Prompt 是否降低了工具调用准确率;新模型是否更容易越权;新记忆策略是否引入污染;新 Skill 是否增加了成本;新版本是否只在某类用户请求上退化。
一个面向自进化的 AgentOps 流程通常包含以下闭环:
线上运行→ 采集 Trace / Metrics / Feedback→ 标注成功、失败、风险、成本→ 聚类失败模式→ 生成候选修复:Prompt / Tool Schema / Skill / Memory / Dataset→ 离线评测与回归→ 灰度发布→ 线上监控→ 反馈回流这里的关键不只是“把日志存下来”,而是把行为数据变成可操作资产。比如,一个失败 Trace 如果只是一段聊天记录,价值有限;如果它包含任务目标、工具调用参数、环境状态、错误类型、人工修复动作和最终评测结果,就可以同时用于故障复盘、回归测试、Skill 修订、DPO 偏好样本和安全样本构造。
AgentOps 也会改变团队协作方式。传统模型团队关注训练和推理;应用团队关注产品功能;运维团队关注稳定性。Agent 系统把这三者绑在一起:模型升级可能改变工具调用行为,工具 schema 修改可能改变模型决策,业务流程变化可能让旧记忆失效。因此,生产级 Agent 需要一套跨模型、应用、数据和运维的共同语言,而 trace / eval / version 就是这套语言的基础。
这也是 OpenTelemetry GenAI 语义约定这类工作的意义:当不同框架都能用相对统一的方式描述模型调用、工具调用和生成事件时,Agent 行为才更容易跨系统分析。否则,每个团队都会把 trace 记成一套私有格式,后续评测、迁移和训练数据构造都会变得困难。
综合判断:
没有 AgentOps,就谈不上可靠自进化。因为无法观测,就无法评测;无法评测,就无法判断优化是否有效;无法治理,就无法安全上线。
3、模型层的技术来源:后训练、偏好优化与 Agentic RL
模型层的技术来源包括 SFT、DPO、RLHF、RLAIF、RFT、Agentic RL、Adapter 和模型升级。它们解决的是如何把已经被 Harness 和 Trace-to-Dataset 证明有效的稳定经验固化到模型中。
3.1、SFT / DPO / RLAIF:把稳定经验变成参数能力
SFT 是最直接的固化方式,适合把稳定格式、领域表达、工具调用模板和标准操作范式写进模型。它的前提是样本已经足够干净、稳定、可验证,否则模型会把错误工具调用、过时业务规则和偶然成功路径一起学进去。
DPO 和 Preference Optimization 解决的是“多个可行行为中哪个更好”的问题。Agent 场景中的偏好不只是回答风格,还包括工具调用路径、重试策略、成本、安全边界和人工修复偏好。人工修复 Trace、专家标注、失败前后对比和安全审查,都可以成为偏好数据来源。
RLAIF / RFT 则进一步把自动评测器、规则校验器、环境状态和 AI judge 引入训练信号。它们的价值在于降低纯人工反馈成本,但也必须防止 judge 偏差和 reward hacking。只要评测目标偏离真实业务目标,模型就会优化错误代理指标。
3.2、Agentic RL:长期潜力大,但工程门槛高
Agent Lightning、ARPO、Agent-R1、verl-agent 等工作说明,Agentic RL 正在从概念走向框架化。其共同目标是让模型通过多轮交互、环境反馈和工具结果学习更好的行动策略。
这一路线之所以重要,是因为很多 Agent 任务天然不是单步预测,而是长程决策:先理解目标,再查资料,再调用工具,再根据返回修正计划,最后达成某个环境状态。传统 SFT 更擅长模仿“正确轨迹”,偏好优化更擅长学习“哪个回答更好”,而 Agentic RL 试图直接优化多轮行动策略。
Agent Lightning 的代表性意义在于尝试把任意 Agent 执行过程抽象成强化学习训练接口,使训练过程和具体 Agent Runtime 尽量解耦。ARPO、Agent-R1、verl-agent 等工作也说明,研究社区正在围绕长轨迹、工具调用、环境反馈和奖励建模建立新的训练范式。
近期关于 Agentic RL 的综述通常会强调三个难点:
- 环境:Agent 必须在可交互、可重置、可评价的环境中学习,否则很难稳定训练;
- 奖励:奖励要能反映最终目标,又不能被模型钻空子;
- 轨迹:长程任务中,成功或失败往往由多个步骤共同造成,credit assignment 很难。
这和传统单轮偏好优化差异很大。DPO/RLHF 常常比较两个回答哪个更好,而 Agentic RL 要处理的是“哪条行动路径更好”。路径中可能包含搜索、代码执行、数据库修改、浏览器操作、人工交互和多轮重试。每一步都有成本、风险和不确定性。
因此,Trace-to-RL 往往需要更丰富的数据结构:
| 数据元素 | 用途 |
|---|---|
| state / observation | 描述 Agent 当时看到的环境 |
| action / tool call | 记录模型采取了什么动作 |
| tool result | 判断动作是否产生有效反馈 |
| intermediate reward | 帮助长轨迹归因 |
| final reward / final state | 判断任务是否真正完成 |
| safety signal | 过滤越权、高风险或违规轨迹 |
| human correction | 构造偏好数据或修复轨迹 |
从工程成熟度看,可以把后训练和 RL 分成几个阶段:
| 阶段 | 适合做什么 | 前置条件 |
|---|---|---|
| SFT | 固化稳定格式、工具调用模板和领域表达 | 有高质量成功样本 |
| DPO / Preference Optimization | 学习更优策略选择、回答风格和人工偏好 | 有成对比较或人工修复数据 |
| RFT / RLHF / RLAIF | 优化复杂偏好和可验证结果 | 有可靠 reward 或 judge |
| Agentic RL | 优化多轮行动策略和长程任务 | 有可交互环境、可复现评测、安全门禁和回滚机制 |
这张表也解释了为什么多数企业不应该跳过前几层,直接做 Agentic RL。RL 需要稳定环境、可靠奖励、足够数据和强工程基础;如果 trace 不完整、评测不可信、工具权限不清晰,RL 只会把系统中的错误模式训练得更牢。
因此,模型层研究支撑的是“长期固化出口”这一判断,而不是“所有 Agent 问题都应训练化”。越接近 Agentic RL,越需要 Harness、Trace-to-Dataset、Eval、Sandbox 和 Deployment Policy 先成熟。
但这条路线仍存在明显挑战:
- 环境如何构造;
- 奖励如何定义;
- 长轨迹如何 credit assignment;
- 工具调用失败如何归因;
- 如何避免 reward hacking;
- 如何保证安全边界;
- 如何将训练与现有 Agent Runtime 解耦。
此外,Agentic RL 的结果必须和评测、观测、数据治理放在一起看。只要奖励函数和真实业务目标不一致,就可能出现 reward hacking;只要环境模拟不充分,就可能出现离线表现好、线上失败;只要安全约束没有进入训练和发布流程,就可能把高风险行为固化进策略。
因此,Agentic RL 更像长期研究方向,而不是多数企业当前的第一落地点。对大多数团队来说,更稳妥的路线是:先把 Trace 和 Evaluation 建好,再积累高质量工具调用与人工修复数据,最后在任务稳定、奖励清晰、回滚可靠的场景中小范围尝试后训练或 RL。
4、小结:前沿共识正在从“模型智能”转向“系统智能”
把上述线索合在一起,可以看到 Agent 自进化的研究重心正在发生变化:
- 从单次回答质量,转向多轮任务成功率;
- 从 Prompt 技巧,转向 Trace、Eval、Memory、Tool 和 Workflow 的系统工程;
- 从无约束自动学习,转向有门禁、有版本、有回滚的受控优化;
- 从只看模型参数,转向模型、工具、数据、流程和组织治理的组合能力。
这也解释了为什么技术大牛和前沿论文虽然关注点不同,却越来越接近同一个结论:Agent 的下一阶段竞争,不只是更强的 base model,而是谁能建立更可靠的行为数据闭环、更真实的评测环境、更可治理的工具与记忆系统,以及更安全的发布机制。
五、Harness 自进化:低成本、高适配的工程主线
如果说模型后训练解决的是“把经验写进模型参数”,那么 Harness 自进化解决的是“让模型外部的任务执行系统持续变好”。在真实业务中,后者往往更早见效,也更容易落地。
Harness 之所以值得单独成章,是因为它不是一个小技巧,而是 Agent 工程中的大容器。Prompt、Context、Tool Schema、Skill、Workflow、Memory、Reflection、Evaluation、Guardrail、Deployment Policy 都可以归入 Harness。它们共同决定模型如何理解任务、如何获得上下文、如何调用工具、如何复用经验、如何判断失败、如何修正行为以及如何安全上线。
1、为什么 Harness 自进化比后训练更适合作为起点
很多自进化叙事会天然走向后训练:收集数据、构造样本、训练模型、上线新版本。这条路线当然重要,但它有三个现实门槛。
第一,成本高。后训练需要数据清洗、标注、训练资源、评测、回归、安全审查和发布治理。对于多数企业应用来说,早期问题往往不是模型完全不会,而是工具描述不清、上下文混乱、流程不稳定、评测缺失、权限边界不清。直接训练模型,容易把工程问题误判成模型问题。
第二,迭代慢。Prompt、Tool Schema、Workflow、Memory 策略通常可以按天甚至按小时迭代;后训练往往按周或月推进。业务规则、工具接口和组织流程变化很快时,先做 Harness 调整比频繁训练模型更现实。
第三,迁移性弱。围绕小模型做昂贵后训练,可能很快被下一代大模型的一次能力升级覆盖。相比之下,高质量 Harness 更像可迁移资产:评测集、工具 schema、Workflow、权限策略、Trace 数据和 Memory 治理规则,通常可以随着模型升级继续复用。
因此,本文更推荐把 Harness 自进化作为第一主线:先用低成本工程闭环吸收经验,再把经过反复验证的稳定模式通过 Trace-to-Dataset 转成评测样本、偏好样本和训练样本,最后在必要时通过后训练完成能力固化。
2、Harness 子模块总览
Harness 可以理解为模型外部的“任务操作系统”。它不替代模型智能,而是组织和约束模型智能,让模型能在真实环境中稳定完成任务。
| Harness 子模块 | 自进化对象 | 主要输入信号 | 典型产物 |
|---|---|---|---|
| Prompt / Instruction | 任务目标、边界、格式、工具规则 | 失败样本、格式错误、人工修复、评测结果 | Prompt 版本、规则片段、任务模板 |
| Context | 检索内容、上下文窗口、状态摘要、证据顺序 | 检索失败、幻觉、上下文污染、引用错误 | Context policy、检索策略、摘要策略 |
| Tool Schema | 工具命名、参数约束、返回结构、副作用说明 | 工具调用失败、参数错误、权限异常 | 工具说明、参数校验、失败恢复规则 |
| Skill / Workflow | 高频成功路径、专家 SOP、工具组合流程 | 重复任务、稳定成功 Trace、人工 SOP | Skill 库、Workflow、可执行模板 |
| Memory | 长期事实、用户偏好、项目状态、历史经验 | 重复询问、错误记忆、过期记忆、用户修正 | Memory policy、长期记忆、项目状态库 |
| Reflection / Retry | 失败归因、修复动作、重试预算 | 测试失败、工具报错、环境反馈、人工评价 | 错误分类器、修复策略、Retry policy |
| Evaluation / Regression | 成功标准、回归样本、成本和安全指标 | 线上失败、模型升级、Prompt / Tool 变更 | Eval set、评分器、回归报告 |
| Guardrail / Permission | 安全边界、权限、合规、不可逆操作 | 越权尝试、高风险 Trace、合规事件 | 权限策略、安全门禁、升级规则 |
| Deployment Policy | 版本发布、灰度、监控、回滚 | 离线评测、线上指标、异常报警 | 发布策略、监控面板、回滚点 |
这个表的关键含义是:Prompt 和 Memory 不是 Harness 之外的独立路线,而是 Harness 内部的可进化部件。一个成熟 Agent 系统不应该只问“Prompt 怎么写得更好”,而应该问“Prompt、Context、Tool、Memory、Workflow、Eval 是否能在同一个版本体系和评测体系下共同变好”。
以一个企业客服 Agent 为例,Harness 各模块的进化可以这样落到同一条业务链路里:
| Harness 模块 | 初始问题 | 进化动作 | 可观察收益 |
|---|---|---|---|
| Prompt / Instruction | 回复口径不稳定,格式经常不符合工单要求 | 拆分任务说明、拒绝边界、输出格式和升级规则 | 格式错误下降,人工改写减少 |
| Context | 检索到过期政策,引用来源不清 | 增加文档 freshness、source score、政策版本过滤 | 错引用和过期引用减少 |
| Tool Schema | 查询订单时参数经常填错 | 为订单查询工具增加参数枚举、必填校验和错误恢复说明 | 工具调用失败率下降 |
| Skill / Workflow | 退款、换货、投诉升级流程反复重复 | 沉淀为可审计 Workflow,并加入状态检查点 | 高频任务响应更稳定 |
| Memory | 把一次性情绪表达记成长期偏好 | 增加写入门槛、ttl、用户可编辑和冲突处理 | 记忆污染减少 |
| Reflection / Retry | 工具失败后盲目重试 | 按错误码选择重试、换工具、转人工或终止 | 重试成本下降 |
| Evaluation / Regression | 新 Prompt 只看样例通过,线上仍退化 | 建立退款、投诉、隐私、安全、成本回归集 | 发布前能发现退化 |
| Guardrail / Permission | Agent 可能承诺超权限赔付 | 增加赔付额度、敏感场景和人工审批门禁 | 越权承诺减少 |
| Deployment Policy | Prompt 改动直接全量上线 | 小流量灰度,异常指标自动冻结版本 | 事故影响范围缩小 |
这个例子说明,Harness 自进化不是某个单点技巧,而是多个运行时模块围绕同一业务目标共同变好。
3、Prompt / Instruction:从提示词调参到指令版本治理
Prompt 是 Harness 中最容易被修改、也最容易被滥用的模块。它负责表达任务目标、角色边界、输出契约、工具使用原则和少量关键策略。Prompt 自进化不是无限追加规则,而是根据失败样本和评测结果,让指令变得更短、更准、更可测。
自进化对象:
- 任务说明是否清晰;
- 输出格式是否稳定;
- 拒绝边界是否明确;
- 工具调用规则是否可执行;
- 多步骤任务是否有必要的检查点;
- 对不同任务类型是否应该分层 Prompt,而不是一个大 Prompt 包打天下。
自进化动作:
- 从失败 Trace 中抽取“遗漏规则”,生成候选 Prompt patch;
- 从人工修复中提炼更明确的输出契约;
- 把臃肿 Prompt 拆成 system / developer / task / tool-use / output-format 多层结构;
- 对同一任务生成多个 Prompt 候选,跑回归集和成本评测;
- 把稳定、重复、可执行的步骤迁出 Prompt,沉淀为 Skill 或 Workflow。
产物与门禁:
Prompt 变更应该形成版本、变更说明、适用范围、关联失败样本和回归结果。一个 Prompt patch 只有在核心任务集、历史失败集、安全集和成本集上都不退化,才适合进入灰度。Prompt 自进化最常见的风险是过拟合局部样本、规则膨胀、互相矛盾和 token 成本上升。
4、Context:让模型看到正确、足够、可追溯的信息
Context 决定模型每次任务中看到什么、不看什么、以什么顺序看。很多 Agent 失败不是因为模型不会推理,而是因为上下文里缺了关键信息、混入了过期信息,或者重要证据被噪声淹没。
自进化对象:
- 检索 query 如何生成;
- 检索结果如何排序;
- 长上下文如何裁剪;
- 多轮任务状态如何摘要;
- 哪些信息应该进入短期上下文,哪些应该进入 Memory;
- 证据来源、时间、可信度和冲突关系如何呈现给模型。
自进化动作:
- 根据失败 Trace 判断是否因为缺证据、错证据、旧证据或噪声过多导致失败;
- 调整检索策略、top-k、rerank、过滤规则和上下文排序;
- 对长任务生成状态摘要,并记录摘要来源;
- 引入 source score、freshness score、permission label;
- 对带上下文和不带上下文的结果做对照评测。
产物与门禁:
Context 自进化的产物不是单个 Prompt,而是 context policy、retrieval policy、summary policy 和 evidence policy。它的门禁重点是:幻觉是否下降、引用是否可追溯、上下文长度是否可控、旧信息污染是否减少。风险是过度裁剪导致关键信息丢失,或过度检索导致模型被噪声拖偏。
5、Tool Schema:把工具接口变成稳定可控的行动边界
工具是 Agent 进入真实世界的接口。只要 Agent 能调用数据库、代码执行器、浏览器、企业 API 或文件系统,它就不再只是生成文本,而是在改变外部状态。Tool Schema 自进化的目标,是让模型更稳定地选择工具、生成参数、理解返回结果,并在失败时可恢复。
自进化对象:
- 工具命名是否明确;
- 参数 schema 是否充分约束;
- required / optional 参数是否合理;
- 返回结果是否结构化;
- 工具描述是否说明“何时调用”和“何时不要调用”;
- 是否标注副作用、幂等性、权限、成本和风险等级;
- 工具失败是否有可恢复路径。
自进化动作:
- 从工具调用失败 Trace 中统计高频错误参数;
- 自动生成 schema patch,例如枚举值、范围限制、格式校验、默认值说明;
- 把自然语言返回改成结构化返回;
- 为高风险工具增加确认步骤、dry-run、preview 或人工审批;
- 为常见失败码绑定恢复策略。
产物与门禁:
Tool Schema 变更必须跑工具调用回归集,关注参数正确率、工具选择准确率、失败恢复率、越权率和成本。风险是工具描述过长导致选择困难,schema 过严导致模型无法处理边界情况,schema 过松导致越权或错误写入。
6、Skill / Workflow:把成功路径沉淀为可复用流程
Skill 和 Workflow 负责把高频、稳定、可审计的成功路径变成可复用资产。它们的价值在于减少模型自由探索,把专家经验、成功 Trace 和组织流程沉淀成可测试、可版本化、可回滚的工程模块。
自进化对象:
- 哪些任务路径重复出现;
- 哪些成功 Trace 具有可复用性;
- 哪些人工 SOP 可以转成可执行流程;
- Workflow 中哪些步骤应该固定,哪些步骤仍交给模型判断;
- Skill 的触发条件、输入输出、权限和适用范围是否清晰。
自进化动作:
- 从多次成功 Trace 中抽取共同步骤,生成候选 Skill;
- 将人工修复流程转成 Workflow;
- 为 Skill 添加输入输出契约、测试用例、权限标签和版本号;
- 对 Skill 进行聚类、合并、弃用和冲突检测;
- 当某个 Skill 失败率上升时,触发修订或回滚。
产物与门禁:
Skill / Workflow 的产物包括 SOP、工具调用模板、状态机、脚本、检查清单、任务模板。进入生产前应通过单元测试、端到端测试、权限审查和灰度。风险是从单次偶然成功中抽取出错误 Skill,或者 Skill 库膨胀后检索错误、版本漂移、互相冲突。
7、Memory:从“记得更多”转向“记得更准”
Memory 负责保存跨会话、跨任务仍然有价值的信息,包括长期事实、用户偏好、项目状态、历史决策和可复用经验。Memory 自进化的关键不是“记得更多”,而是“知道什么值得记、什么时候该忘、在什么场景下该用”。
自进化对象:
- 哪些信息可以写入长期记忆;
- 哪些信息只属于当前 session;
- 记忆的来源、时间、可信度和生命周期;
- 新旧记忆冲突时如何处理;
- 用户是否可以查看、编辑、删除记忆;
- 记忆是否会污染上下文或泄露隐私。
自进化动作:
- 从重复询问和人工纠正中识别稳定偏好;
- 为记忆增加 source、timestamp、confidence、scope、ttl;
- 对相似记忆做合并、降权、过期和冲突标注;
- 根据任务类型选择 project memory、user memory 或 session memory;
- 构造带记忆 / 不带记忆的对照评测,判断记忆是否真的提升任务。
产物与门禁:
Memory 自进化的产物是 memory policy、write policy、retrieval policy、forgetting policy 和 audit log。风险是错误记忆长期放大、过期事实误用、私人信息泄露、相似任务被旧经验误导。成熟系统应避免“所有对话自动写入向量库”这种粗暴做法。
8、Reflection / Retry:失败后的归因、修复与重试控制
Reflection 和 Retry 负责失败后的修复。它们让 Agent 在遇到测试失败、工具错误、环境反馈或人工评价后,不是盲目重试,而是理解失败类型、选择修复动作、控制重试预算。
自进化对象:
- 失败类型如何分类;
- 哪些失败适合重试,哪些必须转人工;
- 反思是否有外部证据支撑;
- 重试预算如何限制;
- 修复动作是否需要进入 Skill、Prompt 或 Dataset。
自进化动作:
- 从失败 Trace 中抽取错误类型,例如参数错误、权限错误、上下文缺失、工具返回误读、计划错误;
- 为不同错误类型绑定修复策略;
- 将反思模板结构化为“失败步骤、证据、原因、修复动作、验证结果”;
- 根据历史重试效果调整 retry policy;
- 把高价值修复 Trace 送入第六章的 Trace-to-Dataset 管线。
产物与门禁:
Reflection 的产物不应该只是自然语言自我解释,而应该是结构化 failure analysis。门禁重点是修复后是否通过外部验证。风险是模型在没有证据时生成看似合理但实际错误的归因,并在多轮反思中强化错误方向。
9、Evaluation / Regression:用评测判断进化还是退化
Evaluation 是 Harness 自进化的闸门。没有评测,系统无法知道修改是进化还是退化。Evaluation 自进化的目标,是让评测集持续覆盖真实任务、历史失败、安全边界、成本约束和模型升级风险。
自进化对象:
- 核心任务集是否覆盖真实业务;
- 失败样本是否及时进入回归集;
- 评测指标是否只看文本,还是看最终状态;
- LLM-as-judge 是否需要校准;
- 是否覆盖成本、延迟、安全、权限和多轮稳定性。
自进化动作:
- 将线上失败 Trace 自动候选为回归样本;
- 将人工修复样本转成 gold case 或 preference case;
- 引入状态型评测,例如数据库状态、测试结果、文件变更、业务流程状态;
- 对 judge 结果做人工抽检和一致性校准;
- 为每次 Harness 变更生成回归报告。
产物与门禁:
Evaluation 的产物包括 eval set、regression set、safety set、cost set、judge rubric 和 report。风险是评测指标与真实业务目标不一致,导致系统优化错误目标;或者评测集长期不更新,无法覆盖新问题。
10、Guardrail / Permission:安全边界与权限策略的动态治理
Guardrail 和 Permission 负责控制高风险行为。它们不是简单拒绝一切危险操作,而是根据风险等级、权限范围、工具副作用和业务场景,决定允许、拒绝、降级、转人工还是要求确认。
自进化对象:
- 哪些输入、工具、参数和操作属于高风险;
- 哪些行为需要人工审批;
- 哪些工具只能 dry-run,不能直接执行;
- 哪些数据需要脱敏;
- 哪些失败或异常需要升级处理。
自进化动作:
- 从高风险 Trace 中提取安全规则;
- 为工具增加 risk level、permission scope、side effect label;
- 根据误拒绝和漏拦截样本调整 guardrail;
- 把安全事件转成 safety regression;
- 对高风险操作引入 confirmation、preview、rollback plan。
产物与门禁:
Guardrail 的产物包括拒绝策略、权限矩阵、风险分级、安全回归集、人工审批策略。风险是过度拦截导致可用性下降,或拦截不足导致越权、泄露、错误写入和不可逆操作。
11、Deployment Policy:候选优化如何灰度、监控与回滚
Deployment Policy 决定 Harness 变更如何进入生产。自进化系统可以自动生成候选,但不能自动无门禁上线。发布策略本身也需要根据历史事故、评测结果和线上指标持续优化。
自进化对象:
- 哪些变更可以自动灰度;
- 哪些变更必须人工审核;
- 灰度比例如何设定;
- 监控哪些成功率、成本、延迟、安全指标;
- 什么时候触发回滚。
自进化动作:
- 根据变更类型设置风险等级;
- Prompt、Tool Schema、Memory、Skill、模型版本分开管理;
- 使用离线评测 + 小流量灰度 + 异常回滚;
- 线上指标异常时自动冻结候选版本;
- 将回滚原因写回 Trace-to-Dataset。
产物与门禁:
Deployment 的产物包括版本库、发布策略、灰度规则、监控面板、回滚点和变更审计。风险是流程过重拖慢低风险优化,或流程过轻让自动优化放大错误。
12、Harness 内部协同:不是各模块各改各的
Harness 子模块不能孤立优化。Prompt 改动可能影响工具调用,Memory 策略可能影响 Context,Tool Schema 变化可能要求更新 Skill,Guardrail 加严可能改变评测结果。因此 Harness 自进化需要统一的版本体系和回归体系。
更合理的协同方式是:
- Prompt 保留任务目标、边界和输出契约;
- Context 提供当前任务需要的事实和证据;
- Tool Schema 定义可操作接口和权限;
- Skill / Workflow 承接稳定流程;
- Memory 保存长期事实和偏好;
- Reflection / Retry 处理失败恢复;
- Evaluation / Guardrail / Deployment 负责判断、保护和发布。
这样一来,Harness 就像一个可治理的软件系统:Prompt 不再是唯一杠杆,Memory 不再是无限写入的向量库,Workflow 不再是僵硬脚本,Reflection 也不再是没有依据的自我解释。它们共同构成一个可以版本化、可观测、可评测、可回滚的自进化外壳。
13、Harness 与训练的关系:先验证,再固化
强调 Harness 并不意味着否定训练。相反,Harness 是训练前最重要的筛选器。
在工程上,可以把 Harness 层的进入条件和退出条件说得更明确:
| 判断问题 | 进入 Harness 层的条件 | 从 Harness 进入 Trace-to-Dataset 的条件 |
|---|---|---|
| 问题性质 | 问题主要来自指令、上下文、工具、流程、记忆、评测或权限 | 同类问题反复出现,且 Harness 修复已经多次有效 |
| 评测基础 | 至少能构造小规模回归样本 | 修复前后有可复盘 Trace 和评测结果 |
| 变更成本 | Prompt、Tool Schema、Workflow、Memory policy 可快速调整 | 修复模式已经稳定,不只是一次性补丁 |
| 风险控制 | 可以灰度、回滚、人工接管 | 样本不含明显隐私、越权和脏标签风险 |
换句话说,Harness 是第一修复面;Trace-to-Dataset 是经验沉淀面。一个问题如果还没有被 Harness 证明“确实能稳定修复”,就不应该急着进入训练样本池。
一个行为模式是否值得训练进模型,至少要经过四个问题:
- 它是否在真实任务中反复出现;
- 它是否已经被 Harness 修复或增强过;
- 它是否通过了稳定评测和回归测试;
- 它是否足够通用,值得从外部规则固化到模型或 Adapter。
如果答案是否定的,就不应该急着训练。很多问题停留在 Harness 层反而更好:业务规则变化快,放在 Workflow 或 Tool Schema 里更容易改;用户偏好差异大,放在 Memory policy 里更可控;安全策略需要审计,放在 Guardrail 和 Permission 中比写进模型更透明。
训练更适合作为终点:当某些工具调用模式、领域表达、流程策略和失败修复方法已经被 Harness 反复证明稳定有效,再把它们转成高质量 Dataset,通过 SFT、DPO、RLAIF 或 Agentic RL 固化进模型。即便训练完成,新模型仍然要回到 Harness 中接受评测、灰度、监控和回滚。
14、Harness 自进化的效果预估
Harness 的收益通常不是让模型“突然变聪明”,而是让系统更稳定、更便宜、更可控。它主要体现在六类指标上:
| 优化方向 | 可能改善的指标 | 收益弹性 | 前提条件 |
|---|---|---|---|
| Prompt / Instruction | 格式稳定性、边界遵守、简单任务成功率 | 中等,见效快 | 有回归集,Prompt 变更可版本化 |
| Tool Schema / Guardrail | 工具调用准确率、越权率、失败可恢复性 | 明显改善,常见于工具密集型 Agent | 工具返回结构化,权限边界清晰 |
| Skill / Workflow | 高频任务成功率、执行成本、人工接管率 | 高,依赖任务重复度 | 任务路径重复,成功标准明确 |
| Memory 治理 | 长期任务连续性、个性化体验、重复提问率 | 中到高,依赖记忆质量 | 有写入门槛、来源追踪和遗忘机制 |
| Reflection / Retry | 可验证任务修复率、重试成功率 | 中等,依赖外部验证 | 有测试、规则校验器或环境反馈 |
| Evaluation / Deployment | 退化发现率、灰度安全性、回滚速度 | 间接放大所有优化收益 | 评测指标贴近真实业务目标 |
这里的收益判断只能作为方向性参考,不能当成通用 benchmark 结论。Harness 自进化的真实收益取决于任务重复度、基础模型能力、工具稳定性、Trace 完整度、评测可靠性和发布治理。越是工具密集、流程稳定、成功标准明确的场景,Harness 的性价比越高;越是一次性、强主观、难评测、高风险不可回滚的场景,Harness 自进化越需要谨慎。
一句话总结:Harness 自进化是 Agent 自进化最现实的第一主线:它先把 Prompt、Context、Tool、Skill、Memory、Reflection、Eval、Guardrail 和 Deployment 变成可治理资产,再通过 Trace-to-Dataset 把稳定有效的经验转成模型升级燃料。
六、Trace-to-Dataset:把 Harness 经验转化为模型升级燃料
这里不再把它称为“数据层自进化”,因为数据本身不会自我进化。更准确的说法是:Trace-to-Dataset 负责把 Harness 层自进化过程中产生的行为数据、成功路径、失败样本、人工修复和评测结果,转化为可复盘、可评测、可训练的数据样本。
1、为什么这一层不能简单叫“数据层”
数据本身不会自动变好。真正发生变化的是:系统从行为轨迹中识别问题、筛选经验、构造评测、生成样本、隔离风险,并把这些资产送回 Harness 或模型层。因此,Trace-to-Dataset 更像一个“经验转化工厂”,而不是一个静态数据仓库。
这一层处在三层架构的中间位置。向前看,它回答 Harness 是否真的变好了:哪个 Prompt patch 有效,哪个 Tool Schema 降低了参数错误,哪个 Memory 策略引入污染,哪个 Workflow 降低了人工接管。向后看,它回答哪些经验值得训练:哪些成功路径可以变成 SFT 样本,哪些人工修复可以变成偏好对,哪些高风险案例应该进入安全样本,哪些失败案例应该进入回归集。
2、Trace-to-Dataset 模块总览
Trace-to-Dataset 不是“把日志扔进数据湖”。它至少包含六个子模块:Trace 采集、评测解释、样本构造、质量门禁、数据治理、回流决策。
| 子模块 | 处理对象 | 主要输入信号 | 典型产物 |
|---|---|---|---|
| Trace Capture | 用户请求、上下文、工具调用、状态变化、人工接管 | 运行时日志、工具返回、异常、成本、延迟 | 结构化 Trace、span、事件流 |
| Evaluation Labeling | 最终状态、过程步骤、业务规则、安全结果 | 测试结果、judge、人工审核、环境反馈 | 成功标签、失败类型、质量分 |
| Sample Construction | 成功轨迹、失败轨迹、修复轨迹、高风险轨迹 | Trace、人工修复、评测结果 | SFT 样本、偏好对、回归样本、安全样本 |
| Quality Gate | 样本真实性、一致性、可训练性、安全性 | 去重、脱敏、状态校验、人工抽检 | 入库规则、质量评分、隔离池 |
| Dataset Governance | 版本、来源、适用范围、过期策略 | 模型版本、Harness 版本、业务版本 | 数据集版本、数据卡、审计记录 |
| Feedback Routing | 样本应该回到哪里 | 失败类型、收益预估、风险等级 | Prompt patch、Skill 候选、训练任务、回归任务 |
这个表的关键含义是:Trace-to-Dataset 不等于训练数据准备。它同时服务 Harness 优化、评测体系、模型训练和治理审计。很多 Trace 最终不应该进入训练,而应该回到 Prompt、Tool Schema、Memory、Workflow 或 Guardrail。
3、Trace Capture:先把行为过程记录完整
Trace 是自进化闭环的事实来源。没有结构化 Trace,团队只能靠主观复盘判断 Agent 为什么失败;有了结构化 Trace,失败可以被定位、聚类、重放和转化。
转化对象:
- 用户输入、系统指令、开发者指令和任务模板;
- 检索 query、上下文片段、证据来源和上下文顺序;
- 工具选择、工具参数、工具返回、错误码和副作用;
- 计划步骤、中间状态、反思内容、重试路径;
- 人工接管、人工修复、最终输出和最终状态;
- 成本、延迟、token、模型版本、Harness 版本、安全事件。
转化动作:
- 使用统一 trace id 串联用户请求、模型调用、工具调用和最终状态;
- 将自然语言过程拆成 event / span / state transition;
- 为每次 Prompt、Memory、Tool、Skill、模型版本记录版本号;
- 对高风险工具记录 dry-run、confirmation、rollback plan;
- 把人工接管前后的差异保存为修复轨迹。
产物与门禁:
Trace Capture 的产物是结构化行为轨迹。它的门禁重点是完整性、可重放性、可追责性和隐私边界。风险是只记录最终回答,缺少中间步骤;或者记录过多敏感信息,导致数据集治理成本和合规风险上升。
一个简化后的高价值 Trace 可以长这样:
{ "trace_id": "trace_2026_0615_00042", "task_type": "code_fix", "user_input": "修复订单接口在空 discountCode 下的测试失败", "harness_version": { "prompt": "code-agent-prompt@1.8.2", "tool_schema": "repo-tools@0.6.4", "workflow": "fix-test-runner@0.3.1", "model": "model-x@2026-06" }, "context_refs": [ {"file": "src/order/service.ts", "reason": "包含失败接口逻辑"}, {"file": "tests/order/service.test.ts", "reason": "失败测试来源"} ], "tool_calls": [ { "name": "run_tests", "arguments": {"pattern": "tests/order/service.test.ts"}, "result": "failed: discountCode null should not throw", "error_type": "test_failure" }, { "name": "apply_patch", "arguments": {"files": ["src/order/service.ts"]}, "result": "patch_applied" } ], "final_state": { "tests_passed": true, "changed_files": ["src/order/service.ts"], "manual_review_required": false }, "eval": { "outcome": "success", "confidence": 0.92, "cost_level": "low", "risk_label": "low" }, "dataset_route": ["regression_positive", "sft_candidate", "workflow_candidate"]}这个样例的重点不是字段越多越好,而是它能回答四个问题:失败发生在哪里,修复为什么有效,是否真的通过外部验证,以及这条经验应该回到 Harness、评测集还是训练候选池。
4、Evaluation Labeling:先判断结果,再谈样本
Trace 只有被评测解释后才有价值。一个看起来流畅的回答可能没有完成任务,一个失败回答也可能包含有价值的中间修复动作。Evaluation Labeling 的目标,是给 Trace 加上可信的成功标准和失败类型。
转化对象:
- 最终状态是否正确;
- 工具调用是否符合参数约束和权限边界;
- 输出格式是否满足契约;
- 成本和延迟是否在预算内;
- 是否触发安全、隐私或合规问题;
- 失败是由模型推理、上下文缺失、工具错误、权限限制还是评测器误判导致。
转化动作:
- 用代码测试、数据库状态、文件变更、浏览器状态等外部信号校验结果;
- 对无法自动判断的任务引入人工抽检或 LLM-as-judge;
- 将失败类型结构化,例如 context missing、wrong tool、bad argument、stale memory、unsafe action;
- 为同一 Trace 记录 outcome label、failure taxonomy、confidence score;
- 把高价值失败自动候选为回归样本。
产物与门禁:
这一模块的产物是带标签 Trace 和评测结果。门禁重点是评测是否贴近真实业务目标。风险是 judge 偏差、成功标准过窄、只看文本质量不看最终状态,导致后续数据样本优化了错误目标。
5、Sample Construction:不同轨迹进入不同样本池
不是所有 Trace 都应该训练模型。Sample Construction 要做的是“分流”:把不同类型的轨迹转成不同资产。
| Trace 类型 | 可构造样本 | 主要用途 | 不适合直接做什么 |
|---|---|---|---|
| 成功 Trace | SFT、Tool-use、Workflow、Eval positive | 学习稳定成功路径,沉淀 Skill | 不能在最终状态未验证时当正样本 |
| 失败 Trace | Regression、Failure Analysis、Reflection | 防止同类失败复发,训练归因能力 | 不能简单丢弃,也不能当负样本粗暴训练 |
| 人工修复 Trace | Preference Pair、DPO、修复样本 | 学习更优策略、修复路径和偏好 | 不能丢掉原错误上下文 |
| 高风险 Trace | Safety、Refusal、Escalation | 学习权限、安全和升级边界 | 不能混入普通成功样本 |
| 低价值 Trace | 统计样本、成本分析样本 | 观察分布、估算收益 | 不适合进入训练主集 |
转化对象:
- 成功路径中的稳定步骤;
- 失败路径中的关键错误点;
- 人工修复前后的行为差异;
- 高风险任务中的拒绝、确认、转人工和回滚动作;
- 可被回放的业务状态和外部环境。
转化动作:
- 将成功 Trace 压缩成 instruction / input / reasoning hint / action / output / final state;
- 将人工修复转成 chosen / rejected 偏好对;
- 将失败 Trace 转成 regression case 和 failure analysis;
- 将安全事件转成 refusal、escalation、permission check 样本;
- 为样本打上 domain、task type、risk level、model version、source trace id。
产物与门禁:
Sample Construction 的产物不是一个总数据集,而是多个用途明确的样本池。门禁重点是样本用途不能混淆:SFT 正样本、偏好样本、回归样本、安全样本、评测样本应该分库治理,否则很容易把错误目标写进训练。
6、Quality Gate:原始 Trace 不能直接训练
Trace-to-Dataset 最怕“日志很多,样本很脏”。埋点不完整、字段不结构化、成功标准不明确、人工标注不一致,都会让 Trace 变成昂贵噪声。更严重的是,如果错误 Trace 被误标为成功样本,后续 Skill 沉淀和模型训练会把错误放大。
转化对象:
- 样本是否真实来自可复盘 Trace;
- 最终状态是否经过外部校验;
- 标签是否一致;
- 是否包含隐私、密钥、客户数据或内部敏感信息;
- 是否重复、过期、低质量或只适用于单个用户;
- 是否和当前工具、业务规则、模型版本仍然匹配。
转化动作:
- 对样本做脱敏、去重、格式校验、状态校验和一致性检查;
- 对高价值样本做人工抽检;
- 对高风险样本进入隔离池,不进入普通训练集;
- 用质量分控制样本进入 eval、SFT、DPO 或 safety 数据集;
- 对过期业务规则和旧工具版本样本设置 ttl 或弃用标签。
产物与门禁:
Quality Gate 的产物是可用样本、待审样本、隔离样本和废弃样本。门禁重点是宁可少一点,也不要把脏样本送进模型训练。风险是过度自动化筛选导致重要长尾样本被丢掉,或人工审核标准不一致造成数据偏差。
7、Dataset Governance:样本也要版本化、可追溯、可回滚
当样本进入训练、评测或回归体系后,它就不再是一次性日志,而是影响系统长期行为的工程资产。Dataset Governance 负责让这些资产可审计、可维护、可迁移。
转化对象:
- 数据集版本与变更记录;
- 样本来源、适用范围和质量分;
- 关联的 Prompt、Tool Schema、Memory、Skill 和模型版本;
- 数据过期、撤回、删除和合规要求;
- 训练集、验证集、测试集和安全集之间的隔离。
转化动作:
- 为每个样本保存 source trace id、created_at、owner、license、risk label;
- 为每个数据集生成数据卡,说明来源、覆盖范围、已知偏差和禁用场景;
- 建立 train / eval / safety / regression 的隔离规则;
- 在模型升级或工具变更后重新校验老样本;
- 当线上事故来自某批数据时,可以定位、移除、重训或回滚。
产物与门禁:
Dataset Governance 的产物是数据集版本、样本血缘、数据卡和审计记录。风险是数据集长期堆积后没人知道哪些样本还能用,最终让模型训练和评测都失去可信度。
8、Feedback Routing:决定经验回到 Harness 还是进入训练
Trace-to-Dataset 的最后一步不是“默认训练”,而是判断经验应该回到哪里。很多问题在 Harness 层解决更便宜、更透明、更容易回滚;只有稳定、通用、经过验证的经验,才值得进入模型层。
转化对象:
- 失败类型和修复路径;
- 样本出现频率、业务价值和风险等级;
- Harness 修复成本与训练成本;
- 经验是否通用,是否跨用户、跨任务、跨模型稳定;
- 是否已经有可靠评测覆盖。
转化动作:
- 工具参数错误优先回到 Tool Schema;
- 上下文缺失优先回到 Context policy 或检索策略;
- 高频稳定流程优先沉淀为 Skill / Workflow;
- 记忆污染优先回到 Memory policy;
- 权限和安全问题优先回到 Guardrail;
- 只有跨场景稳定的格式、表达、策略偏好和工具模式,才进入模型训练候选。
产物与门禁:
Feedback Routing 的产物是优化任务队列:Prompt patch、Tool Schema patch、Skill 候选、Memory 修订、Eval case、Safety case、Training candidate。门禁重点是避免“所有问题都训练化”,也避免“所有经验都停留在工程补丁里”。
9、效果预估:收益来自确定性,而不是直接变聪明
Trace-to-Dataset 本身不一定直接提升单次任务成功率,但它会显著提高所有后续优化的确定性。
这一层的进入条件和退出条件也要分清:
| 判断问题 | 进入 Trace-to-Dataset 的条件 | 从 Trace-to-Dataset 进入模型层的条件 |
|---|---|---|
| Trace 完整性 | 至少包含输入、上下文、工具调用、最终状态、评测结果和版本信息 | 样本可重放、可解释、可追溯 |
| 标签可信度 | 成功、失败、人工修复、高风险等标签有明确来源 | 标签经过状态校验、规则校验或人工抽检 |
| 样本用途 | 能明确进入 eval、regression、SFT、DPO、safety 或 analysis 哪一类样本池 | 训练集、评测集、安全集相互隔离 |
| 治理要求 | 已完成脱敏、去重、风险隔离和质量评分 | 数据集有版本、数据卡、适用范围和回滚方案 |
如果这些条件不满足,Trace 更适合先停留在复盘、评测和 Harness 修复阶段,而不是进入模型训练。
| 优化方向 | 可能改善的指标 | 收益弹性 | 前提条件 |
|---|---|---|---|
| Trace 完整性 | 失败定位率、复盘效率、人工排障时间 | 显著改善,尤其是多工具 Agent | 运行时埋点统一,版本信息完整 |
| 评测构造 | 回归覆盖率、退化发现率 | 高,取决于评测贴近真实状态的程度 | 评测能校验最终状态 |
| 样本分流 | SFT / DPO 样本可用率、训练噪声下降 | 中到高,取决于样本治理成熟度 | 成功、失败、修复、安全样本分池 |
| 质量门禁 | 错误样本污染率、隐私风险 | 明显下降 | 有脱敏、抽检、隔离和质量评分 |
| 回流决策 | Harness 修复效率、训练投入产出比 | 间接提升 | 能区分工程问题和模型问题 |
这些收益依赖两个前提:第一,Trace 必须真实反映任务过程;第二,Evaluation 必须贴近业务成功标准。否则 Trace-to-Dataset 只会把噪声组织得更整齐,并不会让系统更强。
一句话总结:Trace-to-Dataset 是自进化闭环的样本转化层:它不直接让模型变强,但决定了后续 Harness 优化和模型训练是否有证据、有燃料、有边界。
七、模型层自进化:后训练、偏好优化与 Agentic RL
模型层解决的是“哪些稳定经验值得写进模型或 Adapter”。它是自进化闭环的终点之一,但不适合作为起点。原因很现实:后训练成本高、数据质量门槛高、回归风险高,而且小模型后训练带来的收益,可能很快被更强基础模型的一次升级超越。
1、模型层应该固化什么,不应该固化什么
模型层适合固化“稳定、通用、可评测、跨场景复用”的经验,而不适合承载所有业务变化。它的价值不是替代 Harness,而是把已经被 Harness 和 Trace-to-Dataset 反复验证的能力压缩进模型参数或轻量 Adapter,从而降低 Prompt 长度、减少多轮重试、提升基础行为稳定性。
| 适合进入模型层 | 更适合留在 Harness 层 |
|---|---|
| 稳定格式、领域表达、术语规范 | 变化快的业务规则 |
| 高频工具调用模式和参数习惯 | 权限、审批、审计、回滚策略 |
| 通用安全偏好和拒绝风格 | 强个性化用户偏好 |
| 可验证的修复策略和过程偏好 | 少量样本、长尾例外 |
| 跨任务复用的规划习惯 | 与具体系统版本强绑定的流程 |
这个边界很重要。训练一旦发生,能力就变得更难解释、更难局部回滚;Harness 虽然外部化,但更透明、更容易灰度、更容易随业务变化调整。
2、模型层路线总览
模型层不是只有“训练模型”一个动作。不同技术路线解决的问题不同,风险和投入也不同。
| 模型层路线 | 固化对象 | 主要输入 | 典型产物 |
|---|---|---|---|
| SFT | 稳定格式、领域表达、标准操作范式、工具调用模板 | 高质量成功样本 | 微调模型、领域模型、工具使用模型 |
| DPO / Preference Optimization | 策略偏好、回答偏好、修复偏好、安全偏好 | chosen / rejected 偏好对 | 偏好对齐模型 |
| RLAIF / RFT | 可验证结果、复杂偏好、过程奖励 | 自动评测器、judge、环境反馈 | 强化优化模型 |
| Agentic RL | 多轮计划、工具使用、环境交互策略 | 可重置环境、奖励函数、长轨迹 | 长程行动策略 |
| Adapter / LoRA | 低成本领域适配、可插拔能力 | 领域样本、任务样本 | Adapter、LoRA 权重 |
| Distillation | 大模型经验向小模型迁移 | 大模型轨迹、教师输出、偏好数据 | 小模型、专用模型 |
更稳妥的工程顺序通常是:先用 SFT 固化格式和领域表达,再用 DPO / RLAIF 调整偏好与策略,最后在环境可靠、奖励可信的场景尝试 Agentic RL。Adapter、LoRA 和蒸馏可以作为成本优化手段,而不是天然更高级的路线。
几个典型训练决策可以帮助理解这张表:
| 业务现象 | 更适合的处理方式 | 原因 |
|---|---|---|
| 报告生成 Agent 总是漏掉固定 JSON 字段,且字段规范长期稳定 | SFT 或 Adapter | 这是稳定格式能力,样本容易构造,评测也清楚 |
| 客服 Agent 的回答能解决问题,但人工经常改成更安全、更克制的表达 | DPO / Preference Optimization | 问题是“哪个回答更好”,适合用 chosen / rejected 学偏好 |
| 代码 Agent 能修简单 bug,但在多轮测试失败后不会选择正确重试策略 | 先 Harness Retry policy,再考虑 RFT / Agentic RL | 需要先有测试环境、错误分类和可验证奖励 |
| 业务审批规则每周变化,且不同部门规则不同 | 留在 Workflow / Tool Schema / Guardrail | 变化快、权限敏感,不适合写进模型 |
| 小模型用于高频工单分类,任务边界窄且标签稳定 | Distillation 或轻量微调 | 成本和延迟收益明确,失败风险可控 |
| Agent 误用过期知识导致错答 | 优先修 Context / RAG / Memory policy | 问题来自信息源和时效,不是模型参数能力不足 |
这些案例说明:模型层路线不是按“技术先进程度”选择,而是按问题性质、样本质量、评测可靠性和回滚成本选择。
3、SFT:把稳定成功路径写成基础能力
SFT 适合把“正确示范”写进模型,尤其适合格式、术语、领域表达、固定工具调用模板和标准操作范式。它解决的问题通常是:模型每次都需要被长 Prompt 反复提醒,或者在高频任务中总是漏掉某些稳定步骤。
固化对象:
- 稳定输出格式,例如 JSON、报告模板、表格结构;
- 领域术语、行业表达、组织内部规范;
- 高频工具调用链路和参数构造习惯;
- 标准作业流程中的固定步骤;
- 经 Trace-to-Dataset 验证过的成功 Trace。
训练动作:
- 从成功 Trace 中抽取 instruction / input / action / output / final state;
- 过滤掉只对单个用户、单个版本、单个工具有效的样本;
- 将长 Prompt 中反复出现的稳定规则转成训练样本;
- 保留足够通用任务样本,避免领域微调损伤基础能力;
- 用回归集比较训练前后的格式稳定性、工具调用准确率和成本。
产物与门禁:
SFT 的产物是微调模型、领域模型或工具使用模型。门禁重点是训练样本必须真实成功、最终状态可验证、覆盖足够多任务形态。风险是过拟合、灾难性遗忘、把错误流程固化进模型,或者让模型在新基础模型升级后变成维护负担。
4、DPO / Preference Optimization:把“更好的选择”写进策略偏好
很多 Agent 问题不是“不会做”,而是“多个做法里选了不够好的那个”。DPO 和偏好优化更适合处理这类问题:选择更安全的回答、更低成本的工具路径、更少副作用的操作、更符合业务目标的修复方案。
固化对象:
- 人工修复前后的优劣差异;
- 两条工具路径之间的成本、风险和成功率差异;
- 不同回答风格、拒绝方式、澄清方式的偏好;
- 多轮修复中更可靠的策略选择;
- 安全、合规、品牌语气等相对稳定的偏好。
训练动作:
- 从人工修复 Trace 中构造 chosen / rejected;
- 将失败输出与修复后输出配对;
- 为偏好对补充任务背景、工具结果和最终状态;
- 对偏好数据做一致性检查,避免不同标注者标准冲突;
- 用业务指标校准偏好,不只看回答是否“好看”。
产物与门禁:
DPO / Preference Optimization 的产物是偏好对齐后的模型。门禁重点是偏好是否稳定、是否跨场景成立、是否和真实业务指标一致。风险是偏好漂移、标注标准不一致、模型学会迎合 judge,而不是完成真实任务。
5、RLAIF / RFT:在可验证任务上优化结果
RLAIF、RFT 或类似强化优化路线适合有自动评测器的任务,例如代码测试、数学验证、结构化信息抽取、规则明确的业务流程。它们的优势在于可以用结果反馈推动模型改进,而不完全依赖人工示范。
固化对象:
- 可被程序验证的最终答案;
- 可由规则或 judge 判断的过程质量;
- 多方案生成后的选择策略;
- 失败修复后的验证习惯;
- 低成本、高成功率的行动路径。
训练动作:
- 构造可重复运行的任务环境和验证器;
- 用测试、规则、业务状态或 judge 给轨迹打分;
- 将高分轨迹和低分轨迹转成优化信号;
- 防止模型利用评测器漏洞获得高分;
- 对 reward model 或 judge 做人工抽检和对抗样本校验。
产物与门禁:
这一路线的产物是结果导向更强的模型。门禁重点是奖励函数必须贴近真实目标。风险是 reward hacking、评测器被钻空子、模型为了得分牺牲安全性或可解释性。
6、Agentic RL:长程工具任务的高上限路线
Agentic RL 的理论上限更高,因为它优化的是多轮计划、工具调用、环境交互和长期收益,而不是单轮回答。代码、自动化运维、浏览器任务、可模拟业务流程、游戏环境和机器人控制等场景,都可能从中受益。
固化对象:
- 多步任务规划;
- 工具调用顺序和参数策略;
- 失败后的重新规划;
- 在环境反馈下调整行动;
- 长轨迹中的成本、风险和成功率权衡。
训练动作:
- 构建可交互、可重置、可评价的环境;
- 定义任务成功、部分成功、失败、安全违规和成本的奖励;
- 采集长轨迹并处理 credit assignment;
- 对工具调用、状态变化和安全事件做细粒度奖励;
- 在沙箱中训练和评估,再进入小流量灰度。
产物与门禁:
Agentic RL 的产物是更强的长程行动策略。门禁重点是环境可靠、奖励可信、安全边界清楚。风险是训练成本高、环境构造难、reward hacking 严重、线上不可控。因此它更适合作为中长期路线,而不是多数企业第一阶段的默认选择。
7、Adapter / LoRA:把领域适配做轻、做薄、做可回滚
当企业希望降低成本、保留可回滚能力,或者不想改动基础模型主体时,Adapter / LoRA 是更轻量的选择。它适合领域术语、固定格式、局部任务风格和专门工具模式,不适合承载复杂全局策略。
固化对象:
- 某个行业或部门的表达习惯;
- 某类固定任务的格式和流程;
- 专门工具的调用模式;
- 不希望污染主模型的局部能力;
- 需要按租户、按业务线隔离的能力。
训练动作:
- 按领域或任务拆分 Adapter;
- 控制样本边界,避免把通用能力训练进局部权重;
- 保留主模型与 Adapter 的组合评测;
- 为 Adapter 建立启用、禁用、灰度和回滚策略;
- 监控 Adapter 与 Harness 规则的冲突。
产物与门禁:
Adapter / LoRA 的产物是可插拔权重。门禁重点是隔离清楚、版本清楚、适用范围清楚。风险是 Adapter 数量膨胀后难以管理,或者多个 Adapter 与 Tool Schema、Prompt、Memory 策略互相冲突。
8、Distillation:把大模型经验迁移给小模型
小模型后训练容易被下一代大模型超越,但小模型仍有现实价值:成本低、延迟低、可私有化、可部署在边缘或内网。Distillation 的目标不是盲目追平大模型,而是把经过验证的特定任务经验迁移到小模型中。
固化对象:
- 大模型在特定任务上的稳定输出;
- 高质量工具调用轨迹;
- 领域问答、分类、抽取、路由等窄任务;
- 低风险、强重复、评测清楚的业务流程;
- 大模型生成、人工审核后的合成样本。
训练动作:
- 用大模型生成候选轨迹,再通过评测和人工抽检筛选;
- 将复杂任务拆成小模型可承担的子任务;
- 保留大模型作为教师、裁判或升级路径;
- 在成本、延迟、成功率之间做对照评测;
- 将小模型放在 Harness 中承担路由、分类、草稿、抽取等低风险环节。
产物与门禁:
Distillation 的产物是专用小模型或任务模型。门禁重点是不要把小模型部署到超出能力边界的场景。风险是为了省成本牺牲可靠性,或在基础大模型升级后继续维护已经不划算的小模型。
9、小模型后训练的现实边界
围绕小模型做高成本后训练,收益可能在下一代大模型发布后被迅速抹平。相比之下,评测集、Tool Schema、Workflow、Memory 治理、安全样本和 Trace 数据通常更容易迁移到新模型上。
更合理的判断方式是看三件事:
- 任务是否稳定:如果业务规则频繁变化,Harness 更合适;
- 成本是否敏感:如果调用量巨大,小模型或 Adapter 可能值得投入;
- 评测是否可靠:如果无法判断训练后是否真的更好,就不应训练。
因此,后训练不应从原始 Trace 直接开始,也不应作为问题初次修复手段。它应该接在 Harness 修复和 Trace-to-Dataset 清洗之后,只固化那些反复出现、价值稳定、评测可靠的经验。
10、模型升级后的闭环治理
训练完成后,也不能绕过 Harness。新模型仍然需要工具约束、记忆治理、评测门禁、灰度发布和回滚机制。模型升级不是终点,而是进入下一轮 Harness 评测和线上观测的开始。
治理对象:
- 新旧模型在核心任务、历史失败、安全样本上的差异;
- 模型与 Prompt、Tool Schema、Memory、Skill 的兼容性;
- 成本、延迟、成功率、人工接管率和安全事件;
- 新模型是否改变了工具选择、拒绝风格和长程规划习惯;
- 模型退化是否来自训练数据、基础模型或 Harness 版本变化。
治理动作:
- 使用离线评测比较 base model、旧模型、新模型;
- 对高风险任务进行人工审核和灰度;
- 将模型版本纳入 Trace,便于事故回溯;
- 对失败样本重新进入 Trace-to-Dataset;
- 保留回滚到旧模型、旧 Prompt、旧 Tool Schema 的能力。
产物与门禁:
模型治理的产物是模型版本、评测报告、灰度策略、回滚方案和事故复盘。门禁重点是模型升级必须和 Harness 版本一起评估。风险是只看模型 benchmark,不看真实工具任务和业务流程。
11、效果预估:模型层收益更高,但不确定性也更高
模型层一旦成功,收益可能比单个 Prompt patch 更大,因为它会改变模型的基础行为分布。但它的成本、周期和风险也更高。
| 模型层路线 | 可能改善的指标 | 收益弹性 | 前提条件 |
|---|---|---|---|
| SFT | 格式稳定性、领域表达、工具模板遵循率 | 中到高,依赖样本覆盖 | 成功样本干净,任务稳定 |
| DPO / Preference | 策略选择、回答偏好、修复质量、安全风格 | 中等,依赖偏好一致性 | 偏好对一致,业务指标清楚 |
| RLAIF / RFT | 可验证任务成功率、复杂任务表现 | 高,但波动更大 | 自动评测器可靠 |
| Agentic RL | 长程工具任务成功率、规划质量 | 长期可能更高,但波动大 | 环境可重置,奖励可信 |
| Adapter / LoRA | 领域适配成本、灰度和回滚效率 | 取决于任务窄度 | 适用范围明确 |
| Distillation | 成本、延迟、专用任务吞吐 | 成本收益明显,能力收益不一定 | 小模型任务边界清晰 |
这些收益判断只能作为方向性参考。模型层收益不是训练动作本身带来的,而是由前两层决定的:Harness 是否已经找到了稳定修复,Trace-to-Dataset 是否提供了干净样本,Evaluation 是否能发现退化。
12、模型层与前两层的关系:训练是固化出口,不是万能入口
模型层应该被理解为“固化出口”。当某些能力已经在 Harness 层反复出现,在 Trace-to-Dataset 层被结构化、评测化、质量门禁化,再进入模型层才有意义。
模型层同样需要进入条件和退出条件:
| 判断问题 | 进入模型训练 / Adapter 的条件 | 训练后进入生产的条件 |
|---|---|---|
| 经验稳定性 | 行为模式跨任务、跨用户或跨场景反复有效 | 新模型在核心任务和历史失败集上不退化 |
| 数据质量 | 样本来源清楚、标签可信、质量门禁通过 | 安全集、成本集、长尾集通过门禁 |
| 训练必要性 | 写进模型比留在 Harness 更便宜、更稳定或更可迁移 | 与现有 Prompt、Tool Schema、Skill、Memory 兼容 |
| 发布治理 | 有旧模型、旧 Adapter 或旧 Harness 的回滚路径 | 小流量灰度通过,线上指标稳定 |
这张表的重点是:模型升级不是闭环终点,而是一个高风险候选变更。训练完成只说明“得到一个候选模型”,不说明它已经适合生产。
一个经验进入训练前,至少要回答五个问题:
- 它是否反复出现在真实任务中;
- 它是否已经通过 Harness 修复验证;
- 它是否可以被评测或外部状态验证;
- 它是否足够通用,不只是某个用户或某个版本的临时规则;
- 它被写进模型后,是否比留在 Harness 中更便宜、更稳定或更易迁移。
如果这些问题回答不清楚,训练很可能只是把不确定性变得更贵。更稳的路线是:Harness 先低成本试错,Trace-to-Dataset 再把经验变成样本,模型层最后负责固化稳定能力。
一句话总结:模型层自进化是稳定经验的固化出口,不是所有问题的第一解法;越靠近训练,越需要前两层提供高质量证据和样本。
八、关键闭环:数据、评测、优化与发布
第八章不再重复第六章的 Trace 字段和样本构造细节,而是回答一个更落地的问题:如果企业要把前面三层架构真正跑起来,最小可用闭环应该怎么设计,哪些变更可以自动化,哪些必须进入门禁,如何判断上线后是否真的变好。
1、端到端闭环:从线上行为到受控发布
一个较完整的 Agent 自进化系统,不应该被理解为“模型自己训练自己”,而应该被理解为一个分层工程闭环:线上运行产生行为,观测层保留证据,评测层判断好坏,Trace-to-Dataset 层沉淀样本,优化层产生候选变更,发布层控制风险。

这张图可以拆成六层:
| 层级 | 核心职责 | 关键产物 |
|---|---|---|
| 运行层 | Agent 与用户、环境、工具交互 | 输出、工具调用、环境状态 |
| 观测层 | 采集并结构化行为轨迹 | Trace、Telemetry、Feedback |
| 评测层 | 判断任务是否成功、失败原因是什么 | Eval score、失败分类、回归结果 |
| Trace-to-Dataset 层 | 将 Harness 行为轨迹转成可治理样本 | 训练集、评测集、偏好集、安全样本 |
| 优化层 | 对系统组件进行改进 | Prompt、Skill、Memory、Workflow、模型或 Adapter |
| 发布层 | 控制变更进入生产的风险 | 版本库、离线门禁、灰度、监控、回滚 |
这个架构说明四点:
- 自进化可以发生在多个位置:Prompt、Skill、Memory、Workflow、工具策略、评测集、模型参数和部署策略都可以优化;
- Harness 层优化通常应先于后训练,因为它见效快、成本低、可回滚,并且更容易跨模型迁移;
- 后训练只是优化层的一种选择,不应把整个自进化等同于训练;
- 没有发布层治理,自动优化越强,自动放大错误的风险也越高。
更重要的是,这个闭环不是单向流水线。每一层都可能把问题打回上一层:
| 发现的问题 | 应该打回哪里 | 原因 |
|---|---|---|
| Trace 不完整,无法复盘失败 | 观测层 / Harness 运行时 | 先补埋点、版本号和状态记录 |
| 评测无法判断成功 | 评测层 | 先定义最终状态、规则校验或人工标准 |
| 样本标签冲突或包含敏感信息 | Trace-to-Dataset 层 | 先做清洗、隔离、抽检和数据治理 |
| Harness patch 只修好局部样本 | Harness 层 | 先扩大回归集,不急着固化 |
| 训练后模型在安全集退化 | 模型层 / Dataset 层 | 先回滚模型,重新审查样本和偏好信号 |
| 灰度指标异常 | 发布层 | 先冻结候选版本并回流事故 Trace |
因此,成熟闭环的标志不是“每个样本最终都进入训练”,而是系统知道什么时候前进、什么时候停留、什么时候回滚。
2、实施优先级:先修 Harness,再做样本化,最后训练固化
闭环上线后,最重要的不是“能不能自动提出优化建议”,而是“系统知道该改哪里”。同样是一次失败,不同原因对应完全不同的修复路径。
| 失败类型 | 优先修复位置 | 不建议第一时间做什么 |
|---|---|---|
| 输出格式不稳定 | Prompt / Output schema / Eval | 直接微调模型 |
| 上下文缺失或过期 | Context policy / RAG / Memory | 盲目加长 Prompt |
| 工具参数错误 | Tool Schema / 参数校验 / 示例 | 用更多自然语言解释工具 |
| 高频流程重复失败 | Skill / Workflow / 状态机 | 让模型自由探索更多步骤 |
| 错误记忆污染 | Memory write / retrieval / forgetting policy | 把所有历史对话写入向量库 |
| 权限或安全问题 | Guardrail / Permission / Approval | 把安全策略写进普通 Prompt |
| 稳定模式反复出现 | Trace-to-Dataset / SFT / DPO / Adapter | 在样本未清洗前训练 |
这个优先级背后的原则是:能在 Harness 层解决的问题,先不要训练;能通过样本和评测确认的问题,再考虑固化;能灰度和回滚的问题,才适合自动化发布。
3、变更类型:不同优化不能走同一个发布流程
自进化系统会产生多类候选变更:Prompt patch、Tool Schema patch、Skill 候选、Memory policy 调整、Eval case、Safety case、Dataset 版本、Adapter 或模型版本。它们风险不同,不能用同一个门禁。
| 变更类型 | 风险等级 | 推荐门禁 | 发布方式 |
|---|---|---|---|
| Prompt 文案微调 | 低到中 | 核心任务集、格式集、成本集 | 小流量灰度 |
| Tool Schema 修改 | 中到高 | 工具调用回归、权限测试、失败恢复测试 | 分工具灰度 |
| Skill / Workflow 新增 | 中到高 | 端到端测试、人工审核、回滚路径 | 按任务类型灰度 |
| Memory policy 修改 | 中到高 | 记忆污染测试、隐私检查、用户可控性检查 | 小范围用户灰度 |
| Guardrail 修改 | 高 | 安全集、误拒绝 / 漏拦截评估、人工审批 | 严格审批后发布 |
| Dataset 版本更新 | 中到高 | 脱敏、去重、状态校验、样本抽检 | 先进入评测,再进入训练 |
| 模型 / Adapter 更新 | 高 | 全量回归、安全评测、成本评估、线上灰度 | Canary + 快速回滚 |
这里的关键是把“自动候选生成”和“自动上线”分开。系统可以自动发现问题、自动生成候选、自动跑评测,但高风险变更进入生产必须有门禁和责任边界。
4、评测矩阵:不要只用一个总分判断进化
Agent 的改动很容易出现“局部变好、整体变坏”。例如 Prompt 更严格后格式稳定了,但拒答率升高;Tool Schema 更细后参数错误下降,但延迟上升;模型微调后领域任务变好,但安全拒绝变差。因此,每次变更都应该进入评测矩阵,而不是只看一个总分。
| 评测维度 | 要回答的问题 | 典型指标 |
|---|---|---|
| 任务成功 | 是否真正完成业务目标 | success rate、final state pass rate |
| 工具调用 | 是否选对工具、参数是否正确 | tool selection accuracy、argument validity |
| 上下文质量 | 是否引用正确证据、避免过期信息 | citation accuracy、context precision |
| 安全权限 | 是否避免越权、泄露和不可逆操作 | policy violation rate、approval hit rate |
| 成本延迟 | 是否值得上线 | token cost、tool cost、latency |
| 稳定性 | 是否在多轮和长任务中保持一致 | retry success、handoff rate、regression pass |
| 用户体验 | 是否减少人工接管和重复沟通 | escalation rate、manual correction rate |
评测矩阵的目标不是追求所有指标同时最大化,而是让团队知道每次优化的收益和代价分别在哪里。
5、上线前检查清单
任何自进化候选进入生产前,都至少应该回答这些问题:
- 变更来源:这次变更来自哪个 Trace、失败样本、人工修复或业务需求?
- 变更范围:影响哪个 Prompt、工具、Skill、Memory、Dataset 或模型版本?
- 评测结果:核心任务集、历史失败集、安全集、成本集是否通过?
- 风险等级:是否涉及写操作、权限、隐私、资金、合规或不可逆动作?
- 灰度策略:先放多少流量,面向哪些用户、任务或工具?
- 监控指标:上线后看哪些成功率、错误率、成本、延迟和安全事件?
- 回滚方案:出现异常时回滚到哪个版本,是否会影响已执行动作?
- 责任边界:自动系统、工程团队、业务团队和审核人员分别负责什么?
这个检查清单能把“自进化”从概念拉回工程现实:候选可以自动产生,但上线必须可解释、可追责、可回滚。
6、最小指标面板
生产系统不需要一开始就建很复杂的仪表盘,但至少要有一组能判断进化是否有效的指标。
| 指标类别 | 建议指标 | 用途 |
|---|---|---|
| 质量 | 任务成功率、最终状态通过率、回归通过率 | 判断是否真的变好 |
| 工具 | 工具选择准确率、参数错误率、工具失败恢复率 | 判断 Tool Schema 和 Workflow 是否有效 |
| 安全 | 越权率、敏感信息泄露率、高风险操作审批率 | 判断 Guardrail 是否可靠 |
| 成本 | token 成本、工具成本、重试次数、延迟 | 判断收益是否抵消成本 |
| 数据 | Trace 完整率、样本通过率、人工抽检不一致率 | 判断 Trace-to-Dataset 是否可信 |
| 发布 | 灰度异常率、回滚次数、事故样本回流率 | 判断部署治理是否成熟 |
这些指标不只是运营看板,也应该反过来决定下一轮优化优先级。比如参数错误率高,就先改 Tool Schema;人工接管率高,就看 Workflow 和 Context;安全事件上升,就冻结自动候选版本。
7、30 / 60 / 90 天落地路线
企业第一版 Agent 自进化系统不需要一开始就做完整后训练。更现实的路线可以按 30 / 60 / 90 天拆开。
| 阶段 | 建设目标 | 关键动作 | 交付物 |
|---|---|---|---|
| 前 30 天 | 先知道发生了什么 | 接入 Trace、版本号、基础评测、人工复盘 | Trace schema、核心任务集、失败分类 |
| 31-60 天 | 先让 Harness 稳定变好 | 修 Prompt、Tool Schema、Context、Guardrail、Skill | Prompt 版本、工具回归集、Skill 候选、安全门禁 |
| 61-90 天 | 把经验变成资产 | 建 Trace-to-Dataset、质量门禁、灰度发布 | 样本池、数据卡、灰度策略、回滚机制 |
| 90 天后 | 再考虑训练固化 | 选择稳定、高频、可评测模式做 SFT / DPO / Adapter | 训练候选、模型评测报告、上线方案 |
这个路线的价值在于:它先让系统具备“知道自己有没有变好”的能力。只要这一步没有完成,后续无论是 Prompt 自动优化、Memory 自适应,还是 SFT / DPO / Agentic RL,都缺乏可靠依据。
以企业知识问答 Agent 为例,90 天内可以这样落地:
前 30 天,团队先不追求自动优化,而是补齐可观测性。每次问答都记录用户问题、检索 query、命中的文档、引用片段、模型回答、用户反馈、人工纠正、文档版本和成本延迟。同时从历史问题中挑出 100 条核心问题,人工确认标准答案和引用来源,形成第一版回归集。
31-60 天,团队优先修 Harness。发现错答主要来自过期文档和引用缺失,于是调整 Context policy:只允许引用最新版制度文档,为每段引用增加 source、updated_at 和 owner;Prompt 中要求回答必须带引用;Guardrail 增加“无可靠来源时不得编造”的规则。每次修改都跑 100 条核心回归集和 30 条历史失败样本。
61-90 天,团队开始做 Trace-to-Dataset。错引用样本进入 regression pool,人工纠正答案进入 preference pool,高风险合规问题进入 safety pool,稳定问答模板进入 SFT candidate pool。但此时仍不急着训练模型,而是先用这些样本扩大评测集和灰度门禁。
90 天后,如果发现某类固定文档摘要、固定格式回答、固定术语解释反复稳定出现,才考虑做 Adapter 或 SFT;如果业务制度仍频繁变化,则继续把规则留在 Context、Workflow 和 Guardrail 中。
一句话总结:
Agent 自进化的关键闭环,不是让模型直接改自己,而是让每一次真实行为都能被记录、评测、筛选、沉淀、验证和安全发布;短期让 Harness 变聪明,中期让 Trace-to-Dataset 形成数据资产,长期再把稳定经验固化进模型。
九、业务落地场景与适用边界
这一章要回答一个更现实的问题:企业到底什么时候值得做 Agent 自进化?答案不是“只要用了 Agent 就要做”,而是看任务是否重复、结果是否可评测、数据是否可治理、错误是否可回滚、收益是否能覆盖工程复杂度。
Agent 自进化不是一个独立产品形态,而是一套持续改进能力。它可以先以 Harness 优化出现,也可以逐步扩展到 Trace-to-Dataset 和模型层训练。真正需要判断的是:当前业务问题应该停在 Prompt、Tool Schema、Workflow、Memory,还是值得进入训练。
1、企业为什么会需要自进化闭环
企业部署 Agent 后,最常见的问题不是“第一版能不能跑起来”,而是“上线后能不能持续适应变化”。真实环境会不断变化:
- 用户问题分布会变,早期样本无法覆盖后续长尾问题;
- 内部工具会变,API 参数、权限、返回结构和业务流程都会调整;
- 组织政策会变,安全、合规、审批和品牌表达会出现新要求;
- 底层模型会变,新模型可能更强,也可能改变原有工具调用习惯;
- 成本目标会变,企业会从“能用”转向“稳定、便宜、可治理”。
静态 Prompt 很难长期应对这些变化。Agent 自进化的价值在于,把线上真实行为转化为可诊断、可评测、可复用、可训练的资产,让系统不是靠人工反复救火,而是把每一次失败、修复和成功都沉淀进闭环。
2、适用性判断:先看五个条件
一个场景是否适合引入自进化,可以先看五个条件。
| 判断维度 | 适合做自进化的信号 | 暂不适合的信号 |
|---|---|---|
| 任务重复度 | 同类任务反复出现,流程有共性 | 任务高度一次性,每次都完全不同 |
| 成功标准 | 有测试、状态、规则或人工标准 | 目标高度主观,无法稳定评价 |
| Trace 质量 | 能记录上下文、工具、结果和版本 | 只有聊天记录,没有行为过程 |
| 修复可控性 | 可以灰度、回滚、人工接管 | 错误不可逆,影响不可控 |
| 收益密度 | 高频、高价值、高人工成本 | 低频、低价值、维护成本更高 |
如果五个条件里只有一两个成立,应该先做普通 Agent 工程,不急着搭完整自进化系统。如果三到五个条件成立,就值得至少建设 Harness 级自进化能力,例如评测集、Trace、Prompt 版本、Tool Schema 回归、Skill 库和安全门禁。
一个更直观的落地决策树可以这样看:
任务是否高频重复?├─ 否:先做普通助手或人工增强,不急着做自进化└─ 是 ↓成功标准是否可评测?├─ 否:先建设评测标准和人工审核└─ 是 ↓Trace 是否能记录过程、工具、状态和版本?├─ 否:先做观测和日志结构化└─ 是 ↓错误是否可灰度、可回滚、可人工接管?├─ 否:先做权限、审批、dry-run 和回滚└─ 是 ↓先做 Harness 自进化;当经验稳定后进入 Trace-to-Dataset;只有通用、高频、可验证模式才进入模型层固化也可以用一个优先级矩阵来判断投入顺序:
| 场景类型 | 可评测 | 不可评测或弱评测 |
|---|---|---|
| 高频、低风险 | 优先做 Harness 自进化:Prompt、Tool、Skill、Eval 可以快速迭代 | 先补评测标准和人工抽检,再做轻量 Harness |
| 高频、高风险 | 先做 Guardrail + Trace + 人工审批,再逐步灰度 Harness 优化 | 不建议自动优化,先做只读建议、审批流和风险隔离 |
| 低频、低风险 | 做普通 Agent 工程或模板化,不必搭完整闭环 | 保持人工辅助,不急着沉淀 Dataset |
| 低频、高风险 | 通常不适合自进化,除非有强监管和明确状态校验 | 不建议做自动闭环 |
这个矩阵说明:自进化的优先级不只取决于任务是否有价值,还取决于它是否重复、是否可评测、是否可回滚。高价值但不可评测、高风险且不可回滚的场景,反而应该更晚进入自进化。
3、不同手段分别解决什么
企业常把 API、Prompt、Memory、Workflow、后训练混在一起讨论。更清晰的方式是按问题类型拆开。
| 手段 | 适合解决的问题 | 不适合解决的问题 | 更适合的阶段 |
|---|---|---|---|
| 通用大模型 API | 通用理解、生成、推理、代码和信息处理 | 企业专有流程、长期稳定策略 | 原型验证 |
| Prompt / Instruction | 任务说明、输出格式、边界约束 | 深层能力缺失、长期记忆、复杂流程治理 | Harness 初期 |
| Context / RAG | 企业知识、实时信息、证据补充 | 错误知识治理、流程能力固化 | 知识密集场景 |
| Tool Schema | 工具调用、参数约束、权限边界 | 开放式策略学习 | 工具密集场景 |
| Skill / Workflow | 稳定流程、专家 SOP、可审计执行 | 高度开放、强探索任务 | 规模化落地 |
| Memory | 个性化、项目状态、跨会话连续性 | 错误记忆治理、能力固化 | 长期交互 |
| Trace-to-Dataset | 评测样本、训练样本、失败复盘 | 直接提升模型能力 | 闭环建设 |
| 后训练 | 固化稳定模式、降低长期成本 | 快速变化规则、少样本例外 | 数据成熟后 |
| Agentic RL | 长程交互策略、可验证环境探索 | 高风险、不可重置环境 | 中长期研究和高价值场景 |
这个表的核心结论是:多数企业不应该一开始就把问题推到后训练。先把 Harness 做稳,把 Trace 留完整,把评测和回滚建起来,再考虑模型层固化,风险会小得多。
4、优先落地场景:从可评测、高重复、可回滚开始
更适合引入自进化思想的场景,通常具备“高重复、可评测、有工具、有反馈、可回滚”几个特征。
代码辅助与研发 Agent:
- 适合点:有测试、编译、lint、代码 diff、PR review 等外部校验信号;
- Harness 优化:Prompt、工具调用、代码搜索、补丁生成、测试重试、权限控制;
- Trace-to-Dataset:失败编译、测试修复、人工 review 修改都可以沉淀为样本;
- 模型层机会:稳定代码风格、常见框架用法、修复模式可以进入 SFT 或偏好优化。
数据分析与 BI Agent:
- 适合点:SQL、指标口径、图表结果和数据权限可以被校验;
- Harness 优化:Tool Schema、指标字典、查询模板、结果解释、权限门禁;
- Trace-to-Dataset:错误 SQL、人工修正、指标口径冲突可以进入回归样本;
- 模型层机会:高频查询模式、领域术语和报表格式可以固化。
客服辅助与运营 Agent:
- 适合点:问题分类、工单流转、标准话术和满意度有大量重复样本;
- Harness 优化:知识检索、回复模板、升级规则、敏感场景转人工;
- Trace-to-Dataset:人工改写、投诉样本、安全拒绝样本可进入偏好数据;
- 模型层机会:语气风格、业务术语、标准流程可以进入偏好优化。
企业知识问答与文档处理:
- 适合点:知识来源可追溯,文档结构稳定,引用和摘要可以审查;
- Harness 优化:Context policy、检索排序、引用格式、文档解析、记忆治理;
- Trace-to-Dataset:错引用、漏引用、过期知识可以转成评测样本;
- 模型层机会:稳定文档模板、信息抽取格式、领域表达可以训练。
内部流程自动化与运维 Agent:
- 适合点:流程状态、审批记录、工具返回和执行结果可以追踪;
- Harness 优化:Workflow、权限矩阵、dry-run、回滚策略、异常转人工;
- Trace-to-Dataset:失败流程、回滚案例、高风险操作可进入安全样本;
- 模型层机会:低风险重复流程可以做工具调用模式固化。
更细地看,不同行业场景的优先优化点不同:
| 场景 | 最先优化的 Harness 模块 | 可采集的关键 Trace | 可构造的数据资产 | 不建议训练的部分 | 核心指标 |
|---|---|---|---|---|---|
| 代码辅助 | Tool Schema、Workflow、Evaluation、Guardrail | 测试结果、代码 diff、工具调用、review 修改 | 回归样本、修复偏好对、SFT 候选 | 项目临时约定、未验证补丁 | 测试通过率、回滚率、review 修改率 |
| 数据分析 / BI | Tool Schema、Context、指标字典、权限 | SQL、指标口径、查询结果、图表配置 | SQL 修复样本、指标口径回归集 | 快速变化的业务口径 | SQL 正确率、口径一致率、权限违规率 |
| 客服辅助 | Context、Workflow、Memory、Guardrail | 用户问题、知识引用、人工改写、升级记录 | 偏好样本、安全样本、话术模板 | 个体化承诺、超权限赔付规则 | 人工接管率、投诉率、误拒绝率 |
| 企业知识问答 | Context、RAG、引用策略、Evaluation | query、命中文档、引用片段、错答纠正 | 引用回归集、问答样本、过期知识样本 | 时效性强的政策内容 | 引用准确率、过期引用率、无来源回答率 |
| 流程自动化 | Workflow、Permission、Deployment Policy | 审批状态、工具返回、异常、回滚记录 | 流程回归集、安全样本、Skill 候选 | 高风险不可逆操作 | 流程完成率、审批命中率、回滚次数 |
| 运维辅助 | Tool Schema、Guardrail、Reflection / Retry | 告警、命令、执行结果、回滚动作 | 故障分类样本、修复轨迹、安全样本 | 生产破坏性命令 | MTTR、误操作率、自动恢复率 |
这个表的作用是防止“所有场景都走同一套自进化路线”。同样是 Agent,自进化优先级会因工具风险、评测方式、样本形态和业务成本完全不同。
5、不适合一开始做自进化的场景
有些场景并不是永远不能做,而是不适合一开始就引入自进化闭环。
- 低重复任务:如果每个任务都完全不同,样本复用价值低,先做通用助手更合适;
- 强主观任务:例如开放式创意、审美判断、战略判断,很难建立稳定评测;
- 高风险不可回滚任务:例如资金划拨、生产删除、法律承诺、医疗决策,必须先有强人工门禁;
- 数据治理不足:如果 Trace 中包含大量敏感信息,却没有脱敏、权限和保留期限,自进化会放大风险;
- 没有工程维护能力:自进化需要评测、版本、灰度、监控和回滚,不是一次性 Prompt 工程;
- 只是概念包装:如果没有指标、样本、评测和发布流程,“自进化”很容易变成营销词。
这些场景可以先做“可观测 + 人工审核 + 只读建议”,等评测和治理成熟后再逐步引入自动优化。
6、部署模式:SaaS、私有化与混合架构
部署方式会直接影响 Trace、Memory、训练数据和权限治理。
| 部署模式 | 适合条件 | 优点 | 局限 | 自进化重点 |
|---|---|---|---|---|
| SaaS | 数据敏感度低,希望快速上线 | 门槛低,工具完善,模型更新快 | 定制和数据控制有限 | Harness 配置、评测、轻量 Trace |
| 私有化 | 强合规、强权限、内部数据多 | 控制力强,可审计,可深度集成 | 成本高,维护复杂 | Trace 治理、权限、私有评测、模型适配 |
| 混合部署 | 部分敏感、部分通用 | 平衡成本与安全 | 架构边界复杂 | 数据分级、工具隔离、模型路由 |
| 边缘 / 本地 | 延迟敏感、离线、端侧场景 | 低延迟,数据不出域 | 模型能力有限,更新困难 | 小模型蒸馏、Adapter、局部 Harness |
多数组织更现实的路线是混合架构:高敏感数据和关键工具留在内网,通用推理和低风险任务使用外部模型;Trace 分级保存,训练样本经过脱敏和审批后再进入模型层。
7、成熟度路线:不要一步到位
Agent 自进化更适合分阶段建设。
| 阶段 | 目标 | 核心建设 | 不建议做什么 |
|---|---|---|---|
| L0 原型 | 验证任务能否完成 | Prompt、基础工具、人工观察 | 不做自动优化 |
| L1 可观测 | 知道系统为何成功或失败 | Trace、日志、版本号、成本监控 | 不直接训练原始日志 |
| L2 可评测 | 判断改动是否进步 | Eval set、回归集、安全集 | 不只靠主观体验 |
| L3 Harness 优化 | 低成本提升稳定性 | Prompt、Context、Tool、Skill、Memory、Guardrail | 不急着后训练 |
| L4 样本资产化 | 把经验转成数据 | Trace-to-Dataset、质量门禁、数据治理 | 不混淆训练集和评测集 |
| L5 模型固化 | 把稳定经验写进模型 | SFT、DPO、Adapter、Distillation | 不把变化快规则写死 |
| L6 持续治理 | 形成长期闭环 | 灰度、监控、回滚、审计 | 不自动无门禁上线 |
这一成熟度路线能避免常见误区:在评测还没有建好时急着训练,在 Trace 还不完整时急着做数据集,在权限还不清楚时急着让 Agent 执行高风险操作。
8、投入产出判断:看收益密度和资产迁移性
判断一个自进化项目是否值得做,可以看两个问题。
第一,收益密度是否足够高。高频、高人工成本、高错误成本、可自动校验的任务,适合优先做。低频、低价值、强主观的任务,即使技术上能做,投入产出也可能不好。
第二,资产能否迁移。高质量工具 schema、核心回归集、失败样本库、可复用 Workflow、可治理 Memory、权限门禁和 Trace 数据,通常不会因为底层模型升级而失效。相反,它们会随着模型能力增强继续放大收益。相比之下,围绕某个小模型做昂贵后训练,可能在下一代模型发布后迅速失去优势。
一句话总结:业务落地要从可评测、高重复、可回滚的场景切入,先建设可迁移的 Harness 和 Trace 资产,再把稳定经验送入模型层固化。
十、风险、反例与治理机制
Agent 自进化的风险不在于“系统会不会自动学习”,而在于它会把什么东西学进去、沉淀到哪里、通过什么门禁上线。如果没有治理,闭环越自动,错误传播越快;如果治理得当,自进化反而能把失败更早暴露出来。
1、风险总览:三层各有不同失败模式
| 层次 | 典型风险 | 主要后果 | 治理重点 |
|---|---|---|---|
| Harness 层 | Prompt 膨胀、Memory 污染、Tool Schema 越权、Workflow 固化错误 | 线上行为不稳定,局部错误放大 | 版本、评测、权限、回滚 |
| Trace-to-Dataset 层 | Trace 不完整、标签错误、样本污染、隐私泄露 | 评测失真,训练数据变脏 | 质量门禁、数据治理、样本分池 |
| 模型层 | 过拟合、灾难性遗忘、偏好漂移、reward hacking | 基础行为退化,难以局部修复 | 回归集、灰度、Adapter、模型回滚 |
| 发布治理 | 自动上线过快、监控不足、责任边界不清 | 错误进入生产并扩散 | 人工审批、异常冻结、审计 |
这意味着治理不能只放在模型训练阶段。Prompt patch、Memory 写入、Skill 新增、Tool Schema 修改、数据入库和模型升级,都应该有各自的门禁。
治理责任也应该和层级对应起来:
| 风险归属 | 主要责任方 | 必须维护的资产 | 关键门禁 |
|---|---|---|---|
| Harness 风险 | Agent 应用团队 / 平台团队 | Prompt、Tool Schema、Skill、Memory policy、Guardrail | 版本评审、回归评测、权限测试 |
| Trace-to-Dataset 风险 | 数据团队 / AgentOps 团队 | Trace schema、样本池、数据卡、质量评分、脱敏规则 | 样本抽检、隐私扫描、训练/评测隔离 |
| 模型层风险 | 模型团队 / MLOps 团队 | 模型版本、Adapter、训练配置、评测报告 | 通用能力、安全能力、领域能力回归 |
| 发布风险 | 平台团队 / 业务 Owner / 安全团队 | 灰度策略、监控面板、回滚方案、审批记录 | Canary、异常冻结、人工审批、事故复盘 |
如果这些责任不清楚,自进化系统很容易出现“自动系统生成了变更,但没人真正负责结果”的问题。
2、错误经验被固化:从偶然成功到长期错误
风险机制:
Agent 可能偶然完成任务,但路径是错的;也可能回答看起来正确,但最终状态没有验证。如果这类 Trace 被当成成功样本,错误会被写进 Skill、Workflow、Prompt 或模型权重。
典型表现:
- 成功样本没有最终状态校验;
- 人工修复只保存了最终答案,丢失了原始错误上下文;
- Skill 从单次成功中抽取,缺少多样化验证;
- 模型训练把带有错误工具参数的样本当成正例。
治理动作:
- 成功样本必须绑定 final state、test result、business status 或人工审核;
- 成功 Trace 和人工修复 Trace 分池保存;
- Skill 候选至少通过多个相似任务和历史失败集;
- 训练样本进入前必须经过质量评分、去重和抽检;
- 线上事故样本要反向进入回归集。
3、低质量数据导致能力退化:日志不等于样本
风险机制:
线上日志通常噪声很大,包含不完整上下文、用户误操作、工具异常、过期知识、敏感信息和偶然结果。如果直接用这些日志做评测或训练,系统会学习噪声。
典型表现:
- 只有用户输入和最终回答,没有工具过程;
- 标签来自点赞、停留时间等弱信号;
- 数据没有区分训练、评测、回归和安全用途;
- 旧版本工具产生的样本继续影响新版本模型。
治理动作:
- 数据分层:raw trace、candidate sample、reviewed sample、training sample、eval sample、safety sample;
- 每条样本保留 source trace id、版本、来源、风险等级和质量分;
- 对高风险样本进入隔离池;
- 训练集和评测集严格隔离,避免数据泄漏;
- 对过期样本设置 ttl、deprecated 标签或迁移校验。
4、评测不可靠:系统可能优化错误目标
风险机制:
如果评测指标不贴近真实任务,系统会朝错误方向优化。LLM-as-judge 可能偏好流畅表达,忽略事实、工具状态和业务结果;自动规则可能覆盖不到复杂边界。
典型表现:
- 输出看起来好,但数据库状态没有正确更新;
- judge 给高分,但引用来源错误;
- 成本和延迟没有进入评测;
- 安全拒绝被误判为任务失败;
- 评测集长期不更新,无法覆盖新业务问题。
治理动作:
- 优先使用状态评测:测试结果、文件 diff、数据库状态、工单状态、浏览器状态;
- LLM-as-judge 只作为辅助,并做人工抽检和一致性校准;
- 评测集分为核心任务集、历史失败集、安全集、成本集、长尾集;
- 每次 Harness 或模型变更都跑回归;
- 线上新失败必须有机制进入评测候选池。
5、自动闭环放大错误:优化和上线必须分离
风险机制:
自进化系统可以自动生成 Prompt patch、Tool Schema patch、Skill 候选或训练样本,但如果自动生成后直接上线,错误会在生产环境放大。
典型表现:
- 自动反思生成错误归因,并被写入 Prompt;
- Memory 自动写入未经验证的事实;
- Skill 自动沉淀后影响大量任务;
- 模型训练完成后未灰度就替换线上模型。
治理动作:
- 自动生成候选可以快,自动上线必须慢;
- 低风险变更可自动灰度,高风险变更必须人工审批;
- 每类变更都需要版本号、评测报告和回滚点;
- 异常指标触发冻结候选版本;
- 高风险工具默认 dry-run、preview、confirmation。
6、Memory 与个性化风险:记住错误比忘记更危险
风险机制:
Memory 的问题不是“记不住”,而是“记错、记旧、记多、记越界”。错误记忆一旦跨会话传播,会持续污染上下文。
典型表现:
- 把一次性偏好当成长期偏好;
- 旧项目状态覆盖新状态;
- 将敏感信息写入长期记忆;
- 用户无法查看、修改或删除记忆;
- 相似任务被错误历史经验误导。
治理动作:
- Memory 写入必须有 scope、source、timestamp、confidence、ttl;
- 区分 session memory、project memory、user memory;
- 建立记忆冲突处理和过期机制;
- 对敏感记忆默认不写入或加密隔离;
- 提供用户可见、可编辑、可删除的记忆治理能力。
7、安全、隐私与权限:Agent 的工具能力放大了风险
风险机制:
Agent 一旦能调用数据库、文件系统、浏览器、企业 API 或代码执行器,就可能造成真实世界影响。自进化系统如果把高风险 Trace 当成普通经验,会把越权或不安全路径固化下来。
典型表现:
- Trace 中包含个人信息、商业机密、访问令牌;
- 工具参数缺少权限校验;
- 高风险操作没有人工确认;
- 数据跨租户、跨项目、跨权限域污染;
- 模型在训练中记住敏感内容。
治理动作:
- 最小化采集,敏感字段脱敏或不采集;
- 工具 schema 标注 risk level、permission scope、side effect;
- 高风险操作必须 preview、confirmation、approval、rollback plan;
- 对 Trace、样本、Memory 做权限隔离;
- 对训练数据执行隐私扫描、合规审批和删除机制。
8、模型层风险:后训练不是免费午餐
风险机制:
后训练可能提升某类任务,却损害通用能力、安全能力或其他领域能力。Agentic RL 还可能出现 reward hacking,让模型学会钻评测器空子。
典型表现:
- 领域任务变好,通用问答和安全拒绝变差;
- 模型过度拟合固定工具路径,遇到新工具不会适配;
- 偏好优化让模型更会迎合 judge;
- RL 模型为了得分绕过业务约束;
- 小模型后训练收益被新大模型快速覆盖。
治理动作:
- 保留通用能力、领域能力、安全能力、工具能力四类回归集;
- 优先用 Adapter / LoRA 做可回滚适配;
- 模型升级必须和 Harness 版本一起评估;
- 对 reward model、judge 和环境做对抗测试;
- 训练收益必须和维护成本、模型迁移风险一起评估。
9、工程复杂度超过收益:闭环也可能过度设计
风险机制:
完整自进化系统需要 Trace、Eval、Dataset、Training、Deployment、Monitoring、Security 多套能力。如果场景价值不足,工程复杂度会吞掉收益。
典型表现:
- 为低频任务建设完整训练管线;
- 评测集还没有,却先搭模型微调;
- 大量样本没人审核;
- 系统版本过多,团队无法维护;
- 指标很多,但没有一个能说明业务价值。
治理动作:
- 按成熟度分阶段引入;
- 优先建设可迁移资产:Trace、Eval、Tool Schema、Workflow、Guardrail;
- 每个阶段设置退出条件和收益指标;
- 对低频场景保留人工审核或简单 Harness 优化;
- 定期清理过期 Skill、Memory、Prompt 和数据集。
10、概念被过度营销:用指标约束叙事
风险机制:
很多系统把普通日志、普通 Memory、普通 Prompt 调参包装成“自进化”。如果没有可验证指标,这个概念会变得空泛。
更严谨的判断标准:
- 是否有结构化 Trace;
- 是否有稳定评测集和回归集;
- 是否有自动候选生成机制;
- 是否有人工或自动质量门禁;
- 是否有版本、灰度、监控和回滚;
- 是否能证明任务成功率、错误率、成本、延迟、安全事件率或人工接管率改善。
如果这些条件都没有,就只能说是普通 Agent 工程优化,而不是自进化闭环。
11、治理框架:把自进化变成受控工程
成熟治理不应该只靠“上线前人工看一眼”,而应该形成一套固定机制。
| 治理环节 | 关键问题 | 推荐做法 |
|---|---|---|
| 变更分级 | 这次改动风险多高 | Prompt、Tool、Memory、Skill、Model 分开分级 |
| 评测门禁 | 是否真的进步 | 核心集、失败集、安全集、成本集一起跑 |
| 数据门禁 | 样本是否可信 | 脱敏、去重、最终状态校验、人工抽检 |
| 权限门禁 | 是否可能越权 | 工具风险标签、审批、dry-run、回滚 |
| 发布门禁 | 如何进入生产 | 灰度、监控、异常冻结、回滚 |
| 审计复盘 | 出事后能否定位 | trace id、版本号、样本血缘、事故样本回流 |
事故发生后,可以用一份固定模板复盘,避免只停留在“模型答错了”这种粗粒度结论:
| 复盘字段 | 要回答的问题 | 示例 |
|---|---|---|
| 事故现象 | 用户看到了什么错误结果 | Agent 承诺了超出政策范围的退款 |
| 影响范围 | 影响哪些用户、任务、工具或版本 | 影响客服 Agent v1.8 的退款场景 |
| 触发 Trace | 哪条 trace_id 能复现问题 | trace_refund_2026_0615_023 |
| 失败层级 | 是 Harness、Dataset、模型还是发布问题 | Guardrail 未覆盖高额赔付,Prompt 规则过弱 |
| 根因分类 | 上下文缺失、工具误用、记忆污染、权限缺失还是评测缺口 | 权限缺失 + 安全集缺样本 |
| 立即修复 | 先冻结什么、回滚什么、人工接管什么 | 冻结退款自动承诺,转人工审批 |
| 长期修复 | 应该改 Prompt、Tool Schema、Workflow、Memory、Dataset 还是模型 | 增加赔付额度工具校验和安全回归样本 |
| 样本回流 | 是否进入回归集、安全集、偏好集或训练候选 | 进入 safety regression,不进入 SFT 正样本 |
| 验证方式 | 修复后如何证明不复发 | 跑退款安全集、灰度 5% 流量、监控误承诺率 |
| 责任归属 | 谁维护变更和后续指标 | 客服业务 owner + AgentOps + 安全团队 |
这个模板的核心是把事故归因到可修复层级:如果是 Tool Schema 问题,就不要怪模型;如果是 Dataset 标签污染,就不要只改 Prompt;如果是发布门禁缺失,就不要把责任推给训练算法。
一句话总结:自进化系统最怕无门禁的自动闭环;真正可用的自进化,是把自动发现、自动候选和受控发布结合起来。
十一、未来趋势
未来的 Agent 自进化不会沿着单一路线发展。它既不会只是“模型自己训练自己”,也不会只是“Prompt 自动改写”。更可能出现的是:Harness 工程、Trace 数据资产、评测基础设施和模型训练共同演进。
如果按演进顺序看,未来趋势大致会沿着这条路径展开:
Eval-first:先定义什么叫成功→ Trace asset:把真实行为变成可复盘资产→ Harness-centric:优先优化外部运行时系统→ AgentOps:把观测、评测、版本和发布变成基础设施→ Governed autonomy:让 Agent 在权限和审计下扩大自治范围→ Model solidification:把稳定经验固化进模型、Adapter 或小模型组件这条路径也解释了为什么本文不把 Agentic RL 放在第一步。没有 Eval、Trace、Harness 和 AgentOps,RL 很难获得可靠环境和奖励;而一旦这些基础设施成熟,模型层固化才会变得更可控。
1、从 Model-centric 转向 Harness-centric
过去很多 AI 系统以模型为中心:模型越强,系统越强。但 Agent 进入工具、记忆、流程和真实环境后,系统能力不再只由模型参数决定。未来 Agent 工程会更强调 Harness:如何给模型组织上下文,如何约束工具,如何沉淀 Skill,如何治理 Memory,如何评测和发布。
这不是说模型不重要,而是说模型会成为更大运行系统中的核心计算单元。底层模型越强,Harness 的价值反而越高:强模型可以完成更复杂动作,也更需要清晰权限、可靠证据、严格评测和可回滚流程。
2、Trace 会成为 Agent 时代最重要的数据资产之一
普通对话日志只记录“用户问了什么、模型答了什么”。Agent Trace 记录的是“模型如何计划、如何检索、如何调用工具、如何失败、如何修复、最终状态是什么”。这类数据更接近行为数据,也更接近未来模型升级真正需要的燃料。
未来高质量 Agent 系统的壁垒,很可能不是某个单点 Prompt,而是长期积累的高质量 Trace、评测集、失败样本、安全样本和人工修复样本。它们既能优化 Harness,也能构造训练数据,还能形成组织自己的任务分布护城河。
3、Eval-first 会成为 Agent 开发的默认工程习惯
没有评测,自进化无法区分进步和退化。未来 Agent 开发会越来越像软件工程:先定义成功标准,再改 Prompt、Tool、Skill 或模型。
Eval-first 不只是写几个问答样例,而是包含:
- 核心任务集,保证主要能力不退化;
- 历史失败集,防止老问题复发;
- 安全集,覆盖越权、隐私、合规和拒绝边界;
- 成本集,监控 token、工具调用和延迟;
- 状态评测,验证代码、数据库、文件、工单或浏览器任务是否真的完成。
当评测成为基础设施,Harness 自进化和模型训练才有稳定方向。
4、Skill 与模型权重会形成长期分工
短期内,许多经验更适合沉淀在 Harness 层:Skill、Workflow、Memory、Tool Schema、Eval Set 和 Guardrail。它们透明、可编辑、可版本化、可回滚,而且能随着模型升级继续复用。
长期看,稳定、重复、高价值,并且已经被 Harness 反复验证的行为模式,才适合通过 SFT、DPO、RFT 或 Agentic RL 固化进模型或 Adapter。未来的成熟系统很可能形成这样的分工:
- Skill / Workflow 保存流程和组织知识;
- Tool Schema / Guardrail 保存操作边界和权限;
- Memory 保存个体、项目和组织状态;
- Dataset 保存可评测、可训练的经验;
- Model 固化通用、稳定、跨场景复用的能力。
这种分工能降低模型迭代的不确定性。小模型后训练可能被下一代大模型超越,但高质量 Harness 通常可以迁移到新模型上。
5、Agentic RL 会发展,但会被工程治理包围
Agentic RL 的方向很重要,因为它试图优化长程任务、工具使用和环境交互策略,而不是只优化单轮回答。随着可验证环境、代码执行环境、浏览器任务环境和模拟业务流程发展,Agentic RL 会在高价值场景中变得更重要。
但它不会替代工程治理。原因很简单:长程策略越强,风险越大。Agentic RL 仍然需要:
- 可重置、可隔离、可观测的训练环境;
- 贴近真实目标的奖励函数;
- 防止 reward hacking 的对抗评测;
- 工具权限、沙箱、安全边界;
- 灰度发布、线上监控和回滚机制。
因此,Agentic RL 更可能成为三层架构里的模型层增强路线,而不是跳过 Harness 和 Trace-to-Dataset 的捷径。
6、AgentOps 会成为自进化的基础设施
随着 Agent 被部署到更复杂场景,AgentOps 会从“可选工具”变成“基础设施”。它需要覆盖观测、评测、版本、成本、安全、发布和事故复盘。
未来成熟 AgentOps 可能包含:
- Trace 和 span 级观测;
- Prompt、Tool、Skill、Memory、Model 的版本管理;
- 离线评测、在线监控和异常告警;
- 数据集血缘、样本质量和隐私治理;
- 权限矩阵、审批流和高风险操作审计;
- 自动候选生成、人工审批、灰度和回滚。
换句话说,自进化不是一个单独按钮,而是一整套运行时基础设施。
7、小模型会更像“任务组件”,不是唯一主角
小模型仍然重要,尤其在成本、延迟、私有化和边缘部署场景中。但它们更可能承担明确边界内的任务组件角色,例如分类、路由、抽取、格式化、简单工具调用、草稿生成和本地隐私处理。
未来更常见的模式可能是:大模型负责复杂推理和开放任务,小模型负责高频低风险子任务,Harness 负责调度、权限、评测和回滚。这样既能控制成本,也能避免把小模型训练成一个难以维护的全能系统。
8、组织知识会从文档资产变成行为资产
过去企业知识主要沉淀在文档、流程图、制度和专家经验中。Agent 系统上线后,组织知识会逐渐以行为资产形式存在:成功 Trace、失败 Trace、人工修复、工具调用路径、评测样本、Skill、Workflow 和安全案例。
这种变化很关键。文档告诉系统“应该怎么做”,行为资产告诉系统“真实任务中实际怎么做、哪里会失败、怎样修复才有效”。未来企业 AI 能力的差异,很可能来自谁能把组织行为转成高质量 Harness 和 Dataset。
9、从自动化走向可治理自治
未来 Agent 不会只是“自动执行任务”,而是逐步走向可治理自治。可治理自治的核心不是放任系统自己行动,而是明确哪些动作可以自动做、哪些需要确认、哪些必须转人工、哪些永远不能做。
这会带来新的工程标准:
- 低风险动作自动执行;
- 中风险动作 preview 后确认;
- 高风险动作审批后执行;
- 不可逆动作必须有回滚或人工责任人;
- 所有关键行为都可追踪、可解释、可审计。
这也是 Agent 自进化能否进入企业核心流程的前提。
10、最终趋势:系统智能会比单点模型能力更重要
未来竞争不会只是谁的模型参数更强,而是谁能把模型、工具、数据、评测、流程和治理组织成稳定系统。模型能力仍然是底座,但真正拉开差距的会是系统智能:
- Harness 是否能快速适配新模型和新工具;
- Trace 是否能沉淀真实行为经验;
- Dataset 是否能支撑评测和训练;
- Eval 是否能发现退化;
- Guardrail 是否能控制风险;
- Deployment 是否能灰度和回滚;
- 组织是否能持续把失败变成资产。
一句话总结:Agent 自进化的未来不是单个模型自我变强,而是模型、Harness、Trace、Dataset、Eval 和治理体系共同形成持续改进的系统智能。
十二、总结
本文最终想回答三个问题。
第一,Agent 自进化到底是什么?
它不是模型无约束地“自己改自己”,也不是把普通 Prompt 调参包装成新概念。更准确地说,Agent 自进化是一个可观测、可评测、可审计、可回滚的持续优化系统:系统在真实任务中记录行为,分析成功与失败,沉淀可复用经验,并让这些经验在后续任务中产生可验证收益。
第二,为什么要按三层研究?
因为不同“进化”发生在不同位置,成本、收益和风险完全不同:
- Harness 层:Prompt、Context、Tool Schema、Skill、Workflow、Memory、Evaluation、Guardrail 和 Deployment Policy;
- Trace-to-Dataset 层:Trace、Evaluation、Regression、Failure Analysis、Dataset Construction,把 Harness 经验转成评测样本、偏好样本、训练样本和安全样本;
- 模型层:SFT、DPO、RLAIF、RFT、Agentic RL、Adapter、Distillation 和模型升级治理。
这三层不是并列选项,而是递进闭环:Harness 负责低成本试错,Trace-to-Dataset 负责把经验变成可信样本,模型层负责把稳定经验固化为更基础的能力。
第三,企业应该如何落地?
当前最现实的路线不是直接追求全自动强化学习,也不是一开始就把问题推给后训练,而是先建立可靠的 Harness、Trace 和 Evaluation 体系。具体来说:
- 先做可观测:让每次任务有 Trace、版本、状态和评测结果;
- 再做可评测:用核心任务集、历史失败集、安全集和成本集判断改动是否真的变好;
- 优先修 Harness:Prompt、Context、Tool Schema、Skill、Workflow、Memory、Guardrail 和 Deployment Policy;
- 再做 Trace-to-Dataset:把失败样本、成功轨迹、人工修复和高风险案例转成可治理数据;
- 最后做模型固化:当某些模式稳定、重复、高价值,并且被评测反复证明有效时,再考虑 SFT、DPO、Adapter、Distillation 或 Agentic RL。
这也解释了为什么 Harness 工程值得单独强调:它成本低、适配快、可解释、可回滚,而且不容易因为底层模型升级而失效。后训练仍然重要,但它更像长期固化出口,而不是所有问题的第一解法。
一句话概括:
Agent 自进化的本质,不是让 Agent 无约束地“自己改自己”,而是建立一个可观测、可评测、可审计、可回滚的持续优化系统:短期让 Harness 进化,中期用 Trace-to-Dataset 把经验转成样本,长期让被验证的经验进入模型。
十三、参考文献 / 参考资料
1、论文与研究工作
-
Shunyu Yao et al., ReAct: Synergizing Reasoning and Acting in Language Models, 2022.
https://arxiv.org/abs/2210.03629 -
Noah Shinn et al., Reflexion: Language Agents with Verbal Reinforcement Learning, 2023.
https://arxiv.org/abs/2303.11366 -
Aman Madaan et al., Self-Refine: Iterative Refinement with Self-Feedback, 2023.
https://arxiv.org/abs/2303.17651 -
Timo Schick et al., Toolformer: Language Models Can Teach Themselves to Use Tools, 2023.
https://arxiv.org/abs/2302.04761 -
Guanzhi Wang et al., Voyager: An Open-Ended Embodied Agent with Large Language Models, 2023.
https://arxiv.org/abs/2305.16291 -
Charles Packer et al., MemGPT: Towards LLMs as Operating Systems, 2023.
https://arxiv.org/abs/2310.08560 -
Xiao Liu et al., AgentBench: Evaluating LLMs as Agents, 2023 / ICLR 2024.
https://arxiv.org/abs/2308.03688 -
Grégoire Mialon et al., GAIA: a benchmark for General AI Assistants, 2023.
https://arxiv.org/abs/2311.12983 -
Shunyu Yao et al., τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains, 2024.
https://arxiv.org/abs/2406.12045 -
Liming Dong et al., AgentOps: Enabling Observability of LLM Agents, 2024.
https://arxiv.org/abs/2411.05285 -
Zidi Xiong et al., How Memory Management Impacts LLM Agents: An Empirical Study of Experience-Following Behavior, 2025.
https://arxiv.org/abs/2505.16067 -
Xufang Luo et al., Agent Lightning: Train ANY AI Agents with Reinforcement Learning, 2025.
https://arxiv.org/abs/2508.03680 -
Guanting Dong et al., Agentic Reinforced Policy Optimization, 2025.
https://arxiv.org/abs/2507.19849 -
Yusheng Zheng et al., AgentSight: System-Level Observability for AI Agents Using eBPF, 2025.
https://arxiv.org/abs/2508.02736 -
Dany Moshkovich, Sergey Zeltyn, Taming Uncertainty via Automation: Observing, Analyzing, and Optimizing Agentic AI Systems, 2025.
https://arxiv.org/abs/2507.11277 -
Sayash Kapoor et al., AI Agents That Matter, 2024 / TMLR 2025.
https://arxiv.org/abs/2407.01502 -
Lei Wang et al., A Survey on Large Language Model based Autonomous Agents, 2023 / 2025 revision.
https://arxiv.org/abs/2308.11432 -
Zhiheng Xi et al., The Rise and Potential of Large Language Model Based Agents: A Survey, 2023.
https://arxiv.org/abs/2309.07864 -
Xu Huang et al., Understanding the planning of LLM agents: A survey, 2024.
https://arxiv.org/abs/2402.02716 -
Huan-ang Gao et al., A Survey of Self-Evolving Agents: What, When, How, and Where to Evolve on the Path to Artificial Super Intelligence, 2025 / 2026 revision.
https://arxiv.org/abs/2507.21046 -
Guibin Zhang et al., The Landscape of Agentic Reinforcement Learning for LLMs: A Survey, 2025 / 2026 revision.
https://arxiv.org/abs/2509.02547
2、技术博客 / 技术报告
-
Anthropic, Building Effective Agents, 2024.
https://www.anthropic.com/research/building-effective-agents -
OpenAI, New tools for building agents, 2025.
https://openai.com/index/new-tools-for-building-agents/ -
Microsoft Azure Blog, Agent Factory: Top 5 agent observability best practices for reliable AI, 2025.
https://azure.microsoft.com/en-us/blog/agent-factory-top-5-agent-observability-best-practices-for-reliable-ai/ -
OpenTelemetry Blog, AI Agent Observability - Evolving Standards and Best Practices, 2025.
https://opentelemetry.io/blog/2025/ai-agent-observability/ -
Langfuse Blog, AI Agent Observability, Tracing & Evaluation with Langfuse, 2024.
https://langfuse.com/blog/2024-07-ai-agent-observability-with-langfuse -
Andrew Ng, How agents can improve LLM performance / Agentic workflow patterns, 2024.
https://www.deeplearning.ai/the-batch/how-agents-can-improve-llm-performance/ -
Chip Huyen, Agents, 2025.
https://huyenchip.com/2025/01/07/agents.html -
Andrej Karpathy, Software Is Changing (Again), YC AI Startup School, 2025.
https://www.ycombinator.com/library/MW-andrej-karpathy-software-is-changing-again -
OpenAI, Harness engineering: leveraging Codex in an agent-first world, 2026.
https://openai.com/index/harness-engineering/ -
Martin Fowler, Harness engineering for coding agent users, 2026.
https://martinfowler.com/articles/harness-engineering.html -
Anthropic, Writing effective tools for AI agents — using AI agents, 2025.
https://www.anthropic.com/engineering/writing-tools-for-agents -
Anthropic, Demystifying evals for AI agents, 2026.
https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents
3、官方文档
-
OpenAI Agents SDK Documentation.
https://openai.github.io/openai-agents-python/agents/ -
OpenAI Agents SDK Tracing.
https://openai.github.io/openai-agents-python/tracing/ -
OpenAI Model Optimization Guide.
https://developers.openai.com/api/docs/guides/model-optimization -
OpenAI Direct Preference Optimization Guide.
https://developers.openai.com/api/docs/guides/direct-preference-optimization -
LangSmith Evaluation Documentation.
https://docs.langchain.com/langsmith/evaluation -
Langfuse Documentation.
https://langfuse.com/docs -
Arize Phoenix Documentation.
https://arize.com/docs/phoenix -
OpenTelemetry GenAI Semantic Conventions.
https://opentelemetry.io/docs/specs/semconv/gen-ai/ -
Model Context Protocol Documentation.
https://modelcontextprotocol.io/docs/getting-started/intro -
Model Context Protocol Tools Specification.
https://modelcontextprotocol.io/specification/2025-06-18/server/tools -
Hugging Face TRL Documentation.
https://huggingface.co/docs/trl/index -
MLflow GenAI Documentation.
https://mlflow.org/docs/latest/genai/ -
MLflow Model Registry Documentation.
https://mlflow.org/docs/latest/ml/model-registry/
4、开源项目与工程工具
-
Langfuse.
https://github.com/langfuse/langfuse -
Arize Phoenix.
https://github.com/Arize-ai/phoenix -
Promptfoo.
https://github.com/promptfoo/promptfoo -
AgentOps.
https://github.com/AgentOps-AI/agentops -
Letta / MemGPT.
https://github.com/letta-ai/letta -
Voyager.
https://github.com/MineDojo/Voyager -
Microsoft Agent Lightning.
https://github.com/microsoft/agent-lightning -
OpenRLHF.
https://github.com/OpenRLHF/OpenRLHF -
LLaMA-Factory.
https://github.com/hiyouga/LLaMA-Factory -
Hugging Face TRL.
https://github.com/huggingface/trl -
AgentBench.
https://github.com/THUDM/AgentBench