Postsread more
智能体问题:可靠性与中途崩溃
智能体的"半途而废"之痛
写代码的人都知道——程序崩溃不可怕,可怕的是崩溃后状态全丢,只能从头再来。
智能体面临的就是这个问题。一个 20 步的自动化任务,执行到第 15 步时 LLM API 超时了,所有中间状态消失。下次运行从第 1 步重新开始,前面的 14 步白做了。如果有副作用(已经发了一封邮件、已经创建了一条数据库记录),那就更麻烦——重做会导致重复操作。
Temporal 的技术博客 2026 年 4 月发表了一篇引起广泛共鸣的文章,核心观点是:AI 可靠性是一个十年前就该解决、现在仍然只解决了一半的问题。我们应该用基础设施手段而非更好模型来解决它。
为什么智能体会中途崩溃?
原因一:LLM 推理本身就是不稳定的
传统软件的执行路径是确定性的——给定相同输入,永远走同一条路。LLM 不是。每一次推理都是一次概率采样,天生带有不确定性:
- API 超时:模型推理慢时,HTTP 请求可能超时中断
- Token 限制:上下文窗口满了,前面的轮次被截断
- Rate Limit:API 调用频率受限,被 429 返回
- 服务降级:高峰期模型响应质量下降
- 随机中断:GPU 集群节点切换、负载均衡导致连接中断
这些问题不是偶尔发生的,在大规模生产环境中是常态。
原因二:智能体状态是"内存态"的
大多数 Agent 框架把执行状态存在内存中:
# 典型的 Agent 循环
state = initial_state
for step in plan:
state = llm_call(step, state) # state 在内存
state = tool_call(step, state) # 一旦进程挂了,state 全丢
传统软件有数据库保驾护航——应用挂了重启后数据还在。Agent 框架呢?进程一死,所有中间推理、工具返回、上下文积累全部消失。
原因三:长链路任务的脆弱性
智能体任务越复杂,包含的步骤越多,执行成功率呈指数下降:
单步成功率 95%
10 步任务成功率: 0.95^10 = 59.9%
20 步任务成功率: 0.95^20 = 35.8%
50 步任务成功率: 0.95^50 = 7.7%
即使每步有 95% 的成功率(这已经是优秀的表现),一个 20 步任务就有近 2/3 的概率在某步失败。而大多数真实业务场景不止 20 步。