Agent自我改进循环:用外部反馈持续优化技能

zachlloydtweets 发布于 2026-06-17 阅读 110

本文介绍了一种AI agent的自我改进循环(self-improvement loop),通过内外两层循环实现技能的持续优化。内层循环应用技能(如问题分类),外层循环定期观察内层循环的执行结果,根据人类反馈或其他评估自动调整技能文件。以Github issues分类为例,展示了使用Warp和Oz平台的具体实现步骤。

图像

最近关于使用“循环”来驱动 Agent 的讨论很多,我认为这同时也伴随着一些关于“循环到底是什么”的疑问。

我无法代表所有使用这个词的人发言,但我想展示一种使用 Skills 和云端 Agent 的实用方法,来实现一种特别强大的循环:自我改进循环

其核心理念是:Agent 能够通过外部反馈,随着时间推移提升自身 Skill 的质量。我的示例中涉及了一个包含人工反馈步骤的循环,但如果你有一个清晰的目标且不需要人工介入,也可以使用同样的方法,只是用自动评分器来替代人工。

具体来说,假设这个 Skill 负责对工单进行分类,将新提交的 issue 分到几个类别中:ready-to-implement(可着手实现)duplicate(重复)needs-info(需要更多信息)。这种方法同样适用于代码审查 Skill、Bug 修复 Skill、事件响应 Skill 等。

下面是这个 Skill 的初稿可能的样子:

图像 Full triage-issue Skill

你需要设置以下两种循环:

  • 内层 Agent 循环:这是实际应用 Skill 的地方。对于工单分类,你可以手动运行它,或者更常见的是,与你的任务追踪系统集成,每当有新 issue 提交时自动运行该 Skill。Skill 的交互记录会被保存在某个地方:文件、Agent 追踪日志,或是 Slack、Github 等外部系统的交互记录中。

  • 外层 Agent 循环:这是一个按计划运行的 Agent,它会观察内层循环对 Skill 的使用情况。对于工单分类器,这很可能是一个云端 Agent,它会拉取每次分类 Agent 运行的记录。其任务是查看内层 Agent 的所有运行情况,并根据运行表现来调整 Skill。由于 Skill 实际上就是文件,这意味着它会基于过去运行中收到的用户反馈,生成一个 diff 来改进 Skill。

我将使用 Warp 和我们的云端 Agent 平台 Oz 来演示实际操作,但实现方式有很多种。我们将使用 Github Issues 作为工单追踪系统。这里有一个示例仓库,其中包含了 Skills 和 GitHub workflows,供你参考。

第一步:设置内层 Agent 循环

内层 Agent 循环使用了一个 Github Action,该 Action 在每次创建新 issue 时运行。

图像 完整 GitHub Action

这个 Github Action 通过 Oz(Warp 的云端 Agent 平台)调用一个云端 Agent。该云端 Agent 会同步仓库,从 Github 拉取 issue 内容,并尝试对其进行分类。关于如何设置此功能的代码,可以在下面链接的仓库中找到。

现在,当新 issue 出现时,一个云端 Agent 会运行内层循环的分类 Skill,并添加一个标签,表明这是一个可以着手实现的新功能请求。

图像

第二步:设置外层循环以实现自我改进

假设人工审查者不同意 Agent 的分类结果。作为查看 Agent 分配标签的人,我将该 issue 从“可着手实现”改为“需要更多信息”,并在讨论串中添加一条评论,说明错误分类的原因,例如,关于是否应该为新功能添加一个设置项存在歧义。

图像

这时外层循环就变得有趣了。外层循环 Agent 每天运行一次,检查所有已被分类的 issue。当它运行时,会发现我手动调整了标签并给出了原因。

图像 完整的改进分类 Skill

由于外层循环 Agent 的 Skill 是通过编码 Agent 运行的,它会获取我提供的反馈,并生成一个 diff 来更新分类 Skill。

图像

一旦这个 diff 被合并,它就会反馈到驱动内层循环 Agent 的 Skill 中。下次 Agent 运行时,Skill 应该会表现得更好。

图像

我很想知道这对大家是否有帮助。我们使用自我改进循环来管理 Warp 的开源仓库,并提取了其背后的框架供他人采用。早期版本在此

  • 原文链接: x.com/zachlloydtweets/st...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论