什么让智能体能够自我进化:评估、自主改进与 harness 模块拆解
Annie Wang 在 O'Reilly Radar 分析智能体如何在模型不变的情况下通过经验自我进化,核心变化发生在 harness 层。她将自我进化拆为三部分:判断改动是否有效的评估、能自主承担更多工作的改进流程,以及允许改动的 harness 模块。ModularRSI 将 harness 分为上下文管理、智能体循环、工具使用、观察管理和任务完成检测五部分。
O'Reilly Radar· Annie Wang·2026-11-13 19:54· 2 小时前AI 评分56
什么让智能体自我进化?
AI 导读
Annie Wang 在 O'Reilly Radar 撰文分析智能体如何在模型不变的情况下通过经验自我进化,核心变化发生在 harness 层。
正文 · 原文
智能体无需新模型也能把工作做得更好。它可以学会寻找有用信息、选择正确的工具,或在报告成功之前确认任务已经完成。要让这些经验对下一个任务有帮助,就必须有东西延续下来:更新后的指令、保存在记忆中的经验教训,或对运行智能体的软件所做的改动。
这正是自我进化智能体吸引我的地方:它能利用经验改变自己处理未来任务的方式。这种改变大多发生在 harness 中,即模型周围的指令、上下文、工具和软件。像 Harness-RSI 这样的研究探索了智能体如何在继续使用同一模型的同时改变该 harness。
当然,改变也可能让事情变糟。保存的记忆可能是错的,或者一条新指令在解决一个问题的同时又制造了另一个问题。我从三个方面来思考自我进化智能体:评估,用来判断某项改变是否有帮助;改进流程,它能够自行完成更多工作;以及 harness 中允许它改变的部分。
评估:什么才算改进?
在要求智能体自我改进之前,我想知道做得更好会是什么样子。模型在基准测试上的得分告诉我们它在该测试中的表现。要评估用该模型构建的智能体,我们还需要问它是否使用了正确的信息、采取了正确的行动,并满足了用户的要求。
在我为教学评估开发的一个餐厅规划练习中,智能体会获得一群人的需求和餐厅信息。它的任务是为晚餐推荐一个地点和时间。人物和餐厅都是虚构的,但成功与否很容易理解:每个人都能在那里吃饭、负担得起,并准时到达吗?
在一次测试中,智能体推荐了一家满足所有人需求的餐厅。我的评估仍然把答案标记为错误,因为它将措辞与我写的一份示例答案进行了比较。但我的答案只是其中一种可能的解决方案。另一个不同的推荐也可能同样可行。这样的反馈可能会让一个自我改进的智能体去“修正”一个本来就已经很好的决定。
更有用的评估会检查推荐是否满足了这群人的要求。如果某人的预算是 25 美元,而一顿饭要花 28 美元,那么该方案就无法通过这项检查。我们可以围绕这些要求构建自定义评估,检查价格、饮食需求和时间安排。其他问题则需要判断,例如智能体是否清楚地解释了价格与便利之间的权衡。人可以或另一个模型可以帮助评估这些。
如果我们还要求智能体进行预订,我们就需要检查预订是否真的存在。一条写着“您的餐桌已预订”的消息是不够的。评估系统意味着既要检查它说了什么,也要检查它做了什么。
一旦智能体提出一项改变,我们就可以用当前版本测试更新后的版本。它应该仍然能处理好它已经做得很好的任务。我们还应该尝试那些未用于开发或选择该改变的案例。把一个晚餐方案做对,其价值不如处理好具有不同预算、饮食需求和时间安排的新群体。
评估还应该解释答案失败的原因。“这顿饭的花费超出了客人的预算”给了智能体具体可调查的方向。它仍然需要找出原因,但它知道从哪里开始。
自主改进:谁来推动工作向前?
如果工程师必须发现每一个失败、提出每一项改动、启动每一次测试,改进就仍然依赖那个人。自主改进意味着把更多这类工作交给系统。它可以回顾过去的任务,寻找重复出现的错误,提出改动,并测试改动是否有帮助。
例如,一个更自主的晚餐规划器可能会注意到,它反复推荐人们负担不起的餐厅,尽管他们的预算是可获得的。它可以尝试一条新指令:在比较剩余选项之前,先移除超出任何人预算的餐厅。然后它会在其他群体上测试这条指令。如果结果有所改善,并且智能体仍然能处理它之前做对的任务,它就可以保留这项改动。否则,它保留当前版本。
这里有两类工作。在规划晚餐时,智能体使用工具、读取结果,并决定下一步做什么。这是它的任务循环。改进过程则回顾这些尝试,并改变它处理未来任务的方式。一个智能体可以自主规划晚餐,却仍然依赖工程师教它更好的规划方式。
这种回顾不必在每次请求之后都进行。系统可以在若干次类似失败之后启动它,或者在夜间回顾一天的工作。把多个任务放在一起看,有助于它发现哪些问题反复出现。
我们可以逐步给系统更多责任。起初,它可以调查问题并测试改动,然后请工程师批准。之后,它也可以自行保留某些类型的改动。团队仍然决定它可以改动什么、可以花多少时间或金钱做实验,以及何时需要人介入。
Harness 模块:什么可以演化?
当智能体做出糟糕的决定时,我想先找到原因,再重写它的指令。如果客人的预算从未到达模型,告诉它“注意预算”不会有帮助。我们需要修复信息到达模型的方式。
ModularRSI 将 harness 分为五个部分:上下文管理、智能体循环、工具使用、观察管理和任务完成检测。它先分别研究对这些部分的改动,再把它们组合起来。这为我们提供了一种有用的方式,来追问智能体究竟可以改进什么。
对我来说,上下文管理排在第一位。它决定了模型在做决定时拥有哪些信息,包括哪些记忆被带入当前任务。反思性记忆意味着回顾发生了什么,并保存一条下次可能有用的经验。对于晚餐规划器,这条经验可能是:在比较餐厅之前,先检查每个人的预算和饮食需求。
记忆需要区分一般性经验和关于某个人的事实。“在推荐餐厅之前检查预算”可能对任何群体都有帮助。“这位客人有 25 美元的预算”则适用于特定的人和场合。没有这种上下文,智能体可能会在错误的情境中使用旧事实。
Dreaming 是一种在会话之间回顾和整理记忆的方式。系统会回溯过去的交互以及它已经存储的内容,合并相关的观察,并保存有用的经验教训。当记忆出现冲突时,它需要先核对原始证据,再决定保留哪些。例如,Anthropic 的 Dreams 会生成一组重新整理过的记忆,供后续会话使用前进行审阅。
我希望从 dreaming 中得到的是为下一个任务提供更好的起点。智能体应当能够在不重新阅读此前每一次对话的情况下找到有用的经验教训。我们可以通过比较它在使用旧记忆和修订后记忆时处理新任务的表现来测试这一点。只有在结果支持这一说法时,夜间整理记忆才算是一种改进。
智能体还可以改进它查找和整理记忆的方式。保存一条经验教训可能有助于未来的某个任务。改变它选择经验教训的方式,可能帮助它更好地利用未来的许多经验。
另外四个模块影响智能体完成工作的方式:
- 智能体循环:智能体进行规划、行动,并决定下一步做什么。它可以学会察觉自己何时在重复一种不成功的方法,并尝试另一种方法。
- 工具使用:智能体拥有哪些工具以及它如何使用这些工具。它可以添加自己需要的工具,或改变工具的接口,使其更容易被正确使用。
- 观察管理:智能体处理其工具返回的信息。它可以改变总结结果的方式,以免丢失重要事实。
- 任务完成检测:智能体判断工作已经完成。它可以在告诉用户已完成之前,先确认某个操作已成功。
这些部分协同工作。改变一个工具可能会改变智能体接收到的信息,进而改变它的下一步决策。测试单个模块有助于我们理解某一项改动。测试整个智能体则能告诉我们各部分是否仍能良好协作。
当智能体使用更新后的 harness 来执行下一轮改进时,改进就变成了递归的。假设它改变了在过往运行记录中搜索失败示例的方式。下一次它尝试自我改进时,就会使用这种新的搜索方法来决定调查和测试什么。某一轮做出的改动现在会影响它在下一轮中的工作方式。
这使智能体有机会在查找和测试改进方面变得更强,同时也能更好地完成其原本的工作。每一轮都建立在先前各轮保留下来的改动之上。要弄清这是否有帮助,我们需要检查后续轮次产生的改动是否在新任务上表现更好。
我想要一个因为学会了更好的工作方式而需要更少反复纠正的智能体。我们应当能够指出它学到了什么、改变了什么,以及我们如何验证这一改动确实有帮助。然后我们就能看到,当智能体面对新任务时,这一经验是否依然成立。
来源:O'Reilly Radar · oreilly.com
来源:RadarAI · aihot.news