一位资深工程师终于受不了了。每月结算差旅费,他得反复从几十个航班报价中手工算出总价、挑出超预算的条目,再把最便宜两张票的价格加在一起。三周前他忍无可忍,打开编辑器,写了一个脚本——从此,这活儿变成点一下按钮的事。推理只发生在写脚本那一次;之后的每一次调用,都是精准、快速、零思考的自动执行。
大多数AI代理至今还没学会这一招。面对同样类型的数学任务,它们每一次都从零开始推理:今天让它汇总一串数字,它推演一番给出答案;明天再问同一个问题,它又从头推演,消耗完全不亚于首次的token量,有时还给出不同的错误答案。推理过程中学到的任何东西,随着会话结束就蒸发了。
![]()
完全按照资深工程师的思路,一个能够“自我改进”的AI代理,却在第一次解完任务后,就当场写一小段工具代码,验证它能运行,然后永久收入自己的工具箱。此后,无论遇到多少次“汇总费用”的需求,它都不再推理——直接调用那个自己写好的函数。那种来来回回的重复推理,被一次性替换为确定性的函数调用。
但有个细节得先坦白:第一次就写工具,花费的token比单纯做一次推理还要多。在运行时生成代码可是token消耗大户。这一点,没有半点水分。好处不体现在省钱,而体现在正确性和可复用性——一次构建,之后精准调用到天荒地老。为了把这个取舍说清楚,有人专门做了一版可运行的演示,代码全在resilient-agent-harness库里,demo叫“04-self-improving-skills”。演练场景用了Strands Agents框架,数据是Duffel沙箱里的真实航班费用。
演示设计了四个任务。前三个各有所指:给一堆费用算总和;统计超过设定阈值的条目数;挑出两张最便宜的票并求和。第四个任务则故意又重复了一次第一个任务的需求,就为了让你亲眼看到工具复用到底有多直接。每个任务都跑两次——用普通静态agent跑一遍,再用自我改进型agent跑一遍。一边记录实际消耗的token,一边以Python算出的标准值为基准,比对着看每次回答到底准不准。
这里需要明确一个关键概念。通常听到“自我改进”,可能会以为模型在变聪明,参数在更新。其实完全没这回事。支撑模型的那套权重自始至终纹丝不动,没做过任何微调,也不存在额外的训练步骤。变化的部分,是模型周围那层确定性的“鞍具”——也就是它可以调用的函数集合。agent在运行过程中,自己往这个集合里添上了自己写好的工具,就像开发者经年累月攒出了一套个人助手函数库。模型的能力没升级,但它的工具箱在变得密实和好用。
这种分工想想其实很巧妙。让模型负责第一次面对难题时的推理与编码,再让生成出来的工具代码保证后续重复场景下的稳定和高效。既用到了语言模型每次从头理解问题的弹性,又规避了它在重复劳动时容易产生的随机偏差与高额开销。一个agent从只能被动推理,变成了可以主动扩充自身函数调用的集合,虽然它没变聪明,但整个系统确确实实变得更能干了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.