当前位置: 首页 > article >正文

第2节:规范驱动开发SDD,让AI永远在轨道上

AI编程企业级实战上一节第1节一个人的架构师Claude Code是你的团队本节第2节规范驱动开发SDD让AI永远在轨道上下一节待更新带过团队的人大多都有一个很深的体会你脑子里想得再清楚只要没有落成明确的文字对方做出来的东西往往就会和你想的不一样。但如果你给了接口文档、数据模型、命名规范、错误码定义交付质量通常就会立刻上一个台阶。Claude Code 也是一样。它很强但它不会读心。你不告诉它规则它就会自己“脑补”出一套做法而且每次写出来还可能都不一样。这就是我们接下来要讲的规范驱动开发 SDD。一句话概括先定规范再让 AI 按规范执行而不是一上来就让它直接写代码。规范不是一次性指令而是一套体系很多人已经发现了一个规律给 Claude Code 的指令越清晰输出质量就越高。但这里有一个很容易被忽略的问题你在某一次对话里补充得再详细那些要求也只对那一次对话有效。比如我在做模型提供商管理时曾经把要求写得很细实体叫 Provider不要加前缀或后缀。返回格式统一。使用 Result 包装。错误码按模块分段。不要引入设计模式。于是 Claude Code 输出得很干净命名统一格式规范结构也足够简洁。但过了一段时间当我开始做 Agent 模块时指令里没有再重复这些规范只写了“实现 CRUD 接口”。我以为它会记得结果并不会。单看每一段代码也许都不是 bug功能甚至是完整的。但一旦放到同一个项目里就会出现两套风格命名规则不同返回格式不同前端要适配两种响应结构后续维护时也要先重新理解“这个模块到底遵循哪套规矩”。问题出在哪里不是 Claude Code “忘了”而是它根本没有看到。它没有长期记忆每次新对话本质上都是重新开始。所以我们需要让规范被稳定记录下来并且在每次工作时都能自动进入上下文。只有这样Claude Code 才能在不同模块、不同阶段下始终沿着同一套规则工作。这就是 SDD 和“写好提示词”之间的本质区别。写好提示词是一次性的技巧SDD 是贯穿整个项目生命周期的方法论。SDD 的完整工作流1. 先定规范规范并不一定复杂。真正有用的规范往往就集中在几个最容易让 AI 跑偏的地方。命名规范如果你不约束命名每个模块都可能长得不一样。实体类要不要加前缀字段用驼峰还是下划线接口路径用单数还是复数这些它每次都要“猜”而且每次可能猜得都不一样。实体类使用大驼峰命名不加前缀和后缀例如 Provider、Agent、ChatMessage。字段使用小驼峰命名例如 apiKey、baseUrl、modelName。接口路径统一为 /api/v1/{资源复数名}。接口规范如果你不约束返回格式问题会更明显。有的接口返回 { code: 200, data: {...} }有的返回 { error: not found }还有的直接返回 ResponseEntity。前端一接这种接口适配成本会立刻上升。所有接口统一返回 Result格式为 { code, message, data }。列表字段为空时返回空数组 []不要返回 null。分页参数统一使用 page 和 pageSize。page 从 1 开始pageSize 默认值为 20。错误码规范如果错误码没有统一规则项目很快就会乱掉。有人直接用 HTTP 状态码有人用自定义字符串也有人随手写个数字。更糟的是不同模块的错误码可能还会撞号你根本分不清 2001 到底表示 Provider 的“网络超时”还是 Agent 的“模型不存在”。错误码统一使用四位数字。按模块分段1000-1999 为通用模块。2000-2999 为 Provider 模块。3000-3999 为 Agent 模块。4000-4999 为 Chat 模块。5000-5999 为 MCP 模块。设计原则这部分往往是最关键的。Claude Code 的训练数据里有大量“最佳实践”代码所以它天然倾向于做得很“完整”工厂模式、策略模式、三层抽象、接口隔离能上的都想上。但对于一个几十人使用的内部平台来说很多设计模式并不是资产反而是负担。不引入不必要的设计模式除非有明确要求。不做过度抽象一层能解决的问题不要拆成两层。不引入技术栈之外的新依赖如有需要先确认。这几块内容加在一起可能也就一页纸。但“有规范”和“没规范”之间的差距常常不是一点点而是从“勉强可用”到“稳定可维护”的差距。2. 让 AI 按规范执行规范写好之后下达任务时要明确引用它。不是说“帮我做个 Agent CRUD”而是说按照 CLAUDE.md 中的规范实现 Agent 的 CRUD 接口。这句话的重点不只是“按照规范”这四个字。因为 CLAUDE.md 已经在上下文里Claude Code 理论上是能看到的。真正重要的是这句话在提醒它这次不要按你自己的默认经验发挥而要优先服从项目规范。有了 CLAUDE.md 之后你再回到 Agent 模块这个场景实体类会叫 Agent而不是 AgentConfig因为规范写了“不加前缀后缀”。返回格式会统一走 Result因为规范写了“统一返回结构”。错误码会从 3000 段开始因为规范写了“按模块分段”。它不会随手加上 Builder 模式因为规范写了“不引入不必要的设计模式”。同样是一个 AI有规范体系和没有规范体系最终输出的一致性会完全不同。3. 由人验证输出有了规范之后review 的效率会明显提升。因为你不再是漫无目的地看代码而是在对着一份清单逐项核查命名是不是按规范来的返回格式是否统一有没有引入你明确禁止的设计模式错误码是否落在当前模块对应的分段里规范的价值就在于它把 review 从“主观判断”变成了“客观核查”。这个转变对效率的提升非常大。你不需要每次都重新思考“这里应该怎么写”因为标准已经提前定好了。4. 持续迭代规范在验证输出的过程中你一定会不断发现规范还没覆盖到的地方。这太正常了。没有人能在第一版规范里就把所有情况都想全。关键不在于“一开始就写得完美”而在于每次发现缺口时都及时把它补上。每次 AI 跑偏不要只改代码。先停下来问自己它为什么会跑偏是不是因为规范没覆盖到如果是就补上一条。一旦这条规则被写进 CLAUDE.md后续所有对话都会受到约束。你不需要反复在同一个问题上来回纠正。它跑偏一次你补一条以后在这个点上它大概率就不会再跑偏。什么样的规范才真正有用具体而不是模糊没用的规范是这样的代码要简洁。Claude Code 对“简洁”的理解和你未必一样。它可能觉得“工厂模式 策略接口”就是一种很简洁的抽象。真正有用的规范应该像这样不引入不必要的设计模式工厂、策略、观察者等除非明确要求。每个功能都用最简单、最直接的方式实现。这句话几乎没有歧义它能明确知道工厂模式这类设计默认不能上。再比如下面这句也很空接口要规范。而真正有效的写法是所有接口统一返回 Result格式为 { code, message, data }。错误码统一为四位数字并按模块分段。判断标准其实很简单Claude Code 看到这条规范之后是否还需要“猜”你的意思如果还需要猜那它就还不够具体。有优先级不要贪多规范并不是越多越好。太多了Claude Code 也处理不过来。上下文窗口是有限的塞进太多规则反而会稀释真正重要的那几条。我的原则是AI 反复跑偏的地方写细不容易跑偏的地方少写。比如“文件编码使用 UTF-8”Claude Code 一般不会搞错不值得占太多篇幅。“Controller 不写业务逻辑”这是它经常犯错的地方就必须明确写出来。你的注意力应该放在它真正容易出错的地方。要写规则也要写原因这一点是我在做 Agent 模块时踩过坑之后才真正意识到的。在做 Agent 工具列表更新时我在指令里写了“不要全量删除再全量插入”。Claude Code 第一版还是这么做了因为它并不理解为什么这样不行。后来我补了一句解释全量删除再插入会导致并发场景下 Agent 瞬间失去所有工具关联。如果此时正好有对话在读取工具列表就会拿到空列表。第二版它就改成了差异比对的方式。这说明一件事对于涉及工程权衡的规范不能只告诉 Claude Code “不要这样做”还要告诉它“为什么不能这样做”。只有理解了约束背后的原因它才能在类似场景里举一反三而不是机械执行。当然也不是每条规范都需要解释。像“实体类不加前缀”这种规则照做就行不需要展开说明。但像“不破坏已有接口契约”“不要全量删除再插入”这种涉及系统行为和工程判断的规则一旦补上原因Claude Code 的遵循度通常会明显提升。规范也需要分层管理最后再说一下规范的组织方式。随着项目推进规范会越来越多。如果不分层管理后面一定会乱。全局规范写在 CLAUDE.md 里整个项目通用。比如命名规则、接口格式、错误码体系、设计原则、行为约束。这类规范通常在项目初期就应该定下来后面改动不会太频繁它们就是整个项目的地基。模块规范针对某个模块单独定义。比如 Provider 模块有自己的接口契约对话模块有自己的数据流定义工作流模块有自己的节点类型规范。这类内容可以写在模块目录下也可以在模块启动开发前单独补充。任务规范这是每次给 Claude Code 下达具体任务时的临时补充说明。比如这次不需要分页。这次异常要区分三种情况。这次要用差异比对不要全量替换。这类规则通常是阶段性的不一定需要沉淀成长期文档但在当前任务里依然非常重要。说到底SDD 不是让你写更多规范而是让你把那些真正关键、真正会反复影响交付质量的规则沉淀成一套稳定可复用的工作方式。当规范稳定下来之后Claude Code 才不会每次都从“猜你的想法”开始而是会一直沿着你设定好的轨道持续前进。

