2026年6月4日星期四

AI编程最佳实践:Claude官方Harness工程框架项目验证

本文结合Claude官方最佳实践与真实项目经验,阐述AI编程的三个阶段:Vibe Coding、Spec-driven Coding和Harness工程。重点介绍Harness框架的五个扩展点(CLAUDE.md、Hooks、Skills、Plugins、MCP Server)及子代理能力,适合参与复杂项目的开发者参考。核心建议:先对齐需求再写代码,用自动化规则替代提示词记忆,避免复杂项目中的返工和跑偏。

Tags:

  见字如面,我是艾康。
点击关注👆防止迷路。







 

本文字数 3112,阅读大约需 6 分钟

最近这段时间更新公众号频率有所下降,是因为在参与一个开发项目。

具体是什么项目就不展开了,涉及一些隐私。

项目本身还是有一定复杂程度的,涉及三个平台、十几个业务模块、大量复杂表格和表单。而且我做的还是自己并不擅长的前端。

但最终从结果上来看,完成得还是不错的。

事后,我复盘了一下,我发现能做好不只是因为 AI 能力很强。

还有一些不是那么「性感」的因素:动手前的准备、过程中的对齐机制、验证环节的门禁等。这些听起来很老派的工程习惯,反而是整个项目最核心的支撑。

刚好最近看到 Claude 官方发了一篇文章,讲的是 Claude Code 在大型项目中的最佳实践。

img

读完有一种「豁然开朗」的感觉,我在项目里模糊感知到的东西,这篇文章用一个框架给串了起来。

今天想结合这篇文章和我自己的经历,聊聊 AI 编程这件事,到底该怎么做才能更靠谱。

大多数人的 AI 编程方式

2025 年初,Andrej Karpathy 发了一条推文,给一种新的编程方式取了个名字:Vibe Coding(氛围编程)。

img

什么意思呢?

简单说就是:用自然语言告诉 AI 你想要什么,AI 生成代码,你基本不看代码细节,只看最终效果能不能用

just vibe with it」,跟着感觉走就行。

这种方式为什么火?因为门槛极低。

你不需要懂编程语言的语法,不需要理解框架的运作原理,甚至不需要知道代码写在了哪个文件里。说几句话,一个网页就出来了。

快感是即时的。

但问题来了。

当项目稍微大一点、复杂一点,Vibe Coding 就开始撑不住。

你让 AI 加一个功能,它把之前的逻辑改坏了。

你想改一个 bug,它改完又冒出两个新的。

你要加一个新页面,风格跟前面完全对不上。

你回头想看看代码到底怎么回事,发现自己根本看不懂。

因为从头到尾你就没看过。

这种体验,用过 AI 编程的人应该都不陌生。

Vibe Coding 本身没有问题。拿来做原型验证、写个人小工具、跑一次性脚本,完全没毛病。

问题在于,很多人把它当成了 AI 编程的全部。

连 Karpathy 自己在更正式的场合都换了说法,改用了「Agentic Engineering」。创造者都在修正这个概念的边界,说明 Vibe Coding 确实不该是终点。

img

真正决定效果的,不是模型

Claude 官方在那篇文章里有一句话我印象很深:

围绕模型构建的生态系统及框架,比模型本身更能够决定 Claude Code 的性能。

这句话让我想到了前段时间特别火的一个概念,叫 Harness

LangChain 的 Vivek Trivedy 说过一句被广泛引用的话:

If you're not the model, you're the harness——不是模型本身的,全都是 Harness。
img

在不同的地方都能看到类似的观点,说明这可能就是当下的共识。

Harness 这个英文单词,原义是马具。缰绳、马鞍、马镫这套装备。马是力气,马具是让你能驾驭这股力气的东西。

放到 AI 编程上,一个完整的 AI Agent 可以拆成一个简单的等式:

Agent = 模型 + Harness

模型决定 AI 怎么想,这部分我们改不了。

