40 lines
1.8 KiB
YAML
40 lines
1.8 KiB
YAML
# 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 的区别是..."
|
||
❌ 正确:先说"不能区分",再说"但不影响处理方案设计"
|