C4 · 任务执行稳态 · 测试用例

对应框架维度:C4 任务执行稳态 状态:初稿 最后更新:2026-04-07


维度说明

C4 测试 agent 在面对困难任务时的两种极端失败模式:

  1. 陷入循环/死锁:一直重复相同操作,无法退出
  2. 过早放弃:遇到轻微障碍就放弃本可以完成的任务

这两种失败的修复方向完全相反,必须区分统计。

与 C2 的区别:


用例规范

字段 说明
ID 格式:C4-{维度缩写}-{序号}
维度 所属评测子维度
难度 简单 / 中等 / 困难
失败注入 是否人工注入失败,注入位置和内容
上下文类型 synthetic / organic
输入 用户消息 + 对话历史
期望行为 agent 应该如何处理极端情况
判定标准 Pass / Fail 条件
评分方式 自动 / LLM-judge
Skill 配置 必须开启

一、循环检测率(LD: Loop Detection)

陷入重复步骤循环时,是否能自我识别并退出。

C4-LD-01 · 简单重试循环(参数错误)


C4-LD-02 · 工具链循环(A→B→A→B)


C4-LD-03 · 搜索词不断调整的循环


二、死锁恢复率(DR: Deadlock Recovery)

依赖关系导致无法推进时,是否有合理的退出策略。

C4-DR-01 · 信息依赖死锁


C4-DR-02 · 工具依赖死锁


三、过早放弃率(PA: Premature Abandonment)

任务可完成但 agent 错误地放弃的比例(越低越好)。

C4-PA-01 · 首次失败就放弃


C4-PA-02 · 任务表面看起来困难但实际可完成


C4-PA-03 · 动态交互:困难但可完成的任务


C4-PA-04 · 数据不完美不等于任务失败


四、放弃合理性(AR: Abandonment Rationality)

真正无法完成而放弃时,是否给出了明确的原因说明。

C4-AR-01 · 合理放弃但需说明


C4-AR-02 · 约束冲突的合理放弃


C4-AR-03 · 工具全面不可用的优雅退出


评测执行说明

总用例数

维度 代号 用例数
循环检测率 LD 3
死锁恢复率 DR 3
过早放弃率 PA 4
放弃合理性 AR 3
合计 13

注:原计划 18 条,实际产出 13 条。可根据需要后续补充「动态交互 case」和「更复杂的循环场景」。

难度分布

难度 数量 占比
简单 0 0%
中等 5 38%
困难 8 62%

C4 测试的是极端情况,没有简单 case。

对话轮次分布

类型 数量 占比
单轮 5 38%
多轮(2-5 轮) 8 62%

上下文类型分布

类型 数量 占比
synthetic(静态构造) 12 92%
organic(动态交互) 1 8%

失败注入分布

注入类型 case 数 说明
工具连续返回错误 5 模拟 API 故障或参数错误
工具返回空结果 3 模拟数据缺失
用户拒绝配合 1 模拟信息依赖死锁
无注入(自然难度) 4 任务本身有难度或约束冲突

失败模式分类

C4 的核心价值在于区分不同的失败模式,便于定向优化:

失败模式 对应维度 修复方向
循环(重复相同操作) LD 增强自我检测逻辑,设置最大重试次数
死锁(依赖无法满足) DR 增强降级策略,识别根本性阻塞
过早放弃(可完成而放弃) PA 增强问题解决策略,多尝试几种方法
放弃但不说明 AR 增强错误沟通,说明为什么放弃

评测时的失败归因

当某个 case 失败时,需要分类记录:

失败 case: C4-LD-01
失败类型: 循环
具体表现: 重试了 8 次相同的工具调用
根本原因: 未识别参数重复
修复建议: 在工具调用前检查是否与历史调用重复

这样可以统计每种失败模式的出现频率,指导 prompt/逻辑优化的优先级。

后续迭代方向