首页 › ai-agents › 停太早还是停不下:终止判定税

概述

自主智能体最难的不是"做",而是"停"。2026 年学界与工程界形成共识:终止判定(termination logic)是被低估的头号设计难题,其影响力压过模型质量与提示词工程。自主智能体在终止上存在两个相反方向的塌方——早停税(premature exit,任务没做完就宣称完成)与滑翔税(thrashing,原地空转烧 token)。两者之间没有静态最优解:max_iterations 设低会被硬顶截断好任务,设高会让坏任务空转到天荒地老。本文拆解 OpenHands、SWE-agent、Atropos、AgentExit、EET/AgentStop 等当前主流终止机制的代价结构,给出按场景选型的判定框架。

终止策略多维度对比

策略 机制 触发信号 早停税风险 滑翔税风险 实现复杂度 典型代表
硬顶截断 固定迭代上限 步数 == 上限 高(截断好任务) 低(强制止血) 极低 OpenHands max_iterations_per_run、SWE-agent max_steps
自主 finish 模型显式输出终止动作 模型自判完成 高(过早宣称done) 中(依赖模型自觉) 低 OpenHands finish action、ReAct Finish
无进展/环路检测 状态指纹或动作序列去重 连续重复 低 低 中 SWE-agent loop detection、自定义 hash 滑窗
预测式早停 训练分类器预测成败概率 P(成功) < 阈值 中(需校准) 极低(提前止血) 高 Atropos(+热替换 SLM)
终止预算可见 把剩余步数注入提示 模型看到预算 中 中 低 OpenHands 提案 #2406
HITL 审批门 风险分级 + 人工确认 高危动作 取决于人 取决于人 中高 Stack AI、tianpan 审批门模式

深度分析

一、硬顶护栏:500 这个默认值的代价

OpenHands 的 max_iterations_per_run 默认 500 步,挂在 ConversationState 上、在第 594 行做计数。SWE-agent 同样以固定交互步数为天花板。这是最朴素也最不可省的护栏:它保证智能体永远会停。但硬顶是一把钝刀——它对"好任务"和"坏任务"一视同仁地截断。

代价集中在一个真实的边界 bug:OpenHands 曾出现当智能体恰好在最后一步(iteration == max_iterations)调用 finish 时,execution_status 被错误置为 ERROR 而非 STOPPED/SUCCESS。这意味着终止判定机制本身在边界条件下就会误报,把一个本可成功的任务判成失败。硬顶的本质问题是步数与任务难度解耦:一个本该 80 步的任务设了 500 步上限,前 420 步都在空转;一个本该 800 步的难任务被 500 截断,永远做不完。没有"一刀切"的正确值,这就是后续所有自适应终止技术的存在理由。

二、自主 finish:把"何时停"外包给模型

让模型自己说"我做完了"(OpenHands 的 finish action、ReAct 范式里的 Finish(observation))是最自然的终止方式,但也是早停税的主要来源。CMU 的"Optimal Termination in LLM-Based Decision Support"专门研究教 LLM 何时停止收集信息、何时开始行动——这恰恰是 finish 判定的核心难点:模型往往过早收敛,在信息不充分时就宣布完成。

AgentExit(Coldmist-Lu)把这种"早退行为"(early-exit behavior)单独拎出来作为研究对象,量化了 LLM 智能体在何等条件下会草草收场。与之相对的是 VLAA-GUI 指出的 GUI 智能体两大失败模式之一正是premature task termination。自终止的悖论在于:模型越聪明、越自信,早停风险在某些场景反而越高——它"觉得"自己懂了。这跟你另测过的"自验证假通过"是同源异象:验证器被俘获是 finish 的质量问题,过早 finish 是 finish 的时机问题,两者合力制造了大量"看起来完成了其实没完成"的灰色产出。

# 自终止的可信化:finish 不应只信模型的"done",要交叉验证
def should_finish(state):
    if not state.agent_emits_finish():
        return False
    # 早停税对冲:模型说done时,要求至少一个外部信号佐证
    return (state.tests_pass()
            or state.goal_achieved_probe()
            or state.no_unresolved_subgoal())

