把一个大模型接进对话框,它能陪你聊一整夜,却动不了你桌面上的一个文件。
这不是它偷懒,而是它的能力边界本来就画在这里:它只会输出文字,别的事情一件也做不了。所谓 Agent,说到底就是想办法在文字之外给它接上手和脚——而这件事的技术含量,几乎全部落在一个循环里。
它的全部本事,就是“说”

先把这件事说透。模型的输出永远是一串文字。它可以告诉你“这个文件名起得不好,建议改掉”,说得条理分明,但它没有权限去改;它可以写出一整段能跑的脚本,但它自己不会运行它。
模型本身不执行任何操作——不点网页,不读硬盘,不发消息。真正动起来的每一步,都是外面某个程序替它做的。
记住这条分工线:模型负责说,外面的程序负责做。后面几篇文章里出现的每个名词,几乎都是围绕这条线展开的细节。
举个近的例子。它说“把这封邮件发出去”,和它说“今天天气不错”,对模型来说是同一类事情:产出一串文字。区别不在模型这边,而在外面——程序读懂了第一句,真去发了;第二句没人搭理,也就止步于一行字。
聊天机器人,卡在哪一步
很多人会问:我常用的聊天框也能搜索、也能读我上传的文档,那它算不算 Agent?
算不算,不看它手上有几件工具,看的是另一件事:下一步做什么,由谁决定。
聊天机器人的节奏是“一问一答”。你抛出一句话,它回你一段内容,这一轮就结束了。它当然可以查资料,但查几次、查到什么程度算够、结果不理想要不要换个说法再查一遍——这些通常由你写在那一句话里的要求决定,而不是由它边做边判断。
Agent 多出来的正是这段判断。它拿着一个目标,一轮一轮决定下一步干什么,做完看一眼结果,再决定下一步。目标没达成,它不会把话说完就收工。
工具不是分界线,谁决定下一步才是。
感知、决策、行动:一台机器转三拍

一个 Agent 运转起来,每一轮都走同样的三步。
- 感知:把外部世界的信息读进来。对模型来说,这一步就是“把当前状态翻译成它能读的文字”——刚拿到的执行结果、报错信息、文件内容,最后都以文字形式摆在它面前。
- 决策:模型读完当前状态,说出下一步要做什么。可能是回答你,可能是请求查一个东西,也可能是承认自己走错了、要换条路。
- 行动:由外部程序真正把这件事执行掉——发请求、读文件、跑代码,然后把执行结果交回去。
然后第二轮开始。三步转一圈就是一个循环,循环转到目标达成为止。
为什么“循环”才是关键
单次调用是开环的:输入一次,输出一次,模型没有任何机会修正自己。它对世界的全部认识,只来自你递给它的那一段文字。
循环把它接成了闭环:每一步行动的后果,都会变成下一步决策的输入。模型读错了文件,报错信息会回到它面前;查到的资料和预期不符,它可以换个关键词再查一次。
这件事真正的威力在于:犯错被允许了。开环的模型必须一次说对,说错了话已经出去,没有补救余地;闭环里的 Agent 可以错,只要它还看得见错在哪里,并且下一轮能改。
所以模型的能力上限,决定的是 Agent 的天花板;而循环决定的是,这份能力到底能不能落到地上。
拆开看,一个循环至少买到三样东西:
- 可以试错:一步没走通,代价只是多转一圈,不用推倒重来;
- 可以分步:一个大目标切成小步,每一步都有结果可看;
- 可以喊停:中途发现方向不对,人能随时插进来改要求。
三样里最不起眼的其实是第三样。开环系统里,你唯一的介入点在它开口之前;闭环系统里,你可以在它每一圈之间插手。
一个任务在循环里被拆成什么样
假设目标是“把上季度的销售表整理成一份汇总,发给同事”。Agent 内部大概会这样走:
- 读到任务,决策:先看表格文件。行动:外部程序打开文件,把内容交给它。
- 见到数据,决策:这堆数字要算一算。行动:外部程序跑一段计算,把结果交回来。
- 拿到结果,决策:写成一段汇总。行动:输出汇总文字。
- 决策:该发出去了。行动:外部程序调用邮件接口发送——这一步通常会被拦下来,要求你确认。
有两个细节值得留意。第一,每一轮的“行动”都是外部程序在干,模型只负责把要干什么说清楚。第二,最后那句“要求确认”,是外部程序设的闸门——Agent 手里有多少权限,从来不由它自己决定,而由搭它的人决定。
能力强一点,还是结构好一点
让 Agent 更能干,有两条路:把模型本身练得更聪明,或者把外面的结构搭得更讲究——循环怎么设计、给它哪些工具、记性怎么管、权限边界画在哪。两条路都有效,而且不互相排斥。
工程上更常见的现实是:同一批模型,接上一套讲究的结构之后,能接住的任务面会宽出一大截。这也是“Agent 工程”这件事本身值钱的原因——它不改变模型的聪明程度,它改变的是这份聪明能被用在哪里。
反过来也得承认它的短板:循环意味着它可能绕圈,可能反复犯同一个错,可能在没人盯着的时候花掉一笔钱。所以真正上线的系统一定会配边界:允许它做什么、最多转几轮、哪些动作必须先停下来问人。
它做不了的,比它能做的更值得记住
- 清单外的事,它做不了:工具说明里只有“查天气”,它不会突然跑去改你的日程。能力长在外面,装了什么才有什么。
- 一次成功不等于学会:这回把任务办成了,不代表它下次自然就会。经验留在日志里,不在模型里——想让它复用,得靠外面记下来。
- 自主是有范围的:范围由搭它的人事先划好,它能挑选的只是范围内的下一步。
Agent 的能力边界,就是它手上那几件工具和那套循环规则的边界。
这个系列的四步

后面三篇会把上面提到的零件一件件拧开看:
- 第二篇:工具调用——模型怎么用上外面的程序;
- 第三篇:ReAct——“想一步、做一步”的循环具体怎么转;
- 第四篇:记忆——怎么让它别把前面做过的事忘干净。
四篇之间不跳步,每一篇只拆一个零件,拆完了再接着往下走。
