为部分完成而设计:当你的智能体完成 70% 后停止
每个生产级智能体系统最终都会遭遇一个没有人预料到的故障:智能体订好了机票,却找不到酒店,留给用户的是半张已确认的行程单,以及毫无头绪的后续。这不是崩溃,也不是拒绝执行,只是一个停止运行的智能体——带着真实的副作用,却没有任何后续计划。
对智能体故障的标准认知是二元的——要么成功,要么中止。重试逻辑、指数退避、回退提示词——这些机制都假设"任务运行中"与"任务完成"之间存在清晰的边界。但真实的智能体会在中途失败,而当这种情况发生时,缺乏部分完成设计本身就是 bug。你不需要更智能的模型,你需要的是一个任务状态机。
介于开始与完成之间的四种失败模式
在为部分完成进行设计之前,有必要准确分类 任务中途中断的根源。共有四种不同成因,每种都需要不同的设计应对。
持续时间溢出是最可量化的。当前前沿模型在四分钟以内完成任务的可靠性接近完美;而对于超过四小时的任务,成功率会跌破 10%。这并非偶然——这是一条可预测的退化曲线。智能体在长序列过程中会因上下文漂移、累积的不确定性以及工具调用错误的叠加而逐渐失去连贯性。任何可能耗时数小时的工作流,都需要从一开始就设计为可中断的。
执行中途发现的授权缺口更为隐蔽。智能体以合理的权限范围开始任务,随后遭遇一个需要它并不具备的凭证的步骤——对某个系统的写操作而它只有读权限、超过审批阈值的金融交易、隐藏在额外认证层后的 API 端点。任务初始化时的静态权限授予无法预见完整的执行树。智能体就此卡住,往往悄无声息。
上下文耗尽会导致智能体在触碰硬性限制之前就已退化。每个前沿模型在输入长度增长时都会退化——通常早在声明上下文窗口的 30–50% 时便开始。智能体不会在接近限制时崩溃;它们开始做出更差的决策,遗忘早期上下文,最终产生前后矛盾的输出。65% 的企业 AI 生产故障被归因于上下文漂移,而非触达硬性限制。
不确定性与置信度崩溃发生在智能体到达一个决策点时——正确行动真的不明朗,而猜错的代价又很高。若缺乏对这类情况的显式处理,智能体要么猜测(产生难以追溯的错误),要么以晦涩的报错信息停止,让运维人员无从下手。