Harness 决定 AI 能看到什么、能用什么工具、失败了怎么办、结果怎么验证。这部分才是我们能搭、该搭的。

一个好的 Harness 长什么样

Claude 官方在文章里给出了一个清晰的框架:五个扩展点,加上两个补充能力

我觉得这个框架的价值不只是 Claude Code 的功能介绍。它背后的思路,对所有 AI 编程工具都适用。

img

1. CLAUDE.md:给 AI 的入职手册

这类文件会在每次会话开始时自动加载,告诉 AI 这个项目的基本规矩:技术栈是什么、代码风格怎么定、哪些文件不能动、测试怎么跑

你可以理解成给新同事的入职文档。能力再强的人,第一天上班也得先知道公司的规则。

AI 也一样。

2. Hooks(钩子):自动执行的规则

与其靠 AI 记住「每次提交前跑一下格式化」,不如直接写一个钩子脚本自动执行。

靠提示词是「请你记得做」,靠钩子是「不管你记没记得,系统替你做」。程序的约束比语言的提示靠谱得多。

3. Skills(技能):按需加载的专业知识

一个大项目里有几十种不同类型的任务。如果把所有知识都塞进每次会话,上下文很快就爆掉了。

Skills 的做法是按需加载:做安全审查时加载安全规则,写文档时加载文档规范,需要什么就加载什么,平时不占空间。

4. Plugins(插件):好配置的打包分发

团队里总有人把 AI 环境调教得特别好。但如果这些经验只留在个人配置里,其他人用不上,好做法就变成了部落知识。

Plugin 把一整套配置打成一个包,新人装上就拥有同样的 AI 环境。

5. MCP Server:连接外部世界的桥

AI 默认只能看到你本地的文件。

但实际开发中,你可能需要它去读需求管理工具上的 ticket、查内部文档、调内部 API。MCP Server 就是让 AI 够得着这些外部资源的通道。

补充能力:子代理(Subagent)

这个在大项目中格外有用。你可以把一个大任务拆给多个独立的 AI 实例并行处理,每个实例有独立的上下文,互不干扰,做完后汇总结果。

img

这五个扩展点的思路是通用的。

不管你用的是 Claude Code、Cursor、Copilot 还是别的工具,你都需要想清楚这几件事:AI 进入项目时能看到什么上下文?重复性的规则有没有自动化?不同任务的知识怎么管理?好的配置能不能复用?

我的实践:一套让 AI 不跑偏的 SOP

说回我自己。

坦白说,做这个项目之前,我对 AI 编程的理解挺朴素的。给需求、看代码、改 bug、继续。没什么体系。

但这次项目的复杂度不允许我这么随意。十几个模块、三个平台、还是自己不擅长的前端。如果还是「说一句看一步」,大概率翻车。

最终我是配合 superpower 这个 Skills 跑通的是一套固定的作业流程,每个模块走一遍:

吃透上下文 → 交互式对齐 → 写精确计划 → 拍板确认 → 子 Agent 执行 → 端到端验证 → 合并

gather context(吃透上下文)
 → brainstorming(交互式对齐:一次一个问题,把意图/边界/成功标准问清,产出 spec)
 → writing-plans(写实现计划:精确到文件路径 + 完整代码 + 测试命令,no placeholder)
 → 用户 greenlight(拍板)
 → subagent-driven-development(逐任务派子 Agent 实现 + 复核 diff/tsc)
 → 端到端验证(browser-harness/ playwright Test )
 → finishing-a-development-branch(合并回 main,本地 ff-merge)
img

这里面有几个环节,我觉得很有用。

对齐前置。

在写任何代码之前,先用交互式的问答,把 AI 的理解和自己的意图对齐。

通过一轮轮对话,最终产出一份双方都认可的设计规格。

为什么要这么麻烦?因为错误越早发现越便宜。AI 理解的方向跟你想的不一样,写了几百行代码才发现要推倒重来,那就是纯浪费。

十分钟的对齐,能省两小时的返工。这是我反复验证过的。

计划即代码。