相关文章:

第2节:规范驱动开发SDD,让AI永远在轨道上

AI编程企业级实战 上一节:第1节:一个人的架构师,Claude Code是你的团队 本节:第2节:规范驱动开发SDD,让AI永远在轨道上 下一节:待更新 带过团队的人,大多都有一个很深的体会&#xf…...

从ChatGPT到RAG:为什么你的应用效果不好?可能是文本向量没选对(附MTEB/C-MTEB选型指南)

从ChatGPT到RAG:为什么你的应用效果不好?可能是文本向量没选对(附MTEB/C-MTEB选型指南) 当你兴奋地将最新的大语言模型集成到RAG系统中,却发现检索结果总是不尽如人意——相关文档被遗漏,无关内容却频频出现…...

TVBoxOSC终极指南:5分钟让手机变身智能电视控制中心

TVBoxOSC终极指南:5分钟让手机变身智能电视控制中心 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库,用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC TVBoxOSC是一个基于第三方代码库…...

Royal TSX免费版够用吗?实测10个连接限制下的个人开发者高效管理术

Royal TSX免费版10连接限制下的极简管理哲学 当工具的限制遇上创造力,往往能碰撞出意想不到的高效工作流。Royal TSX免费版的10个连接限制,乍看是束缚,实则是培养精炼工作习惯的契机。对于个人开发者、学生和自由职业者而言,这非但…...