三、无进展与环路检测:发现原地打转

滑翔税的另一头是thrashing——智能体卡在测试失败里反复横跳,改一行、跑测试、失败、再改、再失败。codex.danielvaughan 在 2026 年 6 月的早停策略文章里给出的经验判据很直白:"一个在测试失败里反复折腾 80 轮的会话,通常说明任务范围被划得太大了。" 这意味着 thrashing 往往不是模型笨,而是任务分解的终止判定缺位——本该在 80 轮前就触发"任务过大,回退重分解"。

工程上用状态指纹或动作序列去重来检测环路:对最近 N 步的 (action, observation_hash) 计算指纹,重复超过阈值即判定卡死。SWE-agent 内置了环路检测。更阴险的是 LoopTrap 攻击——通过"终止投毒"(termination poisoning)让智能体忘记如何停止,既可逼它过早退出返回残缺结果,也可逼它无限滑翔烧光预算。这把"无进展检测"从优化项变成了安全防线:没有环路检测的自主智能体,其终止判定在对抗条件下是可被远程操控的。

# 极简无进展检测:动作指纹滑窗
from collections import deque
class ProgressGate:
    def __init__(self, window=8, dup_thresh=3):
        self.win, self.thresh = deque(maxlen=window), dup_thresh
    def observe(self, action, obs):
        fp = hash((action, str(obs)[:200]))
        self.win.append(fp)
        # 同一指纹出现 >= thresh 次即判卡死
        if self.win.count(fp) >= self.thresh:
            return "THRASHING"
        return "OK"

四、预测式早停 + 热替换:Atropos 砍掉 40-60% 成本

Atropos(ISSTA 2026,COINSE 实验室)是目前终止判定最前沿的工程答案。名字取自希腊神话中"剪断生命之线"的命运女神 Atropos,意涵精准。它的核心是预测式早停 + LLM 热替换:在 self-consistency(自洽性多次采样)流程中,训一个轻量预测器实时估计"当前轨迹是否大概率会失败";一旦预测失败概率超过阈值,立刻提前终止这条轨迹,并把后续推理热替换(hotswap)到更便宜的小语言模型(SLM)上重试,而非让昂贵的大模型一路空跑到失败。

aimodels.fyi 汇总的实测结论是:Atropos 在多个基准上把总计算成本降低 40-60%,同时保持准确率不降。这个数字说明一件事——滑翔税不是边际成本,而是主流成本:默认配置下有将近一半的算力花在了注定失败的轨迹上。Atropos 的代价是工程复杂度高(预测器训练 + 在线热替换 + 状态迁移)和对预测器校准的依赖:预测器若系统性悲观,会复活早停税。它是把"二选一的税"转化成了"一个可校准的概率阀门"。

五、终止预算可见:让模型看见自己的剩余弹药

OpenHands 提案 #2406 提出一个被长期忽视的点:max_iterations 这个上限对模型自身是不可见的。模型不知道自己还剩多少步,就无法做"我快到顶了,该收尾了"的规划。把剩余迭代数注入系统提示,是成本近乎为零、收益明确的终止增强——它让模型的 finish 判定从"我觉不觉得做完"变成"在剩余预算内我能不能做完"。

这背后的原理是预算约束下的终止再规划。无预算可见时,模型倾向于要么过早 finish(早停税),要么无限探索(滑翔税);给了可见预算后,模型会自发地在预算中段收敛。代价是模型可能"知道还有 400 步就故意磨洋工"或"知道只剩 5 步就草草交差"——即预算信息本身会改变模型的终止分布。这是终止判定里少有的"信息即干预"现象,需要配合阈值告警而非单纯暴露原始数字。

六、静默失败与熵:没有外部触发的塌方

arXiv 2606.08162 指出一类更隐蔽的终止问题:无外部触发的静默失败(silent failure)——智能体既没有 finish、也没有撞 max_iterations、也没有进入显式环路,而是"熵增"式地缓慢失效,产出看似正常实则错误的结果。这类失败不触发任何终止判定,因为现有机制都在检测"显式停止信号",而静默失败的特征恰恰是没有停止信号。