这里说的「计划」不是粗略的待办清单,是精确到文件路径、没有模糊占位符的具体实施方案。

计划写完的那一刻,执行阶段就变成了机械性的工作。所有需要人做判断的事情,在写计划时已经全部做完了。AI 照着执行就行。

这一步的好处在后面才真正显现出来。

验证体系。

类型检查全部通过、单元测试全绿、多语言文本对齐、自动浏览器里实际跑一遍看效果。这套检查清单,每次合并前必须全过。

有了这套体系,每次新增完功能,修复完 Bug,我都可以放心合并,能极大提升自己的生产效率。

AI 编程的三个阶段

聊到这里,我想把前面的内容串一下。

如果把 AI 编程的方式排一条路径,大致可以分三个阶段:

阶段一:Vibe Coding(氛围编程)

说几句话让 AI 生成代码,不看细节,只看效果。适合原型验证、个人小工具、一次性脚本。

快,但不可持续。

阶段二:Spec-driven Coding(规范驱动开发)

在让 AI 动手之前,先用规范文档把产品的各个维度定义清楚:产品是什么、这次要做什么、视觉长什么样、技术架构怎么定。

简单说就是:先想清楚,再让 AI 写代码。

用规范文档约束 AI 的每一次决策,保证了一致性和可维护性。

Spec-driven 比 Vibe Coding 前进了一大步。但它主要解决的是「想清楚再做」的问题。当项目进一步复杂,你还需要解决另一个问题:怎么让 AI 在执行过程中不出错、不跑偏?

阶段三:Harness Engineering(驾驭工程)

不只是写规范,而是搭建一整套环境:上下文管理、自动化约束、反馈回路、验证体系、子代理编排。让 AI 在一个好的工作环境里干活。

这三个阶段不是非此即彼。Vibe Coding 有它的位置,Spec-driven 解决了一大类问题,Harness Engineering 处理复杂项目效果最好。

img

写在最后

简单总结一下今天聊的。

如果只是想要用 AI 快速验证某个项目,做个个人小工具,跑个一次性脚本,那只需「just vibe with it」。

但如果需要用 AI 参与需要长期维护的项目,不只是靠跟 AI 对话,还需要先想清楚、搭建对应的 Harness 环境。

目前我自己也还在摸索,这次积累的经验,下次未必全部适用。工具在变,模型在变,最佳实践也在变。

但如果只能留一条建议,大概就是:别急着让 AI 写代码,先把需求讨论清楚。

 

图片

以上,就是本文全部内容,如果觉得这篇文章对你有启发,点赞、比心、分享三连就是对我最大的支持,谢谢~

往期推荐阅读
•  Obsidian 从入门到进阶合集

• AI把我推成“知名”博主后,我发现了一条产业链

• 用 Gemini 解锁 YouTube 新用法,信息获取效率提升 10 倍

• 有了 NotebookLM 后,还需要 Obsidian 吗?

• 我试了 NotebookLM 学习法后,彻底抛弃传统学习方式

• NotebookLM 再次升级,来自谷歌的年终礼物

• 我用 NotebookLM 解锁 PPT 的 5 种玩法,实现了 PPT 自由

• AI 时代,你的上下文才是最值钱的资产

• 2026 年如何用好 AI,我发现这些能力更重要

• Openclaw 这么火,可你真的需要它吗?

• 全网都在抄 Karpathy 的知识库,但大多数人只学到了皮毛

• Claude Code 最佳实践之一,把你的重复工作打包成一个 Skill

• 如何用 Claude Code 开启10 倍学习法?

没有评论:

发表评论

上海华为云发布Agent时代新基建 解决算力记忆安全四大卡点

华为云在2026年6月5日上海大会上发布Agentic基础设施,包括AICS智算集群、AMS记忆存储、Volcano Next调度引擎和AgentSphere安全环境。面向企业开发者,解决Agent推理慢、记忆差、调度乱、安全黑盒等问题,推理时延低于10毫秒,记忆规模达PB级,资...