告别手动上传!用Python Paramiko库实现SFTP文件自动同步(附完整脚本)

用Python Paramiko构建企业级SFTP自动化同步系统 运维工程师每天最头疼的事情之一,就是重复性的文件上传下载工作。我曾经负责一个分布式系统的日志收集,需要手动将十几台服务器的日志文件定期上传到中央存储。这种机械操作不仅耗时,还容易出…...

配置Claude Code通过Taotoken使用大模型辅助视频相关代码编写

配置Claude Code通过Taotoken使用大模型辅助视频相关代码编写 1. 获取Taotoken API Key与模型ID 在开始配置前,您需要登录Taotoken平台获取必要的访问凭证。进入控制台后,在「API密钥管理」页面创建新的API Key,权限范围选择「Anthropic兼容…...

终极指南:使用applera1n轻松绕过iOS 15-16激活锁限制

终极指南:使用applera1n轻松绕过iOS 15-16激活锁限制 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否曾经遇到过这样的困境:购买了一台二手iPhone,却发现它被…...

LittleBigMouse完全手册:解决多显示器DPI差异的终极鼠标优化方案

LittleBigMouse完全手册:解决多显示器DPI差异的终极鼠标优化方案 【免费下载链接】LittleBigMouse DPI Aware mouse move across screens 项目地址: https://gitcode.com/gh_mirrors/li/LittleBigMouse 在当今多显示器工作环境中,Windows系统原生…...

