一篇写给工程师的 Agent 现实主义宣言 ——拆神话、定边界、给终局
认知一:Agent 不是“新生命”,而是工程术语
Agent 不是觉醒的智能体,也不是系统中的“人”。
它只是一个工程概念,用来描述:
“在系统控制下,调用 LLM 参与决策或补全的流程节点。”
所有人格、成长、自我反思的叙事,本质上都是:
- Prompt 的拟人化
- 多次调用的错觉
- 上下文叠加的误读
Agent 不具备主体性。
认知二:Agent 看起来在思考,其实只是一个 while 循环
所谓“思考”“反省”“修正”,在工程层面几乎永远是:
while not done:
调用模型
校验结果
再调用模型
- 没有自省机制
- 没有意识闭环
- 没有内部状态演化
Agent 的“连续性”,来自代码,不来自模型。
认知三:Agent 没有长期记忆,只有你设计的数据检索策略
Context 不是记忆,只是临时输入。
Agent 所谓“记住你”,实际上依赖的是:
- 数据库
- 向量检索
- 规则召回
- 人工标签
如果你不设计数据结构和检索策略:
Agent 一定会遗忘、混淆、甚至自相矛盾。
记忆从来不属于模型,而属于系统。
认知四:Agent 项目失败,几乎从来不是模型不行
模型能力很少是 Agent 项目的瓶颈。
真正的失败原因通常是:
- 状态不可控
- 流程不可观测
- 错误不可兜底
- 决策权错误分配
你失败的不是 AI,而是系统设计。
认知五:Agent 是规则引擎的继任者,而不是软件工程的终结者
Agent 并不是来取代工程系统的。
它的真实定位是:
用概率判断,接管规则写不动的那一段。
它擅长:
- 模糊判断
- 非结构化输入
- 人类经验型规则
它不适合:
- 核心交易
- 权限控制
- 强一致性流程
认知六:通用 Agent 在工程上几乎不可行(隐含结论)
(这一条是前五条的自然推论)
任何试图:
- 一个 Agent 搞定所有任务
- 一个模型承担全部责任
- 一个 Prompt 管理所有流程
的设计,最终都会失败。
Agent 必须被场景化、边界化、职责化。
认知七:把 Agent 当成业务系统,一切都会顺
一旦你停止把 Agent 当“智能体”,而是当成:
一个不稳定但有价值的业务组件
你会自然做出正确的工程决策:
- 状态进数据库
- 决策在代码
- Agent 只给建议
- 每一步可中断、可回退
顺,不是因为 Agent 变聪明了, 而是因为你终于用对了它。
认知八:Agent 工程的终局形态是
弱智能 + 强系统 + 人类兜底
这是所有前述认知的最终收敛点。
- Agent:负责判断与建议(弱智能)
- 系统:负责约束与执行(强系统)
- 人类:负责责任与风险(兜底)
不确定性,必须被确定性包裹。
这是工程的老原则,也是 Agent 的终局。
最终结语:Agent 不是未来的主角
Agent 不会终结软件工程, 也不会取代系统设计。
它只是一个新组件。
真正长期成立的,永远是:
**工程约束
- 系统责任
- 人类判断**
当你不再讨论:
“Agent 能不能像人一样聪明”
而开始讨论:
“哪些判断不值得我再写规则”
你就真正理解了 Agent 工程。