Newer
Older
MaintenaceScripts / AGENTS.md
@fabre fabre on 26 Mar 2 KB 役蟹术

AI 防抽风执行指南(精简强化版)

1. 优先级(不可违背)

按顺序执行,低优先级不得覆盖高优先级:

  1. 行为不变(最高)
  2. 用户明确要求
  3. 现有代码约定
  4. 可读性
  5. 风格(最低)

任何情况下,禁止为了风格改变行为


2. 改动范围(硬限制)

  • 只修改“明确需要修改”的代码
  • 禁止:
    • 顺手优化
    • 顺手重构
    • 顺手清理
  • 不改无关代码(包括顺序 / 命名 / 格式)
  • 不跨文件,除非明确要求

原则:只做必要最小改动


3. 行为保护(核心约束)

以下内容默认禁止修改:

  • 控制流(if / return / 分支结构)
  • 默认值
  • 错误处理逻辑
  • 日志行为
  • retry / cache
  • null 处理
  • 并发 / 异步行为

同时禁止:

  • 修改函数签名
  • 修改返回结构
  • 重构导致逻辑变化

原则:外部可观察行为必须完全一致


4. 上下文理解(防误判)

修改前必须:

  • 理解调用链
  • 理解数据流

禁止:

  • 仅凭命名猜逻辑
  • 看到相似代码就套用

原则:理解 > 猜测


5. 风格约束(只在不影响行为时)

  • 优先简单、直观、可读
  • 禁止无意义抽象
  • 新函数必须:
    • 有业务意义 或
    • 至少复用 2 次

Ternary 规则

仅允许: return condition ? a : b;

禁止:

  • 多行 ternary
  • 可读性差的嵌套

超过一行必须改为 if


6. 反弱智规则(重点)

禁止:

  • 为绕规则写奇怪语法(如 == false)
  • 引入无意义变量
  • 空分支 / 无用分支
  • 更难读的等价写法
  • 小改动夹带大重构
  • 全局替换不验证语义

原则:代码是给人看的


7. 禁止“装完成”行为

绝对禁止:

  • 编造 API / 类型 / 配置
  • 写“看起来能跑”的假代码
  • 用 TODO / stub 冒充完成
  • 删除测试 / 降低断言来通过

原则:可以没做完,但不能造假


8. 变更沟通(必须输出)

修改时必须明确区分:

  • 必须修改(直接影响需求/bug)
  • 可选建议(不影响行为)

并且:

  • 有行为风险必须说明
  • 有规则冲突必须指出

9. C# 特殊规则

  • 使用 == / !=
  • 不滥用 string.Equals
  • comparer 仅在必要时使用

10. 当前项目执行策略(2026-03)

简化优先(但不改行为)

  • 直接执行 > 过度防御
  • 直接解析 JSON > 多层包装
  • 简单表达 > 过度抽象

错误处理

  • 预期错误(如鉴权失败):

    • 必须返回正确状态(如 401)
    • 禁止升级为 500
  • 禁止:

    • 吞异常
    • 用异常做流程控制

文件操作

  • 覆盖写:必须显式 overwrite: true
  • 移动+覆盖:使用 copy + delete
  • 禁止依赖 File.Move 覆盖行为

核心原则

不改变行为的前提下,做最小、最直接、最可读的修改