← 所有文章

代理界面就是代理框架

OpenAI将Codex描述为一种云端软件工程代理,能够在隔离环境中读取文件、编辑文件并运行测试;Anthropic则记录了钩子机制,可在工具调用执行前进行检查并拒绝调用。43这些并非旁枝末节。它们就是产品本身。

提示框之所以吸引注意,是因为它看起来像界面。真正的代理界面位于提示框周围:工具访问、权限规则、记忆加载、追踪捕获、证据要求、恢复控制和发布关口。用户停止输入之后,代理如何行动,取决于这一层。

代理产品不会因为占位文本更好就变得可信。只有当模型周围的界面把意图转化为受约束的工作时,它才会变得可信。

要点速览

代理界面就是运行层。聊天可以收集意图,但外围界面决定代理能看到什么、能做什么、必须证明什么,以及何时必须由人介入。Microsoft将人类-AI交互界定为随时间展开的行为,NIST则把可信度视为团队需要纳入设计、开发、使用和评估的内容。12

这意味着代理UX不能止步于对话设计。界面必须编码权限、记忆、工具边界、证据和品味。如果界面没有承载这些约束,代理就会自行即兴发挥。

代理式设计就是控制面设计命名了可见界面。下面这个框架命名的是其背后的运行层。

关键结论

面向产品团队: - 将提示框视为输入界面,而不是运行界面。 - 在打磨聊天体验之前,先设计代理的权限、追踪、记忆、证据和恢复路径。

面向设计工程师: - 把质量规则放在代理真正行动的地方:工具调用前、编辑后、发布前和任务完成时。 - 让不可见状态足够可检查,使人仍能对结果负责。

面向正在采用代理的团队: - 追问界面是否揭示了代理看到了什么、改了什么、跳过了什么、验证了什么。 - 不要把流畅的最终表述当作受约束工作的证明。

界面决定代理能成为什么

每次代理会话都始于用户意图,但意图本身并不能决定行为。

代理行为还取决于:

界面层 行为影响
工具 定义代理可以采取哪些行动
权限 定义代理何时必须停止或询问
记忆 定义哪些既有上下文会塑造本次运行
追踪 定义后续审查能够检查什么
证据 定义什么才算完成
恢复 定义失败如何保持可逆
品味 定义系统应该拒绝什么

这些层对工作的改变不亚于模型本身。同一个模型,在可以运行测试、只能编辑文件、看到发布关口、必须引用来源,或者被停止关口阻止过早完成时,表现都会不同。

如果产品团队把这些层当成“设置”,就是误解了这种媒介。设置位于工作之外。代理界面层则会成为工作形态的一部分。

Microsoft的人类-AI交互指南提出过一个仍然有用的早期观点:AI系统需要在交互过程中传达状态、支持修正,并对失败作出响应。1代理让这一要求更加尖锐,因为系统可以在用户两次输入之间行动。界面不能再只说“模型回答了”。界面必须说明:“系统是在这些约束下行动的。”

工具访问就是界面设计

工具访问看起来是技术问题。它同样是UX问题。

只能凭记忆回答的代理,是一种界面。能够搜索文件的代理,是另一种界面。能够运行shell命令、编辑代码、打开浏览器、调用API并部署软件的代理,需要与用户建立完全不同的契约。

Model Context Protocol描述了一种常见模式:AI应用连接到本地文件、数据库、工具和工作流等外部系统。5这种连接扩展了能力,但能力本身并不等于质量。每新增一个工具,界面都必须回答一个问题:

工具问题 界面要求
代理可以触碰什么? 范围和权限边界
代理发送了什么? 可检查的工具负载
返回了什么? 输出、错误和副作用记录
改变了什么? diff、产物或状态摘要
谁批准了它? 权限记录
能否撤销? 恢复路径

藏在配置里的工具列表承载不了这份责任。用户需要一个界面,在工作发生时让工具权限清晰可见。

Claude Code的PreToolUse钩子展示了这个基本原语。钩子可以在执行前接收工具名称和输入,然后允许、拒绝、询问、延后或修改调用。3这种机制应该进入代理界面设计的心智模型。界面应当在合适的抽象层级上,向用户暴露同一个决策点。

低风险读取可以安静通过。破坏性的shell命令需要更强的阻力。公开发布需要最终关口。影响客户的变更需要审计。好的界面不会要求用户批准一切,而是会让每个动作获得与其风险相称的仪式感。

