生成式 AI 三十讲第 16 讲 / 共 30 讲智能体这一年

什么是智能体:一个会自己转的循环

智能体的本质是规划、执行、观察的循环,转得越多偏得越远,所以必须设上限。

你让 AI 整理一个文件夹:把发票按月份改名,再把金额写进表格。普通聊天模型会给你一份操作教程;真正动手的程序却要连续做几十个决定:先列出文件、逐个读取、识别日期、改名、写表,遇到扫描失败还得换办法。它为什么能从一句话走到这么多步?答案不在于它突然有了主见,而在于外面多了一套反复调用模型和工具的程序。

先给答案

智能体不是某一种更聪明的模型,而是一套让模型反复决定下一步、调用工具并检查结果的运行方式。也就是说,模型负责提议行动,外层程序负责执行并把结果送回来,直到任务完成、需要人接手,或撞上预先设定的上限。

一次回答怎样变成一个循环?

聊天模型通常只走一趟:收到问题,生成回答,结束。智能体外面则有一个智能体循环。也就是说,程序让模型经历“看现状—选行动—执行—看新结果—再选行动”,而不是一次把整份答案写完。

智能体接收目标后反复规划下一步、调用工具执行、观察结果并更新状态,直到完成、请求人工接管或达到步数上限
智能体靠“规划—执行—观察”循环推进任务;完成条件、人工接管与步数上限负责让循环停下来。

拿整理发票来说,第一轮模型看到的是“文件夹里有 48 个 PDF”,于是提出“先读取文件名和第一页”。程序执行后,第二轮把“其中 5 份无法提取文字”交回模型。模型可能改为调用图片识别。第三轮拿到日期和金额,再决定如何改名。每一轮的输入都包含目标、当前状态、可用工具及上一步结果;每一轮的输出则是下一项行动,或者“任务完成”。

这里的关键是工具调用。也就是说,模型不会真的伸手碰文件,它只生成一份结构化请求,例如“调用 rename_file,把 A.pdf 改成 2026-07-供应商甲.pdf”。真正改名的是外层程序。程序也可以拒绝请求、要求确认,或只返回模拟结果。把“模型提议”和“系统执行”分开,才有机会检查权限和参数。

因此,同一个模型放进不同的智能体程序,表现会相差很大。一个程序只给它“读文件”工具,它最多做分析;另一个程序给它读写文件、运行命令、访问邮箱和数据库的工具,它能完成更长的工作,同时也能造成更大的麻烦。评价智能体时,只问模型名称远远不够,还要看工具、运行规则和错误处理。

它如何知道下一步该做什么?

模型并没有藏在内部的完整施工图。多数时候,它根据当前看到的信息临时选择下一步。外层程序会给它一段目标,例如“把报销材料整理好,但不要删除原文件”,再附上工具说明和当前目录。模型先提出一个动作,看到结果后再修正计划。

这种做法的好处是能应对意外。假设表格原本应有“日期、供应商、金额”三列,实际却多出一列“税额”。写死的脚本可能直接报错;智能体可以读到新表头后调整写入位置。坏处也来自同一处:它可能误读目标,把“按月份归档”理解成“每月只留一份”,然后提出删除重复文件。

所以任务状态必须写得可检查。“整理得差不多”无法验收;“48 份文件均保留原件,副本按 YYYY-MM-供应商.pdf 命名,表格 48 行,金额合计与原表一致”就能逐项核对。每完成一步,程序可记录改了哪个文件、调用了什么工具、返回了什么结果。若第 17 步出错,你能追到原因,而不是只看到一句“已完成”。

停止条件同样重要。常见条件有三类:模型明确返回完成;程序检测到验收项全部通过;或者达到步数、时间、调用量上限。第三类不是可有可无的保险。若图片识别工具连续报错,模型可能反复换参数;没有上限,它会一直转,却不会凭空得到缺失的数据。

为什么转得越久,反而越容易偏?

每一轮都会增加新文字:工具返回值、错误信息、临时计划、文件摘要。内容越多,模型越可能忽略最初限制。更麻烦的是,早期一个小判断会成为后续步骤的前提。第一轮把“开票日期”错认成“付款日期”,后面 47 份文件即使处理得整齐,也是在整齐地做错事。

错误还会被工具放大。聊天框里说错一个文件名,你可以不理;有写权限的智能体说错后,程序可能真的改名。若下一轮又根据错误文件名更新表格,一个失误就扩散成两处。循环次数不是能力分数,长任务也不等于应该放任它无限行动。

可靠的做法是把长任务切成带检查点的小段。先让它只生成改名清单,不执行;人确认抽查 5 项后,再批量改名;随后只生成表格预览,对比行数和总金额;最后才写入正式文件。对不可逆操作,例如删除、付款、发邮件,应设置单独确认,而不是把它们混在普通步骤里。

还有一种常见措施是限制工具范围。处理发票时,不需要给邮箱发信权限;分析代码时,不需要访问整块硬盘。权限越贴近任务,模型即使判断错了,影响范围也更小。真正可用的智能体,不是“什么都能做”,而是“在明确边界内能持续做,并且随时能停”。

自己试一下

2026 年 8 月 27 日,我在当前 AI 对话环境里做了一个不需要真实工具的纸面实验。你也可以把下面这段提示词发给任意 AI 聊天框:

你是一个只能使用 list_files、read_file、rename_file 三个工具的智能体。目标是把 12 份发票按“日期-供应商.pdf”改名,不得删除文件。现在 list_files 返回:10 份正常 PDF、1 份加密 PDF、1 份文件名重复。请一次只给出下一步行动、调用参数和停止条件,不要假装工具已经执行。

观察它是否先索要完整清单,而不是直接宣布完成;遇到加密文件时是否请求人处理;面对重名是否先确认冲突类型;以及是否保留“不删除”的限制。本次只做了单轮纸面重跑,没有连接真实工具:模型因缺少逐项文件名和工具参数而选择暂停,并列出了加密文件、名称冲突和完成条件。这个结果不能证明连续多轮执行仍会守住边界;你试的时候也应把每轮工具结果和新增动作记录下来。

常见误解

第一,智能体不是“有自主意识的 AI”。它的所谓自主,是外层程序允许模型在若干工具之间连续选择;断开程序、撤掉工具,它仍只会输出文字。第二,步骤越多不代表能力越强。十步完成且每步可核对,通常比一百步边走边猜可靠。第三,“加一个智能体”也不是给现有系统换个开关,它还需要权限设计、状态记录、失败恢复、人工确认和验收规则。

三句话总结

  1. 智能体是模型、工具和外层循环共同组成的运行方式,不是一种神秘的新模型。
  2. 循环让它能根据结果继续行动,也会让早期错误沿着后续步骤放大。
  3. 步数上限、明确验收、最小权限和不可逆操作确认,决定它能不能安全地做长任务。

如果你要做决定

看智能体演示时,别只看它最后是否交出结果。请供应商展示完整行动记录、停止条件、错误重试上限和人工确认点,再故意放入一份坏文件,看系统是停下来、绕过去,还是悄悄编一个成功结果。