AI 编码 Agent 只写代码不管架构?用 SpecMind 让架构设计跟上开发节奏
用 AI 编码 Agent(Claude Code、Cursor、Windsurf)写代码多了,你大概率遇到过这个问题:Agent 产出的代码风格越来越乱,新功能用的架构模式和旧代码完全不搭,每次代码审查都要花大量时间解释「为什么这里不该用这种模式」。不是 Agent 写不出功能,而是它们没有架构上下文——每个会话都是一个新起点。
传统的架构文档流程是「写完代码 → 再补文档 → 最后画架构图」,但 AI 开发的节奏下,等你把文档补完,代码架构已经漂移了几个回合。SpecMind 把这件事倒过来:先有架构规范,再用它指导 AI 写代码。
痛点:传统架构 vs AI 编码的矛盾
| 问题 | 传统方案 | SpecMind 方案 |
|---|---|---|
| 团队成员各自用不同模式写代码 | 靠口头约定和 Code Review | /analyze 自动生成统一架构图 |
| 新功能与现有架构不匹配 | 写完后重构 | /design 先产生产品设计再看代码 |
| Agent 没上下文就写代码 | 手动写 Prompt 传递上下文 | /implement 用 .sm 文件作为实现指南 |
| 架构文档永远滞后 | 抽时间补 | 代码变更自动更新架构图 |
| Review 时才发现架构问题 | 返工修复 | Design 阶段就暴露不一致 |
快速上手:三行命令启动
SpecMind 是一个开源(MIT)的 TypeScript CLI 工具,支持 Claude Code、Windsurf 和 Cursor(Codex 即将支持)。
npx specmind setup claude-code # 或 windsurf / cursor
这条命令会向你的 .claude/commands/(或对应工具的提示目录)写入三个斜杠命令:/analyze、/design、/implement。
接着就可以在你的 AI 编码助手中使用了:
/analyze
Agent 会用 Tree-sitter 解析整个代码库,生成 .specmind/system.sm——一个包含系统架构图、服务间时序图、服务内类/方法结构、ER 图和技术栈分析的综合文档。
三个核心命令:分析→设计→实现
1. /analyze:一键了解代码库全貌
不管你接手的是新项目还是已有项目,/analyze 是第一步。它会扫描项目结构,自动识别数据库 ORM(TypeORM、Django、SQLAlchemy 等)、API 端点(支持 32 种框架)、消息队列(RabbitMQ、Kafka、SQS 等)、以及服务间的依赖关系。输出是一个包含 Mermaid 图的 Markdown 文件:
.specmind/system.sm 包含: - 系统架构全景图(服务、数据库、外部集成) - 跨服务时序图(请求/响应链路) - 每个服务的架构图(按层分组的类和方法) - 实体关系(ER)图 - 技术栈和架构违规检测
SpecMind 尊重 .gitignore,同时支持 .specmindignore 文件让你自定义分析排除范围(测试 fixtures、示例代码等),保持架构图干净。
2. /design <功能名>:先规划再编码
在写代码之前,先让 Agent 生成一份功能设计规范:
/design 用户通知系统
这会创建 .specmind/features/user-notifications.sm,包含:
- 功能概述和需求
- 两个架构图:组件依赖图(带颜色编码标注新增/修改/删除的部分)和时序图(展示功能如何流过系统)
- 架构影响分析(什么组件受影响、什么不变)
- 设计决策及理由
- 集成点和备注
这是关键创新——在代码还没写的时候就暴露架构问题。如果新功能需要修改一个不该改的核心服务,你在编写之前就发现了,而不是等到 Review 时才发现。
3. /implement <功能名>:按规范实现
设计审完后,Agent 直接按 .sm 文件中的规范实现代码:
/implement 用户通知系统
Agent 会:
- 遵循
.sm中的架构设计写代码 - 实现后自动更新
.specmind/system.sm(去掉设计阶段的颜色标注,合并为实际状态) - 如果实现与设计有偏差,更新
.sm文件记录实际变化 - 在
.specmind/system.changelog追加变更记录
VS Code 扩展:可视化 .sm 文件
SpecMind 提供了一个 VS Code 扩展,用于预览 .sm 文件中的 Mermaid 图。安装后,打开 .sm 文件按 Ctrl+K V 即可看到渲染后的架构图。
支持的平台与语言
| AI 助手 | 状态 | 命令 |
|---|---|---|
| Claude Code | ✅ 已支持 | /analyze, /design, /implement |
| Windsurf | ✅ 已支持 | /analyze, /design, /implement |
| Cursor | ✅ 已支持 | @analyze, @design, @implement |
| Codex | 🚧 即将支持 | 计划中 |
语言方面:TypeScript、JavaScript、Python、C# 已完整支持,Go、Rust、Java、C++ 正在规划。
与同类方案对比
| 特性 | SpecMind | 传统 C4/PlantUML | 纯代码审查 |
|---|---|---|---|
| 自动从代码生成架构 | ✅ | ❌ 手动绘制 | ❌ |
| 设计-代码一致性验证 | ✅ 自动跟踪 | ❌ | ❌ 人工判断 |
| AI Agent 集成 | ✅ 斜杠命令 | ❌ | 部分 |
| 架构变化历史 | ✅ Changelog | ❌ | ❌ |
| 文件格式 | Markdown + Mermaid | PlantUML 专属 | 无 |
| 开源许可 | MIT | 各不相同 | 无 |
注意事项
- SpecMind 目前处于活跃开发中,Tree-sitter 支持的语言在持续扩展
- 大型代码库的第一轮
/analyze可能需要几十秒到几分钟(取决于项目规模) .sm文件中的架构图是 AI 生成的,建议人工复核关键部分- 需要 Node.js 20+ 运行环境
- 目前暂不支持 Go 和 Rust(正在规划中)
总结
SpecMind 解决了一个很具体的问题:在 AI 编码 Agent 主导的开发流程中,如何让架构设计跟上编码节奏。它用 /analyze → /design → /implement 三段式工作流,把「先写代码再补架构」倒过来变成「先定架构再写代码」。如果你团队在用 Claude Code 或 Cursor,并且厌倦了 Review 时才发现架构不一致,SpecMind 值得一试——从 /analyze 开始,十分钟就能看到效果。
相关链接