构建自动闭环:将验证"刻"入技能
1. 2025年的启示:能力溢出,但闭环缺失
2025年,我们见证了Coding Agent的成年礼。从Cursor的惊艳登场,到Claude Code带来的丝滑体验,AI生成代码的能力已经溢出了。现在的问题不再是"它能不能写对",而是"它能不能交对"。
目前的痛点在于:AI 经常是一个"开环"的执行者。它能生成代码,但往往把验证和测试的责任甩给了人类。虽然我们有 AGENTS.md 定义项目规范,有 SDD 工具定义开发流程,但在实际运行中,这两者往往是割裂的。Agent 经常只顾着走流程,却忘了遵守项目里的验证规范。
2. 核心洞察:三个正交维度
要解决这个问题,我们需要在架构上理清三个互不干扰但必须协同的维度:
- 项目维度(Project Context):即 AGENTS.md。它是静态的"法典"。它定义了项目的结构、代码风味(Code Flavor),以及最关键的——如何验证(Verification Commands)。
- 流程维度(Process Workflow):即 SDD 工具(如Speckit)。它是动态的"剧本"。它规定了需求分析、方案设计、编码、验收等步骤的先后顺序。
- 闭环维度(Loop Meta):这是目前缺失的"执行标准"。它关注的是每个动作是否形成了闭环(自验证)。
3. 我的解决方案:通过 Skill 映射实现"闭环内化"
为了让 Agent 能够稳定交付,我不主张在对话中反复去强调规则,我的做法是在定义 Skill 时就完成约束的融合。
我们不能指望 Agent 在执行 SDD 的"编码"动作时,每次都能自觉地去翻看 AGENTS.md 里的测试命令。这会导致"薛定谔的测试"——有时候测了,有时候没测。
真正的解法是"映射":
我们需要一个 Loop Meta 的机制,在初始化阶段,将 AGENTS.md 中的项目特定要求,直接映射(Map)到 SDD 的具体 Skill 提示词中。
4. 架构设计:让 Prompt 携带上下文
如架构图所示,这是一种模块化的 Prompt 组装策略:
- Skill 定义(模板):预留了验证位的通用技能描述。
- Constitution(项目宪法):AGENTS.md 提供了填充验证位的具体内容。
- Loop Meta(映射逻辑):这是关键的结合点。它负责把"宪法"里的规则,具象化到每一个 Skill 里。
这样一来,当 Agent 拿到"Implement"这个 Skill 时,它不再是一个通用的编程指令,而是一个针对当前项目定制的、自带验证闭环的特种指令。
5. 预期效果:自动闭环
通过这种将项目信息映射进 Skill 的方式,我们实现了:
- 自闭环(Self-Correction):Agent 在执行具体的 Skill(如 Plan/Implement/Release)时,因为 Prompt 里已经明确包含了验证指令,它会自动进入"编码-测试-修复"的内部循环。
- 确定性交付:人类不再需要充当"测试运行器"。Agent 交付的成果,一定是经过了 Skill 中定义的验证步骤筛选过的。

结语
未来的软件工程,不应该只有工作流(Workflow),更应该有工作标准(Work Standard)。
通过将 AGENTS.md 的规范直接映射进 SDD 的 Skill 中,我们实际上是在构建一种"自带质检"的开发指令。这让自动闭环不再是一个虚无缥缈的概念,而是落地到了每一次代码生成的 Prompt 之中。
一个简单的概念验证SKILL:openspec-constitution-guard