
Ethan Mollick 最近提出了一个判断智能体能力与公众认知之间的差距正在扩大。这句话值得每个正在搞 AI 应用的人停下来想一想。我个人理解他说的不是“智能体还不够强”而是“智能体实际能做到的事情已经明显超出普通用户、甚至不少开发者的预期范围”。很多人还停留在“聊天窗口里问一句答一句”的阶段但真实的智能体已经在做多步骤规划、调用工具、查数据库、写代码、操作页面、跨系统协作这类任务。认知跟不上能力就会产生两个极端要么觉得智能体什么都能干乱用之后翻车要么觉得智能体只是高级搜索完全低估它能替代的重复劳动。这篇文章不打算复述某一个人的观点而是顺着“能力与认知差距”这条主线拆一下智能体现在到底能做什么、为什么公众会误判、以及从学习到落地该怎么建立一套更接近真实的判断标准。先说明一个基本判断智能体AI Agent和聊天机器人最大的区别是它不再只做“生成内容”而是能够完成“任务闭环”。闭环的意思是接收目标、拆解步骤、调用可用工具、观察执行结果、根据结果调整动作最后输出一个可验收的产物。这个“工具调用 结果回填 循环调整”的过程才是智能体能力的真正来源。也正因为这样它的能力边界不再由模型问答能力单独决定而是由模型、工具、上下文、记忆、外部系统权限和任务设计共同决定。理解不了这层结构就很难理解差距到底差在哪里。1. 差距扩大到底意味着什么1.1 大众认知还停留在“问答助手”阶段很多用户对智能体的理解还是把它当成一个更聪明的搜索引擎或者会聊天的机器人。问一个法律问题它给一段回答这被认为就是智能体。但实际上这种单轮问答连“半成品”都算不上。它没有执行动作没有验证信息没有改变任何系统状态。真正的智能体可以做的是你告诉它“帮我整理本月所有未付款订单按金额排序给金额最高的三家客户生成催款邮件草稿并把邮件放入待发送队列”。它需要去订单系统拉数据清洗字段过滤状态计算金额选择沟通模板逐封生成内容再调用通讯接口写入草稿箱。这中间任何一步失败它还要决定是重试、跳过还是停下来询问。公众认知的差距首先就体现在这里。多数人以为“把问题写清楚任务完成”但工程上的智能体是“把问题写清楚任务开始”。任务是交给工作流和时间去处理的不是交一次对话就能立即出结果。1.2 行业实际能力已经进入“任务执行”阶段如果看当前工具链的进展智能体已经完成了三个层面的能力积累。第一层是任务规划。基于推理模型智能体可以把一个大目标拆成子任务比如做一份行业研究报告它会自动分为信息检索、数据抓取、结构提纲、分章撰写、格式整理五个阶段。第二层是工具调用。通过函数调用或 MCPModel Context Protocol这类标准协议智能体可以操作外部系统比如查数据库、发请求、改表格、调接口。第三层是状态记忆。它可以在多轮执行中记住上下文、用户偏好、任务进度和已经做出的决策。这三层叠加起来智能体已经不像一个“会聊天的算法”而更像一个“带执行力的数字员工”。但注意这里说的能力是在特定场景、特定工具配置、特定模型版本下验证出来的。不是说市面上所有智能体产品都已经具备这个水平。能力在实验室、在演示视频、在垂直产品里跑通和普通用户随手拿到的通用产品之间还有距离。这就解释了为什么认知差距会扩大行业里跑在最前面的实践已经远超大众日常接触到的那一层。2. 三个最容易造成误判的环节2.1 演示视频和稳定运行是两个世界经常在社交媒体上看到智能体演示输入一句话它自动打开浏览器完成订票、比价、填写表单一气呵成。这种内容看多了会让人产生一个错觉智能体已经很成熟了随便一个普通用户都能稳定复现。但实际做过开发的人都知道演示环境往往做了三层“默认准备”第一任务路径是固定的没有出现分支第二网页结构没有临时改动没有弹窗和登录拦截第三出现异常时有预设兜底。真实业务场景里这三个条件很难同时成立。所以我的建议是区分“能力存在”和“能力稳定”。演示证明的是前者生产需要的是后者。对观众和开发者来说看到演示后正确的反应不是“这产品可以用了”而是“这条路居然能走通那离可用还差多少”。这个差距就是认知差距的一个主要来源。2.2 “能跑通”不等于“能交付”另一个常见误判是把一次成功运行当成任务交付完成。比如让智能体生成一篇文章输出了三千字看起来结构完整就认为任务成功。但交付标准如果包括事实准确、参考文献可查、格式符合规范、禁止抄袭、图片版权可追溯那单纯“生成文本”离“交付内容”还差得很远。部署过智能体之后我越来越习惯把任务拆成“生成阶段”和“验收阶段”。生成阶段解决的是能不能产出验收阶段解决的是能不能用。文本任务要检查事实和格式数据处理任务要检查字段完整性和表结构操作类任务要检查系统状态是否真的变更了。很多翻车现场问题都出在只做了生成阶段的验证没有做验收阶段的检查。这不只是用户的问题很多开发者也会在这里偷懒。2.3 平台工具降低门槛但没有降低认知成本现在搭建智能体已经比前两年容易太多。dify、扣子coze、coze 国际版、百炼、各种开源框架把工作流、知识库、插件、对话界面都封装好了。一个人不需要写复杂的 Agent 代码也能拖拽出一个能跑起来的应用。这看起来是降低了门槛但产生了一个副作用门槛降低之后大量没有工程背景的人开始做智能体却对模型能力、上下文窗口、工具调用错误率、数据格式、评测方法缺乏手感。低代码平台真正的价值是省掉重复开发让业务人员也能做产品原型。但它不能替代你对任务逻辑的理解。举个例子同一份知识库文档有人只在提示词里加了一句“请基于知识库回答”结果知识库根本没被检索到。有人会在工作流里显式安排一个“文档检索”节点把检索结果作为上下文传给模型。这两种做法的效果差别非常大但并不是平台能自动帮你兜底的。所以我说平台降低了“开始”的门槛但没有降低“做对”的认知成本。3. 从“觉得很强”到“能验证”普通用户怎么评测智能体3.1 不要用“随便聊几句”来判断能力我在不少地方看到有人测试智能体方式是问几个问题看回答像不像人话。这种测试连“可用性验证”都算不上更别说能力评估。一个合格的评测至少要有测试集准备一组典型任务覆盖常见输入、边界输入、异常输入然后按统一评分标准打分。你要测的不是某一次回答好不好而是它在 N 次任务里成功了几次、失败的模式是什么、失败后能不能自纠。热词里有人提到“ai智能体测试的数据集怎么设计”这个问题确实很核心。数据集不该从模型能力反推而应该从业务任务反推。如果你的智能体是客服场景就按“售前咨询、售后问题、投诉升级、多轮追问、无关输入、敏感词触发”这几个维度设计用例。如果是数据分析场景就覆盖“表格导入、字段缺失、单位不统一、聚合计算、图表生成、结果导出”。业务侧关心什么测试集就测什么。3.2 从单轮对话测试升级到工作流测试单轮对话测的是模型理解能力但智能体真正容易出错的是多步骤工作流。比如一个“写文章并发布”的智能体单测写作环节可能看不出问题但一旦加上“读取素材、生成初稿、调用图片接口、排版、发布预览”任何一步都可能挂掉。所以我建议测试要拆成三层组件测试单独验证每一步比如检索是否返回正确文档、工具调用是否成功、提示词是否按预期输出。流程测试按完整链路跑一遍看步骤之间衔接是否顺畅上下文有没有丢失。边界测试故意输入不完整信息、空文件、超长文本、错误格式看智能体是报错、兜底还是无限循环。这三个层次缺一不可。很多人只做了第一层发现模型回答还行就以为整个智能体都是好的。实际上绝大多数“看起来智能体不行”的案例问题都出在工作流衔接和异常处理上不在模型本身。3.3 记录基线速度、成本、成功率、失败模式评估智能体这件事最吃亏的姿势是“只看效果不看代价”。很多智能体之所以只适合 Demo是因为它在成功时确实很惊艳但每 3 次任务就有 1 次要人工介入每次调用模型的钱也不便宜。时间成本、接口成本、上下文 token 消耗、重试次数这些都是真实代价。我会建议每个人在做智能体实验时建一张简单的记录表。字段至少包括任务编号、输入描述、模型版本、工具调用次数、耗时、token 消耗、结束状态、失败原因、人工介入次数。连续跑 50 条任务之后你就能看到它的成功率和失败模式。这个基线数据比任何宣传文案都更有说服力。没有基线你根本不知道“变强了”是产品升级带来的还是今天的输入恰好比较简单。4. 从单任务到多智能体的进阶路径4.1 单 Agent 足够解决的问题不要为架构而架构智能体开发里流行“多智能体”概念看起来非常前沿规划者、执行者、审查者、翻译官几个角色互相协作各管一段。但在大多数场景下单个 Agent 已经足够了。你只需要给它一套清晰的工作流工具列表、使用规则、输出格式、异常处理策略它就能完成大多数线性任务。多出来的“角色”往往只是提示词里加了一个 persona 设定而已并没有真正产生多智能体协作的复杂度。只有在以下几种情况多智能体才有意义一是任务本身需要隔离上下文比如同一个项目里要同时处理文档撰写和数据分析两者不该共享全部记忆二是任务需要独立权限比如一个角色只能读数据库另一个角色才能写外部系统隔离账号比在同一个 Agent 里做权限判断更安全三是任务需要天然分工比如生成内容之后由另一个角色做质量审查审查者不用了解生成逻辑的每一步。如果这些前提都不存在硬拆多 Agent 只会增加调试难度和 token 消耗。4.2 多智能体协作的收益和代价多智能体的核心收益是每个 Agent 的上下文更干净、职责边界更清晰、出错点更容易定位。但它带来的代价也很直观。第一调试复杂度上升。单 Agent 出了问题看一份日志就能定位。多 Agent 出了问题你还要搞清楚问题发生在哪个角色、是哪次消息传递导致的。第二总延迟增加。每个 Agent 都要独立调用一次模型流程长的任务可能要多花好几轮时间。第三成本叠加。一个任务拆给五个 Agenttoken 消耗往往不是加法而是乘法因为每个人都可能重复读取上下文。所以我的态度很明确多智能体是一个工程手段不是一个身份标签。先画业务流程图找出哪些环节的任务边界清晰、需要独立处理再决定要不要拆。不要为了“别人都在做多智能体”就强行上。4.3 MCP 和 A2A 正在改变协作标准热词里出现“mcp多智能体”“agentscope 2.0有a2a模式的智能体协作吗”这代表很多人开始关注智能体之间的连接协议。MCP 解决的问题是“智能体如何连接工具和数据”通过统一接口让模型可以调用不同系统的资源而不需要为每个系统单独写适配器。A2AAgent-to-Agent解决的是“智能体如何与另一个智能体通信”它更像智能体之间互相协作的协议层。这两个方向很重要因为智能体能不能大规模落地不只是模型能力的问题更是系统集成标准的问题。如果每个工具都要定制开发那成本会高到没法复制。标准化之后一个智能体可以读数据库、发邮件、操作表格、调用另一个智能体的能力整个系统的可扩展性会好很多。不过也要注意协议标准还在演进阶段不同平台的支持程度不一样不要看到“支持 MCP”就假设所有工具和模型都完美兼容。落地前还是要拿自己的真实场景做一遍链路验证。5. 智能体生产化绕不开的工程问题5.1 输入边界和任务边界是第一道关很多智能体跑不稳根因在于输入没有边界任务没有边界。用户传一个 10MB 的 PDF智能体直接读崩了用户提一个超出知识库范围的开放问题智能体开始自信地编答案用户要求“把所有数据都处理一下”智能体不知道该处理到哪一层就停下来了。我不会指望模型自己学会拒绝和规划因为模型的行为由配置决定。在把任务开放给用户之前必须先在系统里做约束文件大小限制、格式白名单、上下文截断策略、超时时间、任务目标的可完成性检查、超出范围时的标准回复。这一层做好了智能体的稳定性会立刻上一个台阶。5.2 日志、可观测性和调试普通聊天机器人不太需要日志但智能体一定要有完整日志。原因很简单智能体是一个多步骤执行系统任何一个环节出错都需要回溯是哪一步导致的。单看最终输出你根本猜不到是工具调用失败、还是模型理解偏差、还是输入格式触发异常。我会建议至少记录四类信息输入日志用户提交了什么完整保留原始输入。流程日志每一步做了什么事调用了哪个工具传了什么参数。模型日志发送给模型的完整提示词和模型返回内容方便复盘提示词问题。异常日志错误类型、重试次数、失败原因。调试智能体和调试传统程序一个道理先定位再修改不要靠猜。没有日志就只能“改一句提示词试试”然后反复试错效率极低。5.3 安全、权限和审计是隐藏门槛智能体一旦能调用工具、写库、发邮件、操作业务系统就不能再按“普通文本生成接口”来做安全设计。它需要更细粒度的权限控制哪些操作是模型自主决策的哪些操作必须走人工审批哪些操作需要二次确认。还要能做审计谁创建了任务任务执行了几步每一步改了什么数据最终结果是什么。权限设计的原则是“最小权限”。给智能体的权限只覆盖完成任务必需的最小范围不要因为嫌麻烦就给它全部权限。有一个典型翻车案例智能体拿到数据库写权限用户输入里带了一句“删除所有测试数据”智能体就把测试表清了。这不是模型不聪明而是权限没有约束系统把不该给的自由也给了它。在给智能体加权限之前先问自己一句如果它做错了这个错误会造成多大损失能承受再放开权限。6. 我的建议先理解能力边界再判断趋势6.1 不同角色的理解角度对于普通用户我建议不要被“智能体无所不能”的宣传牵着走。每次使用前先问清楚这个应用允许智能体做什么它的知识截止到什么时候它能接触哪些外部系统不能触碰哪些敏感操作如果一个应用只是聊天框它就不该被当作智能体平台来用。对于开发者我建议从最小可行性做起。先用单 Agent 解决一个具体业务问题跑通之后看它的瓶颈在哪里。是上下文不够是工具调用不稳定是输出格式不符合下游要求再针对瓶颈做优化。大部分项目的实际瓶颈根本不是“没用上多智能体”而是日志不完整、测试集缺失、任务边界模糊。对于产品和业务负责人我建议把评估标准从“能不能回答”改成“能不能交付”。如果一个智能体能在你定义的测试集上稳定跑通流程并且成本可接受那它就是有落地价值的。如果只是某个演示里效果惊艳那它离生产还很远。这里没有灰色地带。6.2 一句话判断标准我自己其实有个很简单的判断标准看到一个智能体项目时先看它有没有显式的“任务结束条件”和“失败出口”。如果一个系统允许在目标完成后明确终止并能在失败时给出可处理的结果那它至少是工程上合格的。如果所有任务都是“一直聊下去”或“报错后干等”那不管它看起来多聪明离生产都还有距离。智能体能力与公众认知差距扩大其实也不是坏事。它说明能力在真实向前走只是多数人还没有形成一套评价它的方法。技术的改变往往是先把能做到的事情做出来再等社会认知慢慢跟上。作为实践者我们能做的不是跟风讨论这个词而是亲手去搭一个、测一组、看一份日志。真正用起来之后那些“无所不能”和“完全没用”的极端看法都会消退留下的会是一句非常朴素的经验智能体是一种需要工程约束才能发挥价值的技术而不是一段开箱即用的魔法。