先这样答
结论是把支付、对外发送、删除等高风险动作统一放进审批队列。Agent 到达这类动作时先暂停等待。审批通过后再继续。暂停只影响当前动作,不能阻塞其他任务。这样既能保证高风险操作必须经过人工判断,也不会让整个 Agent 停止工作。
每条审批信息都要完整。它要说明准备做什么,也要给出执行依据。它还要写清影响范围,以及操作能否撤销。审批者不能只看到一个同意按钮。信息缺失时,审批就无法判断动作是否合理,也无法评估执行后的影响。
恢复能力要从执行顺序和补偿动作两方面设计。审批通过前,动作不能执行。审批被拒绝后,Agent 要走替代路径,不能继续原动作。对于执行类操作,要提前设计对应的补偿动作。可撤销的操作可以先执行后确认,并在未确认时撤销。不可撤销的操作必须先确认后执行,避免执行后无法恢复。
面试官会怎么追问
- 「为什么 Agent 暂停等待时,不能把其他任务一起阻塞?」 审批等待只属于当前高风险动作。其他任务不依赖这次审批时,应当继续处理。否则一次人工等待就会让所有任务停住。
- 「审批页面至少要展示哪些信息?」 要展示准备执行的动作和执行依据。还要展示影响范围,并明确动作能否撤销。审批者据此判断是否允许执行。
- 「可撤销和不可撤销的操作,处理方式有什么区别?」 可撤销的操作可以先执行后确认,但必须准备补偿动作。不可撤销的操作要先确认后执行。审批拒绝后,两类操作都不能继续原路径,而要进入替代路径。
回答的坑
- 只说增加人工审批,却不说明 Agent 如何暂停、如何继续处理其他任务,也不说明拒绝后的替代路径。
- 把所有操作都设计成先执行后确认,忽略不可撤销操作执行后无法恢复的问题。
同系列的题
—— 本题完 ——