本阶段课程 · Agent 的组成与运行
从一次 API 调用到一个 AgentAgent Loop:行动、反馈与停止任务规划与多 Agent 协作Agent 的权限、确认与执行回执
LESSON 32 / 36阅读约 7 分钟

Agent 的权限、确认与执行回执

区分读取、准备和执行,明确自主范围以及成功的实际依据。

Agent的自主性需要具体说明范围

“帮我安排活动”可能包含查资料、比较场地、联系商家、支付费用等不同后果的动作。一个系统可以被允许自主完成前两项,却需要用户确认之后才能进行后两项。

因此,设计Agent时应说明哪些数据可以读取、哪些操作可以执行,以及哪些情况必须停下来。边界不只是提醒模型要谨慎,还需要由应用与工具权限真正执行。

读取、准备与执行是三个状态

能力层次实际发生什么是否说明任务已经完成
读取查询价格、查看空位、读取规则只获得信息
准备比较候选、生成邮件或预约方案得到待采用的产物
执行发送邮件、提交预约、写入记录需要目标系统的执行结果

查询到B有空位,是读取。整理出B在周日14—16点、12人、520元的方案,是准备。提交预约并获得真实回执,才是执行后的证据。把这三个状态分开,就不会因为模型说得很确定而误判进度。

确认应该让用户看到什么

确认有意义的前提,是用户知道接下来会发生什么。对于预约,应展示场地、日期时段、人数、总价以及实际提交动作。“是否继续”没有这些条件,难以让用户作出明确选择。

用户同意520元方案后,如果价格变成680元,原确认不能自动扩展为新价格。应用应重新处理条件变化。用户选择暂不预约,也应当成为正常终止状态,而不是助手需要想办法绕开的阻碍。

提示词为什么不能代替权限控制

即使模型被要求“只能查询”,它仍可能生成一个创建日程的请求。执行层应根据真实授权检查并拒绝,而不是认为模型大概不会这样做。工具应该只开放任务需要的能力,访问范围也应尽量清楚。

外部资料还可能包含试图改变任务的命令。把它们标为资料有助于模型理解,但最终能否发送文件、修改记录,仍应由应用权限决定。模型判断与程序限制需要互相配合。

成功回执与过程日志怎样帮助用户

日志记录模型提出什么、工具返回什么、哪里触发了确认或限制。成功回执说明外部系统实际完成了哪项操作。二者应关联到具体任务和条件,方便查错与避免重复执行。

模型自己生成一个订单编号,并不能证明订单存在;教学实验里的SIM编号也只表示模拟状态。真实系统需要来自目标服务的记录。如果请求超时、状态未知,应先核对,不急于宣布成功或重新下单。

什么时候不需要打断用户

已经授权的只读查询和低后果整理,可以连续进行。将确认集中在有实际后果、条件发生实质变化或授权不明确的节点,能够兼顾效率与控制权。目标是让助手按明确范围完成工作,而不是每一步都把原本能完成的判断退回给用户。

交互演示 · Agent 透明实验室跟着一次真实机制的模拟,看助手如何行动。 8 分钟 · 教学模拟

检查一下理解

用户确认520元预约,实际价格变为680元,原确认还能直接使用吗?

本节参考与继续阅读

下列章节用于核对概念与机制。本站以中文重新组织讲解,例子和练习为独立编写。

可选练习为Agent划定读取、准备和实际执行的边界,并理解确认应对应具体动作。
练习目标

为Agent划定读取、准备和实际执行的边界,并理解确认应对应具体动作。

打开Agent透明实验室,保持600元预算、正常场景、4轮上限。运行到推荐B并显示确认区域。所有预约都只改变当前页面状态,不会联系场地或产生费用。

本次授权卡
可以:查询场地、比较条件、准备预约方案。
需要我确认:指定场地、日期时段、人数和总价的预约。
不可以:擅自提高预算、随意改时间、代替我同意其他费用。

跟着做一遍

下面的结果是本站编写的对照示例。实际工具的措辞可能不同,按每步的关键条件检查即可。

01

先检查确认的是哪一笔动作

运行到等待确认,逐项核对确认区域。

做完后,展开结果对照
对照示例 · 不要求逐字相同

应看到B、示例周日14—16点、12人、520元。此时还没有模拟执行回执。

为什么这样做“允许助手帮忙”太笼统。确认应该让你看见实际对象与条件,才能作出有意义的决定。

02

选择暂不预约

点击“暂不预约”,观察日志与状态。

做完后,展开结果对照
对照示例 · 不要求逐字相同

保留推荐结果并停止,没有产生模拟预约回执。它不会因为已经查了几次就替你继续下单。

为什么这样做用户拒绝或改变主意是正常流程,不是要被助手绕开的障碍。

03

重新开始,再确认一次

重新开始并运行到同样的确认区域,这次点击“确认模拟预约”。

做完后,展开结果对照
对照示例 · 不要求逐字相同

产生带SIM前缀的教学回执,明确是模拟执行。真实系统需要实际服务的成功记录,不能自己拼一个编号充当证明。

为什么这样做确认是授权,回执是执行结果。授权后仍可能失败,因此不能在执行前就报告成功。

04

关掉查询能力,检查权限是否生效

取消“查询营业、空位与总价”,再点击下一步。

做完后,展开结果对照
对照示例 · 不要求逐字相同

模型可以提出请求,但执行层会拦截,保持场地状态未知,不继续产生推荐或预约。

为什么这样做权限控制应由应用真正执行,不应只依赖模型口头答应遵守。

刚才用到的一个新词

人工确认

在需要人作决定的节点,展示具体待执行动作并等待选择;确认后仍要核对执行结果。

没做出来?从这里排查

确认文案只有“是否继续”

补全场地、时段、人数、总价和实际动作,让用户知道继续会发生什么。

工具被禁止,日志仍显示执行成功

检查执行层权限校验;提示词承诺不能替代真实拦截。

换一个例子验证

为一个助手写授权卡与停止卡。

  1. 列出可直接做、需要具体确认和禁止做的动作。
  2. 写出一个条件变化后必须暂停的例子。
  3. 指定真正成功时应取得什么回执或记录。
检查标准能区分允许查询、允许执行和执行成功三个状态。

完成状态仅保存在当前浏览器,可再次点击取消。