记忆是产品的一部分

记忆通常以基础设施的形式进入代理产品:上下文窗口、文件、摘要、向量库、缓存、项目指令和检索系统。用户体验到的,却是这些系统带来的产品行为。

当代理记得设计标准时,产品显得连贯。当代理忘记40分钟前的约束时,产品显得粗心。当代理检索到过时指引时,产品仿佛被旧决策纠缠。

记忆需要界面,因为记忆会改变责任。用户无法监督自己无法检查的东西。

界面至少应该区分4种记忆状态:

记忆状态 面向用户的含义
活跃 代理现在可以使用
可用 代理可在需要时检索
已压缩 系统已将其摘要化,可能丢失细节
陈旧 系统有记录,但信任度应当降低

没有这种区分,用户就只能从代理行为中推断记忆质量。这本末倒置。界面应当揭示足够的记忆状态,让用户能在代理基于错误前提继续构建之前介入。

同样的道理也适用于个人或团队理念。藏在提示词里的质量准则,也许能撑过长会话,也许不能。编码到技能、钩子、模板、检查和完成关口中的准则,会拥有更多接触面。模型仍可能漏掉规则。但运行层能捕捉更多遗漏,因为规则存在于工作发生的地方。

证据把输出变成工作

最终答复是代理会话中最薄弱的证明单元。

最终答复可以说测试已通过,哪怕测试从未运行。最终答复可以说引用已验证,哪怕来源并不支持该主张。最终答复可以说部署成功,哪怕公共路由因缓存返回404。流畅的文字可以遮蔽失败。

证据必须成为界面。用户应该能看到主张、支撑和缺口:

主张类型 所需证据
代码已更改 文件路径和diff
测试已通过 命令、退出状态和相关输出
内容准确 来源链接,以及主张与来源的对应关系
SEO路径有效 渲染后的元数据、schema和发现文件
发布成功 线上路由状态和缓存状态
翻译已就绪 本地关口、D1行、线上页面和审查状态

这种证据界面会改变代理行为。当系统知道完成任务需要证据时,代理会在任务过程中寻找证明,而不是在最后写一段自信的总结。

证据关口正是为此而存在。它迫使代理把主张连接到已观察到的行为。代理执行追踪就是执行环境契约把同一个论点推进得更深:追踪比最终答复承载更多真实信息,因为追踪保留了路径。

NIST的AI Risk Management Framework在这里很重要,因为可信度进入的是设计、开发、使用和评估,而不只是模型选择。2证据就是这些阶段与用户屏幕相遇的地方。

恢复应当属于主流程

代理界面常把失败当作例外。代理工作却让失败成为常态。

搜索查询可能漏掉结果。测试可能失败。权限关口可能阻止行动。翻译检查可能发现格式不匹配。部署可能成功,但CDN仍然提供陈旧的HTML。好的界面不会在这些状态下失措。好的界面会让恢复路径一目了然。

恢复需要5种控制:

控制 目的
暂停 在不丢失状态的情况下停止动作
恢复 在审查或外部修复之后继续
重试 用变更后的输入重复失败步骤
分叉 在不覆盖第一条路径的情况下探索替代方案
回滚 撤销可逆工作,或标记不可逆工作以便修复

恢复路径应当靠近追踪和证据界面。用户不应被迫从记录中复制失败命令、推断工作目录,再手动重建代理状态。界面已经知道失败步骤。界面应当提供下一个负责任的动作。

这一原则同样适用于内容工作。当翻译质量关口失败时,界面应显示失败的语言区域、失败片段、原因和修复路径。当公开页面未通过线上验证时,界面应显示失败的是应用、数据库,还是边缘缓存提供了陈旧输出。在用户可见路径可用之前,代理不应宣称发布完成。

品味不是提示词

AI编码让实现成本下降。实现越便宜,判断越有价值。

关键问题会从“代理能不能做出东西?”转向“这个版本是否应该存在?”这个问题既属于人类审查者,也属于界面。

品味体现为约束:

  • 移除不必要的步骤;
  • 拒绝削弱产品的聪明路径;
  • 保持产物之间的一致性;
  • 验证公开路径,而不是庆祝本地成功;
  • 防止私有机制进入公开文案;
  • 选择更小、更锋利的方案,而不是更忙乱的方案。

