AmazingAng/old-coder
GitHub: AmazingAng/old-coder
一个纯 Markdown 格式的编码 Agent 工作流 skill,通过证据驱动开发和多层自动化检查流程,让开发者审查测试计划与证据报告而非逐行阅读代码,从而建立对 Agent 产出代码的信任。
Stars: 249 | Forks: 16
agent writes a test plan,
you approve it"] RED["🔴 RED
write a test,
watch it fail"] GREEN["🟢 GREEN
write code until
it passes"] REF["🧹 REFACTOR
clean up,
tests untouched"] G["🛡️ GAUNTLET
run every check"] EV["📊 EVIDENCE
you read the report,
not the code"] SPEC --> RED --> GREEN --> REF --> G --> EV REF -. next behavior .-> RED ``` 你阅读两份文档: - **SPEC**(在任何代码之前)— 代码必须做什么和不能做什么的具体示例,以及 agent 想要安装哪些工具。批准它是你给出的唯一一个“是/否”决定。 - **EVIDENCE**(在代码之后)— 来自最后一次全新运行的真实数据,你可以通过单个命令自行重新运行。 其间的严苛考验: | 检查项 | 它回答的问题 | |---|---| | 完整测试套件 | 有什么功能损坏了吗? | | 类型检查 + lint + 复杂度 | 有明显的错误吗?有难以阅读的乱码吗? | | 变更行覆盖率 | 每一行新代码都真正被测试覆盖到了吗? | | 变异测试 | 故意植入 bug —— 测试能捕获它们吗? | | 基于属性的测试 | 这些规则在数百个随机输入下依然成立吗? | | 真实执行 | 它在测试框架之外真的能运行吗? | | 供应链与密钥 | agent 是否悄悄引入了有风险的包,或泄露了密钥? | | 套件健康度 | 测试本身在任何顺序下都稳定吗? | 此外还有一系列特定领域的检查层 —— 并发、UI 检查、API 兼容性、性能、可观测性 —— 根据风险模型按任务进行选择(参见 `references/gauntlet.md`)。 投入的精力随风险而异:一个拼写错误修复只需运行几项检查;任何涉及资金、登录、数据或并发的操作都必须运行所有检查 —— 此外 agent 会首先使用恶意输入对自己的代码进行攻击。 ## 让 agent 保持诚实 agent 为自己的作业打分,因此规则非常严格:绝不为了通过测试而削弱测试;绝不报告未运行的检查;任何未经验证的内容都标记为 `unverified`,绝不为 `pass`;如果没有人类批准规范,报告必须如实说明,并降低其声明的置信度。 还有一个明确的限制:严苛考验只能证明代码符合规范 —— 它无法证明规范涵盖了所有重要事项。这就是为什么规范要交给你。 ## 仓库内容 ``` skills/old-coder/ the skill (SKILL.md + references/gauntlet.md) demo-rate-limiter/ a rate limiter built end-to-end under the skill ``` 演示的 `evidence.md` 是这项练习的核心:17 个测试,100% 的代码分支覆盖率,8/8 植入的 bug 被捕获 —— 并且该过程还发现了一个测试遗漏的真实 bug(一个 `NaN` 时间窗口逃过了验证)。重新运行整个报告: ``` cd demo-rate-limiter python3 -m venv .venv && .venv/bin/pip install -r requirements-dev.txt -e . ./tools/gauntlet.sh ``` ## 许可证 MIT
标签:AI编程助手, Cutter, SOC Prime, 开发工具, 开发流程规范, 数据管道, 测试驱动开发, 编码智能体, 软件工程, 逆向工具, 防御加固