wanshuiyin/HERO-Anti-OverDefense

HERO = Hashing · Edge cases · Rubrics · Overbuild — the four shapes coding agents over-defend in. A paste-in contract that stops them. Works with Claude Code, Codex, Antigravity, Cursor, Copilot, Windsurf, Gemini CLI.

HERO – 反过度防御

它是什么

  • 一个极小的、可复制粘贴的配置块(附带文档),你将其添加到 AI 编程助手的提示/配置文件中(Claude Code、GitHub Copilot、Cursor、Gemini CLI 等)。
  • 该块包含九条“规则”,告诉模型在编写代码、文档或其他交付物时 不要做什么
  • 该仓库还附带一个 真实世界示例目录cases/ 文件夹),展示了这九条规则所针对的四类问题:
    1. H – 哈希 – 添加无人阅读的校验和或摘要。
    2. E – 边界情况 – 防御在项目中永远不会出现的输入。
    3. R – 评分标准 – 用详尽的评分表或审计循环取代人类判断。
    4. O – 过度构建 – 永远不会被使用的脚手架、功能标志、迁移层。
  • 这个理念是为开发者提供一种具体、与语言无关的方法,让基于 LLM 的代理专注于 请求的任务,而不是围绕它构建防御性的“堡垒”。

如何使用

  1. 选择你的代理自动读取的文件(例如 CLAUDE.mdAGENTS.md.github/copilot‑instructions.md)。
  2. 运行 README 中提供的单行命令;它会从仓库获取 RULES.md 块并追加到你的文件中,且受保护不会重复。
  3. 当代理后续生成输出时,这九条规则就成为一份契约:模型应 拒绝 添加不必要的哈希,忽略无关的边界情况,避免无尽的清单,也不应生成不需要的脚手架。
  4. 如果模型仍然过度防御,你可以引用 cases/ 目录中的匹配条目来指出具体的“模式”(例如 HERO‑R‑006),使反馈更加精准。

为何重要

  • 基于 LLM 的代码助手常常试图“面面俱到”——它们会散播哈希、添加防御性包装,或生成冗长的审计记录,从而延迟交付。
  • HERO 的规则源自作者自身研究(ARIS 项目)中观察到的真实事件以及社区贡献。
  • 通过将反防御立场编码为纯文本块,该方法适用于任何尊重提示文件的模型,无需额外的库或运行时。

从仓库你能获得什么

  • RULES.md – 九条规则契约(完整版和简版)。
  • cases/ – 一个 Markdown 格式的示例目录,包含具体的过度防御案例,每个案例都包含 请求内容模型行为为何过度 以及 适度的解决方案
  • hosts/ – 一张表格,明确告诉你每个受支持的代理读取的文件名。
  • examples/ – 可选的社区贡献配置片段,展示人们如何在真实项目中集成该块。
  • 一个极小的变更日志,记录规则更新(例如,2026 年 9 月新增的“发布声明原则”)。

适合谁使用

  • 依赖 LLM 代码助手进行日常开发的团队,希望防止助手生成不必要的样板代码。
  • 进行长时间、无人值守的 AI 驱动代码生成流水线的研究人员或爱好者(ARIS 中的“睡眠”研究),需要一种轻量级防护机制,以应对模型过度防御的倾向。

局限性

  • 该块是一种 软性 指令;更强大的模型或更高优先级的系统约束仍可能覆盖它。
  • 它不强制执行安全或迁移工作——这些规则明确优先遵循更高优先级的要求。
  • 效果有限:社区反馈称它“略有帮助”,但无法保证模型会遵守每一条规则。

许可证

  • MIT – 你可以自由复制、修改和重新分发该块及其文档。

简而言之,HERO‑反过度防御是一个极小的、与模型无关的提示文件,它告诉 AI 编程助手停止为功能构建不必要的“堡垒”,并专注于交付实际工作。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目