交付结果、产物与可观察状态
一份有价值的交付结果应当清晰说明达成了什么、具体产物保存在哪里,以及完成了哪些验证。Holon 将这种面向用户的最终交付与记录 Agent 思考过程的底层执行日志严格区分开来。
例如,要求更新文档可能会产出修改后的文件、死链检查结果和一份简短的完成报告。单凭命令行输出本身,无法说明要求的文档更新是否已经彻底完成。
哪种输出回答哪个问题?
| 输出类型 | 用于了解的内容 |
|---|---|
| 用户简报 / 最终回复(Final response) | 当前交互的最终结论、注意事项以及下一步建议。 |
| 工作项完成报告(Completion report) | 针对被跟踪目标所交付的成果与通过的验证结论。 |
| 进度消息(Progress message) | Agent 当前正在执行的操作;通常为瞬态信息,可能被客户端折叠。 |
| 任务状态与输出(Task status/output) | 某条命令或委托调用是否已结束,以及返回了什么原始数据。 |
| 对话记录与工具证据(Transcript/evidence) | 用于诊断或排查审计的底层完整执行流水。 |
| 产物(Artifact) | 最终交付的文件实体、补丁、图像等具体文件。 |
最终报告应当具备自解释性。阻塞原因或需要操作者决策的事项,绝不能只遗留在中间过程的进度消息中。文件链接有助于查阅产物,但不能替代包含结论与验证状态的完整总结。
受理、执行与完成
消息已受理(Accepted)代表运行时成功接收了请求;终态执行(Terminal execution)代表单次执行结束,可能是成功、失败或被取消;目标已完成(Completed objective)则意味着请求的交付成果已经过核实并显式关闭。
以报表生成应用为例:前端请求可能瞬间被系统受理;后台任务可能稍后完成 PDF 文件渲染;此时 Agent 仍须核对 PDF 内容并说明是否存在章节遗漏。第一张请求回执绝非最终成果。
同理,最终回复也可以告知用户“当前工作正在等待审批”。这结束了当次会话交互,但并未结束工作项本身。应通过工作项的生命周期与正式报告来确认交付状态,而非仅仅看是否有最后一段对话文本。
产物的实际存储位置
产物拥有明确的物理存储路径。在关联的 Git worktree 中生成的文件属于该执行根目录,即使主检出目录中存在同名文件,它们也是不同的实体。移交文件时应保留真实的物理位置。
主机上的文件系统绝对路径无法直接在远程浏览器或其他机器上打开。客户端可能会提供逻辑文件路由或运行时定位标识,但这受制于认证机制与访问规则,并不代表文件已经变成公开可下载的网络资源。
在发布文档或向运行时外部共享结果时,应使用便携的相对路径或经授权的正式发布地址。不要单纯为了让文本中的链接可点击,而将主机私有路径或回调凭证暴露出来。
如何查阅未完成的结果
根据需要回答的问题,去查询对应的系统层次:如果命令执行报错,查阅其受限输出;如果命令顺利退出但目标仍处于开启状态,核对剩余的验收标准;如果 Agent 处于暂停等待,检查已登记的等待记录以及所依赖的外部状态。
终端输出可能会被自动截断,部分运行时证据也会受制于保留策略。若需要精确确认全文内容,使用系统提供的产物引用或源码引用(source ref)。存在完成报告并不代表所有中间临时文件或历史流水都会永久留存。
