第三课:Agentic AI 的三大核心特征
我的理解
本课将 Agentic AI 的”范式飞跃”拆解为三大核心特征:工具调用让 AI 突破语言模型”纸上谈兵”的局限,真正去执行命令、装依赖、抓数据;多步决策让 AI 从”回合制”升级为”即时战略”式循环,遇到报错能自己分析、修复、重试;自我检查/自我迭代则赋予 AI 验收标准意识,使其主动运行测试、检查产物规格直到达标。三者叠加,使 AI 从”输出文字”进化为”端到端交付任务”的执行者,也让原本需要专业知识的操作(如配 Python 环境、跑 NLP 管线)大幅下沉为自然语言指令。课程同时提醒,自我迭代并非”零错误”保证,成功标准必须清晰可量化,否则 AI 会在模糊目标上空转,甚至把 .cursorrules 当作可回写的”长时记忆”容器来累积经验。
相关链接
- Ch01-L01 从我问你答到我说你做 — 范式演进的背景
- Ch01-L02 Agentic AI的范式转变 — 三大特征的宏观定位
- Ch02-L03 cursorrules原理与自我进化 — 自我迭代与长时记忆的落地
- Ch03-L02 四大关键技术组件 — 技术组件的深入展开
原文
Lesson 4 of 18 第三课:Agentic AI 的三大核心特征【视频 3】 站在 2 0 2 5 年的开始 Show transcript
在前一课里,我们已经从宏观角度感受了 Agentic AI 所带来的“范式飞跃”,也就是从“我问你答”或者“我问你写”,跃升到“我问你做”。当一个 AI 能够自动装依赖、自动 debug 并且交付我们真正想要的产出时,我们不仅仅是在工具层面获得了提高效率的方法,更是在思考模式和工作流程上迎来了“地壳变动式”的冲击。这种冲击来自于 Agentic AI 的三大核心特征:工具调用、多步决策和自我检查 / 自我迭代。本节将围绕这三项特征展开,帮你把这些概念吃透,并用几个真实的小场景来展示其威力。
工具调用:让 AI 真正“动起手”来
如果说 ChatGPT 或一般对话模型只是坐在那儿和你聊天,那么 Agentic AI 就好比迈出了椅子,开始真正去“干活”。而让它能干活的重要武器,就是“工具调用”(Tool-usage)。在传统的语言模型里,不管训练数据多么海量,也总会碰到一些硬伤:它得自己去“猜”某些数值,还无法访问最新的网络数据,更别提执行系统命令或安装依赖了。语言模型再聪明,也难逃“纸上谈兵”的局限。但当你给 AI 配上一把“工具箱”,情况就截然不同。
工具调用的本质是什么?可以先把它想象成:AI 在生成文字之前,先问自己一句,“这个需求里有没有我用不上语言模型本身,而需要借助某个外部工具来完成的部分?”如果答案是“是的”,它就会停下来去调用此工具,把输入发过去,让工具返回结果后,再继续在大模型内部进行“思考”或者“推断”。这样一来,AI 突破了自己的盲区和短板——它不再拘泥于自己那有限的 Token 预测能力,而是将部分任务交给适合的工具。
最常见的例子是数学计算。你可能也遇到过 ChatGPT 一不小心就算错了个数,还一通胡扯。有了工具调用功能以后,AI 就可以说,“我把这个算式发给计算器脚本,你给我结果就行”。它只需要负责理解我们的问题、决定需要哪些计算、以及如何进一步解释计算结果。类似地,如果我们想让 AI 获取某些最新新闻,我们可以给它一个浏览网页的小工具,然后它就能访问目标网站,把拿到的内容再回传到大模型,接着大模型才能写出正确的摘要、评论等。
比如在 OpenWebUI 里,我们可以轻松地实现一个计算器的工具,并且调用这个工具来完成计算任务:
更高级的场景里,工具调用甚至可以延伸到远程数据库读写、电子表格批量修改、图像处理脚本、语音转换、视频剪辑脚本等等。每多一个工具,就多了一条让 AI“从语言层面深入到现实世界”的臂膀。很自然地,只要你敢开权限,AI 就能替你“跑马灯”式地尝试各种可能。想象一下,你的 AI 不再只能跟你聊股价历史,而是能调用财务数据接口和可视化脚本,把一张漂亮的图或报告摆到你面前;也不再只能给你写 Photoshop 的操作步骤,而是真正把那张头像裁成了圆形并抠了背景。一句话,就把这个繁琐的美工活给做完了。
更关键的是,有了工具调用,一些原本需要专业知识才能做的工作,也可以大幅度交给 AI 去摸索。比如想跑一段自然语言处理管线,如果你一开始对 Python 环境没什么概念,装库、pip install、conda、virtualenv 这些事都要自己慢慢整。可是在 Agentic AI 时代,你只要对它说:“给我跑个分词和词频统计,看看这个文本里哪些词出现最多”,AI 就会自发地调用 python 这个工具、调错了就改、依赖没装就自动 pip install——它成了一位帮你打杂、但偶尔也能做点决定的小助手。
那么,工具调用对个人工作方式有何影响呢?最直观的影响就是,我们可以把越来越多的细碎任务外包给 AI,而且不用再手动切换、拷贝粘贴。就像交给一个下属,你吩咐完,他能拿着一串钥匙去开各种门。要是 AI 在调用工具时报错,也能自己 debug。一来,我们释放了大脑;二来,我们很可能在这个过程中,逐渐挖掘到更多新需求——“这个网页数据既然能爬下来,是不是可以自动生成一份定期报告?”“这个图既然能合并,是不是可以直接发到社交平台?” 于是,AI 再加上一个“自动发帖”的脚本,便能一步到位。
当然,赋予 AI 一把钥匙也意味着风险和投入,特别当这些工具牵扯到敏感数据或者系统权限。很多现实案例里,企业会给“Agentic AI”划定一座沙箱,让它在 Docker 容器或虚拟机里随意折腾,不至于影响到生产环境。对个人而言,这可能就是“安全模式”或“手动审批模式”:AI 想运行某条命令,需要用户在界面上点一下确认。这些都是后话,但至少说明,你能给 AI 配多少把工具,就可以解锁多少可能性。
多步决策:AI 走一步,看一步
有了工具调用之后,AI 还不能称为 Agentic AI。它还需要一个非常核心的能力:多步决策(Multi-step reasoning)。它不仅能随时根据需求调用工具,还可以在同一次交互里先试一招,如果失败,就检讨一下失败原因,然后试另外一招;如果成功,就继续往下进行下一个环节,直到最终完成。也就是说,它不再是“回合制”的对话,而是“即时战略”式的循环:自动检查、自动调整、自动执行下一个命令,真正把人从反复贴错误信息、指令的苦活中解放出来。
很多人首次感受到“多步决策”威力的时候,往往会发出类似惊叹:“AI 怎么好像自己在动脑子?我都没让它改第二遍,它就自己改了。”这背后是一个比较简单但巧妙的机制:语言模型一次生成的文字中,嵌着一段对工具的调用——若调用失败,AI 会看见这份失败日志,然后再生成新的文字,又嵌着新的调用;周而复始,直至结果符合期望。只是这个循环过程,对于外行人而言,看起来就像 AI 真的在主动思考和试错。
多步决策的最典型案例,是处理各种动态报错和异常。试想以前我们让 ChatGPT 帮忙写一个 Python 脚本,如果脚本没装库或少了依赖,那 ChatGPT 只能被动地等我们把报错信息贴回来,再生一个版本。可现在的 Agentic AI 如果在执行 python xxx.py 时发现“ModuleNotFoundError: No module named abc”,它就会立刻 pip install abc,再重新跑一次脚本。假如安装还要 root 权限,它可能继续尝试其他命令,或者把报错信息贴进自身的语言模型上下文里,分析“是否应该修改 Docker 里的权限配置”。这些行为统统在“多步决策”之下完成。人站在旁边当个见证就行,除非你发现 AI 要做什么危险操作,才去按下“紧急刹车”。
在数据分析领域,“多步决策”也带来很多新的机会。比如我们希望 AI 做一个月度销售数据的可视化报表,一旦发现数据表格里有一些错误记录,它自己也能查找异常值、猜测需要怎样的数据清洗,然后干脆写个小脚本过滤掉含空值的行,最后继续跑可视化。过去,这些“发现问题并改正数据”都需要数据分析师一步一步盯着脚本来做;现在 AI 可以大大减少我们的手工参与。比如在下图中,Claude Desktop 为了完成我们给它的可视化任务,先写了一个 SQL 脚本,在执行失败以后,随后自己根据错误信息调整了脚本,再次执行,得到了实际的数据。最后根据这个数据给出了可视化,并且做出了分析。
另一个有意思的场景是爬虫。对很多网站来说,单纯一段爬虫脚本往往无法一次到位,因为会出现验证码、登录限制、未知的页面结构变动等。多步决策意味着 AI 能够在遇到网页跳转或 403 禁止时,自己想办法加 headers 或模拟点击,再测试一遍。如果它失败了,就再想别的方法。在这个过程中,确实会让人觉得“AI 在试图绕过障碍”,有时甚至像游戏里 NPC 在摸索新路线。我们只要提供必要的工具或权限即可。
当然,也要承认,多步决策并不神奇到“必然能找到最优解”。它还是可能陷入某些循环,或者一再碰壁。如果网站设置了更严苛的反爬策略,尤其是要求输入 CAPTCHA 的话,AI 也会束手无策。不过相较于以前的“回合制”,它已足以把我们从大量枯燥的来回贴信息里解放出来。正因如此,我们才说它是一种“非常质变的形态”。对编程、对数据操作、对任何需要尝试-反馈-修复-重试的任务,都有显著的效率提升。
在实践中,你能多次见到人们用 Agentic AI 干一些很“看似高阶、实则琐碎”的事:一方面它需要中等程序员水平才能解决,另一方面程序员并不想在这上面花过多时间。比如遍历 20 个文件夹,每个文件夹里 300 行 CSV,需要合并、替换、匹配 ID,再输出 JSON 格式……如果只有 ChatGPT,估计要 copy 报错信息给它好几轮才行;但 Agentic AI 自己就能搞定一大部分 Debug 工作。你只要盯着它别把硬盘全删了,就大功告成。
自我检查 / 自我迭代:AI 不再一次性输出
如果说“工具调用”让 AI 有了可操作的手脚,“多步决策”让它可以连贯地执行并 debug,那么“自我检查 / 自我迭代”就进一步赋予了它某种“自我审视”的能力。别误会,它并不是真的有自我意识,而是通过一套逻辑或 Prompt 机制,让它知道:只有达到某个验收标准,或者只有当它确认所有子任务都完成后,才算真正收工。这与之前的“回答式”或“补全式” AI 又是完全不同的思路。
最简单的例子是,你可以对 Agentic AI 说:“如果我让你写一个 Python 包,需要保证 pytest 里的所有测试都通过,否则别回来找我。”然后它就懂了:要想宣称“我搞定啦”,必须自动运行 pytest,判断是否有报错。如果有,就重新改代码、再跑测试。循环数次后,它若能成功通过,也就算完成了“自我检查”。在这个流程里,你没有手动贴报错信息给它,它自己就能通过多步决策实现“编写 - 测试 - 修正 - 再测试”这个常见的开发循环。这样做不仅节省了时间,也让 AI 的输出质量“出厂就更高”,不至于生成一堆 bug 再把烂摊子丢回给你。
另一个典型场景是前面提过的“生成图像或可视化文件”。你可以预先告诉 AI,“我想要一张 1600×900 的图片,如果生成完发现分辨率不够或长宽不对,说明还没达到成功标准,你要继续改。”这种标准可以写在一个 .cursorrules 文件里,也可以通过提示语直接告诉它。当 AI 进行多步决策时,每一步就会想:“我是否满足了 1600×900?如果不满足,就不能结束。”带来一个重要的结果:AI 很可能不会只写一版脚本就结束,而是会先输出一张图,再调用某个脚本检查像素大小,如果发现不对,它又会第 N 次生成代码、调整参数、重新执行。这种自我迭代对个人来说是极大的工作量减负。
更惊艳的一点是,某些 Agentic AI 工具还允许 AI 把经验写回到自己的“知识库”,比如 .cursorrules、.windsurfrules 或者别的自定义文件。这就使得它有了“成长”的可能:今天它遇到一个陌生的网站,被封了几次 IP,它就记录下反爬虫需要用“特定代理”或“休眠若干秒”的策略。下次执行相似任务时,它会先翻翻自己那份“反爬虫小贴士”,尝试最优策略。这跟带一个实习生非常像,只是这个实习生不需要发工资,但要在提示词里多写几行给他“启发”。许多人一开始看到这种场景会有点好奇,“真的有用吗?” 实际上只要设置得当,就能减少后续的重复踩坑。
回到比较朴素的层面,“自我检查 / 自我迭代”对我们的最大价值在于省时省力。过去,在“回合制”的对话模式下,哪怕只是拼接两个图像,也可能需要我们手动贴报错信息、告诉它要加“PIL”库、告诉它再次执行命令等。现在则是“我交代完成功标准,你自己去折腾到满意再来找我。”有些任务即使要迭代十来次,AI 也不会抱怨,我们只要悠闲地看着它在终端里折腾就好。从结果来看,这是一种非常解放脑力、解放时间的体验。特别是如果你还要应对办公室里其他事务,随时可以把这类自动迭代任务丢给 AI 去跑。
这里需要再强调一下,自我检查 / 自我迭代是用来让 AI 往正确方向收敛,而不是替你彻底担保“零错误”或“完美答案”。AI 终究还是个概率模型,如果你的成功标准写得过于模糊,它就会纠结好几轮还达不到你的心理预期。或者说,你自己也不确定一个任务做到怎样才算“完成”,那 AI 就更无从判定了。因此要让自我迭代机制真正发挥威力,你需要对“合格标准”先有一个基本认识,比如编程上的测试用例、图像尺寸、可视化数据是否要超过某个阈值等等,最好能把它们都转化成可以被自动检测或至少轻松判断的条件。这样 AI 在每次执行后都能快速知道自己成功还是失败,从而有针对性地修复。
许多 Agentic AI 平台也在不断探索更高级的自我迭代模式。比如有些平台会让 AI 调用另一个 AI 进行审核,一主一副,一对一检查。也有平台在背后嵌一个 planner,把所有子任务列成有层次的树状,如果某个任务失败就回溯到上一步,或重新生成一个替代分支。这些都属于未来可能演变的方向。就像我们之前所说,这才是开端,更成熟的 Agentic AI 还会涉及更复杂的模块化与并行协同。