第 5 章

AI 适配架构范式

了解如何设计适合 AI 代码生成的架构模式,让 AI 成为架构的助力而非阻碍。

核心洞察:架构即上下文

在 AI 编程时代,架构设计需要考虑 AI 的特点。 好的架构应该让 AI 更容易理解和生成代码,而不是增加复杂度。本章将介绍四种 AI 适配的架构范式。

Clean Architecture with AI

Clean Architecture 的分层结构天然适合 AI 分块生成和维护,每一层都有清晰的职责边界。

AI 生成各层接口与实现

Clean Architecture 的分层结构让 AI 可以专注于单一层次的代码生成。

Entities(实体层)

AI 根据业务需求生成领域实体,包含业务规则和验证逻辑

  • • 纯业务逻辑,无外部依赖
  • • AI 可以基于领域模型生成实体代码
Use Cases(用例层)

AI 根据用户故事生成用例实现,协调实体和接口层

  • • 实现具体的业务用例
  • • AI 可以基于 PRD 生成用例代码
Interfaces(接口层)

AI 根据接口规范生成适配器实现,连接外部系统

  • • 实现外部接口适配
  • • AI 可以基于 API 文档生成接口代码

依赖规则的 AI 检查

AI 可以自动检查代码是否符合 Clean Architecture 的依赖规则。

依赖规则
  • 内层不依赖外层,外层依赖内层
  • 依赖方向只能向内,不能向外
  • 实体层不依赖任何其他层
AI 检查能力
  • • 分析代码依赖关系,检测违规依赖
  • • 生成依赖关系图,可视化架构
  • • 提出重构建议,修复依赖问题

优势:各层解耦,适合 AI 分块生成与维护

上下文隔离
每一层都有清晰的职责,AI 生成代码时只需要关注当前层的上下文
并行开发
不同层可以并行生成,提高开发效率
易于维护
修改某一层时,AI 只需要关注该层的代码,不会影响其他层

CDD (Component-Driven Development)

Component-Driven Development 强调从组件开始构建应用,这种自底向上的方式非常适合 AI 生成。

AI 辅助设计原子组件 (Atomic Design)

Atomic Design 将组件分为原子、分子、组织、模板、页面五个层次,AI 可以从最基础的原子组件开始生成。

原子
Button, Input
分子
SearchBox
组织
Header, Footer
模板
Page Layout
页面
Complete Page
AI 生成流程
1. 从原子组件开始,AI 生成基础 UI 组件
2. 组合原子组件,生成分子组件
3. 组合分子组件,生成组织组件
4. 组合组织组件,生成页面模板
5. 基于模板生成完整页面

自动生成 Storybook 文档与测试

AI 可以为每个组件自动生成 Storybook 文档和测试用例。

Storybook 文档
  • • AI 分析组件 Props,生成 Story 文件
  • • 自动生成不同状态的 Story
  • • 生成组件使用文档
  • • 生成组件示例代码
测试用例
  • • AI 生成单元测试
  • • 生成视觉回归测试
  • • 生成交互测试
  • • 生成可访问性测试

优势:上下文隔离,AI 专注单一组件实现

组件隔离
每个组件都是独立的,AI 生成时只需要关注组件的 Props 和功能
可复用性
生成的组件可以在多个地方复用,提高开发效率
易于测试
组件级别的测试更容易编写和维护

Spec-First Development

Spec-First Development 强调先写规范,再生成代码,规范成为 AI 的"真理之源"。

PRD → OpenAPI Spec → Code 生成流

1

PRD 文档

编写产品需求文档,定义功能和业务规则

2

OpenAPI Spec

基于 PRD 生成 OpenAPI 规范,定义 API 接口

3

代码生成

AI 基于 OpenAPI Spec 生成客户端和服务器代码

优势:利用 Spec 作为 AI 的"真理之源"

单一数据源

OpenAPI Spec 是 API 的唯一数据源,前端、后端、文档都基于同一个 Spec 生成,保证一致性

类型安全

Spec 定义了完整的类型信息,AI 生成的代码天然具有类型安全

自动同步

当 Spec 更新时,AI 可以自动更新所有相关代码,保持同步

AI 生成能力
  • • 基于 Spec 生成 TypeScript 类型定义
  • • 生成 API 客户端代码
  • • 生成服务器端路由和控制器
  • • 生成 API 文档和 Mock 数据
  • • 生成集成测试用例

Micro-Agent Pattern

Micro-Agent Pattern 将复杂功能拆解为多个专门的 Agent,每个 Agent 负责特定的任务。

将复杂功能拆解为多 Agent 协作网络

将大型任务分解为多个子任务,每个子任务由专门的 Agent 负责,Agent 之间通过消息传递协作。

Agent 类型
架构师 Agent
负责系统设计和架构决策
领域专家 Agent
负责业务逻辑和领域知识
审查 Agent
负责代码审查和质量检查
协作流程
1. 架构师 Agent 分析需求,制定架构方案
2. 领域专家 Agent 实现业务逻辑
3. 审查 Agent 检查代码质量,提出改进建议
4. Agent 之间通过消息传递协作,完成复杂任务

架构师 Agent + 领域专家 Agent + 审查 Agent

架构师 Agent
  • • 分析系统需求,设计整体架构
  • • 选择合适的技术栈和设计模式
  • • 定义模块边界和接口规范
  • • 制定开发计划和任务分解
领域专家 Agent
  • • 理解业务需求,实现业务逻辑
  • • 应用领域驱动设计原则
  • • 生成领域模型和业务代码
  • • 确保代码符合业务规则
审查 Agent
  • • 检查代码质量和规范
  • • 识别潜在问题和风险
  • • 提出重构和优化建议
  • • 确保代码符合架构设计

优势:专业化分工,提高代码质量

专业化
每个 Agent 专注于自己的领域,提高专业性和准确性
可扩展
可以根据需要添加新的 Agent,扩展系统能力
质量保证
审查 Agent 确保代码质量,减少错误和缺陷

学习成果

完成本章后,你将:

  • 1理解 Clean Architecture 如何适配 AI 代码生成,掌握分层代码生成策略
  • 2掌握 Component-Driven Development 的工作方式,能够用 AI 辅助组件设计
  • 3理解 Spec-First Development 的价值,能够建立规范驱动的开发流程
  • 4掌握 Micro-Agent Pattern 的设计思想,能够设计多 Agent 协作系统
  • 5能够根据项目特点选择合适的 AI 适配架构范式