news 2026/10/24 5:30:37

Agent演化史(一):剥掉营销话术后,智能体只剩 34 行代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agent演化史(一):剥掉营销话术后,智能体只剩 34 行代码

【Agent演化史 一】90% 的"智能体"是假的:剥掉话术后,它只剩 34 行代码

本篇是《智能体演化史》系列第 1 篇
系列主线不是"某年出现了某技术",而是"因为上一步崩了,所以下一步才出现"。
全系列共用一个从 40 行长到 600 行的tiny-agent,本篇是它的 v0.1。


怎么读这篇

  • 🚶15 分钟版:只看「崩坏现场」「一句话原理」和「现实对照」,知道怎么判别就够了。
  • 🏃40 分钟版(推荐):加读五件套拆解、四问决策树和那段 34 行代码,你会得到一个能立刻用上的判断框架。
  • 🤿深潜版:顺着文末延伸阅读往下挖,去读 AutoGPT 当年那些真实的失败记录。

01 · 崩坏现场:上千家供应商,只有约 130 家是真的

2025 年 6 月,Gartner 发了一份不太客气的报告。

报告里有句话,翻译成人话是这样:市面上自称做 agentic AI(智能体)的供应商有上千家,我们数了数,真正算得上 Agent 的大概 130 家。

剩下那 90% 多,Gartner 专门发明了一个词来形容:Agent Washing(代理洗白)——把原有的 AI 助手、RPA 机器人、聊天机器人换个名字、换个包装,重新上市。功能一行没变,估值翻了三倍。

同一份报告还给了个更冷的数字:到 2027 年底,超过 40% 的 agentic AI 项目会被取消,原因是成本失控、商业价值说不清楚、风险控制跟不上。

每 10 家自称做 Agent 的供应商里,只有约 1.3 家是真的。

但我想说的不是"谁在吹牛"这种道德问题。真正麻烦的是:绝大多数人手上根本没有一把尺子。

你去验收一个号称"自主处理 80% 客户问题"的智能客服,销售给你演示三个精心准备的问题,全部通过,你签字付款。三个月后你才发现,所谓的"自主决策"其实是三行if-else加一张关键词表——问对了关键词它是智能体,问偏了它就是 2005 年的电话语音菜单。

你没法反驳,因为你也不知道"Agent"到底该怎么定义。

所以这一篇不讲趋势、不讲框架,只干一件事:给你一把可以当场掏出来用的尺子。


02 · 一句话原理

Agent = 有目标 + 有循环 + 有工具 + 有记忆 + 有停止条件。
五件齐了才叫 Agent,缺任何一件,它都只是聊天机器人或者工作流。

这句话不是修辞,它是一条可以逐项打勾的验收清单。下面把它拆开。


03 · 五件套:缺一件,它就不叫 Agent

Agent

① 目标
要达成什么

② 循环
观察→思考→行动

③ 工具
伸向外部的手

④ 记忆
跨步骤记状态

⑤ 停止条件
何时算做完

组件它负责回答典型实现缺了会怎样
① 目标这次要达成什么?是"要什么",不是"怎么做"一段 system/user prompt,最好带可判定的成功标准瞎忙
② 循环下一步做什么?做完没有?for / while+ 每轮把结果喂回模型退化成一问一答的 chatbot
③ 工具我能动用哪些外部能力?函数、HTTP、数据库、代码沙箱、MCP server只会说,不会做
④ 记忆我之前做过什么、结果如何?消息列表、文件、向量库、记忆图谱每一步都从失忆开始
⑤ 停止条件什么时候必须停?步数上限 / 预算上限 / 超时 / 人工接管跑到破产,或者永动机

这张表里最值得你盯三秒钟的,是最后一行。

前四件决定它能做多少事,第五件决定它会不会做成灾难。而它恰恰是最常被忽略的一件——因为演示的时候,第五件从来不出场。你给销售三个问题,三个都答对,看起来完美;真正上线之后,你才会遇到那个被困在循环里、烧了三小时 API 费用、最后一事无成的它。

这不是假设。2023 年 AutoGPT 最著名的失败模式,就是让模型自己判断"做完了没有"。结果它陷入递归验证循环:完成任务 → 检查 → 觉得不够 → 再检查 → 又觉得不够……有用户记录到2 小时、300 多次 API 调用之后手动按停,最终产出是:零。亚马逊科学家同年的一项研究里,AutoGPT 在标准化购物任务上的成功率是24%。它有循环,它有工具,它有记忆——它缺的是第五件。

这个故事我们会在 P2《while True 的威力与恐怖》里完整展开。这里先记住结论:有没有循环,和能不能停下来,是两个完全不同的问题。


04 · 判别四问:一个能当场掏出来的测试

有了五件套,就能把它翻译成四个可以直接问出口的问题。下次有人给你演示"智能体",你就把这四句甩过去:

Q1:下一步做什么,是它自己定的吗?
如果流程是你写在代码里的分支,那叫workflow。哪怕每个节点都调了一次大模型,它依然是 workflow。

Q2:做错了,它会自己重试吗?
炸了就抛异常、等人来修的,是脚本。会自己看到错误、换个方法再来一次的,才谈得上智能体。

