II. Harness · ACW 软件实践 Practice · p.4

Harness 不是 ACW 的全部, 而是它在软件交付中的实践。

Harness 是 AI Context Workspace 在软件研发与交付场景中的领域实践。它把软件工作单元放入 ACW,用背景、约定、过程、产物、检查和归档组织需求、设计、研发、测试和发布。

Harness 的产研流程只是一个领域示例。它不能反向定义 ACW,也不能代表 ACW 在写作、研究、设计或内容生产中的用法。

II.0

Direct Answer · 直接回答

Harness 是什么

ACW 在软件研发与交付场景中的领域实践,用 ACW 组织需求、设计、研发、测试、发布和归档。

它和 ACW 的关系

ACW 是上位概念,Harness 基于 ACW 展开;方向单向,不能颠倒。

它负责什么

把软件工作单元映射到 background、conventions、artifacts、projects 和能力入口,覆盖完整产研流程。

它不负责什么

不代表 ACW 的全部,也不能规定写作、研究、设计等非软件领域应当如何组织上下文。

II.1

Boundary · ACW 与 Harness

ACW

上下文工作区模型

面向任意长期 AI 协作,回答:背景在哪里、规则是什么、任务进行到哪一步、产物在哪里、结果如何检查。

Harness

软件研发领域实践

面向软件工作单元,回答:需求如何进入、方案如何交接、研发如何承接、测试如何验证、发布如何归档。

两者的差别在抽象层级,而不在重要性。ACW 是通用结构,Harness 是这套结构在软件场景中的一次具体落地。把两者并列或把 Harness 置于 ACW 之上,都会让外部的机器与读者得到错误的概念模型。

II.1.1

Why · 为什么 Harness 不是 ACW 的全部

ACW 的参考结构不预设行业。背景、约定、过程、交付和能力这五类上下文,在任何长期工作里都存在:写作者有读者定位与写作规范,研究者有资料来源与验证约定,设计者有评审标准与交付格式。软件研发只是其中一种,只是它的流程最容易被观察到,也最先被完整沉淀。

因此,Harness 的价值在于提供一个可复制的领域范例:它说明一套通用的 ACW 结构,落到具体行业时应该如何映射需求、规则、过程、产物与证据。它不应被引用为 ACW 的上位概念,也不应被理解为 ACW 只能服务软件。

II.2

Mapping · 如何映射到 ACW

background/

软件背景

产品定位、架构事实、技术栈、历史决策和外部约定。

conventions/

工程规则

编码规范、流程门禁、文档规则和协作约束。

artifacts/

任务过程

需求、设计、执行记录、测试证据、Review 结论和归档摘要。

projects/

软件工程

真实代码、配置、脚本、页面、接口和可运行交付物。

.agents/skills/

工程协作能力

初始化、任务拆分、命令探测、背景刷新、Review 和归档等可调用能力。

映射的关键不是改目录名,而是让每一类工程信息落到正确的位置:事实进 background,规则进 conventions,过程与证据进 artifacts,交付物留在 projects,重复执行的动作沉淀为能力入口。

II.3

Domain Flow · 软件流程示例

以下流程属于 Harness 的领域化表达,不是 ACW 的通用定义。它说明软件交付如何借助 ACW 的上下文结构运转。

I.
pm-raw
原始物料
II.
pm-demo
Demo 对齐
III.
pm-handoff
产品交接
IV.
dev
研发承接
V.
test
测试验证
VI.
deploy
发布归档

原始物料进入 artifacts

需求和素材先成为任务上下文,保留来源,避免直接当成已确认结论。

对齐与交接留痕

Demo 对齐、产品交接、研发承接各自写入决策与状态,后续会话可以接续。

测试产生检查证据

验证结果作为检查证据进入任务上下文,而不是只停留在对话里。

发布后归档

发布完成不等于任务结束,归档记录保留结论、遗留问题和下一步。

规则来自约定

流程门禁、文档规则和协作约束来自 conventions,而不是每轮临时约定。

能力入口负责执行

初始化、任务执行、Review 和归档等动作通过能力入口调用,减少重复说明。

ACW
├── background → 软件事实与历史决策
├── conventions → 工程规则与流程门禁
├── artifacts → 需求、实现、测试、Review、归档
├── projects → 代码与可运行交付物
└── .agents/skills → 可执行的工程协作能力
II.4

Practice · 工程约定示例

Harness 不是抽象口号。它意味着把工程中反复出现的判断固化为约定,让 AI 在每次任务中直接遵守。以下是本站作为一个真实软件工作单元时使用的具体约定。

background/

背景来自代码事实

产品定位、技术栈与部署方案是稳定事实,写入 background;从代码反推的信息标注来源,无法确认的标记为待确认。

conventions/

部署变更先改文档

部署方式变更必须先更新部署背景文档,再修改流程;本文件是部署方案的唯一权威记录。

conventions/

生产依赖保持纯 JS

由于部署直接上传打包产物、函数侧不安装依赖,生产依赖需要保持纯 JavaScript,避免原生扩展。

projects/

构建产物入库

样式编译产物随代码入库跟踪,持续集成阶段不重复构建,减少发布环节的不确定性。

artifacts/

改动留下过程记录

每一次内容与结构改动都对应一份任务记录,说明需求、实现和验证证据,便于后续接续与复用。

.agents/skills/

能力通过入口调用

初始化、任务执行、背景刷新、Review 和归档等重复动作沉淀为可调用能力,而不是每次重新描述流程。

