区分真正的 Agent 与普通函数调用,提出「有目标、能决策、识失败、知完成」的核心定义,分析代理模式何时该用、何时不该用。
我在 AI 领域花了很多时间——读论文、写代码、和真正在交付产品的工程师们交流。这其中有一个 gap(演示和实际生产系统之间的差距)没有人愿意完全坦白。
所以这是我对当前真实情况的一些诚实看法。
现在所有人都在把所有东西叫作"Agent"。一个调用工具的函数?Agent。有记忆的聊天机器人?Agent。带循环的脚本?Agent。
这种语义稀释不只是文字问题。它正在导致真实的工程错误。
当你对自己正在构建的东西没有精确的定义时,你会对简单的流程过度工程化,而对真正复杂的东西却工程化不足。我见过团队花几周时间给本来一个结构良好的 prompt 就能搞定的工作流添加"Agent 式"编排。
我一直用的定义是这样的:Agent 是一个有目标(objective)的系统,而不仅仅是一条指令。它决定下一步做什么。它处理失败。它知道自己何时完成。
其他一切都只是一个 fancy 的函数调用。
🟢 如果你的系统需要人告诉它每一步,那它不是 Agent。它只是一个聊天界面。
🔵 如果你的系统能从失败的工具调用中恢复并尝试不同方案,你已经走在正轨上了。
✅ 如果你的系统能将目标分解为子任务并委托它们,那这就是真正的 Agent 了。
从我关注和交流的团队那里了解到的真实图景:
大多数真实的 Agent 部署都是窄集的。它们把一件事做得好。客服分流、文档提取、对特定代码库的代码审查。它们不是通用推理引擎。它们是 purpose-built 的流水线,在决策层有一些智能。
取得好结果的团队不是在追逐最新的模型发布。他们专注于:
☑️ 工具设计——Agent 实际可以调用什么,接口有多清晰
☑️ 失败处理——当工具返回无用结果时会发生什么
☑️ 可观测性——你能否追踪到 Agent 做出某个决策的完整原因
得到坏结果的团队是那些只是把 GPT-4 换成最新的前沿模型、期望不同行为却什么都没改变的人。
最近我经常看到的一个东西:Google 25 年来首次重新设计了搜索框——这就是为什么它比你想象的更重要。(VentureBeat AI)
最近我经常看到的一个东西:Railway 融资 1 亿美元,用 AI 原生云基础设施挑战 AWS (VentureBeat AI)
最近我经常看到的一个东西:Claude Code 每月最高 200 美元。Goose 做同样的事情却免费。(VentureBeat AI)
LangChain。LangGraph。CrewAI。AutoGen。Semantic Kernel。每个月都有新的框架出来,总有人在写文章说旧的那个已经死了。
我的真实看法是:框架没有模式重要。
无论你用哪个框架,一直在有效的模式:
✔️ Plan-then-execute。先有一个产生计划的推理步骤,再有一个执行步骤来遵循它。不要混在一起。
✔️ 分离检索与推理。获取上下文和使用上下文是不同的工作。混淆它们的系统会陷入混乱。
✔️ 显式交接。当一个 Agent 把工作交给另一个时,交接应该是结构化的且可记录的。不是通过 prompt 传递一个字符串。
我用三个不同的框架重建过相同的架构,结果每次都差不多。框架是脚手架。架构才是建筑。
RAG 现在是标配。几乎每个接触专有数据的生产 AI 系统都在用某种形式的 RAG。但有一个问题是教程没有讲清楚的。
chunk 边界是错的。
当你把文档拆分成 chunk 并嵌入时,你在做一个假设:什么片段的上下文应该放在一起。这些假设往往是错的。一段话只有结合前一段才能理解,却被单独检索出来,模型对缺失的上下文产生幻觉。
🟢 更好的 chunking 策略有帮助。重叠窗口、语义分块、父文档检索。
🔵 但真正的修复是重新思考你存储的是什么。有时候存储的正确内容不是原始文本而是信息的结构化表示。
✅ 如果你的 RAG pipeline 返回的是技术正确但上下文无用的结果,问题几乎肯定在 chunking 或元数据,而不是 embedding 模型。
模型会越来越好。上下文窗口会越来越大。每 token 的成本会越来越低。
这些都不会改变基本的工程挑战:构建在你不在盯着的时候能正确运行、你愿意信任的系统。
这才是值得解决的问题。治理、可观测性、可靠的工具使用。而不是追逐 benchmarks。
在未来两年会重要的工程师,是那些能构建出其他工程师可以维护和信任的 AI 系统的人。这是一种不同于微调或 prompt 工程的技能组合。
它更接近系统设计,而不是模型研究。
如果这些和你正在构建的东西有共鸣,或者你有完全不同的看法,我想听听。在评论区分享你的经验。这个领域有趣的对话不在主题演讲里——而是在那些人们真正坦诚什么有效的讨论线程里。