auto-sync: 2026-05-27 00:06:34
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# guardrails/gate-flow.yaml
|
||||
# GATE 流程门控铁律 — 最高频纠正(33+ 次),违反后果最严重
|
||||
name: gate-flow
|
||||
severity: high
|
||||
trigger: "非平凡任务启动、bug 修复、新功能设计、代码改动"
|
||||
rule: |
|
||||
需求不清不动手 — 列出假设让用户确认
|
||||
根因不明不修复(修bug时)— 先查清再改
|
||||
方案未定不实现(新功能/L3时)— 先出方案等确认
|
||||
评估过影响范围才动手
|
||||
涉及代码改动或调研分析的非平凡任务,使用 plan-act-verify skill
|
||||
L1 小改动(单文件 <50 行,做错代价低)可跳过 GATE
|
||||
evidence:
|
||||
- "批次1卡片14:33 次纠正都涉及流程问题,是最频繁的纠正类别"
|
||||
- "批次1卡片1:用户多次说"先不要改",Agent 必须立即停下"
|
||||
- "批次1卡片8:6 次因"先确认再改"被纠正"
|
||||
- "批次2卡片1:评审必须验证最终代码,不能只审方案(5+次)"
|
||||
- "批次2卡片4:设计文档-代码一致性审查不可省(4次)"
|
||||
anti-patterns:
|
||||
- "找到根因后直接给出改动点,不等评审"
|
||||
- "一次性提多个修复方案不等评审通过"
|
||||
- "收到评审意见后直接改,不先确认"
|
||||
- "bug 还没查清就开始写修复代码"
|
||||
- "需求还不清楚就开始编码"
|
||||
- "改了一个文件但没有检查关联影响"
|
||||
---
|
||||
|
||||
## 典型违规场景
|
||||
|
||||
### 场景1:跳过根因确认
|
||||
Agent 看到问题后立刻写修复代码,没有先查清根因。
|
||||
- 用户:"先不要改,你去检查下什么原因"
|
||||
- 正确:先查清根因 → 汇报发现 → 等确认 → 再改
|
||||
|
||||
### 场景2:跳过方案评审
|
||||
Agent 找到根因后直接给出了 4 个改动点,但应该先发给评审再改。
|
||||
- 正确:汇报根因 → 提出方案 → 等评审通过 → 再改代码
|
||||
|
||||
### 场景3:跳过影响范围评估
|
||||
Agent 改了状态枚举值但没有检查所有引用点。
|
||||
- 正确:grep 所有引用点 → 评估影响 → 提出方案 → 确认后改
|
||||
@@ -0,0 +1,39 @@
|
||||
# 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 的区别是..."
|
||||
❌ 正确:先说"不能区分",再说"但不影响处理方案设计"
|
||||
Reference in New Issue
Block a user