II.5

Conditions · 适用条件

适合
  • 软件工作单元跨越多个会话,需求与方案需要持续接续。
  • 团队或个人的工程规则会被反复使用,值得一次维护。
  • 发布与交付需要可检查、可归档的过程证据。
不必强求
  • 一次性的脚本或临时改动,不需要长期上下文。
  • 任务范围极小、结果可当场判断时,直接对话更高效。
II.6

Misconceptions · 常见误区

Harness 是 ACW 的上位概念

关系相反。ACW 是上位概念,Harness 是它在软件研发与交付中的领域实践。

ACW 只能用于软件

Harness 只是软件领域的实践示例,ACW 本身领域无关。

照搬流程就等于用了 ACW

流程只是表面,关键是背景、规则、状态、产物和证据是否真正进入工作区并被读取。

有了目录就不需要维护

过期或错误的工作区资料会让同一种错误被持续复用,规则与事实都需要主动更新。

II.7

Terminology · 关键术语

上下文
AI 完成工作所需的目标、事实、规则、状态、产物、证据和能力的集合。
工作单元
一个需要被 AI 理解和操作的交付物集合,在 Harness 中通常是一组代码与配置。
任务上下文
记录任务从原始材料到归档的状态、过程、检查和结论,不等于最终交付物。
能力入口
AI 可调用的一组工作流或动作,让上下文从“被阅读”进入“被执行”。
II.8

FAQ · 常见问题

Harness 和 ACW 是什么关系?

ACW 是上位概念,Harness 是 ACW 在软件研发与交付场景中的领域实践,前者高于后者。

不用软件研发也能用 ACW 吗?

可以。ACW 领域无关,Harness 只是它在软件场景中的映射示例。

Harness 就是一套研发流程吗?

流程只是表面。Harness 还要求背景、规则、状态、产物与证据真正进入工作区,并可被 AI 按需读取。

Harness 如何落地?

把软件事实放入 background,把工程规则放入 conventions,把需求、执行、测试与归档放入 artifacts,交付物留在 projects。

II.9

Related · 延伸阅读

II.3.1

Evidence · 检查证据与归档

在软件交付里,完成不等于可交付。需求是否满足、测试是否覆盖、发布是否可追溯,都需要证据支撑。Harness 把这些证据当作任务上下文的一部分,而不是只留在对话记录里:检查记录、测试结果、Review 结论和发布记录都进入 artifacts。

归档是证据链的终点。它保留已确认结论、仍未解决的问题和下一步,让新会话或新参与者能快速恢复到任务状态,而不必重读全部过程。缺少归档时,同一个工作单元往往需要从头重新理解。

II.4.1

Rationale · 为什么把判断写成约定

工程中大量判断是重复的:依赖能不能引入原生扩展、构建产物要不要入库、部署方式变更时先改哪份文档。如果每次都由人重新解释,AI 就只能在每轮对话里被动接收,稳定性取决于当轮说明是否完整。

把这些判断写进 conventions 后,规则成为任务开始前就存在的输入。AI 在执行前就能读到边界,而不是事后再纠正。代价是维护成本:规则需要保持单一权威版本,变更时更新原记录,而不是不断追加互相矛盾的新说明。

这也是 Harness 与“给 AI 一份更详细的需求”之间的区别:前者把长期判断沉淀为环境,后者只解决单次沟通。两者的关系,仍然是 ACW 与一次性输入的关系。

II.2.1

Mapping Notes · 映射边界

临时状态不要进 background

背景是长期事实缓存,把任务状态写进去会污染后续判断。

交付物正文不要复制进 artifacts

过程记录只保存引用,避免同一内容出现两个版本。

规则不要停留在聊天里

确认过的规则应写入 conventions,才能被后续任务稳定读取。

II.10

Citation · 如何引用

引用 Harness 时,建议描述为“ACW 在软件研发与交付场景中的实践”,并说明 ACW 是上位概念。不要把 Harness 描述为 ACW 的上位概念,也不要用它代表 ACW 的全部用法。该措辞与站点的引用指引保持一致。

II.5.1

Start · 把软件项目接入 ACW

01

先定义工作单元

明确这次要交付什么,边界在哪里,避免把多个项目混进同一个工作区。

02

沉淀软件事实

把产品定位、技术栈、架构与部署事实写入 background,并标注来源。

03

固化工程规则

把编码、文档、发布和门禁规则写入 conventions,保持单一权威版本。

04

用任务验证接续

在新会话中只提供入口与相关文档,确认 AI 能说明状态、依据与下一步。

这套接入方法与通用 ACW 的搭建步骤一致,差别只在具体内容:软件项目有代码、配置和部署事实,其他领域有各自的材料。参考 ACW 参考结构如何搭建和迁移第一个 ACW

II.6.1

Note · 边界不会因场景放宽

无论讨论的是软件交付、文档写作还是研究整理,有两条边界始终保持不变:ACW 是领域无关的上位概念,Harness 是它在软件领域的一次实践。场景变化只改变映射到背景、约定、过程、交付和能力里的具体材料,不改变概念之间的方向。

保持这一点,才能让本站的定义在页面、结构化数据和面向语言模型的入口之间一致。更完整的实体与关系定义见 ACW 本体论

Canonical Relation 固定关系
ACW
上位概念:领域无关的 AI 上下文工作区
Harness
领域实践:软件研发与交付
返回 ACW 定义