从可编程到表现力:构建更好的 Agent 运行时重塑用户体验

从可编程到表现力:构建更好的 Agent 运行时重塑用户体验

💡 原文中文,约4200字,阅读约需10分钟。
📝

内容提要

文章探讨了PPT Agent的演进:从可编程文件到可操作产物,再到表现力提升。核心是构建Artifact Runtime,支持观察、寻址、操作、验证循环,使Agent能持续修改PPT。未来方向是布局语义和领域对象,让Runtime处理工程细节,Agent专注专业判断,而非增加更多API。

🔎

延伸解读

从“一次性生成”到“可操作产物”

文章指出,PPT Agent 的早期版本只解决“从零生成”的问题,但实际工作中,咨询师面对的是大量历史材料,需要局部修改并保留模板。因此,产物必须从一次性输出转变为可被持续观察、定位、操作和验证的 Artifact。这类似于 Browser Use 中 Agent 需要先看到页面、找到对象、执行操作、再验证结果,而不是简单调用 API。

寻址是持续操作的关键

在 Artifact Runtime 中,Address(寻址)是核心环节。它要求对象拥有稳定引用的身份,例如通过 inspect 获取带锚点的快照,再用 resolve("sh/c3d4e5f6") 定位对象。这种机制使得即使文件被用户在 PowerPoint 中修改,Agent 仍能重新进入并继续工作。文章强调,好的寻址方式不是“第三页左边蓝色的框”,而是基于对象 ID 的精确引用。

布局语义与领域对象:从坐标到意图

文章认为,表现力的提升不在于增加更多 API,而在于让 Runtime 维护对象之间的关系。布局语义(如 row、column、grid)保存了等宽、等距等关系,Agent 无需每次重新计算坐标。进一步,领域对象(如指标卡、演进路径)让 Agent 直接表达专业意图,Runtime 负责展开成可编辑的 PPT 对象。这样,Agent 才能从 Shape 层面的选择转向专业对象层面的选择。

Q&A

PPT Agent 从可编程到表现力演进的核心问题是什么?

核心问题是:当 Agent 已经能通过代码生成 PPT 时,真正缺少的不是更多 API,而是两个层面的能力:一是让 PPT 成为可被持续操作和修改的 Artifact(产物),二是提升 Agent 的表达能力,使其能从巨大的能力空间中选择更合适的表达方式,而不是局限于模板化的输出。

什么是 Artifact Runtime?它解决了什么问题?

Artifact Runtime 是位于 Agent 与专业产物之间的一层运行时,它将产物(如 PPT)从单纯的输入/输出转换为 Agent 可以持续观察、定位、操作和验证的工作对象。它解决了 Agent 如何重新理解当前产物、找到需要操作的对象,并执行局部修改的问题,而不是每次重新生成整个文件。

Artifact Runtime 的工作循环包含哪些步骤?

Artifact Runtime 的工作循环包含四个步骤:Observe(观察)——理解产物当前状态;Address(寻址)——定位并引用具体对象;Operate(操作)——对对象执行局部操作;Verify(验证)——操作后重新检查结果,决定下一步。其中 Address 是关键,它让对象拥有稳定引用的身份。

为什么说“第三页左边蓝色的框”不是好的寻址方式?

因为这种描述依赖于视觉特征和位置,当用户修改或对象变化后,这种描述可能失效,无法稳定地引用对象。好的寻址方式应基于对象的稳定身份,如 Artifact Tool 中的 inspect 和 resolve("sh/c3d4e5f6"),通过 ID 引用对象,确保即使文件被修改,Agent 仍能重新进入并操作。

布局语义(如 row、column、grid)相比坐标模型有什么优势?

布局语义保存的是对象之间的关系(如等宽、等距、对齐),而不是具体的坐标和尺寸。当卡片数量或文字长度变化时,Runtime 可以自动重新求解布局,Agent 无需重新计算坐标。这使 Agent 从坐标细节中解脱,专注于表达意图,从而提升表现力。

领域对象(如指标卡、演进路径)在 PPT Agent 中扮演什么角色?

领域对象是比布局语义更高层的抽象,它封装了专业意图,如“这是一组指标”或“这是一条演进路径”。Agent 先声明领域对象,Runtime 负责将其展开为可编辑的 PPT 对象,并处理样式、布局和连接。这样 Agent 可以在专业对象层面做选择,而不是在 Shape 层面,从而更好地表达专业判断。

Runtime 演进的方向是什么?为什么不是增加更多 API?

Runtime 演进的方向是:先让产物变得可操作(Artifact Runtime),再让操作本身变得更有表现力(布局语义和领域对象)。增加更多 API 只是让 Agent 能调用更多原子功能,但无法解决 Agent 如何持续操作产物和如何选择表达方式的问题。Runtime 接管工程化复杂度,让 Agent 专注于专业判断,才能真正提升表现力。

🏷️

标签

➡️

继续阅读