SKILLπ JOURNAL ↗ 工作流

Agent 改进工程:持续状态、边界内纠错与系统评测

用讲解设备预约案例验证记忆隔离、日期理解、保存核验与重启恢复,比较整个执行系统的实际改进。

自我改进的落地价值,要看它能否在新任务中减少具体错误,而不是 Agent 是否写出一段像样的反思。本篇用虚构的博物馆讲解设备预约助手,连接持续记忆、自我纠错与效果评测:助手应保留任务进度,识别预约日期误解,核验写入结果,并在测试环境比较改动。本文没有执行所谓六周实测,也不沿用无法核实的引语、人物归因与下载量。

先界定模型外面的系统

这里的 harness 指模型周围的提示、工具、状态、检索、验证和执行流程。改善这些部分可以改变表现,不等于更新模型权重,也不是自动变聪明的保证。self-improving 与 self-evolving 的用法并无统一工程边界,落地前直接说明改什么、谁反馈、如何评估,避免只争术语。

试点目标是:用户说“下周三”时按已知时区与当前日期解析,存在歧义先澄清;提交超时后先核对实际预约,不盲目重发。把解析正确、请求成功、保存确认和通知用户分开验收。仅让 Agent 记住“认真核对”不能解决时间、状态和工具接口的问题。

开始前检索 GitHub 的开源方案,参考 LangGraph 的 checkpoint 与持久化文档。它区分线程状态和跨线程数据存储,适合分析恢复边界;内存保存器不提供进程重启后的持久性。采用前需核对维护、许可、版本、数据库、凭据与运维成本,不把框架名字当作恢复保证。本文只给实现与验收方案,不安装或连接服务。

场景一:持续记忆要分清进度、事实与教训

当前预约任务状态保存任务 ID、已确认日期、设备数量、提交请求标识和保存结果。跨会话经验另存来源、作用域、时间与规则版本。对话历史、执行检查点和长期偏好不是同一份东西:恢复任务需要准确状态,学习方法需要可复查经验,用户偏好不能自动覆盖最新明确要求。

项目与使用者分别隔离命名空间。不要仅靠相似度检索就宣称完全防止污染,读取前仍按项目与权限过滤。访客姓名、联系方式、身份标识不进入全局经验;长期教训只保留脱敏模式和必要证据位置。定义保留期限、删除传播与备份恢复,向量库中删除条目也要检查相关副本与索引。

在新会话中验证三层:状态是否存在,相关规则是否召回,工具执行是否符合规则。重启进程后再次测试,避免把只在 RAM 中的对象误当永久记忆。修改模型、切换设备或更换存储后重新核对版本与序列化,不假定状态能无损迁移。

记忆写入也可能失败,应记录成功与未完成,避免回复“记住了”但实际没落盘。多会话并发更新使用版本或事务协调,保留冲突,不让后写覆盖前写。若使用外部模型提炼记忆,确认实际传输内容与目的地,不能因为数据库本地化就把流程称为零网络。

场景二:自我纠错从重新理解任务开始

用户纠正日期时,先回到原请求、时区、参照日期与已执行动作。区分用户改变主意和助手理解错误,不能只把上一轮回答里的数字替换掉。若尚未提交,可更新草稿并核验;若已经产生预约,要先查询实际记录,再依据授权处理后续变更,不能用文字改口掩盖外部状态。

技术故障按层定位:输入解析、工具参数、网络、认证、服务端规则与结果展示。捕获命令、响应、状态和证据,先提出最小可证伪假设。例如超时既可能未写入,也可能写入后响应丢失,应通过请求标识查询,不直接重试。重试需要次数、总期限和幂等策略,持续权限失败应停止并报告。

自动修复限定范围。修改本地测试解析器与改变生产预约权限不是同一风险,安全控制、账户、付费和发布仍遵守原有要求。修复前保留差异与回滚,修复后运行针对性回归。自我诊断报告要写实际观察、假设、采取动作、验证结果与未解决项,不把模型声称“修好了”作为证据。

给 Agent 的请求可以是:“在虚构预约样本中重现相对日期错误;保留参照时间与时区;提出最小解析修复,运行正常日期、跨周、歧义表达和用户改期测试,不操作真实预约。”产物是重现、代码或提示差异、测试结果与恢复路径。

场景三:评测整个系统,而不是只给回答打分

先列产品问题:是否正确理解日期,是否避免重复预约,是否如实报告未知,是否保留权限边界。测试集覆盖普通流程、模糊日期、跨时区、网络超时、重复请求、存储不可用和无关项目记忆。使用虚构数据和隔离环境,不让基准测试调用真实设备库存。

固定模型、提示、工具、数据版本与运行设置,只改变一个主要因素,例如新增日期核验。记录通过、失败、传输或评分错误、实际执行数量、费用和耗时。评分器异常与助手错误分开,零样本不能称全部通过。确定性检查用于状态、请求次数与字段,语言质量需要清晰评分标准与人工抽查。

单次高分不代表稳定变强。保留未参与调优的样本,对易波动任务进行有预算的重复试验,同时记录失败和无改善。检查改进是否导致更多确认、额外调用或其他任务退步。自主改进循环需要最大迭代、时间与费用,以及没有更好候选时保持现状的出口。

评估记忆增益时比较无记忆、相关记忆和过期或无关记忆三组,观察污染与冲突;评估恢复时故意重启并验证不会重复产生副作用。并发评测可能争用资源,应分离测试状态与预算。最后给出适用环境与剩余缺口,不用一个跑分概括所有能力。

技能组合、兼容与冲突检查

记忆、纠错、评测并不天然互不冲突。它们可能同时写规则、改提示、触发 hook、追加状态或启动模型请求。安装前逐项对照触发器、读写路径、依赖、网络、版本与授权,先单个试点,再测试组合。不同主机的发现目录、触发和运行能力可能不同,解压包不等于功能已启用。

当前 SkillPI 对 self-improving 的检索没有匹配记录,所以不将原文的记忆或递归改进名称编造成可核验链接。以后目录新增候选时,确认公开详情、固定来源、许可和实际能力,明确用于状态存储、纠错还是评估;不能用普通浏览器测试替代完整 Agent 评测,也不能按下载量宣称“最成熟”。

能力缺口先具体化:缺日期参照、缺保存状态查询、缺持久存储还是缺评测断言?再找匹配方法。能通过现有工具补齐时优先复用,不为了自我改进套件数量重复安装。包免费不等于模型、数据库、运行与维护无成本,本文也不作统一免费承诺。

FAQ 与上线验收

先装记忆再装评测吗?先定义预期结果与基线,再试最小记忆方案,否则无法判断增益。能否自动修自己?在明确范围内提出、应用和验证可逆修复是可行路径,外部副作用与权限仍受约束。反思越长是否更好?只要缺少证据和独立验证,再长也可能固化错误。

怎么判断 harness 真的改善?在可比任务和新样本上检查正确性、副作用、恢复、成本与延迟,保留环境版本。如何适配 Cursor、Codex 或其他主机?按各自当前说明核对发现与执行,不假定同一目录和 hook 配置通用。

上线前交付状态模式、记忆隔离策略、错误重现、修复差异、评测样本与结果、重启恢复证据和回滚步骤。清楚标注计划与已执行。只有经过实际验证的部分才能称通过,不能把框架提供能力写成自己系统已具备能力。

来源

本文按中英文原文的持续记忆、自我纠错与性能评测三类场景原创改写。持久化边界参考 LangGraph checkpoint 说明及官方持久化文档源码。新增 Skill 后应按实际用途和固定来源刷新关联,并重新验证组合冲突。

分享文章X ↗LinkedIn ↗