当前位置: 首页
AI教程
深入详解Claude Code实践Harness工程开发效率翻倍提升技巧

深入详解Claude Code实践Harness工程开发效率翻倍提升技巧

热心网友 时间:2026-06-04
转载

先说几个核心判断:Harness工程最近在社区里讨论热度很高,但说实在的,绝大部分文章都写得太抽象了——每个字都认识,看完却不知道讲了什么。我自己也在这个问题上卡了很久,始终摸不到门道。

直到有一次跟一个同学聊天,他分享了使用Harness工程和vibe coding之间的一些区别,一下子引起了我的兴趣。后来在知乎上又看到一篇文章,非常直接地理清了Harness在Claude Code中的几个关键体现:

  • MCP和Tool——提供能力
  • Hook——提供约束
  • Skill——提供引导和流程
  • Subagent——提供独立的执行环境

看完之后,Harness工程在AI编程领域的应用终于落地了。后来就尝试在Claude Code里实际跑了一遍,效率的提升确实有肉眼可见的几倍。以下就是整个实践过程的完整记录,供大家参考。

创建一个项目

从零开始,初始化一个Next.js新项目。其他技术栈或框架也完全没问题,对AI来说都一样。

npx create-next-app@latest

用Claude Code打开项目,或者在VS Code中打开并配合CC插件使用。如果没有安装CC,可以参考之前的说明。

接下来初始化单元测试环境——安装npm插件、配置文件、命令。这里交给CC来处理,它选择了Jest:

根据当前项目,初始化一个单元测试环境。测试代码放在同目录下,以 xxx.test.ts 格式命名并为首页 page.tsx 写一个单元测试,执行看是否报错

生成CLAUDE.md

在CC中执行/init命令,先初始化一个claude.md文件。

再参考andrej-karpathy-skills的四原则——这是最近非常火爆的AI编程提示词,把它补充进来。现在claude.md已经超过100行了,再有内容就需要扩展到其他文件中,比如rules/xxx

Skill

安装基础必备Skill

先安装一些基础的skill,后续边开发边补充。

React Best Practice——Vercel官方出品:

npx skills add vercel-labs/agent-skills    ## 选择 react-best-practices

Frontend Design——Anthropics官方出品:

npx skills add https://github.com/anthropics/skills/tree/main/skills/frontend-design

Skill Creator——Anthropics官方出品:

npx skills add https://github.com/anthropics/skills/tree/main/skills/skill-creator

UI组件库Shadcn的skill:

npx skills add shadcn/ui

另外还有test、review相关的skill,下文会介绍,一次安装也没问题。

Skill尽量精简

一个核心观点:如果没有具体、直接的用途,就不要安装skill。尽量精简。

  • 比如docx、pdf、ppt这类skill,写代码用不到,先不装。
  • 架构、逻辑、memory等过于高级抽象的skill,看不到直接用途,同样先不装。
  • LLM和Agent本身也在快速迭代,很多常用功能已经被集成到LLM和Agent中了。

MCP Server

安装基础必备MCP Server

先安装基础必备的,后续边开发边补充。GitHub、Supabase、Figma等先不着急。

Context7用于更新文档版本,社区推荐安装。但实际试用过程中,没有发现特别明显的用途——可以先不装,后面有需要再安装也不迟。

另外,它的官网安装命令在登录校验上一直卡住,用老版本命令可以成功:

claude mcp add -s project context7 npx @upstash/context7-mcp

Playwright MCP Server后面要用到,必须安装:

claude mcp add -s project playwright npx @playwright/mcp@latest

和Skill一样,MCP Server也是先只安装基础必备的,不确定的就先不装。比如Figma、GitHub、Supabase目前用不到,等用到再说。

关于Tool Search

如果MCP Server安装过多,会带来大量tool。每次AI请求都全部携带的话,token消耗会非常夸张。所以Claude Code现在默认自带tool search机制,用于动态搜索相关tool,而不是全部带过去。

但目前tool search的使用也有限制——最关键的一点是模型。文档中指明了只有Sonnet 4及其以后的模型才能支持。而实际使用的并不是Claude模型,而是国内的MiniMax,所以大概率不会支持这个特性。

因此,更应该谨慎管理MCP Server,不直接使用的不要随便安装。

Hook

