Files
vibe-coding-cn/docs/research/walkinglabs-learn-harness-engineering/deep-dive.md
T

8.1 KiB
Raw Blame History

walkinglabs/learn-harness-engineering 深度研究

研究级别

  • 当前级别:L2 结构深度研究。
  • 研究对象:walkinglabs/learn-harness-engineering
  • 证据来源:本目录 raw/ 下的 GitHub 元数据、README 快照和本地仓库工作树。
  • 观察日期:2026-07-04。

L2 结论

walkinglabs/learn-harness-engineering 的成熟点在于:它没有把 Harness Engineering 讲成“写更好的提示词”,而是讲成一套围绕 Agent 的工程控制系统。

它的结构从上到下是四层:

  1. 课程叙事层:README、VitePress 首页、12 讲解释为什么 Agent 会失败。
  2. 项目实验层:6 个递进项目在同一个 Electron 知识库应用上逐步增加 Harness 机制。
  3. 资源模板层:AGENTS.mdfeature_list.jsoninit.sh、进度、交接、评估表可直接复制。
  4. 工具执行层:skills/harness-creatortools/audit-harness.sh 把课程结论转成生成与审计能力。

这对本仓的启示是:研究报告不能只说“应该更可靠”,而要把可靠性拆成仓库 artifact、 状态机、门禁命令、评分表和会话交接。

源码证据

  • raw/repository/README.md:主叙事入口,包含 Harness 五子系统、学习路径、12 讲、6 项目和资源库。
  • raw/repository/docs/en/index.md:站点入口,把课程分成 lectures、projects 和 resource library。
  • raw/repository/docs/en/lectures/lecture-02-what-a-harness-actually-is/index.md:定义五子系统模型。
  • raw/repository/docs/en/lectures/lecture-03-why-the-repository-must-become-the-system-of-record/index.md:强调仓库是真相源。
  • raw/repository/docs/en/lectures/lecture-08-why-feature-lists-are-harness-primitives/index.md:把 feature list 定义为 Harness 原语。
  • raw/repository/docs/en/lectures/lecture-10-why-end-to-end-testing-changes-results/index.md:把全链路验证和可执行架构规则绑定。
  • raw/repository/docs/en/resources/templates/AGENTS.md:给出启动流程、工作规则、完成定义和会话结束动作。
  • raw/repository/docs/en/resources/templates/feature_list.json:提供带状态、验证和证据字段的功能状态机。
  • raw/repository/docs/en/resources/templates/init.sh:统一安装、基线验证和启动命令。
  • raw/repository/docs/en/resources/templates/evaluator-rubric.md:把产出验收转成评分表。
  • raw/repository/projects/project-06/solution/AGENTS.md:完整项目末态的启动规则、边界、完成定义和清理要求。
  • raw/repository/projects/project-06/solution/feature_list.json:完整项目用证据字段声明每个功能通过状态。
  • raw/repository/skills/harness-creator/SKILL.md:将 Harness 创建、校验和报告生成封装成可复用 Skill。
  • raw/repository/tools/audit-harness.sh:零依赖 shell 审计脚本,按五子系统检查现有仓库。
  • raw/repository/.github/workflows/deploy-pages.yml:课程站点发布流程。
  • raw/repository/.github/workflows/release-course-pdfs.ymlPDF 课程产物发布流程。

关键机制

五子系统把可靠性从感觉变成检查项

课程把 Harness 拆成 instructions、tools、environment、state、feedback。这个分法的价值是让“Agent 不可靠”不再是笼统抱怨,而能被定位成入口不清、工具不足、环境不可复现、状态不可恢复或反馈缺失。

对本仓而言,研究域可以沿用这个检查框架:

  • InstructionsAGENTS.md、README、目录索引是否能让新 Agent 找到入口。
  • Environment:依赖、版本、raw 拉取、Makefile 是否可复现。
  • State:研究进度、任务状态和决策是否在仓库内。
  • Feedbackmake test、链接检查、结构检查是否足够表达完成标准。
  • Tools:脚本、Skill 和 GitHub 流程是否被清楚登记。

仓库真相源减少跨会话猜测

