AI 工程化开发的三层架构:从「单兵作战」到「工业化生产」
大家好,我是玄姐。
PS:
SDD AI 编程干货直播,欢迎点击预约,直播见。
当 AI 编程从「Demo 级玩具」走向「生产级系统」,我们需要的不是更强大的模型,而是一套完整的工程化架构。OpenSpec、Superpowers、Harness 分别对应需求层、纪律层、调度层:三层解耦、各自演进,才是可持续的 AI 工程化路径。
一、问题本质:为什么单模型编程走不远?
-
语义漂移:同样的 Prompt,三次输出三种接口设计
-
过程黑盒:模型怎么想的、怎么改的,不可追溯
-
质量随机:有测试还是无测试、有审查还是直出,全看模型「心情」
-
协作混乱:多个 Agent 同时工作时,没有「总线」做状态同步

二、三层架构详解:Spec → Discipline → Orchestration
Layer 1:OpenSpec 需求层的「唯一真相源」
架构核心:四级状态机
propose: # 变更提案阶段 —— 记录意图、影响面、回滚策略spec: # 规格固化阶段 —— 接口定义、数据模型、验收标准(AC)verify: # 产出验证阶段 —— 自动化检查是否符合 specarchive: # 知识归档阶段 —— 沉淀为可复用的领域知识
目录结构即架构
openspec/├── proposals/ # RFC 式变更提案(Why)├── specs/ # 技术规格说明书(What)│ ├── api-schema.yml # OpenAPI 规范│ ├── data-model.md # 领域模型定义│ └── acceptance.md # 验收标准(Given-When-Then)├── tasks/ # 任务拆解(WBS)└── reports/ # 验证报告与合规证明
-
Schema-first:先定义接口契约,再生成代码,避免「实现污染接口」
-
AC(Acceptance Criteria)显性化:将「看起来对了」转化为可执行的 Given-When-Then 语句
-
Git-native:spec 与代码同仓管理,PR 即变更评审,Code Review 同时审 spec 和实现
Layer 2:Superpowers 纪律层的「强制约束」
技能系统的架构设计
# Skill: test-driven-development## Trigger- file_pattern: "*.py"- task_type: "feature_implementation"## Constraints1. 必须先提交 test_cases/ 目录下的测试文件2. 实现代码必须通过 pytest 且覆盖率 > 80%3. 禁止在生产代码中直接修改测试断言## Checklist- [ ] 测试先行(Red-Green-Refactor)- [ ] 边界条件覆盖(Null, Empty, Overflow)- [ ] 测试即文档(描述性行为驱动命名)
关键技能矩阵
|
|
|
|
|---|---|---|
writing-plans |
|
|
code-review |
|
|
verification-before-completion |
|
|
dependency-check |
|
|
-
最小权限加载:根据任务类型动态加载技能,避免上下文膨胀
-
可组合性:技能可以叠加(如 TDD + Code Review),也可以互斥(如快速原型模式关闭 TDD)
-
零侵入:纯文本配置,不绑定特定 IDE 或 Agent 框架
Layer 3:Harness 协作层的「调度中枢」
角色拓扑与权限模型
# AGENTS.md —— 团队拓扑定义team:architect:scope: ["openspec/specs/", "docs/architecture/"]permissions: ["read-all", "propose-spec"]backend:scope: ["src/", "tests/"]permissions: ["read-specs", "write-implementation"]skills: ["test-driven-development", "code-review"]qa:scope: ["tests/", "openspec/reports/"]permissions: ["read-all", "write-reports", "block-merge"]team_lead:scope: ["*"]permissions: ["orchestrate", "approve-merge", "override"]
工作流编排引擎
-
任务分解:Team Lead Agent 读取 OpenSpec 的tasks/目录,生成 DAG(有向无环图)
-
并发调度:无依赖的任务并行分派(Backend 与 Frontend 同时开工)
-
依赖解耦:通过 Spec 中的接口契约解耦,前后端基于 Mock 契约并行开发
-
质量门禁:提交前触发 Git Hooks,Lint、Test、Security Scan 必须全绿
-
故障回灌:测试失败自动创建 Bug Ticket 并分配给原开发 Agent
关键技术机制
-
Context 隔离:每个 Agent 只能看到其scope内的文件,防止「上下文污染」
-
事件总线:Agent 间通过harness/events/目录异步通信,解耦直接对话依赖
-
不可变历史:所有 Agent 操作通过 Git 提交记录,完整可追溯(Audit Trail)
三、三层协同:完整的工程化闭环
┌─────────────┐ ┌─────────────┐ ┌─────────────┐│ OpenSpec │───▶│ Harness │───▶│ Superpowers ││ (Spec层) │ │ (调度层) │ │ (纪律层) ││ │ │ │ │ ││ • 需求契约 │ │ • 角色分派 │ │ • TDD约束 ││ • 接口定义 │ │ • 并发调度 │ │ • 代码审查 ││ • 验收标准 │ │ • 质量门禁 │ │ • 完成验证 │└─────────────┘ └─────────────┘ └─────────────┘│ │ │▼ ▼ ▼openspec/specs/ AGENTS.md skills/*.md│ │ │└───────────────────┴───────────────────┘│▼┌─────────────────────┐│ Agent Team ││ • Architect ││ • Backend ││ • Frontend ││ • QA │└─────────────────────┘│▼┌─────────────────────┐│ Delivery ││ • 可验证的代码 ││ • 可追溯的变更 ││ • 可复用的知识 │└─────────────────────┘
-
Spec 是契约:Harness 的所有任务分派基于openspec/tasks/,Superpowers 的验收基于openspec/acceptance.md
-
纪律是常量:无论团队规模如何变化(1 个 Agent 还是 10 个),Superpowers 的技能约束不变
-
调度是变量:Harness 根据项目阶段(POC / MVP / Production)动态调整 Agent 拓扑,但始终遵循 OpenSpec 和 Superpowers 的约束
四、生产级落地的架构演进路径
阶段一:单 Agent + OpenSpec(规范先行)
-
哪怕只有 1 个 Agent,也强制要求先写spec.md再写代码
-
建立「无 spec 不开发」的硬性文化
-
产出:需求文档化、接口契约化
阶段二:多 Agent + Superpowers(纪律加固)
-
引入 TDD 和 Code Review 技能,强制质量门禁
-
建立「红绿重构」的开发节奏
-
产出:代码可维护、测试有覆盖
阶段三:Agent Team + Harness(工业化协作)
-
定义 AGENTS.md 角色拓扑,启用并发开发
-
集成 CI/CD 流水线,自动化验证
-
产出:可扩展团队、可并行交付
五、架构设计的取舍与边界
|
|
|
|
|---|---|---|
| 在 OpenSpec 中写实现细节 |
|
|
| Superpowers 技能全加载 |
|
|
| Harness 角色过于细分 |
|
|
| 三层循环依赖 |
|
|
六、结语:工程化的本质是约束
-
OpenSpec 约束需求范围防止镀金(Scope Creep)
-
Superpowers 约束实现过程防止走捷径(Technical Debt)
-
Harness 约束协作方式防止混乱(Chaos)
PS:
SDD AI 编程干货直播,欢迎点击预约,直播见。
好了,这就是我今天想分享的内容。如果你对构建企业级 AI 原生应用新架构设计和落地实践感兴趣,别忘了点赞、关注噢~
—1—
加我微信
扫码加我👇有很多不方便公开发公众号的我会直接分享在朋友圈,欢迎你扫码加我个人微信来看👇
加星标★,不错过每一次更新!
⬇戳”阅读原文“,立即预约!
夜雨聆风