乐于分享
好东西不私藏

Harness 实证:我用它写出来的文档长这样

Harness 实证:我用它写出来的文档长这样

昨天那篇《Harness:我发现了一种让 AI 真正能干复杂活的方法》发出去之后,私信比我预期的多很多。

大部分问题集中在两个:

「这个 Harness 怎么落地?你具体怎么操作的?」

「效果真的要好很多吗?感觉还是很玄。」

这两个问题都很好。上一篇说的是方法论,这一篇我直接把产物发出来——这是我用 Harness 跑出来的真实文档,不是示例,不是脱敏版,就是项目里正在跑的东西。

· · ·

先回答第一个问题:怎么落地?

我在做一个 AI 视频生成的 SaaS 产品,每加一个新功能,我的流程是这样的:

Step 1|我描述功能目标(自然语言,不超过 200 字)

Step 2|Claude 读「宪法文档」+ 我的描述,生成需求文档 round1

Step 3|另一个 AI 实例读需求文档,输出审查意见.md

Step 4|Claude 根据审查意见修订,输出 round2

Step 5|重复 Step 3-4,直到审查意见里没有必修缺陷

Step 6我读最终版本,确认业务方向,上线

整个过程中我输入的只有:功能目标描述 + 关键节点的方向确认。需求文档的撰写、检查、修订,全部是 AI 完成的。

这不是说我没有参与。我参与的是方向,AI 负责的是执行

· · ·

「宪法文档」长什么样

上篇文章提到,我维护了一个「单一真相来源」,我叫它宪法文档

这是它的目录结构:

# 产品需求文档

## 需求背景

## 需求目标

## 功能范围

### 做什么

### 不做什么 ← 这个章节最关键

## 系统边界(角色 / 外部依赖)

## 数据模型(每张表的字段、类型、索引、默认值)

## 页面设计(每个页面的模块、组件、按钮响应)

## 业务流程(时序图 + 异常流程)

## API 设计

注意「不做什么」这个章节——这是很多人写 PRD 时忽略的,但对 AI 来说极其重要。

举个例子,宪法文档里有这样一段:

不做什么:

・不提供用户名密码登录、邮箱验证码登录、手机号登录。当前只有 Google 社交登录。

・不提供免费计划注册送积分。当前免费计划积分为 0,积分流水类型也不包含这些枚举。

・不提供图片任务按「尺寸 × 质量二维价目表」计费。当前实现按质量单维度计费。

这三条,每一条背后都是一次历史上「AI 自作主张把不该做的功能也做了」的教训。

写进宪法之后,AI 就有了边界。它不会在新功能里突然给你加一个你不需要的手机号登录入口,不会在计费逻辑里凭空发明一套你没有实现的积分规则。这不是 AI 变聪明了,是它有了一份地图。

· · ·

一个需求的 7 轮迭代过程

我最近在做的营销视频生成功能,经历了 7 个 round。

给你看一下这 7 轮在解决什么:

Round
核心变化
round1
基础链路:用户上传视频 + 模板拼接
round2
AI reviewer 发现:上游 API 参数口径写错了
round3
引入 Seedance 2.0,需要重写参考素材逻辑
round4
引入 Gemini 作为中间层,架构从一步变两步
round5
reviewer 发现:快照字段缺失,任务执行时会受运营改模板影响
round6
补齐失败分支、退款逻辑、模型版本锁定
round7
最终审查:无必修缺陷,确认上线 ✓

这 7 轮里,我参与的是 round4 的架构方向决策(要不要引入 Gemini 作为中间层)。其他的修订,全部是 AI reviewer 发现问题,Claude 修改,再重新过审。

round5 那次发现的「快照字段缺失」问题,是个典型的「我不懂所以发现不了」的问题。这是 AI reviewer 输出的原文:

📋 AI 审查意见 · round5

「当前设计中,Worker 在执行时直接从模板表读取 subtitles 和 audio_url。若运营在任务执行期间修改了模板内容,将导致任务执行结果与用户提交时的预期不一致。建议在任务创建时将这两个字段快照写入任务表,Worker 执行时只读取快照,不再回查模板表。」

这个问题如果没有 AI reviewer,我根本不会想到。我只会在某次上线后发现一个玄学 bug,花几小时排查。

这就是为什么我说:过度依赖人工 review,是在用你的知识边界给 AI 设上限。

· · ·

效果真的好很多吗?

说实话,是的。但我不想只说好的。

✓ 真的变好的地方

功能迭代速度:一个复杂功能,从描述到需求文档定稿,现在大约是 2~4 小时,之前我一个人写 PRD 要一整天,而且还会有遗漏。

架构合理性:AI reviewer 帮我捕获了大量「现在看起来没问题,上线后会是灾难」的设计问题。

字段一致性:自从有了宪法文档,API 和数据库字段对不上的问题几乎消失了。

✗ 真实的代价

搭建系统需要时间。 宪法文档不是一天写成的,它是我把已有代码和历史决策整理了一遍才形成的。这个过程大概花了我 3~5 天。

Token 消耗会翻倍甚至更多。 这是很多人没想到的。用 Harness 跑一个复杂功能,AI 要读宪法文档、写需求、审查、修订,每个环节都在消耗 Token。如果你用的是 Claude 初级会员套餐,几乎每个任务都会花掉 5 小时窗口量的 10% 打底,复杂任务一次就能消耗 30%~50%。你可能需要升级到 Pro,或者认真规划每天的 Token 预算。

你需要有能力判断方向。 AI 可以做执行和技术校验,但它判断不了「这个功能现在做对不对」。那一层仍然需要你。如果你对自己的产品方向本身不清晰,Harness 只会帮你更快地走错路。

· · ·

你可以从哪里开始

如果你想试试 Harness,我建议的最小起点是:从维护一个「产品当前状态文档」开始。

不需要是完整的宪法文档,可以只有三件事:

① 当前有哪些页面,每个页面能做什么

② 数据库里有哪些表,关键字段叫什么

③ 有哪些事「现在不做」

把这三件事写清楚,你就有了第一个版本的「单一真相来源」。之后每次让 AI 做新功能,先把这个文档丢给它,再描述你要做什么。效果会立刻不一样。

· · ·

上篇文章发出后,很多人说想找一个能持续交流这些实践的地方。

我之前建的「Agent 进化论」社群,聚焦的就是这件事:如何用 Agent 系统完成复杂任务,真正把 AI 变成生产力工具。不闲聊,只实践。

感兴趣的话,留言”进化”,我来拉你。