S3E04: Agent怎么给自己列计划?——拆解任务与自我纠错
AI有点意思

S3E04: Agent怎么给自己列计划?——拆解任务与自我纠错

8分钟 154 1周前
节目简介
来源:小宇宙
大家好,欢迎回到《AI有点意思》。我是小艾。
前几期我们聊了Agent的定义、工具箱和记忆力。这一期,我们来聊一个特别有意思的能力——做计划。
你可能会想:做计划有什么稀奇的?我自己也会做啊。但你想过没有,当你对Agent说“帮我组织一次班级春游”或者“帮我策划一个生日派对”,它可不是随口给你几条建议就完事了。它会像一个真正的项目经理那样,自己把大任务拆成小步骤,一步一步执行,中间出了问题还能自己调整。
这就是Agent的规划能力。今天我们就来拆解它到底是怎么做到的。
我们先从一个生活化的例子开始:做番茄炒蛋。
假如你从来不会做这道菜,但是有一个智能厨房Agent,你对它说:“帮我做一盘番茄炒蛋。”它会怎么反应?
首先,它不会直接去开火。它会先在脑子里把任务拆解成几步:第一步,准备食材——鸡蛋、番茄、油、盐、糖;第二步,处理食材——番茄切块,鸡蛋打散;第三步,炒鸡蛋,盛出来;第四步,炒番茄,然后把鸡蛋倒回去一起炒;第五步,加盐加糖,出锅。
你看,一个看似简单的指令,背后其实隐藏着一串子任务。Agent要能够识别出这些子任务,并且按正确的顺序执行。这就像你早上起床后,不需要别人提醒就知道要先刷牙再洗脸,而不是先吃早饭再刷牙——因为你的大脑已经自动规划好了顺序。
在AI领域,这种把大任务拆成小步骤的能力,叫做任务分解。而任务分解背后的技术,有一个很酷的名字——思维链。
思维链这个概念最早由谷歌研究人员在2022年提出。它是什么意思呢?简单说,就是让AI不直接给出答案,而是先把思考过程一步一步写出来,就像我们做数学题时要写“解:因为……所以……”一样。
举个例子。你问一个普通AI:“小明有5个苹果,给了小红两个,又买了3个,现在有多少个?”它可能会直接蹦出答案“6个”。但如果是用了思维链的AI,它会先写出步骤:5减2等于3,3加3等于6,所以答案是6。这个中间的推理过程,就是思维链。
为什么要这么做呢?因为很多复杂任务不是一步就能完成的,强行直接给答案很容易出错。让AI把思考过程写出来,一来可以提高准确性,二来我们可以看出它哪里想错了,方便调试。更重要的是,思维链是Agent做规划的基础——它必须先在大脑里“想清楚”步骤,才能去执行。
那么,Agent有了任务分解 and 思维链之后,是不是就能完美执行所有计划了呢?还不行。因为现实世界里总有意外。
回到班级春游的例子。你让Agent帮你组织春游,它拆解出的步骤可能是:确定日期→查景点→算预算→订大巴→发通知。一切都安排得明明白白。可是,当它执行到“查景点”这一步时,发现你最想去的那个植物园当天已经被其他学校包场了,订不到了。这时候怎么办?
一个只会死板执行计划的Agent,可能会卡在这里,然后告诉你:“抱歉,植物园订满了,任务失败。”但一个好的Agent会启动自我纠错机制。
它会自己判断:植物园没了,那我换个类似的景点行不行?比如旁边的动物园、科技馆或者湿地公园。它会重新搜索附近可预订的景点,找到一个备选,然后继续后面的步骤。它甚至可能会回头调整预算——如果备选景点门票更贵,它需要重新算一下总费用,看看是否超支。如果超支,它可能还会建议你减少人数或者换更便宜的大巴。
这个过程中,Agent展示了一种非常重要的能力:在执行中动态调整计划。它不是一条道走到黑,而是像人一样,遇到路不通就绕道走。
这种自我纠错的能力在编程Agent身上体现得尤其明显。比如我们之前提到的Claude Code,当你让它“给登录接口加上限流功能并跑通测试”时,它可能会先写一段代码,然后运行测试,发现测试失败了。这时候它不会撂挑子,而是会读取错误日志,分析失败原因——可能是Redis没连上,也可能是限流算法写错了。然后它自己修改代码,再次运行测试,直到全部通过。这个过程可能循环好几次,但最终它会完成你交给它的任务。
那么,Agent的规划能力到底是怎么实现的呢?技术上讲,主要有两种思路。
一种是内置规划器。开发者在设计Agent时,就给它写好了任务分解的规则和模板。比如“旅行规划”类任务,固定步骤就是查机票、订酒店、租车等等。这种方式简单可靠,但不够灵活,遇到没见过的任务类型就抓瞎了。
另一种是动态规划。Agent利用大模型本身的推理能力,每次遇到新任务,都现场“思考”出步骤。这种方式非常灵活,几乎可以处理任何开放性的问题,但缺点是速度较慢,而且有时会想出一些不靠谱的步骤。
目前主流的Agent往往两者结合:对于常见任务用固定模板快速处理,对于复杂或新颖的任务则启动动态规划。
规划能力还有一个前提,就是Agent必须对自己的能力边界有清晰的认知。它要知道自己能调用哪些工具、不能做什么。否则,它可能会拆解出一些根本执行不了的步骤,比如“让冰箱自己走到超市买菜”——想法很好,但做不到。这就像你自己做计划时,不会写“明天长出翅膀飞上天”一样。
为了让Agent不做“白日梦”,开发者会给它设定能力清单。Agent在拆解任务时,只会在自己的能力范围内规划步骤。如果某个子任务超出了能力范围,它要么请求用户帮助,要么尝试寻找替代方案。
我们再来总结一下今天的内容。
第一,Agent的规划能力包括任务分解和自我纠错两个核心部分。任务分解把大目标拆成可执行的小步骤,自我纠错保证在执行中遇到问题时能动态调整。
第二,思维链是规划的基础技术。通过让AI一步步写出推理过程,可以显著提高复杂任务的完成质量,也让规划过程更加透明。
第三,Agent有两种规划方式:内置规划器适合固定任务,速度快;动态规划依赖大模型现场推理,灵活性高。主流Agent通常两者结合使用。
第四,规划的前提是Agent清楚自己的能力边界,不会拆解出自己做不到的步骤。
下一期,我们将进入一个非常酷的话题——Agent怎么操控电脑和浏览器。你可能听说过Anthropic的“Computer Use”功能和谷歌的“WebMCP”,它们让Agent不仅能做计划,还能像人一样直接操作你的屏幕、鼠标、键盘。我们下期见。
这里是《AI有点意思》,我是小艾。每周和你一起,用最轻松的方式,看懂最前沿的AI。下期再见。

加入我们的 Discord

与播客爱好者一起交流

立即加入

扫描微信二维码

添加微信好友,获取更多播客资讯

微信二维码

播放列表

自动播放下一个

播放列表还是空的

去找些喜欢的节目添加进来吧