VSCode远程开发延迟骤降47%的秘密(基于Linux kernel 6.11+eBPF trace的VSCode Server通信栈深度剖析)

更多请点击: https://intelliparadigm.com 第一章:VSCode 2026远程开发延迟骤降47%的工程事实与性能基线 VSCode 2026正式版于2025年Q4发布,其远程开发(Remote-SSH / Dev Containers)模块在真实企业级负载下实测平均端…...

终极指南:3个高效方法让你轻松保存抖音高清无水印视频

终极指南:3个高效方法让你轻松保存抖音高清无水印视频 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader 你是不是经…...

新手必看:三步实现外部群自动化消息推送

无需深入研究底层,三步走实现外部群自动化消息推送。 能力介绍 对于刚接触自动化的开发者来说,最痛苦的莫过于复杂的认证流程和受限的接口权限。本方案通过 RPA 模拟执行,将复杂的操作封装成“傻瓜式”的 API。 低准入门槛:只要…...

如何用G-Helper终极解决华硕笔记本显示异常:免费快速修复GameVisual配置完整指南

如何用G-Helper终极解决华硕笔记本显示异常:免费快速修复GameVisual配置完整指南 【免费下载链接】g-helper G-Helper is a fast, native tool for tuning performance, fans, GPU, battery, and RGB on any Asus laptop or handheld - ROG Zephyrus, Flow, Strix, …...

5分钟搞定视频字幕提取:完全离线的本地化字幕提取神器终极指南

5分钟搞定视频字幕提取:完全离线的本地化字幕提取神器终极指南 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、…...

告别STM32内置ADC:手把手教你用TM7711为热电偶测温项目提升精度

从12位到24位:基于TM7711的热电偶高精度测温实战指南 在工业测控领域,温度测量的精度往往直接关系到产品质量与系统可靠性。当STM32内置的12位ADC难以满足热电偶宽温区(-99~999℃)测量需求时,如何以合理成本实现精度跃…...

通过Taotoken CLI工具一键生成多开发环境配置提升团队效率

通过Taotoken CLI工具一键生成多开发环境配置提升团队效率 1. Taotoken CLI 工具概述 Taotoken CLI 工具(taotoken/taotoken)是为开发者提供的命令行工具,旨在简化多开发环境下的配置流程。通过该工具,团队可以快速为不同编程语…...

通过用量看板直观观测各模型API的调用成本与消耗分布

通过用量看板直观观测各模型API的调用成本与消耗分布 1. 用量看板的核心价值 在同时接入多个大模型API的开发场景中,成本透明度和消耗分布的可观测性直接影响团队的技术决策效率。Taotoken平台的用量看板为开发者提供了细粒度的调用数据可视化能力,无需…...

花了十年做SEO,AI一句话把你归零

一、用户行为范式转移:从“检索”到“对话”的认知跃迁用户的行为正在发生根本性变化。过去,想了解“2026年最值得入手的投影仪”,用户会打开百度,输入关键词,然后从数十页链接中筛选信息;现在,…...

彻底解锁AI图像细节:ComfyUI-Impact-Pack终极使用指南