Lecture 03 的核心不是“多写文档”,而是“把决策信息放到 Agent 能看到的位置”。它用 fresh session test 要求一个新会话仅凭仓库回答:系统是什么、如何组织、如何运行、如何验证、当前进度是什么。

本仓已经有 AGENTS.mdllms.txtassets/ai-citation/llms-full.txt 和 docs 索引。缺口在于: 部分研究结论仍是散文式表达,尚未都转成可恢复状态和可执行验证。

Feature list 是任务完成定义的机器接口

Lecture 08 把 feature list 从备忘录提升为 Harness 原语。核心不是 JSON 格式,而是四件事:

  • 每个条目有可观察行为。
  • 每个条目有验证命令或验证步骤。
  • 每个条目有状态。
  • 状态升级必须附带证据。

这比普通 TODO 更适合 AI 协作,因为 Agent 可以读取、选择、执行、验证、写回,而不是靠自然语言猜测 “差不多完成”。

全链路验证改变 Agent 行为

Lecture 10 的关键判断是:只跑单元测试会遗漏组件边界问题,完整管线验证会反过来约束 Agent 的实现方式。 它还强调把架构规则变成可执行检查,并把失败信息写成 Agent 能按步骤修复的反馈。

本仓当前 make test 已经包含 Markdown lint、链接、折叠块、docs 结构、metadata、AI 引用和 starter kit 检查。这是文档仓库的全链路验证雏形。下一步可以把研究域 raw 层、新研究域索引、目录 AGENTS 覆盖也纳入 更强的结构性检查。

Skill 与审计脚本让课程可执行

skills/harness-creator/SKILL.md 说明这个仓库不满足于讲课。它提供创建、校验、报告、benchmark 的工具入口。 tools/audit-harness.sh 则从 shell 层给出五子系统审计。

这说明成熟研究对象应该至少有一条“从文章到工具”的路径。对本仓来说,Harness 研究成熟后应沉淀到:

  • docs/research/harness/:概念、机制、对标与判断。
  • docs/workflow/:日常执行流程和质量门禁。
  • scripts/:可自动检查的规则。
  • skills/:可复用的 Agent 操作能力。

可迁移模式

  • 用五子系统表审计所有 Agent 协作入口。
  • 用 fresh session test 检查新会话能否从仓库恢复上下文。
  • feature_list.json 的思想重构任务包和研究域进度,而不是复制固定文件名。
  • init.sh 的思想保持“一条命令得到基线状态”,本仓对应 make test
  • evaluator-rubric.md 的思想要求重要产出必须有正确性、验证、范围、可靠性、维护性和交接评分。
  • audit-harness.sh 的思想把可重复的 review feedback 晋升为自动门禁。

对本仓的影响

本仓当前强项是中文知识库、研究域治理、索引、质量门禁和 AI 引用入口;该仓强项是把 Harness 讲成课程、练习、模板、Skill 和脚本。

两者结合后的方向应该是:

  • docs/research/harness/ 继续承载 Harness Engineering 概念与外部论文/文章对齐。
  • docs/research/walkinglabs-learn-harness-engineering/ 承载该课程仓库的一手研究。
  • docs/workflow/ 承载本仓实际如何使用 Harness 控制 AI 协作。
  • scripts/skills/ 只在检查逻辑稳定后再接管自动化。

关键取舍是:吸收控制面和验证闭环,不复制其课程站点和多语言工程复杂度。

风险和待验证项

  • 本轮没有运行外部仓库的 VitePress 构建、PDF 构建、Skill 脚本和审计脚本。
  • 该仓库 star、fork、updated、topics 属动态事实,引用前必须重新核验。
  • 其模板默认面向代码项目,本仓是 Markdown 知识库,迁移时必须改成文档治理和研究域治理语言。
  • skills/harness-creator 作为外部 Skill 引入前需要单独做安全、依赖、许可证和维护成本评估。

下一步 L3 验证任务

  • docs/research/harness/ 新增一份“最小 Harness 检查表”,用五子系统审计本仓。
  • 为一个真实研究域试写 id / behavior / verification / status / evidence 状态表。
  • 把一次重复出现的文档审查问题转成可执行脚本或 make 门禁。
  • 抽样运行 raw/repository/tools/audit-harness.sh 对本仓评分,并记录哪些检查项需要为 Markdown 知识库改写。