搜yinheit-SDD规范驱动+Harness驾驭工程AI全栈开发-学习记录

搜yinheit-SDD规范驱动+Harness驾驭工程AI全栈开发-学习记录
SDD规范驱动Harness驾驭AI全栈开发的工程化跃迁一、出码率90%为什么项目还是延期2025年以来Cursor、Copilot、Codex让开发者体验到了“AI辅助编码”的魔力。出码率从53%提升到80%-90%但一个尴尬的现实随之而来项目交付周期没有明显缩短。编码快了但Review慢了出码多了但返工也多了。高德大模型应用平台的实践揭示了一个反直觉的真相出码率 ≠ 交付率。编码只占整个交付链路的20%-30%你把编码环节的AI渗透率拉到90%整体提效也不过18%-27%。更致命的是Vibe Coding氛围编程在存量应用中是一颗定时炸弹。AI不知道某条链路是高频变更区不知道某个全局配置类在项目中有近百处引用不知道价格字段必须用long类型且单位为分——这些隐性知识散落在团队成员的经验中、群聊的历史消息中、未入库的会议纪要中。真正的瓶颈不在AI的智力而在于我们缺乏一套能将AI开发纳入标准化工程体系的规范框架和执行平台。二、SDD让AI“按规矩办事”SDDSpecification-Driven Development规范驱动开发的核心思想并不复杂在写任何代码之前先以结构化、可执行的方式定义系统的行为规范。在AI语境下SDD的内涵已远超接口定义。它是AI Agent理解业务上下文和执行动作的唯一可靠依据。规范不再是“参考性文档”而是具有强制约束力的自动化校验关卡。SDD的三层规范体系层级内容作用业务规范层Gherkin用户故事、验收标准让AI理解“要做什么”架构规范层OpenAPI契约、模块划分、数据流让AI知道“怎么做”代码规范层命名规则、错误处理、测试覆盖率让AI产出“符合标准”的代码核心逻辑是三步走先写“要做什么”Spec再让AI生成“怎么做”Code最后用Spec验证“做对了没”Test。当AI拿到一份精确的OpenAPI规范或一组明确的Pydantic模型时它生成符合要求代码的成功率会从“碰运气”变为“确定性输出”。三、Harness给AI套上“工程缰绳”SDD解决了“规范是什么”Harness解决的是“如何让AI在规范约束下执行”。Harness驾驭思维的本质是给AI一个已有的实现作为参照让它照着复刻而不是凭空创造。就像给新入职的工程师说“你照着这个模块的风格写一个类似的”而不是“你自由发挥”——前者往往能更快产出符合团队规范的代码。Harness的四道防线信息供给搭建项目知识库项目层README 技术层规范 资产层代码片段让AI“懂”这个项目物理约束通过AGENTS.md、.cursorrules等文件强行约束AI的输出结构自我修正AI生成的代码自动经过Lint、测试、契约校验失败则自行修复人工兜底关键决策点保留Human-In-The-Loop人在回路中把关提示词对比——同样是实现一个“结束语管理”功能❌不推荐零约束“请实现一个结束语管理的CRUD接口及前端页面。”✅推荐Harness驱动“请参照现有的场景欢迎语功能后端接口/api/v1/feature/list前端入口FeatureTable/index.tsx:53-58实现结束语功能。数据结构、分层逻辑、命名规范必须保持一致。新增场景codecategoryCode SCENARIO_CLOSING。”约束越精准生成代码的可用性越高。四、实战从规范到部署的全链路流水线SDD Harness的组合构建的是“规范 → 代码 → 部署 → 验证”的闭环工程体系。Step 1规范先行以“用户积分商城兑换”功能为例先产出三份规范文档proposal.md需求提案描述“为什么要做”和“要做什么”spec.md技术规格包含OpenAPI接口契约、数据库Schema、异常处理策略tasks.md任务拆分每个task对应可执行的代码变更单元Step 2AI按规范生成代码将规范喂给AI Agent如Claude Code、Cursor让它按Spec实现、按Tasks拆解执行。前后端代码放在同一个工作区下Cursor的Codebase Indexing会对工作区内所有代码进行向量化嵌入AI能跨仓库理解代码关系。Step 3Harness流水线自动验证AI生成的代码提交后Harness CI流水线自动执行契约校验检查OpenAPI规范是否与现有生产环境冲突代码质量ESLint/SpotBugs扫描 单元测试覆盖率检查部署验证Harness CD自动部署到测试环境对比黄金指标吞吐量、错误率、饱和度与历史基线Step 4智能金丝雀发布Harness的AIDAAI-Driven Assistant不再依赖静态阈值而是基于历史部署数据和实时指标动态学习“正常”行为模式自动判定金丝雀分析结果决定是推进、中止还是回滚。验证失败时Harness自动触发回滚并在Git中创建Issue附上失败的监控截图和日志片段。五、写在最后Vibe Coding提供了无与伦比的生成效率而SDD × Harness则赋予了其企业级的工程骨架。SDD解决的是“AI该生成什么”——用结构化规范替代模糊提示让AI的输出从“碰运气”变为“确定性”。Harness解决的是“AI怎么生成才可控”——用模仿约束、流水线门禁、智能验证把AI的创造力纳入工程化轨道。两者的组合拳正在将AI从“副驾驶”驯化为“资深全栈工程师”。如果你还在Vibe Coding的舒适区里“随性编程”不妨试试这套方法论——把写代码的时间前置到写规约上。当AI出码率达到90%却没有真正提效时真正该升级的不是模型而是你的工程化思维。