Harness搭建从零到完整:12节课程+模板
先说说你可能踩过的坑:用 Claude Code 或 Codex 在一个项目里干活,开头看着挺靠谱——读文件、写代码、步步推进。然后,毫无预兆地,它突然跳了一个步骤,测试挂了,丢下一句“done”,实际根本跑不通。收拾这些烂摊子花的时间,往往比你自己从零写还要多。
问题的根源不在模型本身,而在于它缺少一个可控的工作环境。Anthropic 做过一组非常直观的对比实验:同一个模型(Opus 4.5)、同一个提示词(“做一个 2D 复古游戏编辑器”)。在没有 harness 的情况下,花了近 分钟,产出的东西完全不能运行。而配备完整 harness 的场景呢?耗时 200 小时、6 天时间,最终生成的游戏是可玩的。产出天差地别,模型没有变——只是它工作的方式变了。
这就是今天要深入探讨的 Harness Engineering。这套开源课程系统性地教你搭建这样的工作环境:12 节课、6 个实战项目、支持 13 种语言,并且采用 MIT 协议开放。
课程地址:https://github.com/walkinglabs/learn-harness-engineering
文档站:https://walkinglabs.github.io/learn-harness-engineering/
Harness 究竟是什么
一句话概括:它是围绕 AI coding agent 构建的工程化工作台,核心目标是把模型的输出从“碰运气”变成“可预期”。你不需要在更巧妙的提示词上消耗精力,而应该设计模型运行其间的系统结构。
这个系统包含五个核心子系统:
- Instructions:告诉 agent 该做什么、按什么顺序执行、开始前需要先读取哪些上下文。不是一份巨型指令文件,而是按需触发的渐进式指引。
- State:记录已完成的任务、当前在做的步骤以及下一步计划。直接写入磁盘,确保下次会话可以无缝衔接。
- Verification:只有通过测试才算真正完成。agent 自己说“我觉得好了”不能算数。
- Scope:一次只专注一件事。避免贪多,杜绝半途而废。
- Session Lifecycle:会话开始时初始化,结束时清理,为下一次运行留下干净的起点。
学习路径设计
课程提供三种切入方式:讲义、项目、资料库。你可以根据自己的学习习惯选择任意一条路线开始。
课程如何展开
整个体系分为六个阶段,每个阶段包含两节课加一个动手项目:
- 阶段一:看清问题——用完全相同的任务跑两遍:一遍纯靠提示词,另一遍带 harness,然后把结果直接放在一起对比。
- 阶段二:整理仓库——让 agent 清晰理解你项目的目录结构和文件关联。
- 阶段三:打通会话——跨 session 保持上下文连贯,不让每次新会话都从零开始。
- 阶段四:反馈与约束——引入运行时反馈循环,并设定明确的边界范围。
- 阶段五:自验证——让 agent 学会自行检查自己的交付结果。
- 阶段六:完整 harness——从零搭建一套完整的工程化系统,作为最终的毕业项目。
所有项目围绕同一个产品推进:一个基于 Electron 的本地知识库桌面应用。特别的是,每个项目的 solution 恰好是下一节的 starter,应用功能随着课程进度逐步迭代。
时间安排上:一个阶段大约需要一周(业余节奏),而前三个阶段其实一个长周末就能搞定。
快速上手指南
你不需要学完 12 节课才能动手。在项目根目录下放四个文件,就能立即跑起来:
├── AGENTS.md <-- agent 的操作手册
├── init.sh <-- 安装、校验、启动
├── feature_list.json <-- 功能列表和完成状态
├── claude-progress.md <-- 每次会话记录课程的 Resource Library 里已经准备了现成的模板文件,直接复制到你的项目中即可使用。
最后几点
仓库中还附带了一个 harness-creator 技能,能帮你在几分钟内为任意项目生成一套生产级的 harness 脚手架。
项目地址:https://github.com/walkinglabs/learn-harness-engineering

