核心用法
Simplify & Harden 是一个面向编码代理的后置自检技能,在任务完成信号发出前自动触发三阶段审查:
1. Simplify(简化):清理死代码、未使用导入、优化命名、扁平化控制流、降低不必要的公开 API 表面。默认姿态是轻量清理而非重构——重构仅在代码"明显错误"或收益显著时才提出,且必须经人工批准。
2. Harden(加固):检查输入验证、注入向量、认证授权、密钥泄露、数据暴露、竞态条件等安全缺口。简单补丁自动应用,结构性安全重构需人工批准。
3. Document(微文档):为需要超过5秒理解的逻辑、临时方案、性能敏感选择添加最多5条注释,捕获决策上下文。
触发条件:任务完成 + 非平凡代码变更(≥10行可执行代码变更或含高影响逻辑变更)+ 未显式跳过。严格限定仅修改当前任务涉及的代码,禁止"顺便"重构相邻代码。
预算约束:额外变更不超过原 diff 的20%,执行时间不超过60秒。超限则停止并标记 budget_exceeded。
显著优点
- 峰值上下文利用:在代理对问题、方案、权衡记忆最清晰时执行审查,避免上下文流失后的低质量回顾
- 有界改进:20%预算硬约束防止审查滑向无限制重构
- 分层决策机制:化妆品级修复自动执行,结构性重构必须人工批准,平衡效率与控制
- 安全优先排序:预算紧张时优先处理安全补丁
- 学习循环集成:将重复发现的模式输出到
self-improvement技能,促进跨任务记忆积累 - 代理无关设计:支持 Claude Code、Copilot、Cursor、Aider 等任何遵循任务工作流的编码代理
潜在缺点与局限性
- 人工阻塞点:重构和安全重构的停止钩子需要人工响应,在高自动化场景可能造成延迟
- 上下文窗口依赖:对超大 diff 可能超出上下文限制,需依赖"仅加载相关文件"的优化
- CI 场景限制:交互式停止钩子在 CI/无头环境中不可用,需使用配套的
simplify-and-harden-ci变体 - 非平凡定义盲区:配置/文档/纯测试变更被排除,可能漏过配置驱动逻辑的安全问题
- 学习循环延迟:模式需30天内≥3次出现且跨≥2个任务才晋升,冷启动期无历史积累
适合人群
- 使用 AI 编码代理进行生产级开发的团队,需要结构化质量门禁
- 安全敏感型项目(金融、医疗、基础设施)在合并前需要代理自检
- 希望将代理的"完成"升级为"完成良好"的工程师,而非接受首次输出
- 有多代理协作或人机协作流程的组织,需要可解析的结构化审查输出
常规风险
- 自主性误判:部分代理在高自主性模式下可能不可靠地暂停等待批准,需生产前验证
- 范围蔓延诱惑:尽管有硬规则,代理仍可能尝试"顺便改进"相邻代码,需监控输出中的
flagged项 - 超时处理:5分钟人工超时后默认"标记而非丢弃",可能堆积待处理项
- 模式过度泛化:学习循环晋升的规则若未仔细审核,可能将项目特定模式误灌为通用规则
- 与独立审查的关系:该技能明确不替代人工代码审查,仅作为第一道自检,团队仍需执行独立审查