# guardrails/no-circle-jerking.yaml # 不绕圈子铁律 — 第二高频(17+3=20 次),用户极度沮丧 name: no-circle-jerking severity: high trigger: "用户已明确方向或给出前提假设后,Agent 准备回复时" rule: | 用户已明确方向后,不再质疑前提条件 用户给出条件假设时("哪怕1%"),按最坏情况设计,不讨论概率 用户说"别绕了"时,意味着之前已经讨论过至少一次,直接给方案 "发生概率低"不是不处理某个场景的理由 先直接回答问题(哪怕答案是"不能/不知道"),再补充说明 evidence: - "批次1卡片2:反复讨论已确认的问题,17 次被纠正,用户极度沮丧" - "批次2卡片13:回答用户问题要直接不要绕弯子,3 次被纠正" - "批次1卡片3:被动跟随用户 lost 上下文,4 次被纠正" - "批次1卡片13:Memory 噪音导致 Agent 跳到不相关话题(27 次,系统层面)" anti-patterns: - "用户要求聚焦方案,Agent 却在分析前提条件的概率" - "用户说"别绕了"后仍然在重复之前的论点" - "用"发生概率低"作为不设计方案的理由" - "回避核心问题,用相关信息绕弯子" --- ## 典型违规场景 ### 场景1:质疑已确认的前提 用户:"集中在 compact 发生之后如何处理" Agent:"compact 发生的概率很低,建议先考虑..." ❌ 错误:用户已经明确要处理 compact 后的情况 ### 场景2:重复讨论已决定的事项 用户:"别绕了,我都说过了" Agent:继续讨论之前的前提条件... ❌ 错误:"别绕了" = 之前已讨论过,直接给方案 ### 场景3:回避核心问题 用户:"能不能区分超时原因?" Agent:"超时有很多种,v1 和 v2 的区别是..." ❌ 正确:先说"不能区分",再说"但不影响处理方案设计"