基础必备Hook

从一些开源项目中找到了几个常用的hook:

  • 阻止危险命令:block-dangerous-commands
  • 保护隐私数据:protect-secrets

直接把源码拷贝下来,配置自己的.claude/settings.json即可。

创建自定义Hook

还想创建一个Hook来显示和警告Context使用情况——避免Context window过大,导致LLM出现幻觉。

如何创建一个hook?第一步先搜索一下有没有相关的skill。在CC中输入:

/find-skills create a claude-code custom hook

找到了一个相关skill,而且是Anthropics官方的,值得信赖,安装它。

然后调用这个skill来创建hook,或者直接输入prompt,它会自动调用这个skill:

/hook-development 帮我创建一个claude-code hook,叫做context-warning,使用PostToolUse。这个hook用于显示和警告当前AI请求的context使用和剩余的百分比,并在超过80%时给出明显警告,以便我知道何时压缩context。

基础环境和工具已经就绪,接下来该考虑流程了。

定义dev-workflow

在claude.ai上交流,描述需求:

  • 定义一个工作流,根据需求拆解任务、编码、CR和测试。
  • 这几个任务分别用不同的Subagent实现。
  • 这些步骤可以自动执行,除非核心步骤需要人工干预。

它设计了一个skill,标注了详细的流程图,下面描述了每个步骤的规则。不过这不是一次性给出的答案,经过了几轮讨论和修改才成型。

在这个设计中,单元测试的重要性怎么强调都不为过——只有把测试从头到尾做好,才能验证闭环。

  • Plan阶段就要输出验收标准和测试范围。
  • Code阶段同时要写单元测试代码。
  • Test阶段只管测试,不改代码。测试不通过则交给coder agent去修改。

Subagent

有了上述skill流程,接下来让claude.ai继续生成4个Subagent的提示词。

新建Subagent

运行/agents可查看当前subagent,也可以创建新的。创建时需要写入提示词(Agent功能介绍),还需要选择tools(all或read-only等),剩下的CC会自动生成。创建完成后,可以在.claude/agents目录下看到所有Subagent。

Planner

A development planning specialist. When given a feature request or bug fix, produces a structured plan including: Task Summary, Scope (in/out/assumptions), Implementation Tasks checklist with affected files, Unit Test Requirements per core module, Acceptance Criteria in Given/When/Then format, and Risks & Notes. Does not write any code.

注意:Planner中要包含验收标准和测试范围,以指导后续的单元测试和E2E测试。

Tool选择read-only tools——只读模式,只做规划,不编辑任何内容。

Coder

A software implementation specialist. Implements features or fixes based on a provided plan. Writes unit tests for every module or function specified in the plan's Unit Test Requirements. When given a reviewer or tester failure report, fixes only the reported Critical Issues without touching unaffected code. Produces an Implementation Summary listing files created, files modified, unit tests written, and any deviations from the plan.

注意:写代码时一起写出单元测试,这样测试写得更精确更详细。

Tools选择all tools——编码阶段需要给予最高编辑和执行权限。

补充一些Git规则,让CC修改Coder agent:

@.claude/agents/coder.md 对于coder agent我想补充几个git相关的规则:1. 不要在main/master分支开发,要在独立分支开发(以feat/fix/test/refactor/chore/docs开头的分支名称)且开发之前要保证git status干净无更改;2. 每次阶段性的改动都要及时git commit,不要混在一起提交代码;

Reviewer

A code review specialist. Reviews code changes for correctness against a provided plan, code quality, security, and error handling. Checks whether unit tests adequately cover the specified Unit Test Requirements — missing tests are treated as Critical Issues. Produces a structured report with result (PASS or FAIL), Critical Issues, Warnings, Suggestions, and a Unit Test Assessment. Does not modify any code.

Tools: read-only,只做代码走查。

安装一个review相关的skill:

npx skills add obra/superpowers@requesting-code-review

Tester

A software testing specialist. Validates implementations in three layers: first runs all existing unit tests, then verifies each Acceptance Criterion from the plan, then identifies and executes additional edge case and error handling tests not already covered. Produces a structured report with result (PASS or FAIL), unit test results, per-criterion AC validation, additional edge cases found, and an Overall Assessment. Does not modify any code.

