[控场AI]
· 6 分钟阅读· 3,079 字

AI智能体的本质:一个带工具的while循环

AI智能体的本质:一个带工具的while循环

AI智能体的本质是模型+循环+工具调用,智能来自结构而非模型本身。

这篇文章以极简方式拆解了AI智能体(AI Agent)的真实工作原理:它不是更强大的模型,而是把普通模型放入一个while循环、并赋予其工具调用能力的工程范式。模型本身只能"请求"工具,真正执行工具的是外部代码,执行结果再回传模型以驱动下一步决策。循环通过三种条件终止:模型不再请求工具、达到步数上限、或等待人工批准。文章还给出了区分"工作流"与"智能体"的清晰标准——步骤由代码预设是工作流,由模型自主选择才是智能体。这一框架帮助读者穿透"AI Agent"的营销迷雾,识别真正具备自主决策能力的系统与固定流程包装之间的本质差异。

AI智能体不是更聪明的模型,而是一个循环

很多人以为AI智能体(AI Agent)是某种更强大、更智能的大模型,但事实并非如此。按照这段科普视频的精炼定义:智能体的本质,其实就是一个while循环。

对比一下聊天机器人(chatbot)就能看得很清楚。聊天机器人是一问一答——你发一个prompt,模型给一个回答,交互就结束了。而智能体则把同一个模型放进一个循环里,并给它配上一组可调用的工具(tools)。模型的能力没变,变的是它被运行的方式。

这个视角很重要:智能体的智能不来自模型本身的升级,而来自循环结构加上工具调用带来的行动能力。模型负责思考和决策,循环与工具负责真正把事情做出来。

模型会"请求"工具,但自己不能执行

这里有一个常被忽略的关键细节:模型本身并不会执行任何工具。它只能"请求"调用某个工具,比如说"我想搜索代码库"或"我想读取这个文件"。真正执行这个动作的,是你的代码。

An agent puts the model in a loop, with tools. The model asks for a tool, but can't run it.

流程是这样的:模型发出工具调用请求 → 你的代码实际运行这个工具 → 把执行结果再送回给模型 → 模型基于新结果决定下一步做什么。这个"请求—执行—回传—决策"的闭环,是智能体运作的核心机制。

Your code runs it and sends the result back. Then the model picks the next step.

理解这一点,能破除两个常见误解:一是以为模型能直接操作外部世界(它不能,必须经由你的代码);二是以为工具调用是模型的"魔法"(其实是一套明确的工程协议)。

这种"请求—执行"分离的设计,在技术上通过**函数调用(Function Calling)或工具使用(Tool Use)**协议来实现。开发者在调用模型API时,会预先声明一组可用工具的名称、描述和参数schema(例如search_code(query: string))。模型在推理时,若判断需要某个工具,会在输出中返回一段结构化的JSON,注明要调用哪个工具、传入什么参数——这不是自然语言,而是机器可直接解析的指令。外层的宿主代码(host code)捕获到这段JSON后,负责实际调用对应的函数或API,再将返回结果以"工具响应消息"的形式追加到对话上下文中,送回模型继续推理。这一机制最早由OpenAI在2023年引入,现已成为各大模型平台的标准能力,也是构建智能体的最底层工程基础。

一个具体例子:修复失败的测试

抽象概念不好懂,视频用了一个开发者都熟悉的场景来说明——测试失败了,智能体如何自己把它修好。

这个过程被拆成了几"圈"(lap),每一圈就是循环的一次迭代:

  • 第1圈:搜索代码(Search the code),定位问题可能出现的位置
  • 第2圈:读取文件(Read the file),查看具体内容
  • 第3圈:编辑文件(Edit it),尝试修复
  • 第4圈:运行测试(Run the tests),验证修复是否成功

Say a test fails. Lap 1. Search the code. Lap 2. Read the file. Lap 3. Edit it. Lap 4.

每一圈,模型都根据上一圈的执行结果来决定接下来调用哪个工具。这正是智能体"自主性"的体现——没有人预先写死这四步的顺序,是模型自己一步步推演出来的。

一个重要的技术细节是:每一圈都会把整段对话历史重新发送给模型。这意味着模型始终带着完整的上下文做决策,但也带来了token消耗随步数累积增长的工程代价。

Run the tests. Each lap resends the whole conversation. It stops when the model answers

每一圈重新发送完整对话历史,这一机制背后有深刻的技术原因:当前主流的大语言模型本质上是无状态的(stateless),每次API调用彼此独立,模型没有跨调用的持久记忆。"记住之前做了什么"这件事,必须由外部代码通过拼接历史消息来手动实现。这也意味着随着循环步数增加,每次发送的token数量呈线性增长,推理延迟和API费用随之累积——这是智能体工程中最显著的成本压力之一。为此,工程实践中常见的应对手段包括:设置较低的最大步数上限、对历史消息做摘要压缩(summarization),以及使用支持更长上下文窗口的模型。

循环什么时候停下来?

既然是循环,就必须有退出条件,否则会无限运行。视频给出了三种常见的终止情况:

  1. 模型给出了不再调用任何工具的回答——说明它认为任务已经完成
  2. 达到步数上限(step limit)——这是工程上防止失控和成本爆炸的保险
  3. 等待人工批准(approval)——在关键或高风险操作前暂停,交由人来确认

这三种退出机制对应着三种不同的工程考量:任务完成度、资源控制、人机协同安全。设计一个可靠的智能体,很大程度上就是在设计这些边界条件。

工作流还是智能体?关键看"谁来决定"

视频最后给出了一个极其清晰的判别标准,用来区分工作流(workflow)和智能体(agent):

如果步骤是由你的代码预先设定的,那是工作流; 如果步骤是由模型自己选择的,那才是智能体。

这条界线非常实用。很多被包装成"AI智能体"的产品,其实只是把若干API调用按固定顺序串起来的工作流——它们确定、可预测,但缺乏真正的自主决策。真正的智能体,决策权交给了模型:模型做决定,循环和工具负责执行。

这一区分在学术和工程社区有时也被描述为**"硬编码控制流"与"模型驱动控制流"**的对立。Anthropic在其官方智能体指南中建议:当任务步骤可以被清晰预定义时,优先选择工作流——它更可预测、更易调试、成本更低;只有当任务的复杂性或多样性超出了预先设计步骤的能力时,才引入让模型自主决策的智能体结构。这个权衡在实践中非常重要:过度依赖智能体自主性会带来不可控的失败路径和难以复现的bug,而过度依赖固定工作流则会让系统在面对边缘情况时脆弱易碎。真实的生产系统往往是两者的混合——外层由工作流兜底关键节点,内层由智能体处理局部的开放性子任务。

小结

这段短科普用最朴素的方式还原了智能体的真相:它不是神秘的黑箱,而是一个结构清晰的工程范式——模型 + 循环 + 工具 + 终止条件。模型思考,代码执行,循环推进,边界兜底。

当你下次看到"AI Agent"这个词时,不妨问一句:这里面的步骤,到底是谁在决定?这个问题的答案,往往就决定了你面对的是一个真正的智能体,还是一个披着智能体外衣的固定工作流。

#AI智能体#AI Agent#智能体原理#工具调用#while循环#工作流与智能体#大模型应用#AI编程
分享:

相关推荐