Q3:它能连续走好几步不问你吗?
每一步都要你点"继续"的,是聊天机器人。智能体的价值恰恰在于:你去睡觉,它还在干活。

Q4:它知道什么时候该停吗?
这一问最狠。答不上来的,要么是它会跑到破产,要么是它根本没想过这个问题——后者更常见。

这四问的共同点是:它们问的全是"谁在做决定",不问"用了什么模型"。

这一点特别重要。一个用 GPT-4 但流程写死的系统,是 workflow;一个用最便宜的小模型、但会自己规划自己重试的系统,是 Agent。模型贵贱跟这个判定毫无关系。Gartner 说的"agent washing",绝大多数都是把前者包装成后者卖给你。


05 · 三种形态:Chatbot、Workflow、Agent

把四问换个角度,就得到一条光谱。三者不是先进与落后的关系,而是自主权交出去多少的区别。

ChatbotWorkflowAgent
自主度低中高
典型描述你问一句,它答一句你定流程,它按步骤执行你给目标,它自己想办法
决策权在谁人写代码的人它
目标无(只有当前问题)有,但由人拆成步骤有,且只有最终结果描述
循环无有,但路径写死有,路径由它自己决定
工具通常无有有
记忆只有本轮上下文只有本轮上下文跨步骤保留
停止条件天然有(答完即停)天然有(走完即停)必须你亲手装上去

看最后一行,讽刺的事情出现了:最原始的 Chatbot 和最古板的 Workflow,天生自带停止条件——答完就停,走完就停,想跑飞都跑不了。而最先进的 Agent,恰恰是唯一需要你亲手给它装刹车的东西。

这就是"能力越强越危险"在代码层面的真实形态。

顺带纠正一个常见误解:Workflow 不是落后的东西。很多时候它才是最正确的选择——流程固定、结果要求一致、出错代价高,这三条只要占一条,就该用 workflow。真正糟糕的不是用了 workflow,而是把它叫成 Agent 卖给你,让你为不存在的自主性买单。


06 · 最小实现:34 行,五件套一个不少

说了这么多,回到标题那个问题:剥掉话术,它到底剩多少代码?

下面这段就是全部。它是一个真能跑起来的 Agent:你给它一个目标,它自己决定要不要查天气、查完之后自己判断要不要继续,最后自己说"我做完了"然后停下。

# tiny-agent v0.1 —— 剥掉营销话术后,智能体的全部importos,jsonfromopenaiimportOpenAI client=OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))# ① 目标:你只说"要什么",不说"怎么做"GOAL="查一下北京今天下雨吗,告诉我需不需要带伞"# ⑤ 停止条件:最多 8 步,到点必须停MAX_STEPS=8# ③ 工具:它唯一的一只手TOOLS=[{"type":"function","function":{"name":"get_weather","description":"查询某城市今天的天气","parameters":{"type":"object","properties":{"city":{"type":"string"}},"required":["city"]}}}]defget_weather(city):returnjson.dumps({"city":city,"rain":True,"temp_c":18},ensure_ascii=False)# ④ 记忆:一条只会变长的消息列表messages=[{"role":"user","content":GOAL}]# ② 循环:观察 → 思考 → 行动,直到它自己说做完了forstepinrange(MAX_STEPS):resp=client.chat.completions.create(model="gpt-4o-mini",messages=messages,tools=TOOLS)msg=resp.choices[0].message messages.append(msg)ifmsg.tool_calls:forcinmsg.tool_calls:result=get_weather(**json.loads(c.function.arguments))print(f"[step{step+1}] 工具返回 ->{result}")messages.append({"role":"tool","tool_call_id":c.id,"content":result})else:print(f"[step{step+1}] 最终回答 ->{msg.content}")break

把它按五件套拆开,统计每部分占了多少行(口径:27 行有效代码,已剔除 7 行空行):

组件行数占比
② 循环11 行41%
③ 工具4 行15%
④ 记忆4 行15%
样板(import / client)4 行15%
① 目标2 行7%
⑤ 停止条件2 行7%

注意两端的反差:光是把循环跑起来就花掉 41% 的代码,而决定它会不会跑到破产的停止条件,只占 7%。

比例很荒谬,但这正是绝大多数 Agent 项目的真实代码结构。

34 行。这就是全部。没有任何一层是神秘的,没有任何一行是不可理解的。

如果你手上那个号称"AI 员工"的系统,拆不出这五件套中的任何一件——尤其是第五件——那它大概率属于 Gartner 说的那 87%。


07 · 现实对照:它其实是个实习生

如果上面的代码还是有点抽象,把它翻译成一件你一定经历过的事:给实习生派活。

组件代码里现实里
目标GOAL = "..."“帮我把这份竞品调研做出来”——说清要什么,而不是教他先打开哪个网站
循环for step in range(...)他去查、回来想、再去做、再回来——不是一个动作做完就完了
工具get_weather()他手上的浏览器、Excel、公司数据库——没这些,他只能干坐着跟你聊天
记忆messages.append(...)他得记得上一轮查过什么——每五分钟失忆一次的人没法干活
停止条件MAX_STEPS = 8“卡住超过半小时就来问我,别自己死磕”——这句话不说,他能磕到凌晨三点