Tools: all tools——因为它需要执行测试命令,还可能调用Playwright MCP Server tools。

安装一个test相关的skill:

npx skills add https://github.com/obra/superpowers/tree/main/skills/test-driven-development

任务1

调用dev-workflow skill,开发一个新功能——第一次试用这个工作流,看效果如何。

/dev-workflow 在首页开发一个todo-list功能

Plan

Claude Code根据dev-workflow skill流程,自动调用Planner agent开始工作,输出了计划(包括验收标准和测试需求)。可以确认,也可以继续添加修改。这里添加了修改意见,让它继续修改。修改完毕后回复confirmed确认,进入下一步。

Coding

调用Coder agent开始编码——写代码、构建、确保构建成功,写单元测试、执行单元测试,确保没问题。

Review

自动调用Reviewer agent进行代码走查,最终结果没问题。

Test

通过Review后,自动调用Tester执行单元测试。单元测试通过后,又调用Playwright执行E2E测试(之前配置的MCP Server发挥作用)。自动启动服务、自动测试网页功能。

Completion

测试通过,自动总结任务。全程自动化执行,除确认task plan外,只用了10多分钟。

任务1发现的问题

未执行Git规则

尽管在Coder agent文档中明确要求了,但Coder依然在main分支写代码,且没有及时提交commit。这种情况其实并不罕见——你会发现,从这一步开始,细节问题开始浮现了。

对此做两个修改:

第一,修改dev-workflow skill,在PHASE2增加引导。

第二,自定义一个Hook去约束——如果当前是main或master分支,直接报错。

无法及时看到开发效果

Coder agent写完代码和单元测试,直接就交给Reviewer agent去做代码走查了。这里应该停一下——让用户看看开发出来的效果和功能,手动确认,再继续执行。

修改dev-workflow skill:

@dev-workflow/SKILL.md 修改这个skill,在PHASE 2的最后,增加一个CHECKPOINT,让用户去运行项目来确认UI效果和功能。确认无误以后再继续,如有问题还要重新改动。参考当前CHECKPOINT #1的位置和格式即可。

没有更新README.md

每个任务结束都要及时更新README及其他相关文档。修改dev-workflow skill增加这方面的描述。必要时可以扩展一个Subagent。

任务2

任务1中遇到的问题已经被修正,但效果如何?还需要再来一个任务验证。使用dev-workflow skill开发一个新功能,重新走一遍流程。

/dev-workflow 开发一个新需求:新增todo的时候,可以设置完成时间,用于判断该todo是否过期。todo-list下面增加几个筛选标签:
- 全部:全部todo
- 今天:完成时间是今天的todo
- 过期:完成时间早于今天的todo
每个标签都计算todo数量(计算时只考虑未完成的数量,已完成的不计数了)

Plan

启动Planner agent制作task plan。Checkpoint1停下,让用户确认task plan。

Code

这次先新建git分支了——之前的改动明显有效果。然后Coder agent开始工作:写代码、写测试、自行验证。Checkpoint2停下,提示用户执行npm run dev去验证效果——之前的改动再次生效。

运行npm run dev查看效果时发现了一个问题:

change: 一个todo我设置了"完成",它就再也看不到了,这会让用户很困惑。在所有filter列表中,已完成的todo也要显示出来,别隐藏着。

CC重新启动Coder agent开始修改。修改完成后,Checkpoint2再次停止,用户检查确认。而且每次修改都会自动提交git commit,当前git status是干净的——之前对skill的修改继续生效。

Review

人工确认后,继续到Reviewer agent。Review结束通过。但这里的Checkpoint3不应该停止,应该自动通过——除非遇到问题。这个问题还需要改进。

Test

执行Tester agent,测试通过——但这次好像没有触发Playwright。这又是一个新问题,需要排查。

Completion

任务总结——发现它自动更新了README文档,之前的改动也有效果。

任务2发现的问题

Checkpoint 3不应该停止

Checkpoint 3不应该停止,除非遇到问题。修改dev-workflow skill:

@dev-workflow/SKILL.md 修改这个skill,对于CHECKPOINT #3如果review审核通过了,可以直接跳转到下一步不用人工审核。

其实就是改了一句话。好在问题不大。

Tester没有调用Playwright

检查了Tester agent的提示词,确实没有明确说明Playwright的应用场景。于是让CC为Tester agent增加Playwright的描述:

