智能体工作流:用规范文件与MCP协议重塑AI编程协作

张开发
2026/5/8 21:06:05 15 分钟阅读

分享文章

智能体工作流:用规范文件与MCP协议重塑AI编程协作
1. 项目概述告别碎片化用智能体工作流重塑AI辅助编程如果你和我一样每天都在跟Claude Code、Cursor或者Windsurf这类AI编程工具打交道那你肯定对下面这个场景不陌生想实现一个复杂功能得先花十分钟跟AI解释一遍项目背景、技术栈和现有架构然后让它生成代码改个需求又得把上下文重新贴一遍想换个角度分析代码性能或安全性还得开个新对话从头说起。整个过程就像在十几个浏览器标签页、一堆散乱的笔记和无数个Claude对话之间反复横跳效率低得让人抓狂。我最近深度体验了一个叫agentic-workflows的开源项目它彻底改变了我的工作方式。这个项目的核心是一个名为specgen的优雅上下文工程解决方案专为Claude Code设计。简单来说它通过一套精心设计的智能体Agent工作流让不同的AI助手能够“记住”你的项目上下文相互协作并把复杂的开发任务变成一场简单的对话。你再也不用像复读机一样一遍遍向AI重复你的项目细节了。这个工具特别适合那些已经在日常工作中重度依赖AI编程助手的开发者。无论你是想快速原型验证一个新功能还是维护一个已经有一定规模、架构复杂的代码库agentic-workflows都能帮你把AI的潜力真正串联起来形成一个有记忆、可协作的系统。接下来我就结合自己近一个月的实战经验为你拆解这套工作流的设计精髓、具体怎么用以及那些官方文档里不会写的“坑”和技巧。2. 核心理念与架构拆解为什么“智能体协作”是未来在深入操作之前我们必须先理解agentic-workflows背后几个关键的设计思想。这能帮你更好地驾驭它而不是仅仅把它当作一堆命令的集合。2.1 从“单次问答”到“持续对话”的范式转变传统的AI编程交互是“失忆式”的。每个对话都是孤岛AI不知道你三分钟前在另一个对话里决定了用什么数据库也不知道昨天你为API设计定下的规范。specgen的核心创新在于引入了规范文件Specification作为项目的“长期记忆体”。这个规范文件不是静态的文档。它是一个由AI智能体共同维护和更新的Markdown文件。当你启动一个功能开发流程时第一个智能体比如architect会分析你的需求并结合它对项目已有规范的理解生成一份新的、详细的架构规范例如SPEC-20250105-user-profiles.md。这份规范包含了技术选型、API设计、数据库变更、前后端交互等所有关键决策。关键在于后续的engineer工程师和reviewer审查员智能体都会读取同一份规范文件来开展工作。engineer根据规范生成代码reviewer根据规范检查代码是否符合设计。这样上下文不仅得以保留更是在不同智能体间无损传递和迭代增强。我的体会这有点像给项目配了一个永不疲倦、过目不忘的“技术负责人”。所有设计决策都被白纸黑字地记录下来并且和最终代码强关联。几个月后回来维护或者新成员加入看这份规范比直接读代码更能快速理解当初的“为什么”。2.2 多智能体分工与协作的精密设计项目预设了8个各司其职的智能体它们不是简单的别名而是有明确分工的“专家”探索者Explorers负责“看”。backend-explorer分析现有后端代码结构、路由、控制器模式。frontend-explorer分析UI组件库、状态管理、样式体系。database-explorer解读数据库Schema、关系、迁移历史。integration-explorer查看第三方API集成、Webhook配置等。researcher针对新技术、库或最佳实践进行调研。审查者Reviewers负责“查”。quality检查代码风格、可读性、模块化。performance分析潜在的性能瓶颈、内存泄漏、低效算法。security查找常见的安全漏洞如注入、鉴权逻辑错误。工作流协调者Commands负责“干”。/architect协调探索者生成规范。/engineer基于规范协调代码生成。/reviewer协调审查者进行多维度代码审查。这种分工使得每个智能体都能在它最擅长的领域深入而不是让一个“全能但平庸”的AI去处理所有事情。当/architect被触发时它会像一个项目经理一样派发任务给相关的探索者收集它们的报告并整合成一份全面的规范。2.3 MCP协议连接Claude Code与外部世界的桥梁Model Context Protocol是Anthropic推出的一套协议允许像Claude这样的模型安全、可控地访问外部工具、数据和计算资源。specgen-mcp就是这个协议的一个服务端实现。你可以把它理解为一个跑在你本地的、专门管理“项目规范”的微服务。Claude Code通过MCP协议与这个服务通信可以创建/读取/更新规范文件。搜索已有的规范。获取规范列表和状态。所有智能体对项目上下文的读写都通过这个统一的MCP服务来完成保证了数据的一致性和持久化。这也是为什么你的项目知识能够跨对话保存的本质原因。3. 从零开始两分钟快速上手与深度配置官方说两分钟上手实测下来如果你网络顺畅确实差不多。但为了用得顺手我建议你多花十分钟做一些优化配置。3.1 最简安装一句话搞定在Claude Code的聊天框里直接输入并发送Install specgen-mcp for me from https://github.com/pwnk77/agentic-workflowsClaude Code会自动执行安装脚本。它会做以下几件事检查你的环境Node.js, npm。全局安装specgen-mcp包。自动在Claude Code的MCP配置中添加上面安装的服务器。从agentic-workflows仓库下载核心工作流配置agents, commands等到你的本地Claude Code配置目录。完成后Claude Code会提示你重启通常会自动。重启后你就可以使用/architect,/engineer,/reviewer等命令了。3.2 手动安装与目录结构解析如果你喜欢更可控的方式或者自动安装出了问题可以手动操作# 1. 克隆仓库获取工作流配置 git clone https://github.com/pwnk77/agentic-workflows.git cd agentic-workflows # 2. 全局安装MCP服务器 npm install -g ./specgen-mcp # 3. 将工作流配置复制到Claude Code的配置目录 # 对于Claude Code配置通常在 ~/.config/Claude/claude_desktop_config.json 或其引用的目录 # 更简单的方法是让Claude Code自己添加MCP服务器 claude mcp add specgen -s project -- npx -y specgen-mcplatest # 然后将 core-workflows/claude-code/ 下的 agents, commands 等文件夹 # 复制到你Claude Code配置中对应的“自定义指令”或“工作流”目录。安装成功后你的本地会多出几个关键部分全局命令specgen-mcp服务在后台运行。Claude Code配置多了agents/,commands/,hooks/等文件夹里面是定义智能体和命令的JSON文件。项目规范存储在你执行specgen-setup或首次使用/architect的项目根目录会生成一个docs/specs/文件夹所有规范文件都存在这里。3.3 关键配置调优让智能体更懂你默认配置已经很强大了但根据你的项目特点微调效果会倍增。主要修改core-workflows/claude-code/settings.local.json如果不存在可以复制settings.json并重命名。{ project: { techStack: [react, nodejs, postgresql, typescript], // 明确你的技术栈帮助探索者聚焦 codeStyle: airbnb, // 或 standard, google让quality reviewer有据可依 preferredTestingFramework: jest // 明确测试框架工程师生成代码时会包含测试 }, specgen: { specsDir: ./docs/specs, // 规范文件存放目录可按习惯调整 autoCategorize: true, // 是否自动按功能/优先级分类 defaultReviewers: [security, performance] // 默认启用的审查者建议加上security } }踩坑提醒settings.local.json的优先级高于settings.json。但有时Claude Code热加载配置不灵敏修改后最好完全退出重启Claude Code确保新配置生效。4. 核心工作流实战从想法到可运行代码理论说再多不如实际干一把。我们用一个真实的微需求来走一遍完整流程“为用户个人资料页面添加一个支持裁剪和预览的头像上传功能”。4.1 第一阶段架构规划与规范生成在Claude Code中输入/architect “Add a profile picture upload feature with crop and preview functionality to the user profile page”幕后发生了什么architect命令被触发。它首先调用researcher智能体去调研“前端图片裁剪最佳实践”、“图片上传后端API设计”、“图片存储方案本地vs云存储”等。接着backend-explorer和frontend-explorer被激活分别去扫描你当前项目的后端API路由比如/api/users/*和前端组件结构比如ProfilePage.jsx。所有探索结果被汇总。architect智能体会分析你的现有模式例如如果你的项目用Multer处理文件上传它就会沿用这个模式然后生成一份名为SPEC-{日期}-profile-avatar-upload.md的规范文件。生成的规范文件会包含哪些内容基于我的一个ReactNode.js项目概述与业务逻辑功能描述、用户故事。API设计GET /api/user/profile获取当前头像URL。POST /api/user/avatar上传新头像multipart/form-data。PUT /api/user/avatar/crop提交裁剪坐标可选如果前端裁剪。前端组件设计新建AvatarUploader.jsx组件包含input type“file”、预览区域、裁剪框推荐使用react-easy-crop库。在现有的ProfilePage.jsx中集成该组件。状态管理上传进度、错误处理、预览图URL。后端逻辑控制器avatarController.js。服务处理文件保存到uploads/avatars/、生成缩略图使用sharp库、更新数据库users.avatar_url字段。中间件文件类型/大小验证、鉴权。数据库变更确认users表有avatar_urlVARCHAR字段。安全考虑文件类型白名单jpg, png, webp、大小限制如2MB、防止路径遍历。性能考虑图片服务器端优化压缩、WebP格式转换、CDN集成建议。测试计划单元测试服务层、集成测试API、组件测试。此时一行代码都还没写但一个清晰、全面、且贴合你项目现状的蓝图已经诞生。这份规范就是后续所有工作的“宪法”。4.2 第二阶段基于规范的代码实现有了规范实现就变成了按图索骥。输入/engineer SPEC-20250105-profile-avatar-upload请替换为实际生成的规范文件名智能体如何工作engineer智能体首先会仔细阅读你指定的规范文件理解所有细节。然后它会像一位熟练的开发者开始逐个实现规范中定义的模块。它会检查相关目录是否存在不存在则创建。遵循你项目中已有的代码风格和模式比如如果你的userController是类风格它就不会写成函数风格。生成完整的、可运行的代码文件并附带清晰的注释。在实现过程中如果遇到模糊的地方比如规范里没指定具体的错误码它会做出合理且一致的假设并在代码注释中说明。你会得到什么一整套完整的、前后端对应的代码文件。可能包括新的React组件、更新的页面、后端控制器和服务文件、数据库迁移脚本如果用了ORM、甚至基本的单元测试骨架。代码是直接插入到你项目对应的文件位置或者创建新文件。你可以立即在编辑器里看到变化。实操心得/engineer命令执行后不要急着全部接受。Claude Code会以编辑建议的形式呈现代码。务必逐文件、逐块审查。虽然智能体很强大但它可能引入一些不必要的依赖或者对项目结构的理解有细微偏差。这是一个“人机协作”的过程你是最终的决策者。4.3 第三阶段多维度代码审查代码写完了但质量如何让审查天团上场/reviewer SPEC-20250105-profile-avatar-upload --security --performance --quality每个审查者关注什么security它会重点检查文件上传接口。它会提示“确保使用了path.basename()防止路径遍历”、“验证了文件的Magic Number而不只是扩展名”、“头像URL在输出前经过了净化防止XSS”等。performance它会建议“考虑对上传的图片立即生成多种尺寸如50x50, 150x150避免实时缩放”、“将头像文件存储到对象存储如S3/MinIO而非本地磁盘便于未来扩展”、“前端组件应使用懒加载或对裁剪库进行代码分割”。quality它会检查代码风格一致性、组件是否足够解耦、错误处理是否完备、注释是否清晰。审查报告会以对话形式呈现指出潜在问题并提供修改建议。你可以根据这些建议让engineer智能体进行迭代修改或者手动调整。5. 高级技巧与避坑指南用了一个月我积累了不少让这套工作流更顺滑的经验也踩过一些坑。5.1 如何编写更有效的/architect提示词/architect命令的输入质量直接决定了后续所有工作的质量。不要只说“加个评论功能”。差的提示词/architect “Add comments to posts”好的提示词/architect “Implement a nested comment system for blog posts, similar to Reddit/Hacker News. Key requirements: 1. Users can comment on posts and reply to other comments (nested up to 5 levels). 2. Comments support Markdown formatting. 3. Include upvote/downvote functionality. 4. Admins can moderate (hide/delete) comments. 5. Consider performance for fetching nested comment trees. Please analyze our existing Prisma schema (Post, User models) and Next.js API routes pattern for integration.”要点具体化说明想要的交互形式“嵌套式”、“类似Reddit”。列出核心需求功能点清晰。提及现有技术栈直接告诉它去分析现有的Prisma模型和Next.js模式让它更好地融入项目。5.2 管理规范文件的爆炸式增长随着项目进行docs/specs/下的文件会越来越多。specgen-mcp内置的仪表盘通过specgen-dashboard命令启动非常好用但还有更多技巧命名约定规范文件默认以SPEC-{日期}-{描述}.md格式生成。你可以建议architect使用更统一的描述如SPEC-20250105-feat-user-avatar.mdfeat、SPEC-20250106-fix-payment-webhook.mdfix。利用分类在规范文件的YAML Frontmatter中如果有或通过仪表盘为规范添加category: Authentication、priority: High等标签便于过滤。定期归档对于已完结且长时间不会修改的功能可以将其规范移动到docs/specs/archive/子目录保持活动目录的整洁。5.3 处理智能体的“幻觉”与偏差AI有时会“想当然”。例如你的项目用的是MongoDB但architect可能因为训练数据中PostgreSQL更常见而在规范中默认推荐了关系型设计。应对策略在settings.local.json中明确技术栈如上文所述这是第一道防线。在规范生成后立即人工复审在让engineer动手前快速浏览一遍规范。如果发现技术选型有误可以直接在对话中纠正Claude“这个规范里提到了PostgreSQL但我们的项目用的是MongoDB。请基于MongoDB重新考虑数据库设计部分。”然后让architect更新规范。利用/reviewer的早期介入在规范阶段就启动reviewer。你可以说/reviewer [spec-file] --high-level让它从高层次审查架构设计的合理性与一致性。5.4 与现有开发流程的整合agentic-workflows不是要取代你的Git、CI/CD而是增强它们。Git集成将docs/specs/目录纳入版本控制。这样规范文件的变更历史就和代码变更历史绑定在一起追溯决策原因非常方便。CI/CD可以在CI流水线中加入一个检查步骤例如当有新的规范文件被创建或修改时自动运行一个脚本用claude命令对其进行基础语法或完整性检查虽然目前没有官方工具但可以自己写简单脚本调用Claude API。团队协作将规范文件作为团队技术评审Tech Review的核心文档。在PR描述中附上相关规范的链接评审者可以快速理解设计全貌而不是只盯着代码差异看。6. 常见问题与故障排查以下是我遇到的一些典型问题及解决方法问题1安装后在Claude Code里输入/architect没有反应。检查Claude Code是否已完全重启安装后必须重启。检查打开Claude Code设置查看“工作流”或“自定义指令”部分确认architect命令是否已成功加载。有时需要手动点击“重新加载工作流”。检查终端里specgen-mcp服务是否在正常运行可以尝试在终端运行specgen-mcp --version或ps aux | grep specgen。问题2/engineer命令执行时报错说找不到规范文件。检查规范文件名是否正确注意日期和横杠。最好使用Tab自动补全如果Claude Code支持。检查当前对话的“工作区”是否设置在了包含docs/specs目录的项目根路径Claude Code需要知道在哪个文件夹里找文件。检查规范文件是否确实存在于docs/specs/下可能architect命令执行时被中断没有成功生成文件。问题3生成的代码风格与项目现有风格不符。解决这是settings.local.json中codeStyle设置未生效或项目本身风格不统一导致的。首先确保配置正确。其次可以在/engineer命令后追加提示“请严格遵循我们项目中UserComponent.jsx和apiService.js所使用的代码风格和模式。”问题4智能体似乎“忘记”了之前规范里的内容。解决确保你在同一个Claude Code“对话”中进行工作流。虽然规范文件是持久化的但每个Claude对话的上下文窗口有限。最佳实践是一个功能从/architect到/reviewer的所有步骤尽量在同一个对话线程中完成。如果必须新开对话在开始/engineer前可以先让Claude“阅读一下docs/specs/SPEC-xxx.md文件”手动为其注入上下文。问题5仪表盘Dashboard无法启动或空白。检查确保是通过specgen-dashboard命令启动并且终端指向了正确的项目目录该目录下有docs/specs。检查浏览器控制台是否有错误可能是端口冲突。可以尝试specgen-dashboard --port 3001指定另一个端口。解决仪表盘非必需所有操作都可以通过Claude Code命令完成。如果仪表盘有问题可以暂时忽略专注于命令行工作流。这套agentic-workflows工具链本质上是在你和AI之间建立了一套可重复、可积累、可审计的协作协议。它没有消除AI辅助编程中的“人”的因素而是把人从重复的上下文管理和碎片化的任务切换中解放出来让你能更专注于更高层次的架构设计和核心逻辑判断。刚开始可能需要一点时间适应这种“先写规范再写代码”的节奏但一旦习惯你会发现项目的可维护性和开发节奏的掌控感都得到了质的提升。它让AI从一个聪明的“打字员”变成了一个真正有记忆、可协作的“开发伙伴”。

更多文章