代理可以通过文字接收这些价值观。文字有帮助。但仅靠文字无法保证行为。这些价值观需要操作形态:阻止懒散措辞的博客技能、拒绝无支撑主张的引用验证器、检查线上页面的发布验证器、没有证据就拒绝完成的停止关口,以及防止视觉漂移的设计规则。

界面让品味变得可检查。用户能看到系统拒绝了什么、简化了什么、验证了什么、留下了哪些未证明之处。这份记录很重要,因为代理输出只会越来越便宜。稀缺的将是决定什么能留下来的标准。

一张实用的代理界面地图

团队可以从一张朴素的地图开始。不需要未来感十足的仪表盘。

界面 最小可行版本
意图输入 提示词、任务类型、仓库或工作区范围
计划 假设、拟用工具、验收标准
权限 按风险分级的队列,包含完整负载
记忆 活跃指令、已加载文件、陈旧警告
追踪 工具调用、输出和副作用的时间线
证据 将主张映射到命令、文件、来源或缺口
恢复 暂停、重试、分叉、回滚、取消
发布 用户可见路由、schema、发现、翻译、缓存
品味 拒绝、简化、标准和最终价值判断

这张地图有效,是因为每个界面都回应了一项用户责任。用户不需要看到每一个原始事件。用户需要足够的可见性和控制权,以便继续对结果负责。

这个区分可以避免两种常见错误。一种错误是把一切都藏在聊天后面,然后称之为魔法。另一种错误是暴露每个内部事件,然后称之为透明。强大的代理界面设计两者都不取。它会在正确时刻给操作者正确的控制权。

快速总结

代理界面就是运行层。提示框收集意图,但工具、权限、记忆、追踪、证据、恢复和品味决定实际会发生什么。OpenAI的Codex和Claude Code的钩子展示了方向:代理产品已经包含执行环境、工具调用和策略决策点。43MCP拓宽了代理与外部系统之间的连接。5NIST和Microsoft提供了更早的信任与人类-AI设计框架。21

产品问题不再是代理能否回答。产品问题是外围界面能否充分约束自主工作,让人类愿意信任、检查、中断、修复并认可结果。

FAQ

“界面就是代理框架”是什么意思?

这句话的意思是,界面不只是展示代理输出。它定义了模型周围的运行层:工具、权限、记忆、追踪、证据、恢复和标准。这些部分会在最终答复出现之前塑造行为。

聊天界面仍然适用于代理吗?

聊天可以作为输入界面和轻量审查通道。问题在于它成为唯一的运行界面。代理工作需要随机访问、权限审查、追踪检查、记忆可见性和恢复控制。

这与提示词工程有何不同?

提示词工程塑造指令。界面设计塑造权限、状态和问责。提示词可以告诉代理要验证工作。发布界面则可以要求提供线上路由证据,任务才能关闭。

团队应该先构建什么?

先构建追踪和证据界面。追踪显示发生了什么。证据界面显示什么能证明结果。一旦团队能够检查工作路径,权限、恢复和记忆就更容易设计。

参考资料


  1. Saleema Amershi等,《人类-AI交互指南》,Microsoft Research,CHI 2019。18条人类-AI交互指南的主要来源,这些指南经过49名设计从业者验证。 

  2. National Institute of Standards and Technology,《AI Risk Management Framework》,NIST。该框架自愿性风险管理目的,以及其设计、开发、使用和评估视角的来源。 

  3. Anthropic,《钩子参考》,Claude Code Docs。钩子事件、PreToolUse输入字段,以及可在执行前允许、拒绝、询问、延后或修改工具调用的决策控制来源。 

  4. OpenAI,《Introducing Codex》,OpenAI,2025年5月。Codex作为云端软件工程代理、其独立沙箱任务,以及其读取文件、编辑文件和运行命令能力的来源。 

  5. Model Context Protocol,《什么是Model Context Protocol?》。MCP作为开放标准,将AI应用连接到数据源、工具和工作流等外部系统的来源。 

相关文章

代理式设计是控制界面设计

代理式设计不是更漂亮的聊天框。它是一种控制界面,让自主软件变得可见、可中断、可审计,并值得信任。

1 分钟阅读

聊天是AI智能体的错误界面

聊天适合提示输入,但无法胜任智能体运维。六种界面模式用真正的控制面板取代滚动文本窗口。

2 分钟阅读

Ralph循环:我如何在夜间运行自主AI代理

我构建了一个使用停止钩子、生成预算和文件系统记忆的自主代理系统。以下是失败经验以及真正能交付代码的方法。

3 分钟阅读