@tester.md 修改这个subagent提示词:单元测试成功以后,尝试执行playwright自动化测试。要求:
1. 判断用户是否安装playwright CLI或MCP server,如果没安装,提示用户,然后继续走流程。
2. 根据工作流中planner agent给出的测试范围和指导,来执行playwright。如果找不到planner agent给出的测试范围和指导,提示用户,然后继续走流程。
3. 如果用户安装了playwright CLI或MCP server,并且你得到了工作流中planner agent给出的测试范围和指导,则使用playwright执行自动化网页尝试。

现在Tester有了明确的Playwright应用场景和步骤,下一次就可以正常调用了。

关于Plan Mode

Claude Code自带的Plan mode(其他AI IDE也有)和上文中的Planner agent存在功能重叠。Plan mode有强制的只读权限,而Planner也设置了read-only tools,功能是相同的。区别在于:用Plan mode需要手动在CC切换模式,而用Planner agent则更方便定义流程。这里选择的是Planner agent。

未来扩展

目前这只是一个最基础的开发模式,做的也是简单的功能,但已经彻底打破了传统开发模式。基于这种方式,很容易扩展到更规范、更复杂的研发流程中。

比如,定义更长的流程——从GitHub Issue(或Jira、Figma)开始,直接到GitHub PR。再比如,一个人并行开发多个任务(配合git worktree),一天可以完成一周的工作量。

这个方向还有很多探索空间,后续会继续分享更多关于AI、智能体、全栈开发的话题。

来源:https://juejin.cn/post/7632616802066530355

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
手把手教你免费获取小米MiMo百万亿Token及Claude Code配置全流程

手把手教你免费获取小米MiMo百万亿Token及Claude Code配置全流程

前言:百万亿Token免费额度领取指南 近期,小米MiMo大模型推出了重磅福利——百万亿Token的免费额度,申请流程极为简便,额度也十分充足,并且支持直接接入Claude Code等主流工具。本文将完整演示从注册申请、获取API密钥,到最终在Claude Code中完成配置的全流程,跟着操作即可轻

时间:2026-06-04 19:29
Sentinel-3B OLCI L3全球降分辨率叶绿素数据2022.0版

Sentinel-3B OLCI L3全球降分辨率叶绿素数据2022.0版

Sentinel-3B OLCI Level-3 Global Mapped Earth-observation Reduced Resolution (ERR) Chlorophyll (CHL) Data, version 2022 0 叶绿素a浓度全球网格化数据集简介 叶绿素a浓度是衡量海洋浮

时间:2026-06-04 19:28
我每月省千元组建一支全天候云端AI团队

我每月省千元组建一支全天候云端AI团队

先说个有意思的现象。 前两天,我的视频生成团队“入职腾讯”了。在WorkBuddy专家团里,不少伙伴已经开始用这个工具做短视频。本来以为这事儿就这么定了,结果这两天,反而开始疯狂返工——我发现它只能生成文字驱动的视频,还不能像真正的视频团队那样,把配图的活儿也给干了。 于是,继续优化。 先给你看个好

时间:2026-06-04 19:28
如何编写合格的AI工作流指令:提升编辑技能

如何编写合格的AI工作流指令:提升编辑技能

如何编写一个合格的 Skill:AI 工作流核心指令集指南 在 AI 工作流的实际应用中,Skill(技能指令)常常被误解。许多人将其与普通提示词(Prompt)混淆,导致写出的指令过于宽泛或模糊,AI 难以精准执行。实际上,Skill 的本质是一套结构化的行为指令集,它引导 AI 助手在特定场景下

时间:2026-06-04 19:28
TRAE AI编程入门第三讲:Rules、Memory、MCP与Skills突破边界

TRAE AI编程入门第三讲:Rules、Memory、MCP与Skills突破边界

最近几天我会逐步公开自己策划的系统化 AI 编程入门课程大纲,欢迎各位提出宝贵建议。 这套课程暂定 4+1 节:4 节主课以 TRAE 为载体,带领大家零基础入门 AI 编程;外加 1 节扩展课,专门为非技术背景的学员补充软件工程基础知识。具体安排如下: 第一节:TRAE AI 编程入门——Vibe

时间:2026-06-04 19:28
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