彻底解锁AI图像细节:ComfyUI-Impact-Pack终极使用指南 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地址: https://…...

AUTOSAR NVM实战避坑指南:从配置到调试,手把手教你搞定非易失性存储管理

AUTOSAR NVM实战避坑指南:从配置到调试的完整解决方案 1. NVM模块核心架构解析 AUTOSAR NVM(Non-Volatile Memory)模块作为汽车电子系统中的关键组件,承担着非易失性数据管理的重任。其架构设计遵循分层原则: 硬件抽象…...

如何快速为视频添加专业字幕:VideoSrt完整使用指南

如何快速为视频添加专业字幕:VideoSrt完整使用指南 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 还在为视频字幕制作而烦…...

2025届毕业生推荐的降AI率神器横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 随着人工智能生成内容越来越广泛地被运用,在这样的背景状况下,把AIGC…...

2025届毕业生推荐的十大降AI率工具推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在数字化内容生产范畴之内,AIGC过多地加以运用,就容易使得文章出现那…...

2026届学术党必备的五大AI学术网站推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术研究范畴之内,免费的 AI 论文工具正一步步变换传统写作样式。当下有好些平…...

《眼中有星光的人》MV“五一”暖心上线:陈思思用歌声致敬每一位平凡追梦人

“手持人间一束光,把世界都照亮”——当深情的旋律响起,你是否也看见了那双藏在平凡日常里、却始终闪亮的眼睛……近日,由词作家良朋作词、音乐人孟文豪作曲,著名歌唱家陈思思倾情演绎的《眼中有星光的人》MV五一特别版正式发布。…...

蓝桥杯单片机备赛:手把手教你用Keil5和官方onewire.c驱动DS18B20(附完整代码)

蓝桥杯单片机备赛实战:Keil5环境搭建与DS18B20驱动开发全攻略 在蓝桥杯单片机竞赛中,DS18B20温度传感器的应用几乎是必考项目。许多参赛选手虽然掌握了基础的单片机编程知识,却在Keil5开发环境配置和官方驱动代码整合环节频频受阻。本文将从…...

BepInEx终极指南:如何快速为Unity游戏安装插件框架

BepInEx终极指南:如何快速为Unity游戏安装插件框架 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 想要为游戏添加新功能却苦于没有合适的工具?BepInEx就是…...

从APUE到实战:用vfork()+execlp()优化你的嵌入式温度传感器启动速度

从APUE到实战:用vfork()execlp()优化你的嵌入式温度传感器启动速度 在资源受限的嵌入式环境中,每个CPU周期和字节内存都弥足珍贵。想象这样一个场景:你的树莓派每隔100毫秒就要启动一次外部校准程序来读取温度传感器数据,而传统的…...

别再死磕手册了!Xilinx 7系列FPGA配置模式(SPI/BPI/SelectMAP)保姆级选择指南

Xilinx 7系列FPGA配置模式实战选型指南:从理论到决策的工程思维 在FPGA项目初期,工程师们常陷入配置模式选择的困境——面对SPI Flash、BPI NOR Flash、SelectMAP等多种方案,技术手册的庞杂参数往往让人无所适从。本文将从工程实践角度&#…...

RPG Maker终极插件指南:零代码打造专业级游戏地图

RPG Maker终极插件指南:零代码打造专业级游戏地图 【免费下载链接】RPGMakerMV RPGツクールMV、MZで動作するプラグインです。 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMakerMV 你是否曾梦想过创建令人惊叹的RPG游戏地图,却苦于技术门槛…...

别再只点亮LED了!用STM32CubeIDE+FreeRTOS做个能联网的温湿度监测器(ESP8266/OLED实战)

从LED到物联网:STM32CubeIDEFreeRTOS构建智能温湿度监测系统 当你已经能熟练地点亮LED、控制蜂鸣器,甚至用串口打印"Hello World"时,是否想过把这些零散技能整合成一个真正的物联网设备?本文将带你跨越基础实验与实战项…...