Skip to content

确认被拒绝或卡住 ​

确认流程有问题时,Agent 常表现为“我还在等待”“操作没有完成”或反复查询。首先要确认请求是否真的处于待处理状态,而不是把网络超时、组件卸载和业务拒绝混在一起。

先定位状态 ​

观察含义处理
没有确认界面请求未创建,或界面未挂载查宿主与区域
界面显示但用户看不到弹窗在隐藏窗口、被遮挡或另一标签页提供可发现的待办入口
用户拒绝明确的业务流程返回拒绝,停止该意图
用户已批准但无结果回执未消费、执行失败或期望不成立查后端与执行结果
Agent 重复查询没有终态或轮询上限返回结构化 pending / failed / timeout

常见故障 ​

把 approval: ask 当成自动批准。 它只要求确认。Agent 没有批准工具,也不应看到 approval token。

待确认项绑定错了请求。 挑战必须绑定 request id、能力、记录、参数摘要、用户、Agent 与会话。否则用户看到的和实际执行的可能不同。

页面卸载后确认仍在等待。 取消或迁移时必须终止请求,返回可诊断状态,不能让 Agent 无限轮询。

只在前端记录批准。 高风险动作应由后端验证一次性回执,并在消费后执行业务事务。

超时被当成拒绝。 两者业务含义不同。超时应报告未确认或结果未知,不能自动重试写入。

恢复步骤 ​

  1. 用 request id 在后端查询审批与执行状态。
  2. 若仍在等待,向用户展示明确摘要与有效期。
  3. 若拒绝,停止当前意图;不要换一个相似动作绕过。
  4. 若回执已消费但业务失败,读取业务状态,判断是否部分成功。
  5. 若页面已刷新,重新 describe,不要复用旧请求。

验收 ​

  • 拒绝、超时、页面关闭、回执重复消费都有稳定错误;
  • 未批准时业务函数未执行;
  • Agent 看不到审批秘密,也没有批准能力;
  • 审计能关联公开审批 id;
  • 轮询有上限并遵守限流。

相关 ​

审批与人工接力、Agent 操作的审批、审计与撤销。