这个类比一摆,很多事情就通了:

  • 为什么"只有循环没有手"没用—— 一个没有浏览器、没有数据库权限的实习生,只能坐在工位上跟你聊天。
  • 为什么"有手没记忆"也没用—— 他每一轮都问你"我们刚才说到哪了",你迟早崩溃。
  • 为什么停止条件最容易被忘—— 因为你交待活儿的时候,本能会说"要什么"和"去查",但很少会说"卡住多久来找我"。而实习生恰恰会在没人喊停的时候,把一份 3 页的调研磨成 30 页,理由是"我觉得还能再完善一下"。

最后这一条不是段子。AutoGPT 的"完美主义偏差"就是这个毛病的技术名称:模型总能找到"还能再改进"的地方,而它脑子里没有"够好了"这三个字。2023 年那批用户的真实遭遇包括:Downloads 文件夹被反复重组 15 次以上、写了两小时代码最后产出一份待办清单、烧掉几百美元 API 费用拿到一个空结果。

所以下次设计 Agent 的时候,有个更朴素的问法:我会怎么把这件活交待给一个实习生?

你不会只说"去做吧",你会说清要什么、给他权限、告诉他卡住就喊你。这三条,就是循环、工具、停止条件。


08 · 三个数字:冷水和热水,一起看

最后把三个真实数字摆在一起。Agent 这个领域最容易被两种极端叙事带跑——“它马上取代你"和"它全是骗局”,两边都是错的。

数字含义来源
40%agentic AI 项目会在 2027 年底前被取消(成本失控 / 价值不清 / 风控不足)Gartner,2025.06
24%AutoGPT 在标准化购物任务上的成功率亚马逊科学家研究,2023
15%2028 年日常工作决策由 Agent 自主做出的比例(2024 年为 0%)Gartner,2025.06

这三个数字放一起,结论很清晰:被取消的是错配的项目,不是这项技术。

大量项目死掉,原因不是 Agent 不行,而是它们本该用 workflow 解决、却硬上了 Agent;不是模型不够强,而是没人给它装第五件套。

把这五件套装齐,就是 P1 到 P9 这整件事。


09 · 下一篇:它只会说话,怎么办?

tiny-agent v0.1 里有一只手(get_weather),但它其实从没碰过这只手。

更准确地说:模型从来没有执行过任何工具。它只是写了一份格式严格的调用申请书,真正执行的是你代码里那个get_weather()函数。

这个"申请书"机制,就是 2023 到 2026 整个工具生态的地基。下一站:P1《给语言模型装上手》,我们拆开这份申请书,看看它为什么长得是这个样子,以及模型凭什么知道自己"有手可用"。

思考题:你手上现在在用的、或者你们公司正在卖的那个"智能体",能通过判别四问吗?四问里最先卡住的,通常是哪一问?

欢迎在评论区对一下答案。


延伸阅读(深潜版)

  • Gartner 新闻稿《Over 40% of Agentic AI Projects Will Be Canceled by End 2027》,2025-06-25
  • GitHub 仓库《awesome-agent-failures》中 AutoGPT 规划失败的完整案例记录
  • AutoGPT 递归验证循环的原始 issue 讨论

本文为盘子工具站生态原创技术专题系列,转载请注明出处。
配套代码:tiny-agent v0.1(34 行),可以在资料下载处直接下载

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 5:30:36

StateGraph 基础:先定义状态再画图

个人主页&#xff1a;> for_ever_love__ <&#xff08;欢迎各位大佬莅临&#x1f60a;&#xff09; 其他栏目: > 大模型开发从0到1 < 其他栏目: > iOS项目总结大全 < 其他栏目: > 我想学python了 < 其他栏目: > iOS UI < 文章目录StateGraph 基础…

作者头像 李华
网站建设 2026/10/24 5:28:54

Django + Vue电商项目第012讲:数组对象|高频API写完才算会JS

90%的前端业务代码都是「处理一组数据」——商品列表过滤、购物车金额汇总、订单排序、评价去重。 本讲把map filter reduce find some every sort这7个核心方法 + 解构展开 + 深浅拷贝一次讲透,全部用电商场景举例。 建议先 点赞 + 收藏 + 关注,处理数组数据时随时回查。 一…

作者头像 李华
网站建设 2026/10/24 5:28:09

iOS广告转化追踪:SKAdNetwork与增强型转化实践

1. iOS设备端转化衡量方案解析最近在优化移动端广告投放时&#xff0c;发现iOS平台的转化追踪存在特殊挑战。不同于Android系统的开放性&#xff0c;iOS的隐私保护机制给传统转化归因方式带来了根本性改变。特别是2021年苹果推出ATT框架后&#xff0c;广告主需要重新理解设备端…

作者头像 李华
网站建设 2026/10/24 5:27:21

文本三剑客-grep-sed-awk---企业场景实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/24 5:25:55

FPGA版本迭代实践:如何通过影响域分析锁定待验证模块

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华