Definition Harness: 让代码仓库对人和 AI 都更"可读"

> 来源: GitHub - CNBorn/definition-harness | POSITIONING.md | OpenAI Harness Engineering

> 日期: 2026-05-08

> 作者: CNBorn | 语言: Markdown 文档模板(语言无关)

> Star: 新项目 | 许可: 未标注

一句话版本

Definition Harness 是一套"仓库说明书"模板——教你怎么在项目里写文档、写规范、写测试,让人和 AI 都能看懂这个项目到底在干什么、为什么这么干、是不是在按预期跑。

它是什么?

Definition Harness 是一个仓库级的规范工具集,不是代码框架,不是提示词模板,而是一套文档结构和协作规则。它解决了一个所有 AI 辅助开发都会碰到的问题:

> 项目的意图存在哪里?在人脑子里、在聊天记录里、还是在代码里?

Definition Harness 的答案是:存在仓库里,用规范的文档结构存

核心理念:三支柱独立


┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│    文档      │     │    代码      │     │    测试      │
│  (描述行为)   │     │  (实现行为)   │     │  (验证行为)   │
└──────┬───────┘     └──────┬───────┘     └──────┬───────┘
       │                    │                     │
       └────────────────────┼─────────────────────┘
                            │
                    三者相互校验
                 没有一个能替代另一个

关键约束:功能在代码里实现了 ≠ 这件事做完了。必须有文档描述它、有测试验证它。

文档层次

类型作用例子
**原则 (Principles)**稳定的意图——为什么`documentation-principles.md`
**定义 (Definitions)**当前的、可测试的行为`authentication-definition.md`
**架构 (Architecture)**边界和所有权`architecture.md`
**开发流程 (Dev Flow)**工作如何执行和验证`development-flow.md`
**AGENTS.md**地图,不是大全指向真正的信息来源

与"提示词工程"的区别


2023: Prompt Engineering
  "怎么写提示词才能让 LLM 给出正确输出"

2024: Context Engineering  
  "怎么提供足够的上下文让任务可解"

2025-2026: Harness Engineering
  "怎么设计仓库结构、工具链、质量门控,
   让 AI Agent 可靠地工作"

Definition Harness 属于 Harness Engineering 的最佳实践之一——它不是教你怎么写提示词,而是教你怎么设计一个"AI 友好的"仓库。

模板系统

项目提供了 5 个模板文件:

模板用途
`system-definition.template.md`定义系统的行为、约束、接口
`item-definition.template.md`定义工作项(workflow/feature)
`principles.template.md`记录设计原则和取舍
`architecture.template.md`描述系统边界和依赖方向
`README-docs-section.template.md`在 README 中添加文档指引段

为什么这值得关注

与 Jay 的项目直接相关

你已经在做的事情,Definition Harness 帮它"正规化"了:

你的文件对应 Definition Harness状态
`AGENTS.md`AGENTS.md✅ 已在使用
`SOUL.md`原则 (Principles)✅ 已在使用
`MEMORY.md`长期知识层✅ 已在使用
`AGENTS.md` 中的流程开发流程 (Dev Flow)✅ 已有
还没有的系统定义 (System Definitions)❌ 可以加
还没有的模板系统❌ 可以借鉴

Definition Harness 对你最有价值的部分

1. 系统定义模板:给你的每个项目子系统(deep-research agent、build pipeline、cron 系统)写一份"定义文档",描述它目前的行为边界

2. 渐进式采用策略:不需要一次性全改好,而是"先挑一个高风险子系统开始"

3. 三支柱校验:确保文档、代码、测试三者对齐——这个原则可以直接用

4. POSITIONING.md 的定位思路:明确告诉别人"这是什么 / 不是什么"

2026 年的行业趋势

搜索结果显示,"harness engineering" 已经成为 2026 年的热门话题:

OpenAI 原文:"Agent = Model + Harness"

评分

维度分数说明
思想价值⭐⭐⭐⭐⭐准确捕捉了 AI 时代的仓库知识管理问题
实用性⭐⭐⭐⭐模板直接可用,但需要根据项目调整
成熟度⭐⭐⭐新项目,还在迭代中
对你(jay)的适用性⭐⭐⭐⭐⭐你已经在使用核心概念,这套可以帮你体系化
独创性⭐⭐⭐⭐不是全新概念,但首次被系统化打包

一句话再总结

> "Definition Harness 告诉你:别把项目知识存在脑子里或聊天记录里——用一套规范的文档结构把它写进仓库,让人和 AI 都能看懂。"

建议:你可以考虑在你的 jaylab 项目中引入 system-definition.md 概念——特别是对于 deep-research agent、build pipeline、cron 系统这些核心子系统,写一份"行为定义文档"来描述它们当前该干什么、不该干什么。

报告生成时间: 2026-05-08 08:33 UTC