# 面向人机交互设计 Harness：构建以产物为中心的 Agent Loop

> 原文链接：https://mp.weixin.qq.com/s/FATmcD2PAZuJlNl6ReMOAQ
> 作者 / 公众号：Phodal / phodal
> 发布时间：2026-08-23 10:51 CST
> 获取时间：2026-08-24
> 抓取方式：微信移动端页面；正文转写并保留原文结构。

## 引言

作者从 Better Harness 对 Coding Agent 工作闭环的追问出发：用户要完成什么、Agent 读取了什么上下文、做了哪些操作、结果有没有验证，以及经验能否沉淀为下次可复用的能力。Coding Agent 的对象正从代码扩展到 API、网页、PPT、Word、Notebook、3D 模型和动画；共同问题是 Agent 如何理解、修改、展示这些产物，并依据人的反馈进入下一轮。

文章的核心提问是：当人和 Agent 共同面对一份会持续修改、审阅和交付的工作产物时，对话是否仍应是人机交互的中心？

## 引子：从以对话为中心，到以产物为中心

多数 Agent 产品仍以对话组织任务：用户输入需求，Agent 读取上下文、调用工具、修改文件，再把过程和结果带回对话。即使旁边已有编辑器、终端、文件浏览器和预览窗口，对话仍负责保存目标、解释过程和串联上下文。这是“以对话为中心的智能体闭环”。

代码场景能够容忍这种模式，因为真实状态同时存在于仓库、文件、符号关系、Git diff、编译结果和测试报告；即使遗失部分聊天上下文，Agent 仍能重新读取项目和验证环境。

但 PPT、表格、架构图、移动设备和三维场景不同。用户可能在两轮对话间直接改了幻灯片、节点、单元格或模拟器页面；下轮开始时，Agent 不仅要回看聊天记录，还要理解已经改变的产物，以及用户通过直接操作表达、却未完整记录到对话的意图。人一旦直接操作产物，对话就不再拥有完整工作现场。

## 以产物为中心的 Agent Loop

作者将新的协作方式定义为：人与 Agent 围绕同一份可持续演化的工作产物协作；对话仍负责表达目标和解释判断，但工作现场由双方共同维护的产物及其状态承载。

产物可以是代码、演示文稿、架构图、工作簿、运行中的设备界面或含空间和物理状态的模拟世界。它们不是一次生成后结束的文件，而是会被持续进入、修改、验证和审阅的工作对象。

作者以早期 PPT Agent 和 Office Agent 为对照：过去常用 HTML 展示、PPTX 仅作为最终导出；而 GUI Agent 完善后，Codex 等工具可通过 Office API / DSL 直接生成、编辑并与 PPT 交互，协作现场逐渐回到真实产物。

### 示例：以网页为核心的 Browser Agent

Browser Agent 不只是把网页截图交给模型。网页有浏览器运行时，Agent 能查看页面、点击、输入、滚动、截图，并结合元素、控制台日志和网络请求观察操作前后变化。网页因此是可持续观察、操作和再观察的工作环境。

新一代 Coding Agent 更进一步：人也能直接在网页中向 Agent 表达意图。Cursor、Qoder 等模式允许用户选择运行中页面元素，通过绘制、语音或文字补充要求；系统把选中元素、背后代码、周围布局和视觉关系一并交给 Agent。产物开始承担部分上下文和指令入口，用户不必把所见问题完整翻译为自然语言。

### 示例：网页到可交互 Canvas

Cursor/Qoder 的 Canvas 将该方式延展至 Agent 生成的产物：用户可选择和批注画布元素，让 Agent 据局部反馈继续修改，也可从画布按钮发起后续动作。重要的不是更漂亮的预览，而是用户不必重新说明“我指的是哪里”。

当 Agent 把代码审查、测试报告、架构说明或调研结果组织为可阅读、筛选和操作的界面时，Canvas 不应只是一次性 HTML 输出；它还应承载团队的信息组织、证据呈现和下一步操作经验。画布中的结构化节点可以直接成为修复、解释或追问的入口。

Browser Agent 与 Canvas 的实现不同，却共同指向从“对话中附带结果”到“人与 Agent 共同操作一份产物”的迁移。语言仍重要，但对象、选区、批注、直接修改和最终批准同样属于任务的一部分。由此问题从 Canvas 的外观转向：Harness 如何理解并维护这个协作现场？

## Harness 如何成为人与 Agent 的协作环境

增加画布或预览窗口仍可能退回“看图说话”。画布让人直接进入产物，领域运行时让 Agent 理解和操作产物；Harness 则要把人的意图、Agent 操作和产物变化连接成持续闭环。

它至少要完成四件事：

1. **维护持续变化的任务意图**：除初始提示词外，还记录用户选择、批注、拒绝和最终接受结果的原因。
2. **让操作落在确定的产物版本上**：网页元素、图表或画布节点的选择、修改和验证都指向同一版本与语义对象，避免操作过期截图、坐标或内容。
3. **让不同产物使用各自运行时**：网页交给浏览器，代码交给仓库和构建系统，文档、表格、图表、模拟器各自保留结构、操作和验证方式。
4. **保留可检查的验证证据**：除“已完成”外，还记录发生的产物变化、已验证和未确认的结果，以供人判断。

在 Better Harness 的产物模型中，产物不是单一路径，而是有明确版本、结构和展示方式的工作对象。人的选择、Agent 的修改和后续验证落到同一版本，双方才确实面对同一工作现场。

这不要求把所有产物塞进同一画布。文档可转换为有结构和语义地址的数据快照，需要运行才能呈现的内容可经受约束的构建和隔离预览。Harness 统一的是意图、版本、操作、回执与证据，不是领域内部模型。

传统 Agent Loop 里，人主要通过提示词间接改变对象；产物中心协作中，人和 Agent 都能直接改同一产物。Harness 要维护这些操作背后的意图、版本和验证关系。当前产物视图先解决版本绑定、结构理解和安全呈现，后续再连接选择、批注、写回、版本比较和验证证据。

## 总结：从单一闭环走向多元化闭环

代码、网页、演示文稿、表格和模拟世界都会形成自己的观察、操作和验证闭环。多元化 Agent Loop 是让不同产物采用合适协作方式，而 Harness 连接人的意图、Agent 的操作和验证结果。当对话不再是唯一中心，产物才成为人与 Agent 共同工作的地方。

标签： #主题/AI-Agent #主题/Harness #主题/人机交互 #主题/Agent-Loop #主题/AI-Coding #场景/公众号长文 #节点/产物中心 #节点/版本绑定 #节点/领域运行时 #节点/验证证据