熵原理意味着终止判定不能只盯"该不该停",还要盯"产出是否在可信熵窗口内"。工程对策是引入产出健康度探针:对最终输出做一致性、可验证性、子目标覆盖率的多维打分,低于阈值的即便模型已经 finish 也要拉回继续。这把终止从"一次性决策"升级为"持续监控的可信度曲线",是对早停税最彻底的对冲,也最贵。

七、HITL 审批门:用人工兜底终止判定

当自动终止判定都不够稳时,最后一道闸门是人。tianpan、Stack AI、Boundev 等给出的模式高度趋同:风险分级 + 审批门 + 断点续跑。把智能体的动作按破坏力分级——只读、本地写、对外副作用(发邮件、付款、删数据),只有高危动作才触发 pause,路由给人工确认后再 resume。

这本质上是把终止判定从"停/不停"二元化,扩展为"继续 / 暂停 / 终止"三态。审批门的代价是中断税:自主性的全部价值在于"无人值守",每加一道门就削掉一份自动化收益。最优策略不是无差别加门,而是只对不可逆副作用加门——一个只读探索的智能体空转 500 步是钱的问题,一个有发邮件权限的智能体空转 500 步是公关灾难。终止判定在这里与副作用幂等性(你此前测过的"邮件发两遍")正面交汇:副作用越不可逆,终止判定越要前置到"动手之前"。

终止判定的两条税线

把以上七点压成一张成本图,自主智能体的终止判定始终在两条税线之间走钢丝:

而判定机本身也有税:预测器训练、环路 hash 滑窗、健康度探针都在每一步消耗算力,即使任务本会顺利结束。Atropos 用 40-60% 的成本节省证明,在大多数场景下"判定机税"远小于"滑翔税"——值得交。但在简单、短任务上,判定机税反而是净亏。这就是为什么选型必须按场景,而非按框架名气。

flowchart TD
    A[Agent 每步执行] --> B{步数 == max_iterations?}
    B -->|是| H[硬顶截断 STOPPED]
    B -->|否| C{模型主动 finish?}
    C -->|是| D{产出健康度探针过关?}
    D -->|是| L[结束 SUCCESS]
    D -->|否| E[拉回继续]
    C -->|否| F{无进展/环路命中?}
    F -->|是| G[强制终止 THRASHING]
    F -->|否| I{预测器 P成功 < 阈值?}
    I -->|是| J[Atropos 早停 + 热替换 SLM]
    I -->|否| K{下一步是高危副作用?}
    K -->|是| M[HITL 审批门]
    M -->|批准| A
    M -->|拒绝| N[终止 REJECTED]
    K -->|否| A

推荐方案

按任务特征分层选终止策略,是当前最务实的工程结论:

一句话结论:自主智能体的成熟度,不取决于它能跑多少步,而取决于它在正确的那一步停下来——而正确的那一步,永远是早停税与滑翔税的交点。把这个交点显式建模出来(预算可见 + 无进展检测 + 预测早停 + 健康度探针的四件套),就是 2026 年终止判定工程的标准答案。

参考来源

  1. Atropos: Improving Cost-Benefit Trade-off of LLM-based Agents under Self-Consistency with Early Termination (arXiv 2604.15075) — 预测式早停 + LLM 热替换,多基准降本 40-60%,ISSTA 2026
  2. Coldmist-Lu/AgentExit — On the early-exit behavior of LLM agents — 专门研究智能体过早退出行为的框架
  3. Early Termination Strategies for Coding Agents: EET and AgentStop (codex.danielvaughan, 2026-06-21) — 80 轮 thrashing 经验判据与早停钩子
  4. OpenHands software-agent-sdk Issue #2406 — make Max Iteration Limit visible to the LLM — max_iterations_per_run 默认 500 与终止预算可见性提案
  5. Termination logic is the underrated design problem in agentic AI (glenrhodes) — "最难的不是模型,而是知道何时该停"

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入