auto-sync: 2026-05-27 00:06:34

This commit is contained in:
cfdaily
2026-05-27 00:06:34 +08:00
parent 0c6608aa09
commit 3fac407560
3 changed files with 241 additions and 0 deletions
+41
View File
@@ -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卡片86 次因"先确认再改"被纠正"
- "批次2卡片1:评审必须验证最终代码,不能只审方案(5+次)"
- "批次2卡片4:设计文档-代码一致性审查不可省(4次)"
anti-patterns:
- "找到根因后直接给出改动点,不等评审"
- "一次性提多个修复方案不等评审通过"
- "收到评审意见后直接改,不先确认"
- "bug 还没查清就开始写修复代码"
- "需求还不清楚就开始编码"
- "改了一个文件但没有检查关联影响"
---
## 典型违规场景
### 场景1:跳过根因确认
Agent 看到问题后立刻写修复代码,没有先查清根因。
- 用户:"先不要改,你去检查下什么原因"
- 正确:先查清根因 → 汇报发现 → 等确认 → 再改
### 场景2:跳过方案评审
Agent 找到根因后直接给出了 4 个改动点,但应该先发给评审再改。
- 正确:汇报根因 → 提出方案 → 等评审通过 → 再改代码
### 场景3:跳过影响范围评估
Agent 改了状态枚举值但没有检查所有引用点。
- 正确:grep 所有引用点 → 评估影响 → 提出方案 → 确认后改
+39
View File
@@ -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卡片13Memory 噪音导致 Agent 跳到不相关话题(27 次,系统层面)"
anti-patterns:
- "用户要求聚焦方案,Agent 却在分析前提条件的概率"
- "用户说"别绕了"后仍然在重复之前的论点"
- "用"发生概率低"作为不设计方案的理由"
- "回避核心问题,用相关信息绕弯子"
---
## 典型违规场景
### 场景1:质疑已确认的前提
用户:"集中在 compact 发生之后如何处理"
Agent"compact 发生的概率很低,建议先考虑..."
❌ 错误:用户已经明确要处理 compact 后的情况
### 场景2:重复讨论已决定的事项
用户:"别绕了,我都说过了"
Agent:继续讨论之前的前提条件...
❌ 错误:"别绕了" = 之前已讨论过,直接给方案
### 场景3:回避核心问题
用户:"能不能区分超时原因?"
Agent"超时有很多种,v1 和 v2 的区别是..."
❌ 正确:先说"不能区分",再说"但不影响处理方案设计"