Agentic UX 设计规范
面向设计师与工程师:让用户说得清、交得出、看得懂、改得动,并能判断任务是否真正完成;同时让承诺背后的运行机制可设计、可检验。
7 条原则 · 42 条规则 · 必须 34 · 应当 8
目录
面向设计师与工程师:让用户说得清、交得出、看得懂、改得动,并能判断任务是否真正完成;同时让承诺背后的运行机制可设计、可检验。
配套:Design Token · 参考来源。
Agent 产品不只让用户操作界面。它会在用户委托下理解目标、选择行动、调用工具,并改变外部世界。因此设计对象不只是界面,还包括人和 Agent 怎么分工、行动怎么推进、用户凭什么判断结果,以及出错之后怎么办。
本规范由七条原则和42 条规则组成:原则说明设计方向,规则规定适用情境、行为要求与验证方式。每条规则归属且仅归属一条原则,规则编号即原则编号(P4-2 就是第四条原则下的第二条规则)。
同一件事只写在一处。以"停止"为例:用户能发现停止入口、系统如何拦截未提交动作、用户如何得知"已收到、已生效、其中一项已提交仍需核对",这三件事属于同一条义务,写在同一条规则里(P6-1)。读任何一条规则时,都应能回答三个问题:设计师要作出什么设计决定?工程需要提供什么事实来证明它生效?用户通过什么反馈知道它生效?——每条规则的"验证示例"按用户侧与实现侧分别给出答案。
本规范约束的是产品对用户作出的体验承诺及其兑现机制的性质,不预设唯一的技术架构,不指定具体框架或 API 形态;它保护用户的判断与控制能力,而不是把用户变成 Agent 的审批员或安全分析员。本规范不是组件库,也不是实现架构、安全认证或法律合规证明。采用本规范不能替代无障碍、安全、隐私、公平性与偏见、对非用户第三方影响以及领域合规的专项评估。
全文四章:第 1 章原则,第 2 章规则的读法与速查,第 3 章规则详解,第 4 章术语;验证清单、论证边界与来源、与 3.0 的条款对照、4.0→4.1 变更记录见附录 A、B、C、D。
1. 七条原则
七条原则按规范对象切分设计责任:每条原则管辖一类对象上的义务,每条规则按其义务的直接规范对象归属唯一原则。对象不同,原则就不会互相替代——这是切分的依据,也是检验切分的方式。
| 原则 | 规范对象 | 设计方向 | 管辖规则 |
|---|---|---|---|
| P1 意图可校准 | 系统对任务目标、约束与相关情境的理解 | 不要把首次指令当合同。系统对目标与情境的理解是可修正的假设,其依据要有来源、有时效,且不因压缩或交接而丢失 | P1-1 ~ P1-6 |
| P2 委托显式化 | 人与 Agent 之间的授权关系 | 不要默认自动化。做什么、放手到什么程度由人显式决定;委托可以调整、收回,且不因转交子 Agent 而扩大 | P2-1 ~ P2-5 |
| P3 执行可依赖 | Agent 的行为与执行过程 | 不要只设计界面。设计 Agent 可以产生什么行为:行为有合同、行动有风险判定、完成有证据、生命周期有定义 | P3-1 ~ P3-8 |
| P4 能力有边界 | 能力使用的许可边界 | 不要只给能力。能力在机制强制的边界内使用;确认对得上具体行动,越界即停、升级给人,读到的内容不是新的上级 | P4-1 ~ P4-6 |
| P5 证据校准信任 | 供用户判断的信息 | 不要只给结果。让用户对系统、过程与结果形成有依据的判断;目标是校准信任,而不是最大化信任 | P5-1 ~ P5-6 |
| P6 协作有契约 | 运行中人与 Agent 的相互作用 | 不要把运行做成黑箱直播。人的介入被正确理解、有回执、按声明的范围与时点改变任务;Agent 在人的参与能改变结果时找人;双方贡献都受保护 | P6-1 ~ P6-4 |
| P7 延续可治理 | 已经形成的状态与后果 | 不要只设计向前推进的流程。已经形成的工作状态、外部影响、错误后果、记忆与经验、产品行为,要能被保存、恢复、纠错与持续维护 | P7-1 ~ P7-7 |
同一个场景可以触及多条原则——一次澄清同时涉及系统对目标的理解(P1-2)、介入的时机与方式(P6-4)和等待的状态(P4-3)——这不是分类错误:三条规则约束的是三个不同规范对象上的义务。互斥与穷尽是这套切分接受检验的主张,不是宣布即成立的事实:规则增删或归属存疑时,按附录 A 的分类检验验证(不同评审者能否对具体要求独立得出相近归属);检验不过,修改的是原则的切分。
原则用于理解规则与裁决归属,本身不作为单独的判定条目。当原则与具体条款的解读出现冲突时,以适用条款为准,并记录需要澄清的歧义。
规则归属唯一,不等于机制不能复用。每条规则有唯一归属原则和唯一直接规范对象,相邻处显式交叉引用;而同一个机制天然一物多用——共享的任务清单既是防漂移的工作记忆(P7-1)又是进度叙事的载体(P5-4),沙箱既是权限强制机制(P4-5)又是减少审批疲劳的手段(P4-6)。
2. 规则的读法
2.1 每条规则的结构
| 部分 | 作用 |
|---|---|
| 一句话 | 规则的记忆版,不替代正文 |
| 适用 | 这条规则在什么情境下生效。不落在适用范围内的任务记录"不适用"即可,不必勉强套用 |
| 规则 | 规范正文,规定这条规则的要求 |
| 边界条件 | 与适用共同限定要求的适用范围:说明这条规则不要求什么、例外在什么条件下成立(仅部分规则有) |
| 设计应用 / 验证示例 / 反例 | 帮助落地的说明,不另行增加义务,也不指定唯一实现 |
| 依据与参考 | 失败记录与实现参考(仅部分规则有;论证类型与出处见附录 B) |
一句话概括各部分的效力:规则正文规定要求;适用与边界条件共同限定要求的适用范围;设计应用、验证示例、反例与依据参考不另行增加义务。
规则写行为性质、不写实现方式:断线后只重试未完成部分是产品行为,用什么持久化机制实现是工程方案——两者必须对得上,但不是同一份交付物。设计师不需要决定用什么数据库或消息队列,但要参与决定系统应该怎样工作、这些工作方式会给用户带来什么结果。
2.2 约束词
规则正文使用三级约束词:
- 必须:不满足即不符合本规范。缺了它,某条对用户的承诺会在可预见的情境下失效——这是标「必须」的唯一依据(见附录 B)。
- 禁止:与「必须」同等强度的反向表述,指明不得出现的行为;正文中的「不得」与「禁止」等价。
- 应当:默认遵循;确有理由偏离时,记录理由与替代做法,并接受同样的验证。偏离不需要审批,但需要留痕。「不应当」是「应当」的反向表述。
合规判定以正文中的独立义务子句为单位:无约束词的陈述句承接所在规则标题的强度;显式标注约束词的子句按其自身强度判定——【应当】规则内的「禁止/不得」子句仍是硬约束(P1-3、P2-4、P3-6、P6-4 含此类子句),规则标题与速查表的强度标注不替代子句约束力。正文中的「不能」仅用于能力或事实陈述(如"不能保证重试安全"),不表达义务。
强度表示约束力,不表示重要性:「必须」决定产品能不能上,「应当」往往决定产品好不好用。
2.3 反例的两侧
反例分两侧:"做不到"是漏掉这条要求,"做过头"是为了满足它而堆确认、提示和开关。两侧都算没做对——多数规则被做坏的方式是后者,它把成本转嫁给用户,还会让真正重要的那次确认被忽略。
2.4 规则速查:42 条
下表是全部规则的一句话记忆版,点击规则名可跳到第 3 章的完整正文。速查不替代各条的适用条件与完整要求;个别【应当】规则内含禁止级子句(P1-3、P2-4、P3-6、P6-4),判定以正文为准(见 2.2)。
P1 意图可校准
| 规则 | 强度 | 一句话 |
|---|---|---|
| P1-1 意图假设可修正 | 必须 | 让系统的理解可被纠正,不让它的猜测替用户作主。 |
| P1-2 关键歧义先澄清 | 必须 | 危险的歧义先问清,低风险的不确定先用可修改结果推进。 |
| P1-3 上下文持续更新 | 应当 | 沿用仍然有效的约束,不让用户反复交代,也不让旧偏好绑架新任务。 |
| P1-4 降低表达成本 | 应当 | 让用户说出目标就能开始,而不是先学会写提示词。 |
| P1-5 决策依据有来源有时效 | 必须 | 让 Agent 根据当前有效的信息行动,不让旧信息和推测冒充事实。 |
| P1-6 压缩不丢目标与约束 | 必须 | 压缩上下文可以丢细节,不能丢用户的目标、约束和已确认决定。 |
P2 委托显式化
| 规则 | 强度 | 一句话 |
|---|---|---|
| P2-1 分工显式化 | 必须 | 让用户知道谁做决定、谁去执行、什么时候轮到自己。 |
| P2-2 风险决定自主等级 | 必须 | 根据后果和可靠性决定放手程度,不因为模型会做就让它做。 |
| P2-3 委托可调可收回 | 必须 | 把权交出去以后,用户仍能看清范围并收回来。 |
| P2-4 渐进授权与情境调整 | 应当 | 先在小范围建立可靠性,再由人决定是否扩大委托。 |
| P2-5 子 Agent 不超出父委托 | 必须 | 用户授权的是任务,不是某一个 Agent 实例。 |
P3 执行可依赖
| 规则 | 强度 | 一句话 |
|---|---|---|
| P3-1 自主性适度 | 应当 | 用最简单的有效方式完成目标,保留用户有价值的参与。 |
| P3-2 行为合同 | 必须 | 把正常、禁止和异常行为都设计清楚,而不是只写"请谨慎"。 |
| P3-3 成功标准与终止条件 | 必须 | 定义什么算完成,也定义什么时候该停。 |
| P3-4 工具可用性与行动防错 | 必须 | 让行动对象、操作后果和工具结果都足够明确。 |
| P3-5 行动风险可判定与结果三态 | 必须 | 每次行动的风险能在执行前被判定,结果区分成功、失败、未知。 |
| P3-6 执行策略可探索、可调整、可收敛 | 应当 | 允许自由选择路径,但探索有依据、调整有原因、结束有条件。 |
| P3-7 完成判定有可核验依据 | 必须 | 完成要有实际结果与约束的证据;任务结果与结束原因分开表达。 |
| P3-8 任务生命周期与并发边界 | 必须 | 定义触发、等待、恢复和结束;会话不是任务。 |
P4 能力有边界
| 规则 | 强度 | 一句话 |
|---|---|---|
| P4-1 最小权限 | 必须 | 只拿这项任务用得上的权限,并让授权能被收回。 |
| P4-2 确认与审批 | 必须 | 决定绑定具体请求;高风险确认的是行动和后果;审批批得到、批不丢、过期失效。 |
| P4-3 停止、升级与等待人类 | 必须 | 在边界处真正停下来等人,带着进度把决定交给有权处理的人。 |
| P4-4 指令与内容的信任分级 | 必须 | 读取到的内容不是新的上级,也不能替用户授权。 |
| P4-5 权限在机制层强制 | 必须 | 权限靠确定性机制强制,不靠提示词;凭据不进模型上下文。 |
| P4-6 边界替代逐项审批 | 应当 | 用预定义安全边界换取边界内自主,减少逐项打断。 |
P5 证据校准信任
| 规则 | 强度 | 一句话 |
|---|---|---|
| P5-1 能力与局限披露 | 必须 | 在用户作出委托时,让他知道能做什么、不能指望什么。 |
| P5-2 行动前中后可追溯 | 必须 | 让用户知道计划做什么、现在到哪了、最后实际改变了什么。 |
| P5-3 运行状态与行动回执可信 | 必须 | 让界面获得真实、可核对的运行状态与行动结果,不从模型叙述里猜进度。 |
| P5-4 面向用户的叙事层 | 应当 | 给用户"在做什么、为什么、下一步"的摘要与工件,不是开发者日志。 |
| P5-5 区分来源与系统分析 | 必须 | 有出处不等于已证实,让用户知道依据、推断和未知分别是什么。 |
| P5-6 AI 身份与产物标识 | 必须 | 让人知道 AI 参与了什么,不把它冒充成人或把所有内容都归给 AI。 |
P6 协作有契约
| 规则 | 强度 | 一句话 |
|---|---|---|
| P6-1 控制通道分立与生效 | 必须 | 停止与接管必须存在,转向应当提供;通道语义分立,请求区分已接收与已生效。 |
| P6-2 运行中输入的语义与生效 | 必须 | 每次介入都明确改变哪项工作、从何时生效,并有回执。 |
| P6-3 局部修改与贡献保护 | 必须 | 改一段不用重做全部;后到的生成不得覆盖用户已认可的工作。 |
| P6-4 主动介入匹配价值与注意力 | 应当 | 在人的参与能改变结果时找人,不是有不确定就打断。 |
P7 延续可治理
| 规则 | 强度 | 一句话 |
|---|---|---|
| P7-1 工作状态可延续 | 必须 | 让任务依靠可靠的工作状态继续,而不是依靠模型重新猜测过去。 |
| P7-2 副作用不重复 | 必须 | 恢复和重试不得重复已发生的外部影响,结果未知先核对状态。 |
| P7-3 错误与恢复 | 必须 | 出错时保住能用的成果,明确损失和真实可行的下一步。 |
| P7-4 回滚边界对齐用户心智 | 必须 | 撤销 Agent 的改动和用户自己的版本历史是两回事。 |
| P7-5 记忆可见可控 | 必须 | 让用户决定什么被长期记住,而不是只能相信"我已经忘了"。 |
| P7-6 运行闭环与变更告知 | 必须 | 用真实使用中的问题改进体验,并让用户知道会影响自己的变化。 |
| P7-7 经验形成与受控复用 | 必须 | 可以从过去学习,但一次经历不能未经检验就变成以后的默认规则。 |
3. 规则详解
本章按七条原则展开全部 42 条规则。每条的结构与各部分的约束力见 2.1;其中的设计应用、验证示例与反例只是帮助落地的说明,不指定唯一组件,也不要求新增独立交付文档。
3.1 P1 意图可校准
系统对任务目标、约束与相关情境的理解是可修正的假设:让用户表达得起、纠正得动,并保证这个理解在整个任务期间依据有效信息、不因压缩或交接而丢失。理解错用户的目标,和依据过期的文件版本行动,是这个对象上的两种失误,都在本原则管辖之内。
P1-1意图假设可修正必须
一句话:让系统的理解可被纠正,不让它的猜测替用户作主。
适用所有接收目标或任务指令的 Agent。
规则系统必须把推断出的目标作为可修正的意图假设;出现影响任务目标或关键约束的矛盾信息时,必须重新评估相关步骤,并在无法判断时求证。禁止以历史偏好、隐含信号或所谓"更优结果"覆盖用户当前的明确约束;改变目标不等于获得新的行动授权。任务运行中收到的新输入按其实际语义处理,要求见 P6-2。
设计应用在需要时呈现目标、作用对象和关键限制,并提供原位纠正方式;简单任务可以直接在当前对象或结果中体现理解,无需统一增加确认页。
验证示例
- 用户侧:中途把"覆盖原文件"改为"另存副本",观察用户能否修正目标并理解后续变化。
- 实现侧:检查修改是否影响尚未执行的步骤;已发生的改变按 P6-2、P7-3 告知与处理。
反例做不到——用户说"不要发送",Agent 因历史习惯或"替用户节省时间"仍直接发送;做过头——用户已经把目标说清楚,每推进一步仍反复追问"我理解得对吗"。
P1-2关键歧义先澄清必须
一句话:危险的歧义先问清,低风险的不确定先用可修改结果推进。
适用不同合理解释会改变操作对象、任务范围、重要代价或外部后果的任务。
规则当任一合理候选方案涉及高风险操作时,系统必须在相关行动前澄清关键歧义。其余情境应当优先采用可见、可修改的默认值、缩小范围或产出草稿,避免要求用户一次回答所有问题;未确认的假设不得被呈现为用户已确认。
设计应用提供少量有区别的选项,说明选择影响;把影响下一步的必要问题,与稍后可改的偏好分开。澄清的介入时机与方式见 P6-4,澄清期间的等待状态见 P4-3。
验证示例
- 用户侧:给出两个同名联系人,观察用户能否选对对象;再测试仅缺少排版偏好时是否仍能开始工作。
- 实现侧:确认高风险步骤在消除歧义前不执行;不受影响的已授权准备工作可继续。
反例做不到——面对同名收件人直接猜测发送;做过头——整理私人草稿前连续追问十几个非必要偏好。
P1-3上下文持续更新应当
一句话:沿用仍然有效的约束,不让用户反复交代,也不让旧偏好绑架新任务。
适用跨轮次、可恢复或使用历史上下文的任务。
规则系统应当持续应用同一任务中已经提供且仍有效的约束,结合当前工作对象、会话与环境变化更新意图假设;影响关键结果的历史信息应当能够被用户识别、排除或修正。上下文压缩、执行实例更换或任务交接不得无说明地丢失仍有效的目标与约束(机制要求见 P1-6)。个人数据的访问权限见 P4-1,长期保存见 P7-5,偏好的形成资格见 P7-7。
设计应用在关键决策处说明正在参考的文件、时间范围或偏好;区分"仅本次更改"与"以后也这样",不默认两者相同。
验证示例
- 用户侧:连续修改任务,检查此前的"仅使用本文件"是否被保留;临时换一种风格后,能否理解长期偏好是否改变。
- 实现侧:检查上下文生效范围、过期条件和跨任务隔离;单步且无历史状态的工具可记录不适用。
反例做不到——用户已指定目标文件,下一轮还要求重选;做过头——把一次临时要求自动写成永久偏好,此后每个任务都套用。
P1-4降低表达成本应当
一句话:让用户说出目标就能开始,而不是先学会写提示词。
适用由用户表达、选择或修正任务的入口。
规则产品应当让目标用户通过熟悉的表达或操作方式逐步说明目标与约束,并能在看见结果后继续修正;不应当把掌握提示词结构、模型术语或一次完整描述作为完成主要任务的前提。
设计应用按场景选择自然语言、示例、结构化输入、文件选择或对象上的直接操作;只索取当前步骤缺少的信息。
验证示例
- 用户侧:让没有提示词经验的目标用户完成首次任务,观察能否开始、补充约束并改动结果。
- 实现侧:确认入口收集的信息确实传入任务;选项不只是视觉装饰,系统也不会反复索要已有信息。
反例做不到——空白对话框配一句"请写出专业提示词";做过头——用一张长表单替代所有自然表达,简单任务也要先填完二十个字段。
P1-5决策依据有来源有时效必须
一句话:让 Agent 根据当前有效的信息行动,不让旧信息和推测冒充事实。
适用读取外部材料、历史信息,或面对会变化的工作环境时。
规则进入决策的上下文必须由确定性机制组装:内容可以经预置、自主检索或混合方式获得,但其来源、信任级别与关键约束必须由模型之外的机制维护。系统必须区分当前观察、历史记录、系统推断与用户确认,并维护影响关键决策的信息来源及适用范围;外部内容进入上下文时必须携带来源与信任标记(进入上下文不等于获得改变目标或扩大权限的资格,见 P4-4)。信息缺失、冲突或可能过期时,必须按其对下一步的影响选择重新读取、保留不确定性或请求澄清,不得默认仍然有效。
依据与参考P7-1 问"系统保留了什么",本条问"这一步实际依据了什么"——任务状态可能保存得完全正确,但模型这一轮仍读到旧版本文件:那不是存储丢失,是决策依据错误。P1-3 的"沿用仍有效的约束"、P5-5 的"区分来源与推断"、P4-4 的"外部内容不获扩权",都取决于这一步的决策依据是什么。实现参考——上下文作为持续筛选与维护的对象(Anthropic context engineering;单一来源,作参考而非收敛证据)。
设计应用在关键判断处记录依据的对象版本与时间;工作对象被外部修改后,相关旧分析标记为待更新。
验证示例
- 任务进行中更新源文件,检查下一次相关判断是否使用新版本。
- 在读取材料中植入指令性语句,验证它只作为数据参与任务,不改变目标或权限。
反例做不到——用户手工改过的文件被按旧版本继续分析;做过头——每一步都重新读取所有材料,或反复要求用户确认不影响当前行动的信息。
P1-6压缩不丢目标与约束必须
一句话:压缩上下文可以丢细节,不能丢用户的目标、约束和已确认决定。
适用任何对执行上下文做压缩、摘要或交接的长任务。
规则上下文压缩必须保留用户当前目标、明确约束、关键决策及其理由;压缩应当可恢复——丢弃内容保留可回取的指针,而不是彻底消失;指针不等于内容必然可恢复,依赖原版依据时应当说明版本或缺失。压缩的发生必须作为可观察事件暴露(可见性要求见 P5-3),不得静默进行。
依据与参考这是最容易被忽略的断层:用户中途说的"不要覆盖原文件"如果被压缩摘要丢掉,Agent 会在毫无恶意的情况下违反 P1-1——而这发生在 runtime 内部。失败记录——压缩丢失早期指令有官方文档警告(Claude Agent SDK)。实现参考——可恢复压缩(丢网页内容保留指针,Manus)、结构化笔记与持久规则重注入(Anthropic)。本条主责压缩或交接时如何维持工作事实的有效性;保留哪些事实见 P7-1。
设计应用定义压缩时的"必须保留清单"(目标、约束、已确认决定、未决事项);把持久约束写入工作状态(P7-1)而非仅依赖模型上下文。
验证示例
- 在用户提出关键约束后强制触发压缩,验证后续行动仍遵守该约束。
- 检查压缩事件是否被记录,被丢弃的材料是否可通过指针回取。
反例做不到——长任务后半段"忘记"了用户前半段的明确要求;做过头——为保住一切信息拒绝压缩,上下文膨胀到执行质量下降。
3.2 P2 委托显式化
把判断与执行的分工说清,允许在边界内调整委托;委托的范围不因执行方式(包括转交子 Agent)而被稀释或扩大。
P2-1分工显式化必须
一句话:让用户知道谁做决定、谁去执行、什么时候轮到自己。
适用每个开放自主执行的任务类别。
规则团队必须明确关键判断、执行步骤和人工介入点的分工,产品必须在用户作出委托前以可理解的方式呈现相关分工。没有明确授权责任人或执行边界的任务类别,禁止开放自主执行。
设计应用在现有流程图中标注"人判断/Agent 判断/Agent 执行/等待人",并把影响当前任务的分工呈现在入口或任务摘要中。
验证示例
- 用户侧:询问用户"它会直接发出去,还是先给你看?"检查答案是否与实际模式一致。
- 实现侧:确认系统只执行当前分工允许的动作,人工介入点确实阻止后续受控步骤。
反例做不到——分工只存在于内部文档,用户以为是生成草稿,产品却已经发布;做过头——每次任务开始前都弹出完整分工说明,要求用户逐条勾选才能继续。
P2-2风险决定自主等级必须
一句话:根据后果和可靠性决定放手程度,不因为模型会做就让它做。
适用自主等级的初始设定与调整。
规则每个任务类别必须记录自主等级与风险评级的对应依据,并在具体执行条件改变时复核;判断必须考虑已验证的可靠性、错误后果与人工监督的可行性。禁止仅以模型能力、用户点击次数或"全自动"作为提高自主等级的理由。
设计应用为典型任务说明为何采用"给建议""先预览再执行"或"在已授权范围内自动执行"等模式;无需使用这些固定名称。逐次行动的风险判定依据见 P3-5。
验证示例
- 用户侧:比较整理私人副本和批量对外发布,观察用户能否理解两者为什么采用不同的介入方式。
- 实现侧:检查对象、金额、数据敏感性及累计影响变化时,是否重新判定边界。
反例做不到——用一个全局"自动模式"同时控制私人草稿和对外付款;做过头——整理个人草稿也按对外付款的等级处理,每一步都要人工审批。
P2-3委托可调可收回必须
一句话:把权交出去以后,用户仍能看清范围并收回来。
适用允许 Agent 在用户不逐步操作的情况下推进的任务。
规则用户必须能够查看当前委托范围,并在自身权限内收窄或收回委托、重新参与任务;调整对未执行步骤的影响必须可理解,已保存成果不得仅因调整委托而丢失。扩大委托受 P4-1、P4-2 约束,实际停止与接管按 P6-1 执行,撤权的机制强制见 P4-5。
设计应用提供与任务相匹配的入口,如"以后发送前先给我看"或"本次由我接手";固定策略说明原因、责任人和可用退出路径,不摆放失效控件。
验证示例
- 用户侧:运行中改为先审后发,检查用户是否知道哪些动作已发生、哪些会等待确认。
- 实现侧:验证撤回授权后的新动作被拦截;组织策略与用户可调权限一致,不能通过调整模式绕过审批。
反例做不到——降低自主等级后全部草稿消失,或用户已收回授权、后台仍按旧设置继续执行;做过头——把委托拆成十几个开关,用户要先完成一轮配置才能开始第一个任务。
P2-4渐进授权与情境调整应当
一句话:先在小范围建立可靠性,再由人决定是否扩大委托。
适用新任务类别、重大能力变化或明显变化的执行情境。
规则产品应当先在受限范围验证新能力,再考虑扩大自主等级;情境变得更敏感、影响更大或证据不足时,应当收窄自主范围或增加合适的人工介入。禁止把可靠性提升本身视为用户同意扩大授权(授权要求见 P4-1)。可靠性证据来自 P7-6 的运行闭环与 P3-7 的结果核验,不要求新增独立机制。
设计应用给出试用范围、试运行结果和调整选项;低风险、完全可恢复且已验证的任务可直接采用较高自主等级,并记录依据。
验证示例
- 用户侧:从整理个人材料切换到处理客户材料,观察用户能否发现分工或权限发生了什么变化。
- 实现侧:检查自主等级变化是否有验证记录;模型升级不会自动把旧委托扩大为新权限。
反例做不到——因为连续成功几次,产品悄悄从"生成草稿"改成"自动对外发送";做过头——可靠性证据已经充分、风险也低,仍永远停在最小范围,用户没有任何扩大委托的路径。
P2-5子 Agent 不超出父委托必须
一句话:用户授权的是任务,不是某一个 Agent 实例。
适用并行执行、多 Agent 编排或会委派子任务的任务。
规则委派子 Agent 是一个受裁决的动作:子 Agent 继承且不得超出父委托的约束与权限。子 Agent 的待决问题必须能穿透编排层到达用户(等待状态的要求见 P4-3)。并行与子任务必须纳入整体任务的资源、依赖和停止范围,不得通过拆分绕过限制(P3-3 的资源上限、P4-2 的累计影响门槛);父任务停止后,子任务不得再启动新工作。
依据与参考多 Agent 一拆,若权限不继承、问题不穿透,用户与产品之间的整个委托模型就失效——用户面对的仍是"一项任务",而不是一群实例。失败记录——缺失等待状态穿透导致子 Agent 的问题到不了用户(Strands SDK issue #1371,已修复关闭,作历史证据);子任务边界含糊导致重复劳动(Anthropic 多 Agent 系统)。实现参考——子 Agent 权限继承(Claude Agent SDK)、标准等待状态(A2A 协议)。
设计应用面向用户不必暴露"开了几个子 Agent",但要能理解总边界与停止范围。
验证示例
- 父任务结束后检查子任务是否仍在启动新工作。
- 子 Agent 需要用户决定时,验证请求出现在用户面前而非消失在编排层。
- 审查子 Agent 的实际权限不宽于父委托。
反例做不到——子 Agent 拿到比父级更宽的权限,或它的澄清问题消失在编排层里;做过头——把每个子任务的启停都做成用户审批项。
3.3 P3 执行可依赖
让行为有合同、行动有风险判定、完成有可核验证据、生命周期有定义——没有人逐步指挥时,Agent 依然按可预期的方式做事。
P3-1自主性适度应当
一句话:用最简单的有效方式完成目标,保留用户有价值的参与。
适用确定交互方式、任务路径和自主程度时。
规则设计应当比较普通工具、预定义流程和自主执行对目标用户的实际价值,选择能够满足目标且复杂度较低的方式;引入自主规划时,应当说明它带来的适应性或效率收益。用户重视的探索、创作和判断,不应当仅为追求自动化而被剥夺。
设计应用在方案中写清"为什么需要 Agent";路径固定的任务优先检验简单流程,开放探索则保留试探与选择空间。两者并非二选一:预定义流程与自主循环可按环节嵌套混用(人监督 Agent 循环、循环内调用固定流程)。
验证示例
- 用户侧:观察用户是否真正节省工作,还是把原本简单的操作变成监督一个更复杂的系统。
- 实现侧:比较方案的完成质量、操作负担与资源消耗,不强制使用特定框架或固定内部循环。
反例做不到——创作工具只给最终答案,不允许探索备选;做过头——为一个确定的文件重命名任务设计复杂的自主计划。
P3-2行为合同必须
一句话:把正常、禁止和异常行为都设计清楚,而不是只写"请谨慎"。
适用每个 Agent 及其开放的任务类别。
规则团队必须定义可测试的允许行为、禁止行为和异常默认行为;行为合同必须绑定其操作的业务对象与状态语义——Agent 与其他操作入口对同一对象遵守一致的含义、有效性条件与权限约束,建议、草稿、已提交动作与目标达成不得混同(呈现区分见 P5-2,完成依据见 P3-7)。异常处理必须区分可在授权内修复的问题,与涉及越权、不可逆影响或结果未知的问题。禁止以"谨慎处理""视情况而定"等不可判定表述替代规则;停止与升级参见 P4-3。
设计应用在流程旁补充关键异常分支:临时读取失败可限次重试;对象身份不明先澄清;外部执行结果未知先核对;无法继续时保留成果并交接。可采用最小运行模型模板梳理任务:触发与当前状态 → 可用信息 → 决策依据 → 允许行动 → 核验方式 → 状态更新 → 异常与交接;简单任务几行即可,长任务或有外部影响的任务再展开需要的部分。
验证示例
- 用户侧:让用户经历一次异常,观察能否知道系统会自动解决什么、哪些决定交回自己。
- 实现侧:测试约定是否真实执行,而不只检查提示词中有没有类似文字。
- 实现侧:检查 Agent 写入的业务状态与产品其他入口含义一致——调整计划执行时间不改变截止承诺,生成准备清单不把业务任务标为完成。
反例做不到——所有异常都归入"自动重试直到成功";Agent 排好了准备时间,就把"提交报告"的待办勾成已完成;做过头——所有小错误都弹窗询问,用户在反复打断中失去对真正异常的敏感。
P3-3成功标准与终止条件必须
一句话:定义什么算完成,也定义什么时候该停。
适用所有任务;资源边界适用于可持续自主推进或重试的执行。
规则每类任务必须在执行前确定可观察的成功标准和结果核验方式,并记录在执行者之外(任务定义、验收清单、功能列表均可)。用户确认任务目标或关键约束变更时,必须同步更新受影响的成功标准并保留变更依据;禁止执行者自行降低标准以宣布完成。任务结果与结束原因是两类信息,类别定义与同时表达的要求见 P3-7。自主执行必须定义适用的时间、预算或尝试次数上限,到达边界时按 P4-3 处理;完成判定的证据要求见 P3-7。
设计应用写清交付物、关键约束、核验依据和完成责任人;探索任务可把"形成可评审备选"作为成果,无需假装存在唯一正确答案。
验证示例
- 用户侧:让用户判断"草稿生成了"和"邮件已送达"是否是同一个完成状态,并指出仍待核验的部分。
- 实现侧:核对外部结果与完成状态;验证上限处不会继续发起超出授权的工作,并说明已提交动作可能产生的后续代价。
- 实现侧:运行中用户确认缩小任务范围后,检查成功标准同步更新——既不按旧标准误判未完成,也不存在执行者未经确认自行调低标准的路径。
反例做不到——时间耗尽后显示"全部完成",研究任务找到几篇资料就声称已经验证所有结论;做过头——把每个任务都压成一个百分比分数,连开放式创作也要求先给出量化验收指标才能开始。
P3-4工具可用性与行动防错必须
一句话:让行动对象、操作后果和工具结果都足够明确。
适用Agent 使用会影响任务结果或外部状态的工具时。
规则每项工具动作必须定义用途、作用对象、关键输入约束与失败反馈;影响用户判断的信息必须映射为可理解的任务语言。工具应当通过结构化约束与防错减少常见误用,并面向工作流整合设计,而不是逐一包装 API 端点。行动风险与成功、失败、未知三态的判定标准见 P3-5。
设计应用明确用户看到的文件版本、收件人、账户或目标位置;设计动作前的差异预览和动作后的结果回执,而不是把接口参数直接贴给用户。
验证示例
- 用户侧:面对同名文件或多个账户,观察用户能否识别实际操作对象;出现超时后是否误以为操作已失败。
- 实现侧:工程与测试提供参数校验、对象绑定和真实工具结果的佐证;对可能重复产生外部影响的动作,先核对状态再按 P4-3 处理。
反例做不到——只显示"调用工具成功",却不说明修改了哪个文件;把连接超时当成付款未发生;做过头——把每次工具调用的原始参数和返回全文都摊给用户,真正的失败淹没在里面。
P3-5行动风险可判定与结果三态必须
一句话:每次行动的风险能在执行前被判定,结果区分成功、失败、未知。
适用Agent 可调用的所有影响任务结果或外部状态的工具。
规则每项会影响任务结果或外部状态的行动,其风险必须能在执行前被判定;判定至少考虑作用对象、是否只读、可逆性、具体参数与累计影响,不得只凭工具名称或一份静态清单。工具结果必须区分已成功、已失败和结果未知三态:缺少足以判定结果的回执时,标记为结果未知,不得仅凭超时或无响应判定成功或失败;获得可靠核对结果后更新状态。工具接口应当以机器可读方式声明用途、作用对象类型、只读性与风险级别,供策略裁决与审批载荷消费(P4-5、P4-2 的常用输入);工具的自我声明是未经验证的提示而非事实,不构成授权,不得单独作为降低保护的依据(信任分级见 P4-4,机制强制见 P4-5)。工具本身的可用性与防错见 P3-4。
依据与参考P2-2 要求按风险决定自主等级、P4-2 要求高风险事前确认,而风险判定要在运行时逐次行动发生:没有可自动化的判定依据,风险分级只能停留在评审会上。失败记录——坏的工具描述会把 Agent 引上完全错误的路径(Anthropic 多 Agent 系统)。实现参考——按只读性、可逆性、资金影响做工具风险评级(OpenAI);只读提示同时决定可否并行执行(Claude Agent SDK)。机器可读元数据是常用载体,不是唯一载体:具体参数与累计影响的判定还需策略层结合运行状态完成。工具注解是提示而非保证、不可信服务端可能谎报只读,有协议方明示(MCP Tool Annotations)。
设计应用"生成页面""保存页面""发布页面"不是三个相近的工具名——外部影响不同,所需确认与回执不同。
验证示例
- 抽查高风险行动的风险判定依据与实际影响是否一致;同一工具在不同参数与累计影响下能否得到不同判定。
- 模拟工具超时,验证结果被标为"未知"而非成功或失败。
反例做不到——所有工具风险一视同仁,付款和读文件走同一条放行路径;做过头——为每个只读查询也标注满级风险,策略门形同虚设。
P3-6执行策略可探索、可调整、可收敛应当
一句话:允许自由选择路径,但探索有依据、调整有原因、结束有条件。
适用需要自主规划、开放探索或多轮优化的任务。
规则是否引入自主执行由 P3-1 判断,本条约束已引入自主性之后的执行方式。团队应当定义何时直接执行、何时补充信息、何时探索备选,以及什么观察会触发策略调整。补充信息前,系统应当识别会影响下一步的具体缺口,并按缺口性质在使用已有信息、读取指定来源、检索外部证据、测试验证、询问用户(介入方式见 P6-4)与采用可修改假设(见 P1-2)之间选择;信息获取应当与任务价值、时效、权限及资源边界相匹配(来源与时效的维护见 P1-5)。证据已足以支持当前决定、持续获取没有有效增益或到达资源边界时,应当停止获取或调整策略,并如实保留未解决的不确定性(呈现要求见 P5-5);反复尝试没有带来有效进展时,应当改变策略、缩小范围或结束探索,而非机械重复。路径可以变化,但不得擅自替换用户已确认的目标、约束和重要决定(P1-1)。
依据与参考这是执行规则里唯一的"正向能力"条款:规范不应只有防错,还要回答"怎样把事情做好"——产品要决定的不是模型每一步怎么想,而是它在什么情况下应该换一种工作方式。实现参考——"从简单方式开始、只在确实改善结果时加复杂度"由多家独立给出同一判据(Anthropic、OpenAI)。
设计应用创作任务允许在方向间探索,用户选定方向后,深化不得未经说明推翻方向;研究任务连续无效时更换检索策略而非重复同一查询。
验证示例
- 让研究任务连续遇到无效信息,观察能否调整方法或合理收敛。
- 创作任务进入深化阶段后,检查已选方向和已认可部分是否保留。
- 提供已足够的授权材料并留一个必须由用户取舍的问题,验证系统直接使用材料、只就取舍发问。
反例做不到——"再优化一下"每次从头随机重生成,推翻用户已选方向;材料已足够仍无差别扩搜或把问题推回用户;做过头——强制所有任务先写长计划、必须生成三个方案、必须经过多个 Agent。
P3-7完成判定有可核验依据必须
一句话:完成要有实际结果与约束的证据;任务结果与结束原因分开表达。
适用所有需要交付结果的任务。
规则完成判定必须对照当前有效、已有记录的成功标准(见 P3-3),依据可核验的实际证据——外部结果、约束核验、测试或回执——而不是执行者的自我评价;由谁核验(同一 Agent 读取核验证据、独立评估角色、人工验收)按任务风险与性质选择。每次运行必须能同时表达两类信息:任务结果(目标达成、待核验、部分完成、失败)回答目标完成了多少,结束原因(自然结束、超出资源上限、被用户停止、被策略拦截、执行错误)回答为什么不再继续。两者不互斥——十项完成八项后用户停止,结果是部分完成、原因是用户停止,只表达其一会丢失另一半事实;不要求两套接口,只要求能同时表达。模型停止输出、工具返回成功、资源耗尽都不是完成。开放式任务可采用备选比较、约束检查和用户判断,不要求统一量化评分;自动评价未经校准不得被视为可靠裁决。
依据与参考本条防的是"我觉得我做完了,所以我做完了",不必然要求执行与核验分属不同角色。动作成功不等于任务成功:文件确实保存了但内容不符合要求,执行契约成立、目标核验仍失败。失败记录——模型对自己工作的正向偏差与过早宣布完成有实验记录(Anthropic 长运行实验)。实现参考——外部完成条件与结果评估(Claude Managed Agents)、功能清单初始化为未通过(Anthropic harness)、生成与评价分离的迭代(Anthropic 前端实验);这些多为同一家的不同方案,作实现参考而非独立收敛证据。
设计应用核验依据对应 P3-3 的成功标准;任务结果与结束原因供可信状态呈现直接消费(P5-3;等待状态的呈现见 P4-3)。另设独立评估者、评价模型或人工验收,是按情境选择的实现方案,不是所有任务的默认义务。
验证示例
- 让工具全部返回成功但成果故意缺一个关键要求,检查系统是否仍宣布完成。
- 触发资源上限,验证结束原因为"超限"、任务结果如实为部分完成或待核验,且保留可用成果。
反例做不到——把模型的"我已完成所有工作"当成验收;做过头——为每个创作任务强加人工验收门或无依据的总分。
P3-8任务生命周期与并发边界必须
一句话:定义触发、等待、恢复和结束;会话不是任务。
适用持续自主执行、定时监测、多入口触发或并行的任务。
规则团队必须定义每类任务的触发、运行、等待、暂停、恢复和结束条件,不把会话状态等同于任务状态——关闭页面是否终止任务、定时触发是否与上次重叠,必须有答案。并发与定时执行必须避免无意的重叠运行;生命周期各状态的转换对用户可理解,与产品承诺一致(承诺后台运行的任务,关闭页面后确实继续;不承诺的,如实说明会停止,见 P5-1)。对定时、事件触发或持续监测的任务,必须定义触发依据、委托有效期与条件持续成立时的重复触发处置;外部变化只触发受影响范围的调整,不等于重做全部。停止本次运行与撤销持续委托是两个不同的决定,必须可被分别执行与理解(委托收回见 P2-3,主动提议的边界见 P6-4)。运行中新输入的处理见 P6-2,子 Agent 的委托边界见 P2-5,等待状态的要求见 P4-3。
依据与参考实现参考——等待与监测作为独立设计对象(Microsoft Research SentinelStep);运行中再次输入的策略分类(LangChain double-texting,策略名称见 P6-2 的括注)。
设计应用为定时任务定义"上次未结束时本次是否启动";为多入口触发(聊天、快捷指令、外部事件)定义同一任务的归并规则;为持续监测定义结束条件与静默呈现——"暂时没发现"与"监测已结束"是两种状态。
验证示例
- 重复触发定时任务,检查是否无意重叠执行。
- 关闭页面后返回,验证任务按承诺继续或终止,界面如实反映。
- 停止一次定时任务的当前运行,验证持续委托按用户意图保留或撤销,并被如实反馈。
反例做不到——界面承诺后台运行,实际上关闭页面任务就悄悄死掉;做过头——把线程数、重试次数等内部参数全部摊给普通用户配置。
3.4 P4 能力有边界
限制权限与影响,在必要时确认,在越界前停下;边界由确定性机制强制,不由模型自觉维持。
P4-1最小权限必须
一句话:只拿这项任务用得上的权限,并让授权能被收回。
适用涉及数据访问、工具连接或外部行动的任务。
规则Agent 的访问与行动权限必须限制在已授权任务所必需的范围;扩大资源、用途或行动权限前,必须获得授权责任人的授权,并提供按适当粒度收回权限的方式及生效范围说明。禁止默认申请与任务无关的全量访问或执行权限。
设计应用说明要访问什么、为何访问、会不会修改、是否跨任务保留;把数据读取与外部操作授权分开,拒绝可选权限后仍提供可行的受限路径。
验证示例
- 用户侧:让用户只授权一个文件夹,观察其是否能理解系统无法读取其他文件,且能找到收回入口。
- 实现侧:由工程或安全验证实际权限边界、组织策略和撤权后的调用结果;界面承诺不等于已经限制访问(机制要求见 P4-5)。
反例做不到——只为总结一封邮件,就要求默认读写整个邮箱并永久保存全部内容;做过头——每读一封邮件都单独弹一次授权,用户为一次总结点几十下同意。
P4-2确认与审批必须
一句话:决定绑定具体请求;高风险确认的是行动和后果;审批批得到、批不丢、过期失效。
适用基础保障适用于所有需要用户确认或授权的执行环节;附加要求适用于高风险操作,包括达到累计影响门槛的批量或连续操作。
规则
所有确认与授权环节的基础保障——
- 确认请求必须说明被确认的对象与后果,并明确本次允许的决定集。决定集与任务匹配:至少支持批准与拒绝;支持局部修改的任务应当提供"修改后批准"与"要求补充信息",避免用户只能在全盘接受与推翻重来之间二选一。
- 决定与请求一一对应:审批覆盖提交时已明确的目标、内容与后果,不延伸到尚未明确的后续变化;请求对应的内容或参数已变更时,旧决定失效,对过期请求的决定被拒绝——用户批准的是这个版本,不是这个按钮。用户选择修改后批准时,保留可复用的成果并形成新的待审内容,旧审批不得用于实质已经改变的动作。
- 待确认状态的存在形式必须与产品承诺一致:承诺用户离开后任务继续、或可在其他会话与渠道处理时,确认必须相应可持久化、可路由。必须定义有效期与超时后的处置,超时不得默认放行。
高风险操作的附加要求——
- 执行前必须获得授权责任人对具体操作的确认,或核验该操作仍被有效预先授权覆盖;确认时必须呈现操作对象、关键内容、影响范围、可见代价与可逆性。
- 授权范围内的关键对象、内容或后果改变后,必须重新判定授权,超出原授权时重新确认。
- 禁止以含糊确认或拆分操作绕过门槛。
边界条件基础保障不要求为低风险确认建设独立的审批系统——决定绑定请求、超时不放行,可以由最简单的界面交互满足。预先授权仅在动作、对象、条件、单次及累计影响和有效期均明确,且未被收回时有效;产品政策规定必须逐次审批的操作不得以预先授权替代。已在 P4-4 下禁止的越权行为,不因点击确认而获得豁免。
设计应用提供查看详情、修改、排除部分对象和取消路径;同类批量动作可汇总,但保留对象清单、总影响和特殊项,异质高风险动作不隐藏在一个总按钮下。审批载荷由工具风险元数据(P3-5)与策略门(P4-5)生成,不靠模型临场编写确认文案。
验证示例
- 用户侧:用户能否准确说出"会对谁做什么、有什么代价"?能否修改后再确认,而不是退回重做整个任务?
- 实现侧:检查确认内容与实际动作一致、授权人有权限;核对界面显示、执行入口与审计记录指向同一目标快照和同一份有效授权;测试过期授权、确认后内容变更及累计阈值触发。
- 对承诺跨会话处理的产品:在另一台设备上处理挂起的审批,验证决定正确生效;审批等待期间修改操作参数,验证旧审批失效并重新请求。
依据与参考内容标准与工程存在形式是同一条义务的两面:批不到、批丢了、超时放行,确认内容再完整也没用。实现参考——可序列化的运行状态支持异步审批(OpenAI Agents SDK)、审批路由到外部渠道(HumanLayer)。
反例做不到——只问"是否继续";把 100 次操作拆成单次以低于阈值并沿用一个无限期"全部允许";审批只存在于当前页面内存,刷新即丢;做过头——每个可撤销的小改动都要事前确认、填写理由和多级会签,用户在确认疲劳中对真正的高风险操作也顺手点了同意。
P4-3停止、升级与等待人类必须
一句话:在边界处真正停下来等人,带着进度把决定交给有权处理的人。
适用权限、任务范围、证据充分性、资源上限或执行状态不足以支持继续推进,或继续相关步骤必须先取得人的澄清、确认、授权或其他决定时。可选偏好类问题在已授权的可修改默认值上推进(见 P1-2、P6-4),不触发本条的等待。
规则
- 系统必须停止受影响路径上的自主行动,并向有权处理的人说明停在哪里、为什么停、已发生什么及需要什么决定。
- "等待输入""待审批"必须是任务状态机中的非终止状态:进入该状态后,受影响路径不得继续自主行动,任务在已声明的保留期限内保持可恢复;不得为了等待而反复运行模型制造"假等待"。
- 该状态必须能穿透编排层——子 Agent 的待决问题以同等状态到达用户(委托边界见 P2-5)。
- 禁止把用户未回复视为同意,禁止用超时放行代替人的决定。必须定义无人响应时的保留期限和处置方式并事先告知,到期按已告知的规则结束、归档或升级,避免任务无限悬空。
- 对可能产生重复外部影响且结果未知的动作,禁止未经状态核对直接重试;已定义且有上限的安全重试不在此禁止范围内(机制要求见 P7-2)。
设计应用提供明确的选择,如补资料、缩小范围、批准新预算、人工接手或结束;等待状态携带结构化的请求内容(内容标准见 P4-2);用户在等待期间可以做别的,返回时该状态仍在。
验证示例
- 用户侧:用户回来后能否不重读完整对话就接上任务,并知道不处理会发生什么?
- 实现侧:验证受影响步骤确实停止,其他独立且已授权的安全工作才可继续;不靠无依据的自报置信度决定越界。
- 触发澄清请求后关闭页面,在保留期限内返回,验证任务可恢复且上下文完整;超过期限后,验证按事先告知的规则处置。
依据与参考"交给人决定"必须有一个可落地的等待状态作为存在形式,否则停止与升级只是文案。失败记录——缺失该状态时子 Agent 的问题到不了用户(Strands SDK issue #1371,已修复关闭,作历史证据)。实现参考——协议层、API 层、框架层独立收敛于同一状态语义(A2A 的 input-required、OpenAI 的 requires_action、LangGraph 的 interrupt)。
反例做不到——等待确认一段时间后自动放行;"等待"实为持续运行模型的假等待;发送结果未知时反复点击发送;做过头——一条路径受阻,就把所有并行任务无说明地一起丢弃;把每个内部小分支都升级为等待用户,任务在无谓等待中悬空。
P4-4指令与内容的信任分级必须
一句话:读取到的内容不是新的上级,也不能替用户授权。
适用读取外部内容,或处理登录、身份验证及支付等敏感步骤时。
规则外部内容必须按其被授权的用途处理,禁止仅凭内容中的指令、身份宣称或格式获得更高权限、改变用户目标或泄露信息。系统必须阻断已识别的越权请求;仅在任务范围或合法授权确实需要人作决定时升级,禁止把危险内容的安全裁决默认转嫁给普通用户。敏感步骤必须使用经安全评审的授权、受限工具或用户接管路径,禁止向模型、普通对话或日志非必要地暴露敏感要素;该路径必须同时满足三项最低条件,缺一即视为没有受支持的安全路径——敏感要素不进入模型上下文、普通对话记录与可读日志;该路径有安全负责人的书面评审记录;用户可随时改为亲自操作。
边界条件用户明确要求依照某文档完成任务时,可在已有授权内利用文档中的步骤;这不允许文档扩权或覆盖安全边界。没有受支持的安全路径时,停止相关步骤并由用户在可信界面完成,不承诺 Agent 可以安全代填所有敏感信息。
设计应用异常提示说明"什么被阻止、对任务有什么影响、还能怎么继续",不必原样展示危险文本;登录或身份核验交给可信界面,并说明完成后 Agent 还能做什么。
验证示例
- 用户侧:在材料中植入越权语句,观察用户能否理解任务受到了什么影响,而无需判断技术攻击细节。
- 实现侧:安全与工程验证权限隔离、工具调用和敏感数据处理;不能只依赖一段提示词或"用户已点击同意"(机制要求见 P4-5)。
反例做不到——网页自称管理员就获得权限,或让用户在普通聊天中粘贴密码;做过头——弹窗问用户"这是不是提示注入",把安全裁决转嫁给普通用户。
P4-5权限在机制层强制必须
一句话:权限靠确定性机制强制,不靠提示词;凭据不进模型上下文。
适用Agent 与任何工具、资源之间的权限控制。
规则权限、撤权与确认门槛必须由确定性机制(策略门、沙箱、白名单)强制,默认拒绝、失败关闭,不得仅靠提示词或模型自觉。必须区分能力门控(工具在不在菜单里)与逐次授权(这次调用、这些参数是否允许):模型给出的参数不构成授权。策略只能来自运营方控制的数据,模型输出与读取内容都不得改写策略。分层策略中的检查不得被前置规则静默旁路。敏感凭据不进入模型上下文与可读日志,由执行环境之外的机制附加。采用沙箱隔离执行不受信任操作时,文件与网络隔离应当同时具备——只有单一隔离可被另一通道绕过;未采用沙箱的产品,必须以其他机制达到同等的隔离效果。
依据与参考P4-1、P4-2、P4-4、P2-3 的承诺("撤回授权后新动作被拦截""界面承诺不等于已经限制访问")必须是机制事实,本条回答那靠什么限制。失败记录——被审计的主流框架在受审版本中缺少默认失败关闭的逐次参数授权(ScopeGate 论文对三个实现指定版本的审计,结论限于受审对象与默认行为);分层权限中被前置规则批准的调用不会到达后面的回调,只写在回调里的检查被静默绕过(Claude Agent SDK 官方警告);只做文件隔离可被网络泄露、只做网络隔离可被文件逃逸(Claude Code sandboxing 文档)。
设计应用每次授权决定生成回执(动作、决定、依据、审批人)供 P5-2 追溯;撤权生效点明确,新动作从该点起被拦截。
验证示例
- 撤回授权后触发新动作,验证被机制拦截而非仅界面提示。
- 在被读取内容中注入"提升权限"指令,验证策略不受影响。
- 审查分层策略:确认没有只存在于末端回调、会被前置规则旁路的关键检查。
反例做不到——权限约束只写在系统提示词里,一次注入即失效;做过头——把每个内部只读调用也推给用户逐次授权(应对方式见 P4-6)。
P4-6边界替代逐项审批应当
一句话:用预定义安全边界换取边界内自主,减少逐项打断。
适用高频、低风险且可恢复的操作类别。
规则应当优先用预定义安全边界(沙箱、白名单、有效预先授权范围)让 Agent 在边界内自主执行,把逐项确认留给真正的高风险动作;边界的范围、依据与退出方式对用户可理解、可收回(受 P4-1、P2-3 约束)。
依据与参考失败记录——机械点允许(rubber-stamping)是被独立讨论过的失败模式:确认次数越多,真正重要的那次确认越容易被顺手点掉。实现参考——沙箱使内部权限提示大幅减少(Anthropic 自报口径,未经独立测量)。
设计应用把"这类操作在此范围内无需再问"设计成用户可见、可关的边界,而不是散落的静默放行。
验证示例
- 统计典型任务的确认次数;高频确认集中在低风险操作时,检查是否可用边界替代。
- 验证边界外的动作仍触发确认,边界本身可被用户收窄。
反例做不到——为"安全"让用户为一次总结点几十次同意;做过头——把高风险动作也划进"边界内自主",边界成为绕过 P4-2 的后门。
3.5 P5 证据校准信任
让用户对系统、过程与结果形成有依据的判断:能力、进展、来源与身份都如实呈现,提供足以判断的信息而不是堆积过程;目标是校准信任,而不是最大化信任。
P5-1能力与局限披露必须
一句话:在用户作出委托时,让他知道能做什么、不能指望什么。
适用首次使用某项能力及能力限制会影响当前决定的情境。
规则产品必须在用户据此作出重要委托前说明与当前任务相关的能力、已知局限和错误可能性,并让这些信息之后仍可查阅;重要委托前应当提供可预期的代价量级——时间、费用或资源(运行中的实际用量见 P5-3)。产品应当让用户在使用情境中能发现可委托的能力——校准信任既防信任过度,也防信任不足。禁止暗示 Agent 不会出错,或通过文案承诺未实现的能力。
设计应用用具体任务说明限制,如"可生成发送草稿,但不会自动发出";在受限步骤再次提醒,避免只有首次长篇免责声明。空状态、示例任务或对象上的情境建议都可承载能力发现;代价量级用区间或类比表达即可,不要求精确报价。
验证示例
- 用户侧:首次完成任务后,让用户描述产品能做到哪一步、哪些结果仍需检查。
- 用户侧:委托一个多步任务前,观察用户能否形成大致的时间或代价预期,并说出这个产品还能承接什么。
- 实现侧:核对能力文案与当前版本、账户权限、连接工具及实际后台能力。
反例做不到——宣传"放心交给它",却不说明只能生成草稿;声称任务会持续运行,退出页面后实际上已停止;做过头——每次回答前都先播一段免责声明和能力清单,用户学会直接跳过。
P5-2行动前中后可追溯必须
一句话:让用户知道计划做什么、现在到哪了、最后实际改变了什么。
适用多步、长时间、可跨会话或产生外部影响的任务。
规则行动前,用户必须能查看目标、行动范围及关键介入点;行动中,必须能查看真实状态、已完成部分和当前阻塞;行动后,必须能区分完成、部分完成、未完成及待核验事项,并追溯关键动作、实际来源与外部结果。呈现中必须区分暂定计划、已发生动作和已确认结果,不把暂定步骤装成承诺;禁止伪造实时进度、完成百分比或后台能力,状态过期或连接中断时如实标注。可在用户离开后运行的任务,必须说明继续或暂停条件,并在返回时提供状态与待办摘要;通知应当围绕重要结果、风险或用户决定,而非每一步过程。本条约束面向用户的呈现,呈现所依据的运行事实由 P5-3 供给。
边界条件本条要求可核查的任务证据,不要求展示模型私有推理过程、系统提示词、密钥或无关个人信息。受权限限制的证据提供脱敏摘要,并说明无法查看的边界。
设计应用提供分层任务摘要与按需展开的记录;有计划时显示可调整的当前计划。结果交付对应 P3-3 的成功标准,低风险自动验收不强制增加人工确认。呈现所依据的运行事实见 P5-3,叙事组织见 P5-4。
验证示例
- 用户侧:离开再回来,用户能否回答"做完了什么、我现在要做什么"?遇到部分完成时,能否发现遗漏?
- 实现侧:核对状态、回执与实际执行一致;断开连接后验证状态被标注为可能过期,而非继续显示实时进度。
反例做不到——用一条永不变化的"正在思考"覆盖所有状态,任务停止后仍显示"已完成";做过头——每次工具调用都推送一次通知。
P5-3运行状态与行动回执可信必须
一句话:让界面获得真实、可核对的运行状态与行动结果,不从模型叙述里猜进度。
适用所有需要向界面呈现执行过程的 Agent。
规则runtime 必须向交互界面提供可核验、可关联到正确任务与工作对象的运行事实——运行的开始与结束(含 P3-7 的任务结果与结束原因)、关键行动的发起与三态结果、待决事项与等待人类的请求,以及会影响用户判断的内部变化(上下文压缩、脱敏、子 Agent 启停);界面不得从模型生成的叙述中猜测这些事实。断线重连后,必须能恢复当前可靠状态,或明确标示缺失与过期部分。资源用量应当持续可查、接近上限时可预期,而不是只在耗尽时报错。类型化事件流、带版本的状态快照、可查询的行动回执均可作为实现方式。
依据与参考界面能展示的上限,就是它能获得的运行事实的上限;界面拿不到真实状态时,"进度"只能来自猜测或装饰(P5-2 禁止伪造进度)。失败记录——靠解析非结构化文本流猜测执行状态,在任务分叉、并行、调用工具时失效。实现参考——类型化事件流是收敛度最高的实现(标准事件类型集的 AG-UI——事件类别随版本扩展、流式状态机的 Vercel AI SDK、"Token 流 ≠ Agent 流"的 LangChain);后台任务记录加带版本与更新时间的状态快照、可查询回执,同样可以满足本条。收敛证明可行,不证明唯一。
设计应用运行事实与呈现分离——同一组事实可渲染成进度卡片、通知或语音摘要;已承诺向界面提供的事实类别不静默消失;连接中断时明确显示状态可能过期。
验证示例
- 断开界面重连后,能否恢复真实状态,或明确标示缺失与过期部分。
- 检查"正在思考"之类的界面状态是否对应真实运行事实,而非计时器动画。
反例做不到——界面靠正则解析模型输出猜测工具调用;做过头——把内部每个函数调用都定义成面向用户的事实类别,契约膨胀到无人消费。
P5-4面向用户的叙事层应当
一句话:给用户"在做什么、为什么、下一步"的摘要与工件,不是开发者日志。
适用多步、长时间、跨会话,或用户需要中途参与的任务。
规则产品应当在运行事实之上提供面向用户的叙事:当前目标、当前阶段、已完成部分、主要阻塞和下一项重要行动(暂定计划、已发生动作与已确认结果的区分要求见 P5-2)。计划、任务清单、差异对比等外化工件应当作为用户与 Agent 的共享事实源,让用户从同一个对象上理解进展、依据与下一步;工件上的用户修改如何进入后续执行由 P6-3 规定,工件如何跨会话延续由 P7-1 规定。解释围绕行动依据与影响,不展示大量内部过程。
依据与参考失败记录——持续监控的认知负担不可持续,全量过程直播淹没用户。实现参考——共享任务清单、可编辑计划、执行旁白在四家以上产品独立收敛(Manus、Devin、Claude Code、ChatGPT agent)。同一工件常常既是防漂移的工作记忆(P7-1)又是进度叙事——这正是机制一物多用的典型。
设计应用用户返回任务时先看到摘要而非完整记录;"系统状态可查询"不等于"人知道怎么参与"——叙事要回答"现在需不需要我"。
验证示例
- 用户离开后返回,能否回答"已经做了什么、接下来做什么、现在需要我做什么"。
- 用户编辑计划中的一项,验证叙事与实际执行保持一致(编辑进入执行的义务见 P6-3)。
反例做不到——只提供完整运行日志,用户自己拼进度;做过头——每次工具调用都变成一条消息,暂定计划被呈现为必然发生的承诺。
P5-5区分来源与系统分析必须
一句话:有出处不等于已证实,让用户知道依据、推断和未知分别是什么。
适用呈现分析、建议或会影响用户判断的结论时。
规则系统必须区分来源中的陈述与系统形成的推断或建议,并在影响决定的位置说明关键假设、证据缺口及未核验信息;禁止将有引用的来源主张自动呈现为已独立核实的事实,或用无测量依据的置信度数字伪装统计可靠性。置信度呈现应当与用户可以采取的不同行动关联。
设计应用围绕关键结论呈现来源、范围或时间及必要限制;无需为每一句话贴标签,可用局部注释、对照或展开说明帮助判断。来源与时效的运行侧维护见 P1-5。
验证示例
- 用户侧:给用户一段厂商宣称与一段系统推断,观察能否分辨证据来源,并知道还缺什么才能作决定。
- 实现侧:检查引用是否支持相应主张、是否真被读取及是否为正确版本;统计数字有可追溯的测量依据。
反例做不到——把"厂商声称效率提高 40%"直接写成"效率提高 40%",或展示无计算依据的"可信度 98%";做过头——每句话后面都挂一串来源标记和不确定提示,用户分不出哪一处才是真的存疑。
P5-6AI 身份与产物标识必须
一句话:让人知道 AI 参与了什么,不把它冒充成人或把所有内容都归给 AI。
适用用户与 Agent 交互,或 AI 参与生成、修改并交付内容时。
规则用户必须能够识别正在与 AI 交互,情境已明确时不必重复提示;AI 对内容的实质性生成或修改必须能被识别,且不得把用户原作误标为全部由 AI 创作。禁止通过虚假的真人身份、专业资格、亲身经历或情感宣称误导用户对系统性质与责任的判断。
边界条件友善语气、角色化视觉或自然对话不自动构成误导;本条不规定所有产物采用同一可见水印。标签方式、解释入口、机器可读标识和法定披露不是同一件事,具体适用性另行判断。
设计应用在适当的界面、内容范围或版本记录中说明 AI 的参与;对导出与分享单独判断来源误认风险和适用披露要求,标识不是装饰,也不能代替证据。
验证示例
- 用户侧:用户能否分清原始材料、AI 建议和自己最终改定的内容?离开原界面后的产物是否造成明显来源误解?
- 实现侧:核对标识与真实生成、编辑范围一致;领域或司法辖区要求的披露由相应负责人另行确认。
反例做不到——Agent 冒充真人专家亲历某事;做过头——只改一个标点,就把整篇用户文章标为"完全由 AI 创作"。
3.6 P6 协作有契约
运行中的一句话,可能是补材料、纠正方向、撤回授权、追加任务,或只是一个不该打断主任务的问题——用户输入不再只有"开始一个新请求"一种语义。本原则约束运行中的人机双向协作:人的介入被正确理解、有明确回执,并按声明的范围与时点改变任务;双方的贡献都受保护;Agent 找人的时机与人的注意力相称。
P6-1控制通道分立与生效必须
一句话:停止与接管必须存在,转向应当提供;通道语义分立,请求区分已接收与已生效。
适用存在持续自主执行、可编辑成果或人工交接的任务。
规则
- 存在持续自主执行时,用户必须能够请求停止后续自主行动,并获得接管或人工交接路径——这项基础控制是本条要求其存在的能力,不以产品已提供其他控制通道为前提(委托层面的收回见 P2-3)。
- 存在持续自主执行时,产品应当提供中途转向,让用户不必停止重来即可注入新指导;转向保持任务连续性与仍有效的成果,允许中断、重算或重新规划受影响部分,不应当无必要地重置整个任务。
- 产品提供的控制通道必须语义分立:中途转向、暂停(暂不继续且可恢复)、停止(结束后续执行)、接管(人收回执行权)是语义不同的通道,必须明确各自的生效语义与在途工作处置,不得用一个"停止"含糊承担全部。
- 控制请求必须区分已接收与已生效两个事件;生效反馈附已提交且无法取消的动作清单。禁止把收到停止请求说成全部操作已撤销。
- 接管必须有移交协议:接管前暂停相关自主操作以防双方冲突;交回时 Agent 基于接管期间的实际状态重新理解再继续,不重复用户已完成的操作、不恢复已失效的旧计划。
- 用户退出或收回参与后,必须能保留或取回权限范围内的已有成果,并获知无法自行继续的原因与交接方式。
边界条件不要求技术上不可中断的已提交动作瞬时消失,也不要求所有 Agent 原生能力拥有完全等价的手工版本。
依据与参考steering 是产品实践中最重要、也最容易被忽略的控制点——它保留在途工作,用户成本远低于停止重来。失败记录——人与 Agent 同时操作同一环境的编辑冲突有产品文档明示(Devin)。实现参考——头部产品收敛(Cursor 的 follow-up 不中断、Devin 的对话式纠偏与"接管前先暂停"协议、ChatGPT agent 的中途重定向、Codex 的 Steer)。本条主责控制动作引起的运行变化与接管交回;输入的识别与任务绑定见 P6-2。
设计应用界面不必出现四个按钮——多数产品用"运行中输入框 + 停止键 + 接管入口"即可承载,关键是背后语义分立、回执明确。明确停止按钮影响的任务范围(子任务的停止范围见 P2-5);实际提供暂停、停止、撤销时说明区别。
验证示例
- 运行中注入"改用另一种风格",验证在途工作合并新指导而非从头重跑。
- 在发送过程中请求停止,观察用户能否理解哪些已提交、哪些还未执行;验证停止请求的受理与生效时点、未提交动作的拦截。
- 用户接管修改工作对象后交回,验证 Agent 基于新状态继续而非重复旧步骤。
反例做不到——用户点击停止后提示"已全部取消",但外部操作仍在完成;任何中途输入都导致整个任务重启;接管期间 Agent 仍在同一文件上操作;做过头——每完成一步都停下等用户点"继续",用户实际上在手工驱动整个流程;要求用户先学会"排队、注入、中断"等术语才能说一句话。
P6-2运行中输入的语义与生效必须
一句话:每次介入都明确改变哪项工作、从何时生效,并有回执。
适用允许在任务运行中输入消息、修改要求或发出控制请求的产品。
规则
- 产品必须区分运行中输入的实际语义——修改当前任务、追加后续任务、独立提问、控制请求——并明确作用范围与生效点;存在可能导致重要误操作的歧义时先澄清,不默认采用某一种处理。
- runtime 必须对运行中收到的新输入有明确的处理策略——排队、合并进当前执行、打断或拒绝——并反馈采用了哪种。
- 对改变运行的请求,必须反馈已收到、待处理、已生效或无法执行;仅把消息加入对话记录,不构成运行已经改变。
- 输入绑定到明确的运行对象,不送到错误的任务上。
依据与参考"做完后再翻译成英文"和"刚才的内容不要发送"不能采用同样的排队方式——前者可等本轮结束,后者必须立即拦截在途动作。实现参考——排队与转向的显式区分、输入绑定运行标识(Codex 的 Queue/Steer 与回合 id);LangChain 的 double-texting 四策略为排队、拒绝、打断、回滚(Enqueue/Reject/Interrupt/Rollback)——本条正文中的「合并进当前执行」对应 steering,是本规范自己的分类,不出自该来源。本条主责输入的识别、任务绑定与处理回执;控制动作的生效语义见 P6-1,双方贡献的共存见 P6-3。
设计应用多数输入可由系统按上下文推断语义并在回执中说明("已合并进当前任务"/"将在本轮结束后处理"),仅在歧义危险时询问;不强迫用户手动选择模式。
验证示例
- 任务运行中发送"不要发布",验证用户能知道它作用于当前任务、尚未提交的发布已被拦截。
- 发送一个无关的独立问题,验证主任务不被误改。
- 任务运行中连发两条语义不同的消息,验证处理策略明确且被反馈。
反例做不到——用户以为已经改变方向,Agent 继续按旧计划执行,那句话只是躺在聊天记录里;做过头——每条消息都弹出"这是修改、追加还是提问?"三选一。
P6-3局部修改与贡献保护必须
一句话:改一段不用重做全部;后到的生成不得覆盖用户已认可的工作。
适用存在可编辑成果,或用户与 Agent 都能编辑、选择、采纳成果的任务。
规则
- 对可拆分且仍可编辑的成果,必须支持局部修改或选择性采纳,保留未受影响的已认可部分;产品必须区分当前成果、待采纳建议和已认可部分,并提供符合任务粒度的修改与采纳方式。
- 用户的直接编辑必须进入工作状态(P7-1)、参与后续生成;双方修改冲突时采用明确的合并或选择规则,禁止静默覆盖用户的新修改——旧任务晚到的结果同样不得覆盖。
- 局部修改影响关联结果时,让用户理解哪些仍有效、哪些需要更新,不默认全部重做。
依据与参考用户发出了正确指令、系统也执行了,但采用整篇替换,仍然抹掉了手工修改——这是 P6-2 之外的另一个问题:前者管指令如何进入运行,本条管双方贡献如何共存。实现参考——前端与 Agent 共享状态、快照与增量更新、冲突重同步(AG-UI 及其应用示例);协议只负责传递状态,"谁的修改优先"是产品必须自己回答的协作规则。撤销操作的范围与后果见 P7-4。
设计应用协作不必全走聊天消息,可以发生在双方共同操作的对象上(可编辑的清单、画布、文档);Agent 下一轮读到的是用户改过的版本。支持改一段、排除一项或重做一部分;存在依赖时提示哪些关联结果会失效。
验证示例
- 让用户保留八封草稿、只改两封,验证未受影响部分不被重生成。
- 用户手工修改标题后让 Agent 优化布局,验证标题保留、冲突被解释。
- 用户修改成果的同时旧一轮生成返回,验证不发生静默覆盖。
反例做不到——"优化一下"直接整篇重生成,用户上一小时的手工编辑消失;修改一段就重生成整份成果并抹掉手工编辑;做过头——每个小改动都要求用户处理版本冲突与分支管理。
P6-4主动介入匹配价值与注意力应当
一句话:在人的参与能改变结果时找人,不是有不确定就打断。
适用Agent 会主动提问、通知、请求判断、邀请用户参与或主动提议新任务的产品。
规则主动介入应当有明确目的:消除重要歧义、取得必要授权、邀请有价值的创作判断,或让用户选择实质性取舍。询问应当围绕会改变下一步的最小必要信息,优先使用已经提供且仍有效的信息、不重复索取,涉及取舍时说明不同选择会改变什么;能够通过已授权的读取或核验解决的问题,不应当默认转交用户,而必须由用户作出的目标、取舍与授权决定,不得以检索结果、历史偏好或模型自信替代(承接 P1-1、P4-2)。主动提议新任务时,禁止将提议本身或用户未回应视为执行授权(授权仍按 P2、P4 取得);提议的类别与频率应当对用户可预期、可关闭。团队应当根据影响、时效和打断成本,选择即时介入、集中询问、延后通知或不打断;提出请求时让用户知道为什么需要参与、有哪些可行选择、暂不处理会发生什么。必要的授权与安全门槛不因减少打断而取消(P4-2 优先)。
依据与参考少问不是目标,让人的参与产生价值才是目标——创作方向选择值得主动邀请,一个不影响下一步的排版偏好不值得立刻打断。理论与实现参考——注意力、行动收益与打扰成本的权衡(Horvitz 混合主动性研究)、按情境安排介入时机(Microsoft HAX 指南)。
设计应用可延后的问题攒批集中问;值得用户参与的判断(选方向、定取舍)设计成邀请而非阻塞。
验证示例
- 比较缺少关键对象与缺少次要偏好两种情况,检查介入方式是否不同。
- 统计一次典型任务的打断次数与用户实际改变结果的次数之比。
- 答案已在用户提供的材料中时,验证系统直接使用而非再次发问;需要用户取舍时,验证问题说明了选择的影响。
反例做不到——把用户变成审批员,或重要歧义也闷头猜;答案已在用户材料里仍反复发问;做过头——为了"零打扰"剥夺用户重视的创作选择;主动提议不可关闭、频率不可预期,邀请变成打扰源。
3.7 P7 延续可治理
本原则管辖已经形成的状态与后果如何被保存、恢复、纠错与持续维护:工作状态要能延续,已发生的外部影响不被重复、不被谎称撤销,错误后果有出路,长期记忆由用户决定,经验的形成与复用有依据,产品行为的演进可被发现与告知。划界依据是对象是否已经形成,不是持续时间:一份为期一个月的预先授权仍属授权关系(P2、P4);同一次运行内刚刚发生的错误,已是本原则的对象。
P7-1工作状态可延续必须
一句话:让任务依靠可靠的工作状态继续,而不是依靠模型重新猜测过去。
适用多轮、多步、跨会话,或承诺暂停后继续的任务。
规则系统必须维护足以继续任务的工作状态,包括当前目标与约束、已确认决定、成果版本、已执行动作和未决事项,并使其在中断、崩溃或执行实例更换后仍可恢复(在可中断点持久化检查点是常用实现);上下文压缩、执行实例更换或恢复不得无说明地丢失这些信息。会话内工作状态与跨会话个性化记忆必须在用途、访问权限与生命周期上相互隔离——逻辑隔离即可,不要求物理拆分存储;删除或停用跨会话记忆后,不得从执行历史自动重建(承接 P7-5 的禁令)。无法恢复到可靠状态时,必须标明缺失部分,并在依赖该信息的行动前重新核对。工作状态的保留范围与期限应当明确,不得把"能够继续任务"扩张为永久保存全部对话和个人信息。
依据与参考"记得聊过什么"和"知道工作进行到哪里"不是同一件事——记得用户要做网站,却不知道哪些页面已验收、哪个文件刚被手工改过、是否已启动部署,仍然无法可靠继续。失败记录——无持久化状态的失败等于全量重跑(Temporal)。实现参考——线程内检查点与跨线程存储分离(LangGraph)、会话恢复与进度文件(Claude Agent SDK、Anthropic 长运行 harness)。本条主责哪些工作事实需要保留;压缩与交接中如何维持这些事实的有效性见 P1-6,这一步实际依据了什么见 P1-5。
设计应用为长任务维护结构化的进度记录(目标、约束、功能清单、版本),恢复时先读状态再行动;简单单步任务可记录不适用。
验证示例
- 完成部分任务后强制中断再恢复,检查已确认约束、成果版本和未决事项是否仍然正确。
- 删除一项跨会话偏好后运行新任务,验证它不会从旧执行日志中被自动恢复。
反例做不到——新会话不知道之前做过什么,重新猜测并过早宣布"全部完成";做过头——为一次简单改写建立复杂项目账本,或以"延续任务"为名无限保存全部历史。
P7-2副作用不重复必须
一句话:恢复和重试不得重复已发生的外部影响,结果未知先核对状态。
适用产生外部副作用的任务的中断、恢复、重试与崩溃恢复。
规则恢复、重试或重复收到请求时,不得重复已完成的外部影响——无论执行采用重放、续跑还是重建策略。对可能重复执行的外部写操作,必须具备防重手段,且防重必须覆盖并发竞争,以及外部动作已提交但本地尚未收到或记录结果的窗口;幂等设计、执行前状态核对或结果缓存,仅在其一致性、并发控制和保留条件足以覆盖这些窗口时,才可作为满足本条的依据(在计划时生成并随状态持久化的幂等键是常用实现)。无法可靠判定动作是否已执行、又不能保证重试安全时,必须保留"结果未知",停止相关自动重试,并提供核对或人工处理路径(三态见 P3-5,禁止盲目重试见 P4-3)。恢复或重试前,必须核对外部实际状态、当前对象版本与授权有效性,只继续仍然成立的工作;状态回退不等于外部影响已撤销。
依据与参考本条防止中断恢复、重试与重复请求造成重复的外部影响;P4-3 禁止结果未知盲目重试、P4-2 要求确认后内容变更重新确认,都以本条的机制条件为前提。失败记录——中断恢复从节点开头重放、中断前的 API 调用重复执行有框架文档明示(LangGraph);重复扣款、重复发信是已记录的失败模式,不是假设。实现参考——去重记录与相关状态变更之间的原子性条件(AWS 幂等 API 实践):"各自核对后分别提交"仍留有竞争窗口,"缓存里没有成功结果"不证明"外部动作没有发生"。
设计应用把"已提交、结果未知"作为一个显式状态处理;恢复流程的第一步是核对而非执行。
验证示例
- 模拟"外部写入已成功但回执丢失",检查恢复后是否核对状态而非再次写入。
- 两个执行路径并发处理同一外部写操作,验证提交处防重使其只生效一次;写入成功但记录结果前崩溃,恢复后验证不再次执行。
- 在等待审批期间修改内容,验证旧审批不被用于新内容。
反例做不到——恢复任务后重发已发出的邮件;做过头——把所有只读操作也套上幂等协调,简单任务被复杂化。
P7-3错误与恢复必须
一句话:出错时保住能用的成果,明确损失和真实可行的下一步。
适用可预见的失败、部分完成或已发生错误影响的情境。
规则团队必须为可预见的失败类别定义处置路径;出现错误时,必须说明已知影响、仍未知的状态和可行下一步。恢复策略应当根据失败原因、实际执行状态、可逆性及依赖影响,在限次重试、替代路径、局部修复、继续完成、撤销、补救或人工接管之间选择,而不是默认全部重做。可撤销的操作必须提供入口及适用时间窗,不可逆操作必须如实说明限制与可行补救或联系路径;禁止承诺并不存在的恢复或补偿。补救是新的行动,仍受原有授权、资源与防重复要求约束(P4-2、P7-2);补救失败时,必须保留其进度、已知影响与可行下一步。部分完成时,必须保留仍可安全使用的成果;继续执行遵循 P7-2 的防重复要求;恢复后应当重新核验受影响成果及其依赖(核验依据见 P3-7),不把流程结束当作已经恢复正确。
依据与参考停止后续执行、恢复任务状态、撤销已发生改动、补救不可逆后果是四种不同的承诺,混用会产生"已恢复原状"的错误宣称(撤销的对象边界见 P7-4)。实现参考——补偿是业务特定的新行动,不一定恢复初始状态,且自身可能失败(Microsoft Azure 补偿事务模式;单一来源,作实现参考)。
设计应用把已完成、未完成和结果未知分开;提供局部重试、恢复副本、人工补救或联系负责人等适用路径,不把"重新开始"作为唯一出口。
验证示例
- 用户侧:在批量任务中制造部分失败,观察用户能否找到保留的成果,并只处理剩余或异常部分。
- 实现侧:核对撤销是否真的恢复状态,超出窗口后文案是否变化;验证重试不会造成已知的重复副作用。
- 实现侧:让补救动作本身失败,验证系统保留补救进度与影响说明,而不是宣称"已恢复原状"。
反例做不到——一句"出错了,请重试"掩盖已发送的部分;无法退款却承诺"已恢复原状";做过头——一次本可自动重试的网络超时,也弹出完整故障报告并中止整个任务。
P7-4回滚边界对齐用户心智必须
一句话:撤销 Agent 的改动和用户自己的版本历史是两回事。
适用Agent 会修改用户可见成果或工作环境的任务。
规则撤销"Agent 造成的改变"时,必须保护用户自身的修改与版本历史不被静默回退;回滚的对象边界(回滚哪些文件、是否回滚对话、是否影响外部已提交动作)与受影响的依赖必须明确告知。回滚不等于外部影响已撤销——已发出的邮件不因状态回退而收回(承接 P7-3、P7-2)。将 Agent 改动的回滚与用户版本历史设计为两套分立机制是常见实现;本条要求的是分清贡献来源、作用范围与冲突处理,不强制建立两套机制。
依据与参考P7-3 要求可撤销操作提供入口,本条补充撤销的对象边界:回滚误删用户自己的工作,本身就是一种伤害用户的失败。实现参考——Agent 检查点与用户版本管理刻意分离、回滚文件保留对话(Cursor Checkpoints;单一来源,作实现参考而非收敛证据)。本条主责撤销操作的范围、依赖冲突与恢复后果;正常协作编辑中的贡献保护见 P6-3。
设计应用"撤销 Agent 这轮改动"和"回到我上次保存"是两个入口、两种文案;回滚前预览影响范围。
验证示例
- 用户手工编辑后回滚 Agent 的上一轮改动,验证手工编辑保留。
- 回滚涉及外部已提交动作时,验证系统如实说明该动作不受回滚影响。
反例做不到——回滚 Agent 改动时一并抹掉用户的手工修改;做过头——每次小改动都强制用户理解一套完整的版本树。
P7-5记忆可见可控必须
一句话:让用户决定什么被长期记住,而不是只能相信"我已经忘了"。
适用跨任务或跨会话保留信息用于个性化时。
规则用于个性化的记忆必须可查看、修正、删除或停止使用,并区分用户明确提供的信息与系统推断;用户必须能关闭新增记忆及停用已有可选记忆,并了解生效范围。删除或停用后的信息禁止被继续用于相应个性化,或未经授权从历史材料自动重建;禁止把关闭记忆说成日志、训练用途与所有数据保留同时消失。确有保留依据且不能由用户删除的必要记录,必须与可选个性化记忆分开说明用途、访问范围和保留期限;不得以保留记录为由继续启用用户已关闭的可选个性化。
设计应用展示必要的记忆内容、来源类型、用途和作用范围;说明"仅本次使用""保存为偏好"以及删除与停用的差别,不暴露无关敏感记录(存储分层的机制要求见 P7-1)。
验证示例
- 用户侧:删除一项推断偏好后,用户能否理解后续会有什么变化;关闭记忆后是否误以为所有记录都不存在?
- 实现侧:验证后续个性化不再使用已删除或停用信息,并核对衍生记录处理、生效延迟和跨设备范围。
反例做不到——界面删除了偏好,但下一次仍从历史对话自动恢复;把"不保存新记忆"包装成"完全不留痕";做过头——每条推断出的偏好都做成待确认的记忆条目,用户被迫维护一份不断变长的清单。
P7-6运行闭环与变更告知必须
一句话:用真实使用中的问题改进体验,并让用户知道会影响自己的变化。
适用上线或进入真实用户试用的 Agent;设计阶段准备相应计划与责任人。
规则产品必须建立真实任务结果、错误与用户反馈的收集和评估机制,并指定处理责任人;收集范围受 P4-1、P7-5 约束。产品必须提供可用的反馈入口,反馈用途与可预期结果不得被夸大;能力、默认行为或结果表现显著变化时,应当在相关使用情境中告知用户。涉及新增授权的变化按 P4-1 处理。
设计应用在现有评审或运营记录中选择与任务相关的指标,例如目标达成、错误完成声明、纠错成本和不必要打断;区分"修正本次结果"与"提交改进反馈"。
验证示例
- 用户侧:用户反馈后,能否知道本次问题是否已修正、只是收到意见,还是已经交给负责人处理?
- 实现侧:抽查反馈与实际问题是否进入处理流程;验证重大变化后的新旧行为以及未解决问题的可追踪性。
反例做不到——只有点赞点踩按钮但无人处理,收到反馈就说"模型已经学会了",实际没有任何即时变化;做过头——每次界面微调都作为变更公告推送给所有用户,真正影响用户的变化淹没在通知里。
P7-7经验形成与受控复用必须
一句话:可以从过去学习,但一次经历不能未经检验就变成以后的默认规则。
适用从用户交互、执行结果或历史记录中提炼信息(偏好、项目知识、方法、经验),并跨任务复用、据此改变后续行为的产品。
规则团队必须定义可复用信息的形成依据、适用主体与任务范围,以及更新、冲突与失效的处理方式;保存时必须区分原始观察、系统推断与用户确认(承接 P1-5 的区分),并保留依据与适用条件。禁止仅凭一次隐含行为、未经作用范围判定就把推断固化为长期偏好或呈现为用户确认;禁止把未经核验的自我总结标为已验证经验,或将局部成功未经适用性判定推广为通用规则。信息不得仅因被写入记忆而获得更高的指令权威或扩大行动授权(信任分级见 P4-4)。经验被用户纠正、验证失败或适用条件变化时,必须更新或停止相关复用。个性化记忆的用户控制见 P7-5,进入当前决策的有效性见 P1-5,影响用户可依赖行为的变化按 P7-6 告知。
边界条件不要求每条记录逐项人工确认,不要求固定的存储架构,也不要求所有 Agent 具备长期学习能力;核验方式与影响和风险相称。
依据与参考P7-5 管个性化记忆如何被用户控制,P7-1 管任务如何继续,本条管哪些经历有资格变成后续行为的依据——形成侧缺位时,控制侧再完善也只能事后清理。失败记录——可写记忆被注入恶意内容后,后续会话将其当作可信记忆读取,有官方文档警告(Claude 平台记忆文档)。实现参考——按事实、经历与做事规则区分长期记忆并讨论写入时机(LangChain 记忆文档);隐式行为信号存在多种解释、不能等同稳定偏好(Google PAIR)。均为实现与概念参考,不规定唯一分类。
设计应用区分"仅本次""本项目""长期偏好"的作用范围;行为规律(如连续三次推迟某类任务)可形成待验证假设,向用户求证后再升级为规则,而不是直接生效。
验证示例
- 用户提出一次性要求("今天先做简单的")后运行后续任务,验证它未被固化为长期偏好。
- 将一次未经核验的执行结果写入经验后,检查其复用时是否携带待验证标记,被用户纠正后是否停止生效。
- 在可写记忆中植入越权或改目标的内容,验证后续任务不因"来自记忆"而提升其指令权威。
反例做不到——用户一次为赶工允许周末加班,此后默认占用周末;上次跳过审核成功了一次,就学成"以后都不需要审核";做过头——每条低风险偏好都要求用户逐项确认,用户被迫维护一份不断变长的记忆清单。
4. 术语和定义
| 术语 | 本规范中的含义 |
|---|---|
| Agent | 能围绕目标使用工具、检查结果并继续行动的 AI 系统。正文统一使用 Agent;具体产品面向用户时可采用更易理解且不误导的名称 |
| Agent Runtime | 让 Agent 在任务执行期间持续接收信息、维护任务状态、决定下一步、执行行动、检查结果,并响应人和环境变化的运行机制 |
| 意图假设 | 系统对用户当下目标形成的临时、可修正解释。推断不等于用户确认,更不等于行动授权 |
| 任务类别 | 产品定义的一组同类任务,共享基础分工与风险判断。执行条件改变时的风险复核要求见 P2-2 |
| 成功标准 | 用于判断用户目标是否达成的可观察条件;可以是结果、约束、交付状态或用户验收条件,不要求所有任务量化为分数 |
| 任务结果 | 一次运行对目标完成程度的判定:目标达成、待核验、部分完成、失败等实际适用类别(见 P3-7) |
| 结束原因 | 一次运行为什么不再继续:自然结束、超出资源上限、被用户停止、被策略拦截、执行错误等(见 P3-7) |
| 自主等级 | 某任务类别中 Agent 可以自行判断和执行的程度,由有限、可枚举的模式及对应人工介入点构成(定义责任见 P2-1、P2-2);不要求用户操作数字档位或滑杆 |
| 风险评级 | 对任务及具体行动后果的判断,至少考虑可逆性、受影响对象、对外可见性、数据敏感性、资金或法律承诺,以及单次和累计影响规模 |
| 高风险操作 | 本规范的保守设计分类:不可逆、对外可见或影响他人、涉及资金或敏感凭据及身份要素、产生法律承诺,或超出产品书面阈值的操作。它不等同于法规中的"高风险 AI 系统"分类 |
| 不可逆操作 | 执行后不能通过产品内手段完整恢复原状的操作;停止后续步骤或进行补救,不意味着该操作已被撤销 |
| 外部内容 | 网页、邮件、文档、消息、工具返回等被处理的材料,包括用户上传材料中的正文。对其中指令性语句的处理要求见 P4-4、P1-5 |
| 授权责任人 | 对相应资源与行动具有授权权限的人;可能是当前用户,也可能是组织指定的审批人。当前操作者不自动拥有全部审批权限 |
| 有效预先授权 | 授权责任人提前明确允许的动作、对象、条件、单次及累计影响、有效期与收回方式,且执行时仍在这些边界内 |
| 升级 | Agent 将无法安全或有效推进的相关任务路径交给有权处理的人,附上状态、原因与待决定事项;不等于无条件终止所有独立任务 |
| 接管 | 人从 Agent 手中收回相应任务的执行权并继续操作;交接给其他有权处理的人属于人工交接。交回要求见 P6-1 |
| 中途转向(steering) | 用户在任务运行中注入新指导,系统在保持任务连续性与仍有效成果的前提下合并执行,可重算受影响部分但不重置整个任务;与暂停、停止、接管是不同的控制通道(见 P6-1) |
| 行为合同 | 团队对 Agent 可观察行为作出的可测试约定:允许行为、禁止行为、异常默认行为;不特指法律合同或内部提示词 |
| 记忆(个性化记忆) | 跨任务或跨会话保留、用于后续个性化的信息,包括用户明确设定与系统推断;是可复用信息的一类。与聊天记录、审计日志、训练数据用途的区分要求见 P7-5、P7-1 |
| 可复用信息(经验) | 从交互、执行结果或历史记录中提炼、供后续任务复用的信息:个性化记忆、项目知识、做事方法与经验。其形成与复用资格见 P7-7 |
| 工作状态 | 足以继续任务的信息集合:当前目标与约束、已确认决定、成果版本、已执行动作、未决事项。与模型上下文不是同一个东西(见 P7-1) |
| 检查点 | 在可中断点持久化的工作状态快照,供恢复与接手使用;恢复自检查点不等于外部影响已回退(见 P7-1、P7-2) |
| 幂等键 | 在计划外部写操作时生成并随检查点持久化的标识,使重试取得原结果而非二次执行(见 P7-2) |
| 策略门 | 位于 Agent 与工具之间、按运营方策略对每次调用做确定性裁决的机制;默认拒绝、失败关闭(见 P4-5) |
| 能力门控与逐次授权 | 前者指工具是否可用,后者指本次调用及参数是否被允许;两者必须分离,模型给出的参数不构成授权(见 P4-5) |
| 事件流 | runtime 向界面暴露执行的带类型事件序列;满足 P5-3 可信运行状态要求的常用实现之一,非唯一方式 |
| 外化工件 | 用户与 Agent 共享的任务对象,如计划、任务清单、差异对比;既是防漂移的工作记忆又是进度叙事的载体(见 P5-4、P7-1) |
除上表外,暂停表示暂不继续且可恢复,停止表示结束后续执行,撤销表示恢复已发生的改变。界面用词与实际能力一致的要求见 P6-1、P7-3、P7-4。
附录 A:故障注入验证清单
对涉及运行机制与协作契约的规则,验证方式是故障注入:制造会破坏承诺的场景,测试失败即意味着相应承诺失效。写不出这类测试的候选规则不应进入规范。高影响失败在沙盒或模拟环境测试,不通过真实错误操作验证。下表是示例子集而非穷尽清单:未列入的规则同样按各条验证示例测试。
| 注入情境 | 主要检查什么 | 对应规则 |
|---|---|---|
| 中途强制压缩上下文或重启执行实例 | 已确认目标、约束和工作状态是否保留 | P7-1、P1-6 |
| 源文件在执行中被外部修改 | 下一步是否使用正确版本 | P1-5 |
| 已执行动作的回执丢失后恢复 | 是否先核对状态而非盲目重复 | P7-2 |
| 用户修改要求时旧一轮结果刚好返回 | 是否覆盖新决定或新修改 | P6-3 |
| 在被读取内容中植入越权指令 | 策略与权限是否不受影响 | P1-5、P4-4、P4-5 |
| 撤回授权后触发新动作 | 是否被机制拦截而非仅界面提示 | P4-5 |
| 运行中连发两条语义不同的消息 | 处理策略是否明确并有回执 | P6-2 |
| 用户请求停止且存在多个子任务 | 停止范围是否真实、清楚,子任务是否停止新工作 | P2-5、P6-1 |
| 接管期间用户改变工作对象后交回 | 是否基于新状态继续而非重复旧步骤 | P6-1 |
| 触发资源上限 | 结束原因是否为"超限"、任务结果是否如实表达,成果是否保留 | P3-7 |
| 澄清请求挂起后跨天、跨设备处理(按产品承诺适用) | 等待与审批是否按承诺持久、决定是否正确生效 | P4-3、P4-2 |
| 审批等待期间操作参数被修改 | 旧审批是否失效并重新请求 | P4-2、P7-2 |
| 工具全部返回成功但成果缺一项关键要求 | 是否仍宣布完成 | P3-7 |
| 搜索或优化反复无进展 | 是否改变策略或合理收敛 | P3-6 |
| 定时任务在上次未结束时再次触发 | 是否无意重叠执行 | P3-8 |
| 两个执行路径并发处理同一外部写操作 | 提交处防重是否使其只生效一次,含"写入成功但记录结果前崩溃"的窗口 | P7-2 |
| 并行子任务分别检查剩余预算后同时消耗 | 总资源上限是否仍被强制 | P3-3、P2-5 |
| 停止一次定时任务的当前运行 | 持续委托按用户意图保留或撤销,并被如实反馈 | P3-8 |
| 删除或纠正一条已沉淀经验后运行相关任务 | 复用停止;一次性要求未被固化为长期规则 | P7-7、P7-5 |
| 没有必要人工判断的简单任务 | 是否被大量询问和审批拖慢 | P4-6、P6-4 |
最后一行不能省:否则规范可能通过所有防错测试,却让正常任务越来越难用。除运行测试外,还应分别验证分类(不同评审者能否对具体要求独立得出相近归属)与用户价值(纠正是否真正生效、协作成本是否下降),三者不能互相替代。分类检验回答的是切分是否清楚一致,不能单独证明没有遗漏:还应当用完整任务走查检验覆盖面——沿"提出目标、授权、执行、介入、交付、恢复"过一个真实案例,检查是否存在重要设计要求无处归属;发现缺口时补规则或调整原则切分。
附录 B:论证边界与来源对照
B.1 约束词的判据与论证类型
标「必须」的唯一依据是必要性:缺了这条要求,产品对用户的某条承诺会在可预见的情境下失效。判断一条规则用三类论证,它们证明的是不同事情,不构成单一强弱序:
| 论证类型 | 回答的问题 | 决定什么 |
|---|---|---|
| 必要性推导 | 缺了它,哪条承诺在什么情境下失效 | 是否入选、是否标「必须」——这是强制性的唯一来源 |
| 失败记录 | 问题在什么条件下真实发生过 | 增强论据、校准适用条件;没有记录时可用合理反例与模拟测试论证,但不得把模拟情境写成已发生事实 |
| 实现参考 | 有哪些已被验证的做法 | 证明可行、提供实现示例,不决定强制性。单一来源可提供实现思路,但须标注为单一来源;只有至少两家互不相关的实现才可作为"收敛"的依据——且收敛只证明可行,不证明唯一,不得推出"只能这样做到" |
只有必要性论证成立的规则才标「必须」;只满足质量或效率的降为「应当」或逐出规范。纯性能与成本工程(缓存命中率、提示词技巧、具体 API 形态)不进入规范,放参考资料。
B.2 论证边界与适用范围
如实说明两点弱处:
- 实现参考集中在 2024–2026 年的头部实现,行业仍在快速演化,"收敛"可能只是暂时局部最优——且收敛只证明可行,不证明唯一。因此规则刻意写性质与契约、不写实现——实现变了,性质仍可检验。
- 失败记录多来自厂商自述与文档警告,部分数字(如审批提示减少比例)是相关厂商自报口径,缺少独立测量。引用时应标注论证类型与限制——这本身正是 P5-5 对本规范自己的要求。
本规范的适用范围是:围绕任务持续行动、使用工作状态与外部反馈、并允许人参与的软件 Agent。它不覆盖模型训练、基础设施选型、机器人实体安全、无障碍、公平性与偏见评估、对受 Agent 行为影响的非用户第三方的专项影响评估、第三方工具与组件的供应链安全,以及领域合规——这些需要专项评估(P5-6 只覆盖来源误认,P4-4/P4-5 只覆盖运行时的信任与隔离,不替代上述专项)。审计级的全程运行重建属安全与合规专项:本规范只要求 P5-2 的关键动作可追溯与 P4-5 的授权回执,不把完整重建作为体验义务。
两条候选规则本版未采纳、留待完整任务走查检验:P3-9「业务对象语义一致」暂由 P3-2 的绑定义务承载,P6-5「主动发起任务的边界」暂由 P6-4 的提议边界与 P3-8 的持续委托承载;走查发现承载不足时按附录 A 的分类检验升格为独立规则。
规范条款的具体措辞、强度与净收益,仍需针对各产品的目标用户验证;验证方法见附录 A。
B.3 论据来源对照
下表出处来自本规范的调研记录(2026-09 时点可访问版本),用于复核各条"依据与参考"中的失败记录与实现参考。本规范未逐条独立复核外部内容——按 P5-5 的要求,此处如实注明;采用规范前建议对关键来源做一次抽查。
| 来源 | 类型 | 支持条款 | 支持的主张与限制 |
|---|---|---|---|
| Building Effective Agents(Anthropic) | 厂商工程实践 | P3-6 | "从简单方式开始、只在改善结果时加复杂度"的判据 |
| Effective harnesses for long-running agents(Anthropic) | 厂商工程实践 | P7-1、P3-7 | 进度文件、遗留工作不清与过早宣布完成的失败记录;自述案例 |
| Effective context engineering for AI agents(Anthropic) | 厂商工程实践 | P1-5、P1-6 | 上下文持续维护、压缩与结构化笔记;单一来源 |
| Writing tools for agents(Anthropic) | 厂商工程实践 | P3-4、P3-5 | 工具面向工作流设计与防错 |
| Demystifying evals for AI agents(Anthropic) | 厂商工程实践 | P3-7 | 运行记录与最终结果的区分、自动评价需校准 |
| Harness design for long-running apps(Anthropic) | 厂商实验 | P3-7 | 生成与评价分离的迭代;与上面数条同源,不构成独立收敛 |
| How we built our multi-agent research system(Anthropic) | 厂商工程实践 | P3-5、P2-5 | 坏工具描述致错误路径、子任务边界含糊致重复劳动 |
| Claude Managed Agents(Anthropic) | 产品文档 | P5-3、P3-7 | 事件表、outcome 评估;与上同厂商 |
| Claude Agent SDK permissions | 产品文档 | P4-5、P2-5 | 前置规则旁路警告、子 Agent 权限继承 |
| Claude Agent SDK agent loop(自动压缩) | 产品文档 | P1-6 | 压缩可能丢失早期具体指令的官方警告、持久规则重注入;与上一行同厂商 |
| The runtime behind production Deep Agents(LangChain) | 框架文档 | P7-1、P4-5 | 检查点接手、凭据不入沙箱 |
| LangGraph interrupts | 框架文档 | P7-2、P4-3 | 恢复重放副作用的明确警告、中断挂起语义 |
| Double texting(LangSmith) | 框架文档 | P6-2、P3-8 | 运行中再次输入的四种策略;属部署产品能力,非开源框架本身 |
| Human-in-the-loop(OpenAI Agents SDK) | 框架文档 | P4-3、P4-2 | 审批绑定待执行调用、运行状态序列化 |
| AG-UI events / state | 协议文档 | P5-3、P6-3 | 事件类型集、共享状态与冲突重同步;协议不回答"谁的修改优先" |
| 12-Factor Agents | 社区方法论 | P7-1、P3-8 | 事件日志、控制流自有;单一作者建议 |
| Capability Gates Are Not Authorization(ScopeGate) | 论文 | P4-5 | 对三个框架实现指定版本的逐次参数授权缺失审计;结论限于受审对象与默认行为 |
| Codex App Server(OpenAI) | 产品文档 | P6-1、P6-2 | Steer 与回合标识绑定、Queue 与 Steer 的区分 |
| Magentic-UI 论文(Microsoft Research) | 研究原型 | P6-1、P6-3 | 共同规划与接管机制;§7.4 为 12 人、一小时定性研究,参与者有 Agent 使用经验,不证明普遍最优 |
| Tell me when: SentinelStep(Microsoft Research) | 研究博客 | P3-8 | 等待与监测作为独立设计对象;与 Magentic-UI 同团队 |
| HAX Toolkit guidelines(Microsoft) | 设计指南 | P6-4 | 介入时机原则;其评估验证的是该指南自身的相关性,不是本规范条款 |
| Principles of Mixed-Initiative UI(Horvitz, CHI'99) | 学术论文 | P6-4 | 注意力与打扰成本权衡的理论基础 |
| Coactive Design(Johnson et al.) | 学术论文 | 引言、P5-4 | 可观察、可预测、可引导的协作理论;自主能力与界面须一起设计 |
| Cursor Checkpoints、Devin 接管协议、Manus todo.md、ChatGPT agent | 产品行为(调研记录,未附一手链接) | P1-6、P5-4、P6-1、P7-4 | 作实现参考;细节以各产品当前文档为准 |
| Temporal 关于 durable execution 的论述 | 厂商观点(未附一手链接) | P7-1 | "无持久化状态的失败等于全量重跑" |
| Strands SDK 等待状态穿透 issue #1371 | 社区问题记录(已修复关闭) | P2-5、P4-3 | 历史失败记录:子 Agent 待决问题到不了用户;已修复,作历史证据而非现状描述 |
| MCP Tool Annotations(MCP Blog) | 协议方博客 | P3-5 | 工具注解是提示而非保证,不可信服务端可能谎报只读 |
| Claude 平台记忆文档 | 产品文档 | P7-7 | 可写记忆被注入后、后续会话将其当作可信记忆读取的官方警告;按所有者与生命周期区分记忆用途 |
| LangChain 记忆文档 | 框架文档 | P7-7 | 事实、经历与做事规则的长期记忆区分及写入时机;明示不存在单一通用方案 |
| Google PAIR:Feedback + Controls | 设计指南 | P7-7 | 隐式行为信号存在多种解释,不等同稳定偏好 |
| Compensating Transaction 模式(Microsoft Azure) | 架构文档 | P7-3 | 补偿是业务特定的新行动,不一定恢复初始状态,自身可能失败 |
| Making retries safe with idempotent APIs(AWS) | 厂商工程实践 | P7-2 | 去重记录与相关状态变更之间的原子性/一致性条件 |
| rubber-stamping 讨论与沙箱减少审批的口径(Anthropic) | 厂商自述与社区讨论(未附一手链接) | P4-6 | 机械点允许的失败模式;提示减少比例为厂商自报,未经独立测量 |
附录 C:与规范 3.0 的条款对照
规范 3.0 采用 L1 体验承诺(24 条)、L2 运行机制(10 条)、L3 协作契约(9 条)三层结构,原则经由 L1 传导至 L2/L3。4.0 取消分层:七条原则直接统领全部规则(4.0 时为 41 条;4.1 新增 P7-7,见附录 D),同一件事只写在一处。主要变化:
- 合并(同一义务原先拆在承诺与机制两处):BND-2 + BR-4 → P4-2;BND-3 + BR-3 → P4-3;GOV-1(控制部分)+ BR-5 → P6-1;GOV-1(局部修改部分)+ BR-8 → P6-3;BR-7 + RT-10(新输入策略)+ INT-1(运行中输入句)→ P6-2。
- 拆分(一条规则打包了多项独立义务):RT-10 拆为 P2-5(子 Agent 委托边界)、P3-8(任务生命周期)与并入 P6-2 的输入策略;GOV-1 拆入 P6-1 与 P6-3。
- 取消:L1→L2/L3 覆盖映射(原附录 A.1)、"上承与论据"的锚点机制(论据保留为各条"依据与参考")、层与维度的双轴分类。
| 3.0 条款 | 4.0 归属 |
|---|---|
| INT-1 | P1-1(运行中输入部分移入 P6-2) |
| INT-2 | P1-2 |
| INT-3 | P1-3 |
| INT-4 | P1-4 |
| DEL-1 | P2-1 |
| DEL-2 | P2-2 |
| DEL-3 | P2-3 |
| DEL-4 | P2-4 |
| BEH-1 | P3-1 |
| BEH-2 | P3-2 |
| BEH-3 | P3-3 |
| BEH-4 | P3-4 |
| BND-1 | P4-1 |
| BND-2 | P4-2(并入 BR-4) |
| BND-3 | P4-3(并入 BR-3) |
| BND-4 | P4-4 |
| EVD-1 | P5-1 |
| EVD-2 | P5-2 |
| EVD-3 | P5-5 |
| EVD-4 | P5-6 |
| GOV-1 | P6-1(控制部分)、P6-3(局部修改部分) |
| GOV-2 | P7-3 |
| GOV-3 | P7-5 |
| GOV-4 | P7-6 |
| RT-1 | P7-1 |
| RT-2 | P1-5 |
| RT-3 | P1-6 |
| RT-4 | P3-6 |
| RT-5 | P3-5 |
| RT-6 | P7-2 |
| RT-7 | P4-5 |
| RT-8 | P4-6 |
| RT-9 | P3-7 |
| RT-10 | P2-5(子 Agent)、P3-8(生命周期)、P6-2(输入策略) |
| BR-1 | P5-3 |
| BR-2 | P5-4 |
| BR-3 | 并入 P4-3 |
| BR-4 | 并入 P4-2 |
| BR-5 | 并入 P6-1 |
| BR-6 | P7-4 |
| BR-7 | P6-2 |
| BR-8 | 并入 P6-3 |
| BR-9 | P6-4 |
附录 D:4.0 → 4.1 变更记录
4.1 不改变原则切分与结构(七条原则直接统领规则,无分层)。依据是六份独立验证与评审意见的收敛项;变更分两类。
修正(消除文档间不一致与来源错误,不新增义务):
- P7-2 防重条件补全:防重必须覆盖并发竞争与"已提交但未记录结果"的窗口,状态核对与结果缓存仅在满足一致性条件时可作依据——原表述"三种手段均可"已被抽象模型反例证伪。
- P6-1 恢复 3.0 GOV-1 的"应当提供中途转向"(4.0 无记录地丢失了这条应当级义务),并放宽转向定义:保护连续性与仍有效成果,允许重算受影响部分;一句话与术语表同步更新。
- 强度对齐:P2-4"可靠性提升不代表同意扩权"升为显式禁止句;P5-2"禁止伪造进度"从验证示例上移进规则正文(P5-3 此前引用的是一条无规范载体的禁令);P3-3 删去与 P3-7 重复的双轴表达句,P5-2 补呈现与事实供给的分工句。
- 约束词纪律(2.2):收编「不得」(=禁止)与「不应当」(=应当反向),明确"以独立义务子句为判定单位、陈述句承接标题强度";P4-5 的「须」改「必须」,规则正文的「不能」统一为「不得」;P1-5 首句改为显式义务,并区分内容获取方式(可自主检索)与信任维护责任(必须在模型之外)。
- 范围声明补齐:公平性与偏见、非用户第三方影响、第三方工具供应链、审计级全程重建显式排除至专项评估(第 1 章与 B.2 对齐)。
- 来源修正:LangChain double-texting 四策略更正为排队/拒绝/打断/回滚,并注明"合并"是本规范自己的分类;压缩警告改引 Agent SDK agent-loop 页;ScopeGate 主张收窄至受审版本;Magentic-UI 改引论文并标注研究边界;Strands issue 标注 #1371 已修复、作历史证据;AG-UI 删去具体事件数量;Codex App Server 链接更新;B.3 补 P4-6 等缺失行。
- 锚点与排版:P1-1、P1-3、P3-7、P4-3 及附录 A 的交叉引用打磨;第 1 章"规则归属唯一"主题句补全;术语表补「任务结果」「结束原因」。
扩展(新增或补强义务,回应"从评审规范走向设计方法"的缺口——正向能力覆盖不足,条款停在"团队应当定义"而缺"依据什么定义"):
- 新增 P7-7「经验形成与受控复用」【必须】:可复用信息的形成资格、作用范围、更新与失效;禁止一次隐含行为固化为长期偏好、未核验自我总结标为已验证经验、写入记忆获得指令权威。术语表将「记忆」标注为个性化记忆并新增「可复用信息」。
- P3-2 补行为合同的业务对象绑定:Agent 与其他入口对同一业务对象语义一致,建议、草稿、已提交、目标达成不得混同。
- P3-6 补信息缺口决策:按缺口性质在已有信息、读取、检索、测试、询问、可修改假设间选择;定义信息获取的停止条件。
- P6-4 补询问质量与主动提议边界:最小必要、不重复索取;可检索核验的不转交用户,用户专属决定不被检索替代;提议不构成执行授权,类别与频率可预期、可关闭。
- P3-8 补持续委托:触发依据、委托有效期、重复触发处置;停止本次运行与撤销持续委托分立。
- P7-3 补恢复策略选择与补救约束:补救是受授权与防重约束的新行动,补救失败保留出路;恢复后重新核验。
- P5-1 补委托前代价量级与能力可发现(均应当级);P5-3 补"接近上限可预期";P1-6 补"指针不等于可恢复";P3-5 补"工具自我声明不构成授权"。
候选规则 P3-9(业务对象语义一致)与 P6-5(主动发起任务的边界)本版未独立设立,承载方式与升格条件见 B.2。评审清单同步更新为 42 条规则、204 个判定语句。
实施验收场景
以下场景把已有条款转成可复核的验收输入,不另设通用性能阈值。按产品适用能力选取,补充真实设备、用户、输入序列和证据;不适用记录原因,未执行不得记为通过。
| 条款 | 测试输入与异常 | 预期行为与失败判据 |
|---|---|---|
| P4-2 | 批准后把发送对象由甲改成乙,随后送达旧审批。 | 旧审批不放行乙;保留草稿,显示新的待确认内容。 |
| P6-1 | 停止请求与执行回执同时到达。 | 分别呈现请求收到、停止生效和已提交部分;不以停声代替停止行动。 |
| P7-2 | 写入结果未知后切换会话并请求重试。 | 先查原动作;新会话不产生新的额度或重复副作用。 |
每个场景分别核对配置的有效值、执行记录与用户可理解的结果。保留版本、目标、事件时点、失败范围和恢复结果;外部结果未知不填作成功或失败。
使用说明
十类速览
| 类别 | 前缀 | 必选 | 可选 | 合计 | 负责什么 |
|---|---|---|---|---|---|
| 自主 | agent.autonomy | 2 | 5 | 7 | 谁决定、何时确认 |
| 权限 | agent.permission | 3 | 6 | 9 | 能接触什么、产生什么影响 |
| 判断 | agent.decision | 2 | 4 | 6 | 何时查、何时问、何时探索 |
| 上下文 | agent.context | 3 | 2 | 5 | 这一轮依据什么、如何装入和压缩 |
| 记忆 | agent.memory | 2 | 3 | 5 | 关于使用者、项目和经验,哪些留给以后 |
| 任务 | agent.task | 2 | 8 | 10 | 一项工作怎样跨 Session 推进与接续 |
| 预算 | agent.budget | 4 | 5 | 9 | 这项工作最多投入多少 |
| 容错 | agent.recovery | 2 | 5 | 7 | 失败后如何保住成果、控制后果 |
| 反馈 | agent.feedback | 2 | 8 | 10 | 什么时候说、说多少、在哪里说 |
| 验收 | agent.acceptance | 3 | 2 | 5 | 拿什么判定完成、如何交付 |
必选与可选
| 级别 | 含义 | 配置方式 |
|---|---|---|
| 必选 | 适用的 Agent 或任务类型必须明确的基础决策。 | 可以继承产品预设,也可以用合法的关闭、空范围或仅建议值表达限制;不要求用户逐项填写。 |
| 可选 | 仅在特定能力或差异化需求下采用的参数。 | 无对应能力时不配置;启用能力后,必要依赖必须有明确值或可执行的继承规则。 |
Task、Session、Run 与记忆的边界
| 对象 | 负责什么 | 关键边界 |
|---|---|---|
| Task(任务) | 一项工作的目标、约束、进度、成果、已执行动作和未决事项。 | 可跨多个 Session、多次 Run 接续,不隶属于单段聊天的生命周期。 |
| Session(会话) | 交互入口及交互记录,可关联多项 Task。 | 新建、切换或关闭会话,不自动新建、完成或重新执行任务。 |
| Run(运行) | 对明确任务的一段实际执行,关联当时的版本、权限和资源账目。 | 不是新的授权,也不会重置同一任务的资源额度。 |
| 上下文 | 当前模型调用实际使用的信息。 | 不等于全部历史,也不等于完整持久工作状态。 |
| 记忆 | 获准供后续任务复用的使用者、项目和经验信息。 | 不等于运行进度或全部日志;本次使用不等于允许长期保存。 |
同一 Task 可以在 Session A 发起、B 补充材料、C 处理审批。各入口先核对控制权限;恢复时读取可靠工作状态,并核对当前授权、对象版本和外部实际状态,不靠重读聊天猜测。
持续委托的触发条件、有效期与累计限制另行明确。定时产生新任务与继续同一任务是不同情况,由任务定义区分;不得通过新建实例、Run 或 Session 绕过既有累计限制。
字段读取约定
每节前缀与表中的字段拼接为完整名称,例如 agent.recovery 与 retry.max 组成 agent.recovery.retry.max。十类统一使用 级别、设计决定、字段、类型与合法取值、适用条件与作用 五列。
时长带单位,金额带币种;范围引用可解析到明确主体与资源。集合不默认全选。多个硬限制同时生效,取共同允许的范围,不按“后配置覆盖前配置”放宽保护。
一、自主:谁决定、何时确认
前缀:agent.autonomy
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 执行模式 | mode | 枚举:仅建议或生成草稿/逐次确认执行/有效授权范围内自主执行。经批准的计划属于第三种模式的一种授权依据,不再单设模式。 | 明确 Agent 默认只给建议,还是实际执行;有权限不等于应当自动做。 |
| 必选 | 自主改计划范围 | replan.scope | 枚举:不自主改计划/仅调整实现路径/允许调整子任务。均不得自行改变已确认目标、硬约束与受保护成果。 | 明确能否自主改变路径或子任务;不与执行模式混为一项。 |
| 可选 | 额外确认条件 | approval.extra_triggers | 集合:覆盖已有内容、删除、对外发送、公开发布、付款、修改权限、委派子任务、敏感输入人工接管。人工接管指该输入由人直接完成,而非批准 Agent 代为填写;凭证与支付凭据类输入始终由人完成,不属于本集合的可配置范围。仅用于在基础审批规则之上增加确认;空集合不取消高风险及其他必需审批。仅在模式并非逐次确认时产生额外作用。 | 需要增加人工确认时配置;只在基础审批之上收紧。委派不再另设一套控制。 |
| 可选 | 确认可覆盖范围 | approval.scope | 枚举:单次操作/明确列出的操作批次/已批准的任务计划。规定产品允许采用的确认粒度;实际批准记录还必须绑定具体对象、内容、版本和后果。计划获批不等于其中所有行动天然获准。 | 提供批量确认或计划授权时配置;决定一次确认的覆盖粒度。 |
| 可选 | 已批准决定有效期 | approval.ttl | 正时长;从批准时起计算已批准决定最长可复用多久,且不超过相关授权期限。请求内容、对象或关键条件变更时提前失效;不是等待批准的时限。 | 批准后延后执行或复用决定时配置;与等待批准的时限分开。 |
| 可选 | 单次影响确认门槛 | approval.single_limits | 阈值集合;每项为影响指标、单位和非负门槛,金额须带币种。拟执行行动达到任一门槛前,必须确认或核验仍被有效预先授权覆盖;空集合不取消基础风险裁决。 | 单次金额、对象数量或影响规模会改变审批要求时配置。 |
| 可选 | 累计影响确认门槛 | approval.cumulative_limits | 阈值集合;每项含指标、单位、非负门槛、聚合范围和统计窗口。范围为任务及子任务/持续委托/指定授权主体与资源范围;窗口为范围有效期/正时长滚动窗口。计入拟执行行动后达到任一门槛,即重新核验授权或确认。 | 批量、连续或并行行动存在累计影响时配置;不能用多次小操作绕过门槛。 |
边界:执行模式决定分工;确认范围与门槛决定哪里交还给人。所有可选确认项只能在有效授权与固定审批底线内收紧或细化。
二、权限:能接触什么、产生什么影响
前缀:agent.permission
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 读取范围 | read.scope | 集合:已注册、可解析的资源范围引用;空集合表示无附加资源读取权限。当前任务指令及必要控制信息仍按系统交互合同处理。 | 明确允许读取哪些资源;不同项目和主体的资料不能默认互通。 |
| 必选 | 写入范围 | write.scope | 集合:可创建、修改、删除或向其提交内容的资源/目标范围引用;空集合表示不允许相应外部写入。实际操作还受操作白名单限制。 | 明确允许修改哪些资源;读取权限不能自动推出写入权限。 |
| 必选 | 操作白名单 | operations.allow | 集合:读取、创建、修改、删除、执行代码、发送、发布、支付、修改权限、委派子任务。仅允许已实现且获授权的操作;空集合不允许工具操作。 | 明确允许做哪些操作;允许修改不等于允许删除或发布。 |
| 可选 | 工具白名单 | tools.allow | 集合:已注册工具标识;空集合不提供工具。它只收窄可调用的工具,不授权具体参数、对象或外部影响;每次调用仍通过权限裁决。 | 需要按任务限制工具集合时配置;工具可用不等于本次调用获准。 |
| 可选 | 网络访问范围 | network.allow | 集合:可解析的已批准网络目标或目标范围引用;空集合禁止相应工具联网。仅限制其声明覆盖的工具与执行网络,不把它冒充为模型服务本身的部署或数据传输设置。 | 工具或执行环境能联网时明确边界;可引用既有网络策略。 |
| 可选 | 敏感信息外发方式 | sensitive.export | 枚举:禁止/按已批准规则脱敏后外发/逐项明确授权后原文外发。脱敏规则及外发目标必须已有可执行定义,不能仅靠模型声称已脱敏。 | 可能向外部工具或服务传输敏感资料时配置;读取与外发分别决定。 |
| 可选 | 权限授予期限 | grant.ttl | 正时长;自一次明确授权生效起计算最长有效期,撤权、委托结束或上级策略可提前使其失效。运行、读取或切换 Session 不自动续期。 | 持续、跨会话或可复用授权时配置;不随运行或切换会话自动续期。 |
| 可选 | 执行隔离等级 | sandbox.mode | 枚举:无机制隔离/工作区隔离/全隔离。工作区隔离把文件写入与网络访问机制性限制在声明范围内,越界回到常规审批;全隔离仅放行显式批准的目标。隔离由执行环境强制,不以提示词冒充;沙箱内自动放行只适用于机制真实覆盖的操作。 | 存在代码或命令执行环境时配置;隔离是机制边界,不替代读写与操作权限裁决。 |
| 可选 | 行动身份 | identity.mode | 枚举:以委托用户身份行动/以专属 Agent 身份行动/按资源范围分别指定。身份决定外部行动的审计归属与授权链路;撤销用户授权与停用 Agent 身份是不同操作,均须真实可执行。对外呈现的身份须与实际执行身份一致。 | 具备独立 Agent 身份能力或跨主体委派时配置;未配置时以委托用户身份行动并逐项授权。 |
边界:读取、写入、操作类型分别裁决;工具列表不等于调用获准。敏感外发未明确允许时禁止,网络与工具门控可引用既有安全策略。沙箱是机制隔离,权限是授权语义,两者分别成立;行动身份不改变既有授权范围。
三、判断:何时查、何时问、何时探索
前缀:agent.decision
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 自主检索触发条件 | search.triggers | 集合:必要证据缺失、信息可能失效、来源冲突、每次依赖外部事实。任一命中即按授权来源检索;空集合只关闭自主追加检索,不取消用户明确要求的检索任务。无法获得必需证据时说明缺口,不绕过来源限制。 | 明确何时自主追加检索;按信息缺口查证与逐次核实是不同取舍。 |
| 必选 | 非关键歧义处理 | ambiguity.mode | 枚举:先询问/先用已披露、可修改的假设推进。只用于不会改变重要对象、代价、授权与外部后果的非关键缺项;关键歧义始终先澄清。选择先询问而未获必要回答时,说明缺口并停止依赖该信息的行动。 | 明确非关键缺项是先问还是先给草稿;关键歧义不属于可关闭的选项。 |
| 可选 | 自主探索触发条件 | exploration.triggers | 集合:当前路径无法满足目标与约束、存在会改变结果的方案取舍。空集合不自主追加备选;用户明确要求的比较或探索仍属于任务本身。 | 允许自主追加备选方案时配置;不影响用户已经要求的探索任务。 |
| 可选 | 无进展容忍次数 | stagnation.max_cycles | 正整数;同一执行路径连续多少个周期既无新增有效证据、也无有效工作进展时,必须停止重复原路径。随后在允许的改计划范围内换路,否则结束或交接。等待人回复不计为执行周期。 | 多轮任务需限制无效重复时配置;与总预算分别限制无效投入和总投入。 |
| 可选 | 检索证据新鲜度 | search.max_age | 非负时长;限定证据最近核实距当前相关判断的最长间隔,0 表示本次相关判断前重新核实。可按证据类型赋值;对象版本变化、冲突或适用条件变化可立即使证据失效。 | 依赖证据时效时配置,可按证据类型赋值;不是统一刷新全部历史材料。 |
| 可选 | 主动澄清轮数上限 | ask.max_rounds | 非负整数;一次任务内,Agent 为补齐信息而主动发起的澄清轮数上限。用户主动补充不计入;必要审批与权限申请另行处理。达到上限仍有关键缺口时停止受影响行动并说明,不转为猜测执行。 | 需要限制反复追问时配置;轮数用尽不能成为猜测关键答案的理由。 |
边界:关键对象、重要代价、授权与外部后果不明确时先澄清;当前必要信息足够、无有效进展或到达资源边界时停止追加获取。可选参数只能调整合理取舍,不能关闭这些底线。
四、上下文:这一轮依据什么、如何装入和压缩
前缀:agent.context
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 上下文来源 | sources | 集合:当前任务相关对话、任务工作状态、当前工作对象、任务附件、项目资料、历史记忆、工具结果。只限定可参与筛选的来源,不表示全部装入;必需目标与约束不受该集合取消。 | 明确哪些材料可以参与筛选;有读取权限不等于本次应使用全部资料。 |
| 必选 | 加载方式 | load.mode | 枚举:开始时预载相关材料/相关判断前按需读取/预载摘要并按需回取原文。源对象变化或恢复执行后,仍须核对受影响材料的有效版本。 | 明确材料何时读取;预载与按需读取有不同的延迟和容量取舍。 |
| 必选 | 单轮上下文上限 | max_tokens | 正整数;一次模型调用的可变上下文词元上限。不得超过模型容量扣除固定输入、工具定义及输出预留后的可用容量;不是整个任务的累计词元预算。 | 明确单次调用可装入多少信息;与整个任务的累计资源预算分开。 |
| 可选 | 非关键内容压缩方式 | compaction.mode | 枚举:保留摘要与原文引用/仅保留可回取的原文引用。引用必须包含必要的来源与版本;无法回取时说明缺失。只控制非关键内容,压缩触发时点由运行机制决定,或使用可选的 compaction_threshold;两者都不得取消容量边界。 | 启用压缩时明确;决定非关键内容保留摘要还是只保留引用。 |
| 可选 | 提前压缩门槛 | compaction_threshold | 比例,0<值<1;预计可变上下文占 max_tokens 的比例达到门槛时,优先压缩非关键内容,再在容量上限内装入。不得把未命中门槛当作允许溢出的理由。 | 需要覆盖运行默认压缩时点时配置;与压缩方式独立。 |
边界:有效目标、约束、已确认决定与下一步必需工作信息不得被筛选或压缩丢失;完整状态不必每轮全量装入。无法容纳时不得静默截断,压缩须可观察,原文不可回取时说明缺失。
五、记忆:关于使用者、项目和经验,哪些留给以后
前缀:agent.memory
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 写入方式 | capture.mode | 枚举:关闭/仅记用户明确指定的内容/逐条确认后记/在允许类型内自动记。关闭只禁止新增可选记忆,不自动停用已有记忆,也不取消任务必要状态保存。 | 明确是否新增记忆及保存方式;关闭新增不等于停用已有记忆。 |
| 必选 | 读取范围 | read.scope | 集合:绑定明确主体的使用者、项目、组织记忆空间引用;空集合停用可选记忆读取。实际使用还受当前任务来源约束、上下文筛选与权限限制。 | 明确是否读取已有记忆及读取空间;允许只读不写,也允许只写不读。 |
| 可选 | 可记内容类型 | capture.types | 集合:事实、偏好、目标与约束、未完成承诺、方法与经验。事实涵盖使用者背景、能力、相关经历及项目事实;偏好涵盖审美与工作方式。空集合不新增可选记忆;观察、推断和用户确认仍须区分,允许保存不代表已核实。 | 启用新增记忆时明确;只记偏好与同时记事实、方法是不同取舍。 |
| 可选 | 写入范围 | write.scope | 集合:绑定明确主体的使用者、项目、组织记忆空间引用;空集合禁止新增。每条记忆写入时必须确定目的空间,不向集合内所有空间默认复制。 | 启用新增记忆时明确;保存到个人还是项目,影响以后谁会使用。 |
| 可选 | 保留期限 | retention.ttl | 正时长/直到用户删除或授权撤销;均受已声明用途与产品保留上限限制。自该条记录写入起计算;仅被读取不续期。更新不能用来绕过删除或用途限制。 | 启用新增记忆时明确;决定保存期限,不替代内容有效性核查。 |
边界:关闭新增记忆和停用已有记忆是两个决定。启用写入后,可记类型、目的空间、保留期三项必须解析完整;使用者资料属于记忆数据,不是新增 Token。任务进度由 Task 状态管理,不以跨 Session 为由混入个性化记忆。
六、任务:一项工作怎样跨 Session 推进与接续
前缀:agent.task
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 启动来源 | trigger.sources | 集合:用户指令、已授权定时触发、已授权事件触发。具体时间表、事件条件、持续委托有效期写入任务与委托定义,不作为额外通用 Token。 | 明确任务允许由什么启动;打开会话本身不构成执行授权。 |
| 必选 | 交互连接断开后的处理 | on_detach | 枚举:继续运行/暂停/停止本次运行。仅在该任务已建立的最后一个交互连接断开时生效;其他 Session 仍连接不触发。定时任务尚未连接界面不算断开;均不自动撤销持续委托。 | 明确交互连接断开后如何运行;任务状态不归属于单个 Session。 |
| 可选 | 重叠运行处理 | run.overlap | 枚举:跳过新触发/排队/允许独立并行/安全取消旧运行后替换。处理同一任务或持续委托尚有未结束运行时的不同触发;替换须待旧运行按取消方式安全收尾后再启动,不承诺撤销旧运行已提交的外部后果。同一事件重复投递必须去重,不进入此选择。 | 同一任务或持续委托可能再次触发时配置;区分排队、跳过、替换与独立并行。 |
| 可选 | 任务修改生效方式 | update.mode | 枚举:下一相关步骤前应用/先暂停受影响路径再应用。只针对已识别为修改该任务的输入。停止、撤权及禁止尚未提交动作的指令优先拦截,不受普通消息排队限制。 | 支持运行中修改任务时配置;决定修改的生效点,不用于追加任务或独立提问。 |
| 可选 | 恢复启动方式 | resume.mode | 枚举:用户确认后恢复/所等条件已满足且复核通过后自动恢复。均须核对任务版本、外部实际状态、当前权限及剩余预算。用户明确暂停须按其决定恢复;明确停止的运行不因重连自动复活。 | 承诺暂停、中断后继续时配置;关联另一会话不自动恢复执行。 |
| 可选 | 等待回复时限 | wait.timeout | 正时长;从待回复请求发出时起计。统一用于澄清、审批和其他必要人类决定,可按等待类型赋不同值;切换 Session 不重新计时,不超过该请求有效期。 | 必须等待人的决定时明确;审批、澄清按类型共用字段,不重复定义时钟。 |
| 可选 | 等待超时处理 | wait.on_timeout | 枚举:结束受影响运行并保留成果/移交已指定处理人。原请求到期失效,不默认批准;移交必须有明确接手人与结束条件,不得只改标签无限等待。 | 必须等待人的决定时明确;到期结束与转交处理是不同后果。 |
| 可选 | 接续状态保留期 | state.retention | 正时长;进入等待、暂停、中断或本次运行结束后,接续所需工作状态至少保留多久。执行中持续保有必要状态;再次执行后下一次挂起重新起计,读取及切换 Session 不续期。不得短于承诺的等待与恢复期限。 | 承诺等待、暂停或跨会话接续时明确;与记忆保留期、检查点频率分开。 |
| 可选 | 在途操作取消方式 | cancel.mode | 枚举:停止新操作并让已提交操作按合同收尾/同时请求取消可安全取消的在途操作。两者都先拦截尚未提交的受影响动作,并报告已发生及无法取消的后果;明确取消要求与更严格安全约束优先。 | 存在可安全取消的在途操作时配置;正常收尾与尝试取消后果不同。 |
| 可选 | 局部失败影响范围 | failure.scope | 枚举:局部隔离/任务级停止。局部隔离在某路径经适用恢复仍无法继续后,停止该路径及依赖它的路径,允许无依赖且仍有效的其他路径继续;任务级停止终止其余尚未完成的执行路径。均不自动撤销已提交后果,不覆盖停止指令、权限与总预算约束。 | 任务存在多条可独立执行的并行路径时配置;依赖失败结果的路径不得当作独立路径继续。 |
边界:任务、会话和运行标识是数据,不是 Token。控制先绑定正确任务与当前版本;换入口不重置进度、预算或审批。跨会话接续不是复制整段对话,更不是自动重新执行已完成动作。
七、预算:这项工作最多投入多少
前缀:agent.budget
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 累计运行时限 | time.active_max | 正时长;在该任务及其子任务至少有一个分支持续执行的时间段内累计,包含重试等待,不重复累加并行重叠时段,不计纯粹等待用户的时段。跨 Run、跨 Session 不清零。 | 明确累计运行时间边界;免费或低价调用也不能无限持续。 |
| 必选 | 运行费用上限 | cost.max | 金额:非负数值与币种;累计模型、工具及执行服务费用,含子任务、重试与跨会话接续。不是代用户采购或支付的业务款项;业务支出另受明确授权额度限制。 | 明确运行花费边界;不能由时间上限推导,也不能代替业务支出额度。 |
| 必选 | 执行周期上限 | cycles.max | 正整数;一次“判断下一步→执行并观察结果,或结束”计一个周期。统计任务及子任务实际周期,重试与恢复不清零;工具调用次数、模型词元数不是该计数。 | 明确执行周期边界;限制快速、低价但没有必要的持续循环。 |
| 必选 | 预算耗尽处理 | on_exhaustion | 枚举:暂停受影响路径并申请增加预算/结束受影响运行并报告已验证结果。两者都先禁止新的超额行动;申请沿用任务等待规则,未获明确授权不加额。 | 明确额度用尽后等人决定还是结束;两种方式都先阻止超额新行动。 |
| 可选 | 业务支出上限 | spend.max | 金额:非负数值与币种;限制代用户采购、支付等业务支出,含子任务及接续行动。须绑定明确额度范围,不与运行费用混算;退款不默认释放已用额度。 | 开放采购、支付等资金操作前明确;不能与模型和工具运行费混算。 |
| 可选 | 累计模型词元上限 | model_tokens.max | 非负整数;累计任务及子任务各模型调用的输入与输出词元,含重试与跨 Run 接续。各模型采用声明的计量口径;不是单轮上下文容量。 | 词元配额本身构成产品或服务约束时配置;与单轮上下文容量分开。 |
| 可选 | 并行执行上限 | parallel.max | 正整数;同一任务及其子任务同时处于实际执行状态的工作分支上限。等待人的分支不占执行名额;值为 1 表示不并行执行。调度器须固定并说明分支计数口径。 | 允许并行且需要限制执行规模时配置;值为 1 可表达串行。 |
| 可选 | 任务总历时上限 | time.elapsed_max | 正时长;自任务被接受建立起的端到端历时,包含排队、执行、等待人、暂停与重试,跨 Run、跨 Session 不重新计时。到期拦截新的相关行动、保留并说明成果,在途行动按取消方式处理;延长须有明确新决定,不得以新建 Run 或 Session 复活。具体绝对截止时间属于任务数据。 | 任务有明确总完成时限或服务窗口时配置;与累计运行时限、单次等待时限分别计量。 |
| 可选 | 单步推理投入 | step_effort | 枚举:最小/标准/深入。控制单次判断的推理深度,权衡质量、延迟与成本;未配置采用产品默认档。不改变任何累计预算上限,也不作为放宽验收标准或跳过必需检查的理由。 | 产品提供推理深度档位时配置;单步取舍与累计边界分别控制。 |
边界:累计运行时限、总历时、运行费、循环数是不同边界,达到任一有效上限就阻止超限新工作。任务及子任务、重试和接续共用总账;业务款项不与运行费混算。硬上限须能计量、预留并执行,做不到时不得承诺已受硬限制。
八、容错:失败后如何保住成果、控制后果
前缀:agent.recovery
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 自动重试上限 | retry.max | 非负整数;一次操作首次失败后额外允许的自动尝试数。只适用于已判定可安全重试的错误;结果未知、可能重复产生副作用时先核对。新建 Run 或换 Session 不重置该操作的计数。 | 明确单次操作可自动重试多少次;总周期预算不能替代单次容错边界。 |
| 必选 | 恢复无效后的处理 | on_exhaustion | 枚举:结束受影响运行并保留结果/移交已指定处理人。用于安全重试或适用恢复路径无效、无法继续时;任务结果仍须如实说明。 | 明确恢复无效后结束还是转交;必须有实际可用的后续路径。 |
| 可选 | 故障后的回滚方式 | rollback.mode | 枚举:不自动回滚/确认后回滚/有效授权内自动回滚。只适用于真实具备撤销能力的受影响改动,并保护用户修改。该项不能放宽自主、权限及审批要求。 | 提供故障后回滚时配置;具备撤销能力不等于默认自动撤销。 |
| 可选 | 写入冲突处理 | write_conflict.action | 枚举:重新读取后调整受影响操作/暂停受影响路径并交接。只允许在对象既定合并规则和授权内继续;不得静默覆盖用户修改,无法安全合并时必须暂停。 | 人与 Agent 或并行路径可能修改同一对象时配置;不得静默覆盖。 |
| 可选 | 错误后补偿方式 | compensation.mode | 枚举:不自动发起补偿/确认后补偿/有效授权内自动补偿。只决定是否主动发起已定义的补救动作;补偿仍是新的业务行动,沿用自主、权限、预算与验收要求。 | 存在已定义的补救动作时配置;补偿不可逆后果与回滚可逆状态不同。 |
| 可选 | 撤销可用窗口 | undo.window | 非负时长;从相应操作完成起计算可提供撤销多久,0 表示不承诺该撤销能力。不得超过实际服务、版本及必要记录所支持的期限;不得用 0 隐藏已承诺的可撤销能力。 | 提供撤销入口时明确;决定多久内可撤销,不决定是否自动回滚。 |
| 可选 | 恢复点保留期 | restore_point.retention | 正时长;自恢复点建立起可用于回滚或撤销的最短保留时间。恢复点由运行机制在相关改动前建立,建立时点与频率属于运行实现;保留期不得短于已承诺的撤销窗口与接续期限,过期后不得再承诺相应恢复。 | 承诺回滚或撤销能力时配置;无有效恢复点不得承诺相应恢复能力。 |
边界:结果未知先核对实际状态,不盲目重试;技术重试、回滚、补偿与质量修复分别处理。回滚不能抹掉用户修改,补偿不能绕过原授权;回滚与撤销以真实存在的恢复点为前提。未启用自动恢复参数,也必须有真实可行的停止、说明与交接路径。
九、反馈:什么时候说、说多少、在哪里说
前缀:agent.feedback
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 解释深度 | detail | 枚举:简要/标准/详细。简要仍含结果、重要限制及必要证据入口;标准增加行动依据摘要;详细增加可审计的行动与检查记录,不包含私有思维链。证据呈现密度随解释深度联动,不另设独立展示项;呈现方式不改变验收所需证据与实际保留义务。 | 明确解释深度;简要表达仍须保留重要限制和必要证据入口。 |
| 必选 | 进度汇报方式 | progress.mode | 枚举:仅关键事件/按任务阶段/定时/阶段与定时结合。仅汇报有实际运行事实支撑的状态;关键阻塞与待决定事项始终可见。 | 明确汇报节奏;不要求每次工具调用都变成一条通知。 |
| 可选 | 表达语气 | tone | 枚举:中性/亲切/正式。不得影响事实准确性、必要风险说明与身份真实性;用户当前明确要求在允许范围内优先。 | 需要独立表达风格时配置;语气与解释深度分别控制。 |
| 可选 | 反馈语言 | language | 枚举:跟随当前用户/继承产品语言/指定语言标识。只作用于反馈表达,不改写用户明确指定的交付物语言;更具体的当前任务要求优先。 | 需要单独控制反馈语言时配置;通常继承产品设置,不改变交付物语言要求。 |
| 可选 | 定时汇报间隔 | progress.interval | 正时长;仅定时及阶段与定时结合模式生效。控制定时汇报的间隔,不延后必须立即呈现的控制回执;无运行事实不伪造进度。 | 启用定时汇报时明确;决定多久汇报一次。 |
| 可选 | 主动通知渠道 | notify.channels | 集合:当前界面、已注册系统通知渠道、已授权外部渠道。空集合不主动推送,但不取消任务页面的状态与结果可查询;渠道必须真实可用。 | 提供主动推送或跨入口通知时明确;旧 Session 不是唯一出口。 |
| 可选 | 主动通知事件 | notify.events | 集合:任务启动、阶段完成、计划变化、记忆变化、预算临近上限、任务完成、待决定(必要澄清或审批)、失败或恢复无效。空集合不主动推送常规事件;无论是否选入推送,待决定、失败、控制回执等必要事实仍按固定要求可见。 | 需要选择主动通知哪些事件时配置;推送是可查询之上的主动召回,不控制必要事实是否可见。 |
| 可选 | 静默时段 | quiet.windows | 时段集合;每项含时区、每周日期、开始和结束时间。空集合不额外设置静默;在上级产品免打扰规则内,只可进一步收窄常规推送时段,不隐藏状态或默认批准待决请求。 | 主动推送需要限制打扰时配置;可引用产品统一免打扰规则。 |
| 可选 | AI 贡献标识方式 | attribution.display | 非空集合:产物说明、片段标注、修改记录。分别支持整体参与、局部贡献或具体修改的说明,范围须与真实贡献一致;不规定统一水印。 | 需要选择 AI 贡献标识载体时配置;可以继承产品已有标识规则。 |
| 可选 | 导出与分享标识 | attribution.export | 枚举:在产物内保留/附带与产物明确关联的说明/两者都有。只用于适用的导出与分享交付;方式须与文件格式、传播情境及既定披露要求相容。 | 导出或分享后仍需辨明贡献时配置;原界面的说明未必随产物传播。 |
边界:常规通知可选择,必要事实不能被隐藏。状态、阻塞、结果与控制回执仍可查询;有在线交互时及时给出必要回执。静默和渠道关闭不放行待审批行动,也不伪造后台能力。共享语言、免打扰和标识组件可以被引用,不要求再建一套设置。
十、验收:拿什么判定完成、如何交付
前缀:agent.acceptance
| 级别 | 设计决定 | Token 字段 | 类型与合法取值 | 适用条件与作用 |
|---|---|---|---|---|
| 必选 | 必需检查方式 | checks.required | 非空集合:格式检查、约束检查、事实核实、目标状态回读、自动测试、人工审查。每项须绑定任务定义中的适用标准与执行责任;不能只列名称而不执行。 | 明确必须执行哪些检查;每项绑定实际标准和责任,不能只给验证等级。 |
| 必选 | 必需证据类型 | evidence.required | 非空集合:来源定位、工具回执、目标状态快照、测试报告、人工签收记录。证据对应本任务、正确对象与有效版本;工具回执不自动证明业务目标达成。 | 明确拿什么证明检查与结果成立;“执行过”不能代替可核验依据。 |
| 必选 | 部分结果交付方式 | partial_delivery | 枚举:仅交付完整通过的成果/允许交付已验证且可安全使用的部分。均须保留有用成果并说明未完成部分,不能把部分完成标为全部完成。 | 明确是否交付已验证部分;不改变完整完成所需的标准。 |
| 可选 | 校验参与者 | reviewers.required | 非空集合:执行 Agent、独立校验程序、独立审查 Agent、指定人工;所选参与者按绑定的检查责任实际完成核验。是否独立以真实职责和执行事实判断,不以名称判断。 | 需要调整默认分工或增加独立、人工审查时配置;未配置仍须有核验责任。 |
| 可选 | 修复重验轮数上限 | repair.max_rounds | 非负整数;一次任务中,质量验收不通过后额外允许的自动修复与重新检查轮数。0 表示不自动修复;仍受剩余时间、费用和周期上限约束,跨 Session 不清零。 | 支持自动修复未达标成果时明确;质量修复与工具故障重试分开计量。 |
边界:每项必需检查都绑定当前有效成功标准与责任人;未通过不得宣称完成。质量不达标时在已定义流程和额度内修复重验,不能用工具重试计数替代。没有修复能力或额度用尽,就报告结果并按任务合同交接。
十一、可选项的联动要求
能力可以不启用;启用后,依赖必须完整。下表不新增字段或第三种级别,相关值可由产品规则继承。表内省略共同前缀 agent.。
| 能力或承诺 | 必须明确的依赖 | 未满足时 |
|---|---|---|
| 新增记忆 | memory.capture.mode 允许写入;memory.capture.types、memory.write.scope、memory.retention.ttl 有效,且具备对应权限。 | 不新增可选记忆;必要任务状态仍按承诺保存。 |
| 上下文压缩 | context.compaction.mode 及可靠压缩机制;context.compaction_threshold 可沿用运行默认值。 | 不以静默截断满足容量上限,不丢失关键目标与约束。 |
| 批量、预先授权或延后执行 | 明确批准的对象、内容、版本、覆盖范围和有效期;使用适用的 autonomy.approval.* 与授权规则。 | 不复用范围不明、过期或已撤回的决定;单次与累计影响仍须裁决。 |
| 工具或网络访问 | 工具调用有明确准入;涉及联网时再明确网络边界。可引用既有门控策略。 | 不因字段未单独填写而开放全部工具或任意联网。 |
| 后台运行、暂停或跨会话接续 | task.on_detach 与真实后台能力一致;承诺接续时明确 task.resume.mode、task.state.retention 并保存可靠状态。 | 不承诺未实现的后台或恢复能力,不重复已完成动作。 |
| 等待人的决定 | task.wait.timeout、task.wait.on_timeout;状态保留期覆盖等待承诺。 | 停止受影响路径;不默认同意,也不反复调用模型制造假等待。 |
| 运行中修改任务 | task.update.mode,以及输入与目标任务的明确关联。 | 不将消息进入聊天记录当作修改已生效;停止与撤权仍优先处理。 |
| 重复触发或并行执行 | 再次有效触发时明确 task.run.overlap,替换须先安全收尾旧运行;允许并行时有可执行的并行上限,多条独立路径的任务明确 task.failure.scope。 | 同一事件始终去重,不用多次触发绕过总预算或写入边界。 |
| 支付或采购 | budget.spend.max 或等效的可解析业务额度,以及有效授权。 | 不发起缺少额度的业务支出,不借运行费额度放行。 |
| 定时汇报 | 定时模式下明确 feedback.progress.interval。 | 不承诺无配置或无实际运行事实支撑的定时进度。 |
| 主动推送或跨入口通知 | 明确渠道、事件与适用的免打扰规则,可引用产品通知设置。 | 不虚报送达;待决事项与结果仍可在获授权入口查询。 |
| 撤销、自动补偿或自动修复 | 按能力分别明确 recovery.restore_point.retention、recovery.undo.window、recovery.compensation.mode、acceptance.repair.max_rounds 或等效策略。 | 不承诺不存在的恢复;质量修复与工具重试分开,均受总预算约束。 |
| 沙箱内自动放行或机制级硬边界 | permission.sandbox.mode 与真实隔离能力一致;自动放行仅覆盖机制真实约束的操作。 | 不自动放行,回到常规权限与审批裁决;不以提示词冒充机制边界。 |
| 独立 Agent 身份或跨主体委派 | permission.identity.mode、对应授权链路与审计归属解析完整。 | 以委托用户身份行动并逐项授权;不以身份混淆规避审计与撤权。 |
“继承默认”必须能解析到明确的值、来源与版本,不能只是一句说明。
十二、固定底线:不能通过配置关闭
授权与控制。行动受具体对象、版本、参数、单次及累计影响和有效授权约束。确认不等于扩权,工具可用不等于调用获准。未回复不是同意;请求变更、到期或撤权使相关旧决定失效。停止或收窄委托后,拦截尚未提交的受影响动作,区分“已收到”与“已生效”,说明无法取消的已提交后果。子任务不能扩权或逃离停止范围。凭证与支付凭据类输入由人直接完成,Agent 不经手、不转录,任何配置不得放开。
任务与上下文。Task 的目标、约束、决定、成果版本、已执行动作及未决事项按承诺接续,切换 Session 不重置状态、审批关联与资源账目。上下文保留来源、时效与信任边界,外部内容不因被读取而获得指令权威;历史偏好不覆盖当前明确要求。关键目标、约束及下一步必需信息不因筛选或压缩而丢失。任务状态、成果文件、防重记录和个性化记忆分别管理保留期限。
使用者记忆。记忆绑定正确主体,共用设备或会话不意味着共享个人记忆。可选记忆可查看、纠正、删除与停用,新增与读取分别可关闭;不从历史自动重建用户已停用或删除的相应个性化。敏感保存须逐项明确获准,一次临时要求不自动固化为长期偏好,第三方材料中的经历不归给使用者。方法与经验有来源、适用条件及相称核验,推断不冒充已核实事实;关闭记忆不等于删除全部日志。
执行与后果。外部结果区分成功、失败、未知;未知先核对,无法确认且不能保证安全时停止自动重试。重试、恢复和并发不得重复已发生的副作用。回滚保护用户修改,补偿作为新行动受原有控制约束。资源达到有效上限后不得自行加额,硬边界由机制执行,不只写入提示词。
反馈与完成。进度来自真实运行事实,阻塞、重要限制、待决事项、控制回执与实际结果可见。准确标明 AI 身份与贡献,不冒充人或把用户原作全部归给 AI。完成对照当前有效标准与实际证据;任务结果与结束原因分别表达,部分完成、被停止或超预算不得标成全部完成。可选展示配置不取消必要证据与说明。
以上承接配套规范的适用要求;本字典不替代整套规范,也不构成安全、隐私或法律合规证明。
配置交付与校验
重试次数是原动作的额度,不随 Run、Session 或子 Agent 的创建重置。先核对结果是否已知以及再次执行是否可接受,再消费重试额度;值为 0 表示不自动重试,不表示取消查询原结果、人工核对或已有成果恢复。审批与撤权引用必须关联实际执行入口。
随附的可执行样例只覆盖 agent.recovery.retry.max,其余字段按本字典逐项校验;未覆盖不等于不适用或已通过。样例是所选字段的格式正反例,不是可直接启用全部能力的产品预设。完整产品交付另外包含适用性、依赖、证据、执行映射及进行中操作的生效边界。
字段名、类型或含义变更时更新引用方与验收样例;仅修改说明且不改变合法行为的,保留已有字段名。调用方读取解析后的有效配置,不由 UI 控件、动画或模型文字反推权限、测量或完成事实。参见对应场景。
参考来源
本文件是《Agentic UX 设计规范》与《Agent Design Token》的来源对照。条目整理自规范附录 B.3 的调研记录(2026-09 时点可访问版本),编号为本文件自有编号,供各条"依据与参考"回查。
它不是延伸阅读清单。列在这里的每一条都说明它在规范中承担什么角色、能支撑到什么程度,以及不能据此推出什么。规范中的条款不因为某个产品这样做过就成立;产品做法是"这类机制在真实产品中可行"的证据,不是"应当这样要求"的依据。
本规范未逐条独立复核外部内容。按 P5-5 对本规范自身的要求,此处如实注明:除 R01、R22 已登记核验口径外,下表条目的核验状态均为待核验——它们来自调研记录,用于复核失败记录与实现参考的出处,不作为规则强制性的依据。采用规范前建议对关键来源做一次抽查。
〇、核验状态与使用方式
| 标记 | 含义 |
|---|---|
| 已核验相关章节 | 实际打开原始文档并读取用于相应判断的章节,不表示审阅全文或确认其当前适用性。 |
| 已核验摘要 | 只读取作者、期刊或研究机构发布的摘要页或发表页;不据此推断完整方法、效果量或适用边界。 |
| 二手核验 | 原文访问受限,通过作者所属机构或专业媒体的引述核对;引用其结论前应回到原文。 |
| 待核验 | 保留为调研线索,不作为规范要求的事实依据。引用前必须核实名称、版本与适用范围。 |
厂商工程文档与产品文档的时效性短于标准和论文:本文件记录的是 2026-09 时点可访问的版本,页面结构与结论可能已变。回查时以各来源当前文档为准。
一、论据类型与适用边界
规范附录 B.1 规定,标「必须」的唯一依据是必要性推导——缺了这条要求,产品对用户的某条承诺会在可预见的情境下失效。本文件列出的外部来源属于另外两类论证,它们证明的是不同的事情:
| 论证类型 | 在规范中的作用 | 使用边界 |
|---|---|---|
| 必要性推导 | 决定是否入选、是否标「必须」。 | 这是强制性的唯一来源,不出自本文件的任何条目。外部来源无法替代它。 |
| 失败记录 | 证明问题在什么条件下真实发生过,增强论据、校准适用条件。 | 多来自厂商自述与文档警告,部分数字是厂商自报口径,缺少独立测量。没有记录时可用合理反例与模拟测试论证,但不得把模拟情境写成已发生事实。 |
| 实现参考 | 证明可行、提供实现示例。 | 不决定强制性。单一来源须标注为单一来源;只有至少两家互不相关的实现才可作"收敛"依据,且收敛只证明可行,不证明唯一,不得推出"只能这样做到"。 |
两点已在附录 B.2 声明的弱处,在此重复:实现参考集中在 2024–2026 年的头部实现,"收敛"可能只是暂时局部最优;失败记录多来自厂商自述,缺少独立测量。规范因此写性质与契约、不写实现。
规范的适用范围与不覆盖范围见附录 B.2,本文件不重复,也不扩大——任何条目都不能用来支持规范已覆盖模型训练、基础设施选型、机器人实体安全、无障碍、公平性评估、第三方影响评估、供应链安全或领域合规。
二、规范性与协议来源
| 编号与来源 | 核验状态 | 可支持的事实与落点 | 不能据此推出 |
|---|---|---|---|
| R01 OAuth 2.0 安全最佳实践 · RFC 9700 · RFC Editor 原文 | 已核验相关章节(2026-09-19,阅读范围限于令牌与资源访问保护相关内容) | 令牌与资源访问保护的机制边界,为 P4-5 的授权回执与 P4-4 的运行时隔离提供机制参照。 | 不单独证明删除、隐私合法性或任何认证方案合规;机制正确不等于用户对授权范围有正确理解。 |
| R02 AG-UI 协议 · events / state | 待核验 | 事件类型集、共享状态与冲突重同步的协议形态,为 P5-3 的运行事实供给与 P6-3 的共存编辑提供实现参考。 | 协议不回答"谁的修改优先"——冲突处置是本规范的设计判断,不出自该协议。 |
| R03 MCP Tool Annotations · 协议方博客 | 待核验 | 工具注解是提示而非保证,不可信服务端可能谎报只读;支持 P3-5 的工具防错要求。 | 不据此推断任何具体注解字段的当前定义;博客不是协议规范正文。 |
三、厂商工程实践与产品文档
同一厂商的多条来源不构成互相独立的收敛证据,下表按来源方归组以便判断这一点。
| 编号与来源 | 核验状态 | 支持条款与主张 | 不能据此推出 |
|---|---|---|---|
| R04 Building Effective Agents(Anthropic) | 待核验 | P3-6:从简单方式开始、只在改善结果时加复杂度的判据。 | 厂商工程实践,非独立测量;R04–R11 同源,合计仍算一家。 |
| R05 Effective harnesses for long-running agents(Anthropic) | 待核验 | P7-1、P3-7:进度文件、遗留工作不清与过早宣布完成的失败记录。 | 自述案例,未经独立复现;不据此给出任何阈值。 |
| R06 Effective context engineering for AI agents(Anthropic) | 待核验 | P1-5、P1-6:上下文作为持续筛选与维护的对象,压缩与结构化笔记。 | 单一来源,作参考而非收敛证据。 |
| R07 Writing tools for agents(Anthropic) | 待核验 | P3-4、P3-5:工具面向工作流设计与防错。 | 不据此规定具体工具形态;API 形态不进入规范。 |
| R08 Demystifying evals for AI agents(Anthropic) | 待核验 | P3-7:运行记录与最终结果的区分、自动评价需校准。 | 评价方法可行不等于本规范的验收场景已被验证。 |
| R09 Harness design for long-running apps(Anthropic) | 待核验 | P3-7:生成与评价分离的迭代。 | 厂商实验;与 R04–R08 同源,不构成独立收敛。 |
| R10 How we built our multi-agent research system(Anthropic) | 待核验 | P3-5、P2-5:坏工具描述致错误路径、子任务边界含糊致重复劳动。 | 单一系统的自述,不代表多 Agent 系统的普遍行为。 |
| R11 Claude Managed Agents | 待核验 | P5-3、P3-7:事件表与 outcome 评估的产品形态。 | 产品文档,与上同厂商;文档描述能力,不证明用户能据此判断完成。 |
| R12 Claude Agent SDK permissions | 待核验 | P4-5、P2-5:前置规则旁路警告、子 Agent 权限继承。 | 权限模型存在不等于用户理解其范围——P4-5 要求的是回执,不是配置项。 |
| R13 Claude Agent SDK agent loop(自动压缩) | 待核验 | P1-6:压缩可能丢失早期具体指令的官方警告、持久规则重注入。 | 与 R12 同厂商;警告说明风险存在,不给出安全阈值。 |
| R14 Claude 平台记忆文档 | 待核验 | P7-7:可写记忆被注入后、后续会话将其当作可信记忆读取的官方警告;按所有者与生命周期区分记忆用途。 | 官方警告支持风险存在,不支持任何具体缓解方案已充分。 |
| R15 Codex App Server(OpenAI) | 待核验 | P6-1、P6-2:Steer 与回合标识绑定、Queue 与 Steer 的区分。 | 规范正文中「合并进当前执行」的分类是本规范自有,不出自该来源。 |
四、框架与运行时文档
| 编号与来源 | 核验状态 | 支持条款与主张 | 不能据此推出 |
|---|---|---|---|
| R16 The runtime behind production Deep Agents(LangChain) | 待核验 | P7-1、P4-5:检查点接手、凭据不入沙箱。 | 框架博客;与 R17、R18 同厂商生态,合计不作独立收敛。 |
| R17 LangGraph interrupts | 待核验 | P7-2、P4-3:恢复重放副作用的明确警告、中断挂起语义。 | 警告说明重放风险真实存在,不代表任何框架已解决该问题。 |
| R18 Double texting(LangSmith) | 待核验 | P6-2、P3-8:运行中再次输入的四种策略(Enqueue/Reject/Interrupt/Rollback)。 | 属部署产品能力,非开源框架本身;四策略是该产品的分类,不是行业共识。 |
| R19 Human-in-the-loop(OpenAI Agents SDK) | 待核验 | P4-3、P4-2:审批绑定待执行调用、运行状态序列化。 | 与 R16–R18 属不同厂商,二者在"审批须绑定具体待执行动作"上可作两家实现参考;仍只证明可行,不证明唯一。 |
| R20 12-Factor Agents | 待核验 | P7-1、P3-8:事件日志、控制流自有。 | 单一作者的社区方法论建议,无实现测量,不作收敛依据。 |
| R21 LangChain 记忆文档 | 待核验 | P7-7:事实、经历与做事规则的长期记忆区分及写入时机;文档明示不存在单一通用方案。 | 分类方式是该框架的设计选择;本规范的记忆分层义务来自必要性推导。 |
五、学术研究与研究原型
| 编号与来源 | 核验状态 | 支持条款与主张 | 不能据此推出 |
|---|---|---|---|
| R22 HAX Toolkit · Guidelines for Human-AI Interaction(CHI 2019)· 官方发表页 · 指南页 | 已核验摘要(2026-09-19,阅读范围限于官方发表页与摘要) | P6-4:介入时机原则;支持纠正、控制及设计评估方向。 | 其评估验证的是该指南自身的相关性,不是本规范条款;不能证明本仓库全部自定规则有效。 |
| R23 Horvitz,《Principles of Mixed-Initiative User Interfaces》,CHI'99 · 论文 PDF | 待核验 | P6-4:注意力与打扰成本权衡的理论基础。 | 1999 年的理论框架,不提供当代 Agent 场景的参数或阈值。 |
| R24 Johnson 等,《Coactive Design》· 论文 PDF | 待核验 | 引言、P5-4:可观察、可预测、可引导的协作理论;自主能力与界面须一起设计。 | 理论框架支持论证方向,不支持任何具体界面要求。 |
| R25 《Capability Gates Are Not Authorization(ScopeGate)》· arXiv | 待核验 | P4-5:对三个框架指定版本的逐次参数授权缺失审计。 | 结论限于受审对象与其默认行为;不能推出所有框架或当前版本存在同一缺失。 |
| R26 Magentic-UI(Microsoft Research)· arXiv 2507.22358 | 待核验 | P6-1、P6-3:共同规划与接管机制。 | §7.4 为 12 人、一小时的定性研究,参与者有 Agent 使用经验;不证明普遍最优,不提供效果量。 |
| R27 SentinelStep《Tell me when》(Microsoft Research)· 研究博客 | 待核验 | P3-8:等待与监测作为独立设计对象。 | 与 R26 同团队,不构成独立收敛;研究博客非同行评议论文。 |
六、架构与可靠性实践
| 编号与来源 | 核验状态 | 支持条款与主张 | 不能据此推出 |
|---|---|---|---|
| R28 Compensating Transaction 模式(Microsoft Azure) | 待核验 | P7-3:补偿是业务特定的新行动,不一定恢复初始状态,自身可能失败。 | 单一来源,作实现参考;模式可行不等于用户会正确理解"已补救"与"已恢复原状"的差别。 |
| R29 Making retries safe with idempotent APIs(AWS) | 待核验 | P7-2:去重记录与相关状态变更之间的原子性/一致性条件。 | 服务端幂等不覆盖外部不可逆后果;P7-2 与 P7-3 是不同承诺。 |
| R30 Google PAIR:Feedback + Controls | 待核验 | P7-7:隐式行为信号存在多种解释,不等同稳定偏好。 | 设计指南,非测量研究;不据此判断任何信号的可靠程度。 |
七、未附一手链接的调研记录
以下条目在规范附录 B.3 中即标注为调研记录、未附一手链接。它们只作实现参考或历史证据,引用前须回到各来源当前文档确认。
| 编号与来源 | 核验状态 | 支持条款与主张 | 不能据此推出 |
|---|---|---|---|
| R31 Cursor Checkpoints、Devin 接管协议、Manus todo.md、ChatGPT agent 的产品行为 | 待核验(未附一手链接) | P1-6、P5-4、P6-1、P7-4:检查点与用户版本管理分离、接管、进度文件、撤销对象边界。 | 细节以各产品当前文档为准;产品做过不等于应当这样要求,四者分属不同厂商但均为自述行为,未经核对不作收敛。 |
| R32 Temporal 关于 durable execution 的论述 | 待核验(未附一手链接) | P7-1:"无持久化状态的失败等于全量重跑"。 | 厂商观点;不据此要求任何具体持久化技术。 |
| R33 Strands SDK 等待状态穿透 issue #1371(已修复关闭) | 待核验(未附一手链接) | P2-5、P4-3:子 Agent 待决问题到不了用户的历史失败记录。 | 已修复,作历史证据而非现状描述;不代表该 SDK 当前行为。 |
| R34 rubber-stamping 讨论与沙箱减少审批的口径(Anthropic) | 待核验(未附一手链接) | P4-6:机械点允许的失败模式。 | 提示减少比例为厂商自报,未经独立测量,本规范不引用该数字。 |
八、本次未收敛的问题
- 全表核验状态偏弱。除 R01、R22 外,本文件所有条目均为待核验。这不是遗漏,而是规范附录 B.3 已声明的状态;提升核验档位需要逐条打开原文并记录读取范围,属后续工作。
- 实现参考的厂商集中度高。R04–R15 中多数来自同两家厂商,R16–R18 来自同一生态。按 B.1 的口径,这些不构成"至少两家互不相关的实现",因此规范中没有任何条款以收敛为强制性依据。
- 无独立测量的效果数据。本表不含任何经独立测量的效果量、比例或阈值。Token 字典中的数值属项目设计的候选值,不由本表任何条目推出。
- 两条候选规则的论据尚未补足。P3-9「业务对象语义一致」与 P6-5「主动发起任务的边界」本版未采纳,其升格需要完整任务走查的检验记录,不由外部来源决定。
- 英文对照已补齐(本条已收敛)。
EN/Design-Guidelines.md、EN/Design-Token.md与EN/reference.md已于 2026-09-21 按现行中文整份重译,为同步译本。