@ItsRoboki: https://x.com/ItsRoboki/status/2046220862546960563
摘要
# AI 智能体术语不过是新瓶装旧酒 如果你是一位经验丰富的软件工程师,却对 AI 智能体(AI Agent)的世界感到困惑,原因很可能不是技术太复杂——而是行话太多。 欢迎了解**"词汇税"**:这是一种因新造术语而产生的认知负担,让你误以为自己面对的是全新的概念,而实际上不过是你已经熟悉的老朋友换了身行头。 --- ## 什么是词汇税 每隔几年,技术圈都会经历一轮术语洗牌。某个领域起飞了,新词汇随之涌现,旧有的工程概念被重新包装,贴上新标签。 这并不总是有意为之的炒作。有时候,新词汇确实能承载细微的差别,或者为特定社区提供更精准的表达。但很多时候,它制造的困惑远比带来的清晰要多。 词汇税的本质就是:**你为了弄懂这些词在说什么,而不得不付出额外的认知成本**。 AI 智能体领域目前正在大量征收这笔税。 --- ## 逐一拆解那些花哨术语 ### "Orchestrator"(编排器) 这个词让人联想到某种神秘的 AI 大脑,在幕后统筹全局。 实际上?它就是一个**控制流管理器**。它决定先调用哪个函数,根据结果走哪条分支,什么时候结束循环。你在写业务逻辑的第一天就做过这件事。 换个说法:`main()` 函数加上一些条件判断。 --- ### "Harness"(执行框架) AI 圈子喜欢说某个模型被"装进了一个 harness"。 这翻译过来就是:**一个包装类或运行时环境**,负责管理模型调用的生命周期——处理输入输出、捕获错误、维护状态。 换个说法:适配器模式(Adapter Pattern)加上一个 try/catch 块。 --- ### "Memory Layer"(记忆层) 这个词听起来像是给 AI 装上了某种类人的记忆系统。 实际上它就是**存储和检索机制**。短期记忆是会话上下文(session context),长期记忆是数据库查询,语义记忆是向量搜索。 换个说法:缓存 + 数据库 + 搜索索引。 --- ### "Tool Use"(工具调用) 模型"学会了使用工具",这句话读起来颇具魔幻色彩。 脱下这层外衣,它就是:**函数调用**。模型输出一个结构化的请求,系统解析它,执行对应的函数,把结果返回给模型。 换个说法:API 调用的调度与执行。 --- ### "Agentic Loop"(智能体循环) 这个术语让整个架构听起来像是某种自主意识的涌现。 它的本质是:**一个 while 循环**,每次迭代都会:获取当前状态 → 决定下一步行动 → 执行行动 → 更新状态 → 判断是否结束。 换个说法:事件循环(Event Loop),或者任何一个游戏引擎里的主循环。 --- ### "Grounding"(落地/锚定) "模型需要被 grounded"——这句话在 AI 文章里频繁出现。 它的意思是:**把模型的输出与可验证的外部数据绑定**,防止它胡说八道(即"幻觉")。RAG(检索增强生成)是最常见的实现方式。 换个说法:数据验证 + 外部数据源注入。 --- ### "Reflection"(反思) 听起来像是 AI 在进行哲学沉思。 实际操作是:**让模型评估自己的上一个输出**,判断是否满足要求,如果不满足则重新生成。这是一个带有评判步骤的迭代优化循环。 换个说法:带校验逻辑的重试机制(retry with validation)。 --- ### "Chain"(链) LangChain 里的"链",以及各种"prompt chain"。 这就是**函数组合(function composition)**,或者说是管道(pipeline)。输出 A 作为输入传给 B,B 的输出传给 C。 换个说法:Unix 管道。`cat file | grep keyword | sort | uniq` --- ## 那么,是不是什么都没变? 当然不是。有几件事确实是新的,或者至少是在规模和能力上发生了质变: 1. **不确定性变成了一等公民**:传统函数给定相同输入,输出是确定的。LLM 不是。这要求你在架构层面认真对待概率性行为,而不只是在边界情况里处理它。 2. **自然语言成为了接口**:当接口是自然语言时,你没办法写一个传统意义上完整的类型规范。这对系统边界的设计提出了新要求。 3. **上下文窗口是有限资源**:你需要像管理内存一样精心管理上下文,这是一种在普通 Web 开发里不太常见的约束。 4. **涌现行为(Emergent Behavior)确实存在**:模型组合起来之后,有时会产生你没有显式编程的行为。这既是能力,也是风险。 --- ## 如何用已有知识来理解 AI 智能体 这里有一个简单的映射框架,供有经验的工程师参考: | AI 智能体术语 | 等价的工程概念 | |---|---| | Orchestrator | 控制流 / 状态机 | | Memory Layer | 缓存 + 数据库 | | Tool | 可调用函数 / API | | Agentic Loop | 事件循环 / 主循环 | | RAG | 查询 + 上下文注入 | | Reflection | 带校验的重试 | | Chain / Pipeline | 函数组合 / Unix 管道 | | Prompt Template | 带参数的字符串模板 | | Agent | 带状态的服务 + 决策逻辑 | --- ## 写在最后 词汇税不是阴谋,但它有真实的代价。它让有经验的工程师低估自己已有的能力,让新人觉得这个领域比实际上更难进入。 下次当你遇到一个陌生的 AI 术语,不妨先问自己:**"如果我是五年前,没有这个词,我会怎么描述这件事?"** 大多数时候,你会发现你早就认识它了。 AI 智能体领域确实有令人兴奋的新东西。但其中最难的部分,往往不是理解那些新概念——而是先剥掉裹在旧概念外面的那层新皮。
查看缓存全文
缓存时间: 2026/05/09 04:48
你早就懂 Agent 框架了,只是被人忽悠成不懂的
大多数所谓的 Agent 概念不过是些噱头
以下是我希望有人在第一个月就告诉我的一切
TL;DR - 如果你不想读完全文,把这篇文章粘贴给你的 Agent,让它把你自己的代码库映射到框架词汇表上。你会在自己已经写过的代码里发现同样的结构。
你打开 X 上的一篇 AI 帖子。
所有人都在聊 harness、memory 层、tool-calling 循环、orchestrator、sub-agent、context engineering。
其中一半词对你来说都是新的。
即使你已经写了五年、十年、十五年代码也一样。
你还是会莫名其妙地感觉自己落后了。
我想告诉你一件我花了三个月才意识到的事。
这些东西你早就懂了。
只不过是在他们给它改名之前,你就已经构建过了。
那条让一切豁然开朗的推文
昨晚,Mrinal 在 X 上发了这条:
Mrinal@Hi_Mrinal·Apr 20If anyone is interested in implementing raft from scratch here is github repository to learn every bit of it :P
Happy Learning
https://github.com/eliben/raft142338113K
看看那条推文的风格。随意,带个 :P,就是个仓库链接。
没人说“先系统学六个月共识理论“。有人贴了个仓库然后说:给,读代码,你自然就懂了。
这就是这篇文章的全部逻辑。AI 领域现在的大多数东西也是同样的道理。它们之所以听起来像外语,是因为那些帖子总用价值千金的词汇来描述它们。
它们不过是你周末就能读完的仓库。
核心论点,以及三个词来描述那种感觉
每一个“全新“的 AI 基础设施,都有一个更古老、更无聊的名字。名字变了,是因为模型是新的。
那些模式,是你写了十年的东西。我把这种感觉叫做词汇税。旧模式套上新词,会让旧模式变得遥不可及。
你以为新词意味着新概念。通常不过是贴了个新标签的旧想法。
每次你读那些帖子,三件事会同时发生:
- 词汇税 —— 新词让你误以为这个想法也是新的
- 模式失忆 —— 你忘了自己之前构建过同样的结构
- 翻译债务 —— 没人教你的技能:把新词映射回你已经熟悉的东西
这篇文章剩下的部分,就是这份翻译。
完整的对照表,先放在这里
在我们展开细说之前,先把我希望有人在第一个月就递给我的那张表放在这里。
这张表的每一行你都写过。也许不是在同一个应用里,但翻翻你过去几份工作或项目,每一行都有。
真正新的那一件事
非确定性
同样的输入,函数返回不同的输出。这才是真正的转变。其他所有词汇,都只是披了新外衣的旧模式。
这就是为什么重试、fallback、schema 校验和人工介入(human-in-the-loop)这些东西又变得重要了。它们和你以前写的那些应对不稳定第三方 API 的重试代码是同一个想法。
只不过现在那个不稳定的东西,变成了系统的大脑。
我那三个月是怎么过的
- 第一个月 —— 我读关于 harness 的文章,感觉所有人都在说一门我不懂的语言。
- 第二个月 —— 我尝试读论文,读到第四页就放弃了。
- 第三个月 —— 我打开编辑器,写了一个 for 循环。
- 这个循环调用了一个 API,检查响应,再调用另一个 API,把文件写到磁盘。
- 然后我看了那周所有人都在转的那张热门 agent harness 示意图。
- 那是一个 while 循环。
- 配了六个箭头和一个 sub-agent 标签。
就是那一刻。
之后,一切都想通了。
一个可以直接粘贴给你的 Agent 的 prompt
如果你想自己在十分钟内体验一遍,把这段话交给你的 Agent:
读取这个项目中的文件。列出所有在现代 AI 词汇中可以被称为“agent harness“的模式。对于每一个,把新词放在一侧,把我已经熟悉的旧名字放在另一侧。不要凭空发明新模式,只找已经存在于这个代码库中的。不要出错。
在你最近的三个项目上跑一遍。你会发现自己在不知不觉中已经构建了 harness。跑在你的 dotfiles 上,跑在你的构建脚本上,跑在你的 Zapier zap 上。
每次结果都一样。
有什么坑要注意?
几个真实让我踩坑、损失了大把时间的问题:
- 非确定性会让你的测试说谎。 同样的输入,不同的输出。你的断言会误导你。解决办法:对输出做快照,像审 PR 一样审查它们,而不是当作单元测试来跑。
- 每次调用的成本会迅速烧掉预算。 每次迭代都调用 LLM 的 while 循环,一个下午就能烧光一个月的云账单。解决办法:缓存、批处理,并设置硬性花费上限。
- 软错误。 模型返回了错误答案,却没有抛出任何异常。这才是真正会伤到你的那个。解决办法:同时校验结构和内容,永远不要把“没崩“当成成功。
- context window 就是全局状态。 你放进去的任何东西都会影响后续的每一次调用。像对待你第一份工作时的全局变量那样对待它——带着警惕。
如果重来,我会怎么做
- 在读任何论文之前,我会先把任何“Agent“想法的无聊 30 行版本写出来。
- 我会更早停止研究示意图,开始读源代码。
- 我会停止说自己“落后了“——毕竟词汇表旧的那一半我已经烂熟于心。
- 我会维护一份个人翻译表,就像学一门自然语言时我会维护一本词汇表一样。
没有什么真的像他们说的那么新
模型是新的。词汇是新的。
那些模式,是你去年用另一个名字写下的东西。如果你感觉落后了,你大概只是厌倦了这份词汇税。
付一次。把每个新词翻译成你已经构建过的东西。然后那些帖子就不再是外语了。它们开始读起来像你自己的 git log。
你早就懂 Agent 框架了。
只是你以为你不懂。
P.S. 如果这篇文章对你有帮助,反过来也同样有效。
如果你深耕 AI 已经两年,却感觉在“真正的“后端或分布式系统上落了后,同样的翻译方法反方向也适用。
多智能体编排,就是 leader 选举和 work stealing。Tool-calling 循环,就是消息传递。
如果你想让我写一篇反向翻译,欢迎告诉我。
相似文章
代理式编程是一个陷阱
本文认为,代理式编程(即 AI 生成代码,人类充当编排者)是一个陷阱,原因包括系统复杂性增加、技能退化以及供应商锁定。文章强调了这种做法对开发者学习和批判性思维的负面影响,并将这一新的抽象层与历史上的编程范式转变进行了对比。
@djfarrelly: https://x.com/djfarrelly/status/2052779234234380479
本文主张,AI Agent 的开发应基于稳定的执行原语,而非会随新兴编排模式频繁更迭的僵化框架。文章强调,采用持久化步骤、持久状态、并行协调、事件驱动流程以及可观测性设计,可有效避免因最佳实践不断演进而付出的高昂重写代价。
构建高效的智能体
Anthropic 发布了构建高效 AI 智能体的工程指南,倡导采用简单、可组合的模式以及直接使用 API,而非依赖复杂的框架。文章区分了工作流与自主智能体,并就何时使用每种架构提供了实用建议。
@hwchase17: https://x.com/hwchase17/status/2053157547985834227
文章概述了一个系统的“智能体开发生命周期”(构建、测试、部署、监控),以有效创建和管理 AI 智能体,重点介绍了 LangChain、LangGraph 和 CrewAI 等关键框架。
只有我开始对“氛围编码”感到疲惫了吗?
一位开发者分享了对“氛围编码”的倦怠感,指出虽然 AI 代理能加快初期开发速度,但在复杂的代码库中会引入显著的架构调试挑战和技术债务。