从 Rule、Spec 到 Harness:AI Coding 的渐进式建设路径

news2026/4/9 17:29:59
文章目录前言第一阶段Rule —— 给 AI 立规矩就像教小孩认字第二阶段Spec —— 先写文档再写代码就像盖房子先画图纸第三阶段Harness —— 自动验证与反馈就像给 AI 配了个质检员这三个阶段是啥关系不是替代是叠加2026 年的最佳实践渐进式建设路径第一步从 Rule 开始Week 1-2第二步引入 Spec 工作流Week 3-4第三步搭建 HarnessWeek 5写在最后AI Coding 的本质是工程化前言朋友们今天咱们来聊一个特别有意思的话题——AI Coding 这玩意儿到底怎么才能真正从玩具变成生产工具我知道你们肯定都玩过对着 Cursor 或者 Claude Code 喊一嗓子给我写个电商后台然后看着它哐哐哐一顿输出心里那个爽啊感觉程序员要失业了明天就能去马尔代夫晒太阳了。结果呢运行三天Bug 一堆性能稀烂最后还得自己熬夜重写。这感觉就像是你让实习生帮你写代码他写得飞快但你 review 的时候发现每一行都得改还不如自己写呢其实啊这不是 AI 不行而是咱们用错了姿势。2025 年到 2026 年这两年整个 AI Coding 领域发生了特别大的变化从最早的随意 vibe coding进化到了现在的工程化体系。今天我就给大家掰扯掰扯这个演进路径看看业界大神们是怎么解决AI 写得快但不可控这个问题的。第一阶段Rule —— 给 AI 立规矩就像教小孩认字咱们先说说最基础的阶段——Rule规则驱动。早期的 AI 编程助手比如 2023 年的 GitHub Copilot基本上就是个自动补全Plus。你写个注释它猜你想写啥然后给你补全。这时候的问题很明显每个人的代码风格不一样团队的技术栈也不一样AI 经常给你生成一些看起来很对但实际上完全不符合项目规范的代码。到了 2024 年Cursor 推出了 .cursorrules 文件这时候大家才反应过来哦原来可以给 AI 立规矩啊就像你教小孩子认字不能让他随便乱说得告诉他咱们家不说脏话、“见到长辈要叫叔叔阿姨”。这个 .cursorrules 文件放在项目根目录里面写清楚咱们项目用啥技术栈ReactVue还是纯原生代码风格要啥样的缩进两个空格还是四个用单引号还是双引号有哪些绝对不能碰的红线比如不能直接操作数据库必须用 ORM但是啊2024 年的规则系统还比较简单就是一个大文件所有规则都塞在里面。到了 2025 年Cursor 1.7 版本发布这个规则系统彻底进化了变成了多级架构 Global Settings全局规则你自己的编程偏好比如你喜欢函数式编程讨厌 class这些放在 Cursor 的设置里所有项目都生效。Project-Level Rules项目级规则放在 .cursor/index.mdc 文件里这是整个团队的宪法。比如你们团队规定必须用 TypeScript不能用 any必须写单元测试这些写在这里。Dynamic Rules动态规则放在 .cursor/rules/*.mdc 目录下这些是专项规定。比如有个文件专门管数据库操作告诉 AI必须用事务、“批量操作不能超过 1000 条”还有个文件专门管 UI 组件告诉它必须用 Tailwind、“颜色必须从设计系统里取”。你看这就好比一个公司先有员工手册全局规则再有部门规章项目级规则最后还有各个岗位的操作规范动态规则。AI 就像新入职的员工你把这些规矩给它讲清楚它写出来的代码至少不会跑偏太离谱。不过啊Rule 阶段有个明显的局限规则是静态的。就像你教小孩见到人要打招呼但他可能不知道什么时候该握手什么时候该鞠躬什么时候只需要点头微笑。规则越写越多文件越来越长AI 反而可能记混了或者抓不住重点。这时候业界就开始琢磨下一个阶段了。第二阶段Spec —— 先写文档再写代码就像盖房子先画图纸2025 年下半年到 2026 年初一个叫Spec-Driven Development规范驱动开发简称 SDD的概念开始火起来了 。啥意思呢就是说以前咱们写代码是边想边写想到哪写到哪。现在呢得先写一份详细的 Spec规范文档把要实现的功能、接口定义、数据流向、异常处理全都写清楚然后再让 AI 根据这份 Spec 去生成代码。这就好比盖房子。以前 vibe coding 就像是找个施工队跟工头说给我盖个三室两厅然后工头就开始干了干到哪算哪最后发现厨房没窗户卫生间门对着客厅傻眼了。而 Spec-Driven 就像是先找个建筑师画好图纸标注清楚哪里承重、哪里走水电、门朝哪开然后再让施工队按图施工。GitHub 在 2026 年推出的 Spec Kit 就是专门干这个的。它提供了一套 CLI 工具帮你创建规范的 Spec 文件结构uvx --from githttps://github.com/github/spec-kit.git specify init my-project运行完这个命令你的项目里就会出现几个目录specs/放功能规格说明书用 Markdown 写包含用户故事、验收标准、技术方案plans/放实现计划把大功能拆成具体任务tasks/放具体的技术任务每个任务对应一次代码提交这时候的工作流程变成了Research Phase调研阶段让 AI 当调研员去读现有的代码、查资料输出一份调研报告Spec Phase规范阶段根据调研结果写详细的 Spec包括要实现啥、怎么实现、怎么测试Plan Phase计划阶段把 Spec 拆成可执行的任务列表标记依赖关系Implementation Phase实现阶段让 AI 按照任务列表一步步执行每完成一个任务就提交一次代码Claude Code 在这个领域做得特别出色。它有个Plan Mode计划模式在这个模式下AI 只能读代码和问你问题不能写代码 。直到你们俩把方案对清楚了你批准了它才开始动手。这就避免了一上来就瞎写写完发现不对又得删的尴尬。Amazon 在 2026 年初推出的 Kiro IDE 更是把 SDD 直接集成到了编辑器里。它有个专门的Spec Mode你在左边写 Spec右边实时看到 AI 生成的代码两边是联动的。Spec 一改代码自动跟着改。但是啊Spec 阶段虽然比 Rule 阶段更 structured结构化了但还是有个大问题怎么保证 AI 生成的代码真的符合 Spec 呢毕竟 AI 可能会偷工减料或者理解偏差。这时候就需要第三个阶段——Harness。第三阶段Harness —— 自动验证与反馈就像给 AI 配了个质检员Harness 这个词原本在软件测试领域叫测试夹具就是一套自动化的测试环境。在 AI Coding 的语境下Harness 指的是把 AI 模型包裹起来的基础设施层负责管理上下文、验证输出、处理错误、编排多步任务 。听起来很抽象是吧我给你打个比方。想象 AI 是个厨师Rule 阶段就像是给他一本菜谱规定用什么食材、什么火候Spec 阶段就像是给他一张详细的订单客户要吃宫保鸡丁不要放花生多放葱。但是这个厨师可能会手滑把盐当糖放或者炒糊了。这时候就需要 Harness——一个自动化的质检系统。这个质检系统干啥呢每一步都检查厨师切完菜系统检查切得大小是否均匀炒完一个步骤系统尝尝咸淡最后出锅前系统拍张照片看看卖相。错了就反馈如果发现咸了系统不是简单说错了而是告诉厨师盐放多了建议加点糖中和一下或者加点水稀释。自动重试如果一次没做好让厨师重新做直到合格为止。记录全程把整个过程录下来万一客户投诉你能回溯看看到底是哪个环节出了问题。这就是 Stripe、Shopify、Airbnb 这些大厂在 2025-2026 年重点建设的 AI Coding Agent Harness 。具体来说一个完整的 Harness 包含这几个核心组件 Orchestration Loop编排循环这是 Harness 的心脏。AI 不是一口气把活干完的而是思考-行动-观察的循环。Harness 负责管理这个循环 assemble prompt组装提示词→ call LLM调用模型→ parse output解析输出→ execute tool calls执行工具调用→ feed results back反馈结果→ repeat until done重复直到完成。Tools工具集AI 能调用哪些工具都是 Harness 规定的。比如 Claude Code 提供了 19 个受权限控制的工具 包括读文件、写文件、执行 Shell 命令、Git 操作、Web 搜索等。Harness 不是让 AI 直接接触文件系统而是通过工具这个中间层。就像你给实习生配了个工具箱他要用啥工具得跟你申请你同意了才给。Validation验证层这是 Harness 最关键的部分。AI 每生成一段代码Harness 自动做以下检查语法检查能不能编译通过有没有语法错误类型检查TypeScript 类型对不对测试运行相关单元测试能不能通过规范检查是否符合项目的 lint 规则安全扫描有没有引入漏洞如果检查不通过Harness 不会把代码提交而是把错误信息结构化后反馈给 AI让它修复。这叫做Validation Loops验证循环[3]。Datadog 在 2026 年初分享他们的经验时把这个叫做Harness-First EngineeringHarness 优先工程[19]。他们的 BitsEvolve 项目用 LLM 优化代码性能但每次优化后都用生产流量做验证。结果实现了 10 倍的性能提升而且这些提升都是经过真实流量验证的不是看起来很快但实际有 Bug的优化。Multi-Agent Orchestration多智能体编排复杂任务一个 AI 搞不定Harness 支持多个专门的 AI 协作。比如一个 AI 负责读代码理解逻辑一个 AI 负责写新代码一个 AI 负责 review。Claude Code 的 Subagent 功能 就是干这个的你可以让主 AI 像项目经理一样 spawn派生出多个子 AI 并行工作最后汇总结果。Memory记忆系统AI 的上下文窗口是有限的Harness 负责管理长期记忆。短期记忆是当前对话的历史长期记忆是跨会话的项目知识。Claude Code 用三层记忆架构 轻量级索引总是加载、详细主题文件按需加载、原始转录通过搜索访问。你看到了 Harness 这个阶段AI Coding 才真正从一个聊天玩具变成了生产工具。因为这时候系统不再依赖人去检查 AI 的每一行代码而是有自动化的机制保证质量。这三个阶段是啥关系不是替代是叠加可能你会想既然 Harness 这么牛那是不是前面的 Rule 和 Spec 都不需要了不是的这三个阶段是渐进式叠加的关系就像你学武功先学扎马步Rule再学招式Spec最后学内功Harness。Rule 是基础就算到了 2026 年Cursor Rules 依然是每个项目的标配。没有规则AI 连基本的代码风格都把握不住。而且现在的 Rule 已经进化到了可以包含 Spec 的片段比如你可以写一个 Rule 说所有 API 接口必须先写 OpenAPI Spec再写实现代码。Spec 是桥梁Rule 太零散Harness 太技术化Spec 是连接人和 AI 的桥梁。产品经理能看懂 SpecAI 能根据 Spec 写代码Harness 能根据 Spec 验证代码。GitHub Spec Kit、Amazon Kiro、Tessl 这些工具 都是让 Spec 成为单一事实来源Single Source of Truth。Harness 是保障没有 Harness 的 Spec 就是一纸空文AI 可能阳奉阴违没有 Spec 的 Harness 就是无的放矢不知道要验证什么。只有三者结合才能既保证 AI 有发挥空间又保证不出大乱子。2026 年的最佳实践渐进式建设路径说了这么多如果你现在就想开始用该怎么一步步建设呢第一步从 Rule 开始Week 1-2给你的项目创建 .cursor/index.mdc 文件写上技术栈、代码风格、必用工具再加上一条“所有复杂功能必须先写 Spec再写代码”这时候你就能感受到 AI 输出质量的明显提升第二步引入 Spec 工作流Week 3-4装个 GitHub Spec Kit 或者直接用 Claude Code 的 Plan Mode每次做新功能先花 20 分钟写个 Spec描述清楚输入是什么、输出是什么、边界情况有哪些让 AI 根据 Spec 生成代码你会发现返工率大幅降低第三步搭建 HarnessWeek 5在 CI/CD 里加入自动化验证比如 PR 提交后自动跑测试、类型检查、lint如果是用 Claude Code可以用它的 Agent SDK 自定义权限规则比如不允许 AI 直接修改生产环境配置引入多 Agent 协作比如一个 Agent 写代码一个 Agent 专门做 Code ReviewDatadog 的工程师们总结得特别好 “Harness 不是让 AI 更聪明而是让 AI 可用。”The harness doesn’t make the AI smarter. It makes the AI usable.写在最后AI Coding 的本质是工程化回顾这三年2023-2026的发展AI Coding 从一个黑科技玩具变成了工程化实践。这和我们当年从手工作坊式编程进化到敏捷开发、DevOps 是一样的道理——工具再牛也需要工程化体系来约束和放大它的价值。Rule 解决的是风格一致性问题Spec 解决的是需求理解问题Harness 解决的是质量保证问题。这三个层次缺一不可。2026 年的今天如果你还在用 2023 年的方式对着 AI 聊天写代码那真的就 out 了。赶紧把这仨组合拳用起来你会发现 AI 从一个需要 babysit 的实习生变成了能独立承担任务的工程师。当然啦这套体系也不是一蹴而就的。就像我开头说的别指望明天就能去马尔代夫但你至少可以从今天开始先写个 .cursorrules 文件试试说不定写完你会发现AI 写的代码终于能看了呢咱们下篇文章再见到时候我再给大家详细讲讲怎么写一份好的 Spec让 AI 真正理解你的需求。记得点赞分享哦PS目前国内还是很缺AI人才的希望更多人能真正加入到AI行业共同促进行业进步增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow教程通俗易懂高中生都能看懂还有各种段子风趣幽默从深度学习基础原理到各领域实战应用都有讲解我22年的AI积累全在里面了。注意教程仅限真正想入门AI的朋友否则看看零散的博文就够了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2500135.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…