跳到主要内容

第 1.6.3 节:把工具调用放进权限、审批和幂等流程

工具调用只有拆成可执行步骤,才容易复核、排错和交接。完成本节后,你应该能够设计工具调用的角色权限、审批条件、审计记录和越权处理。

任务卡内容
本节任务为每个工具设计权限、审批、确认和重复提交控制。
你会产出一张“权限、审批与幂等矩阵”。
使用场景只读查询、创建工单、投诉处理、退款审批、发送通知。
完成标准每个工具都标出风险类型、校验点、审批策略和幂等键。

权限不能只写在 Prompt(提示词)里。Prompt 可以提醒模型,但真正的权限必须由系统规则执行。

工具调用至少要经过五层控制:

控制层控制什么客服例子
身份校验当前用户是谁未登录不能查订单。
业务对象校验这个订单或工单是否属于当前用户不能查陌生订单号。
工具权限当前角色能不能用这个工具普通用户不能调用内部备注工具。
动作权限这个动作能否自动执行创建工单可半自动,直接退款不行。
审批权限高风险动作由谁确认退款、补偿、敏感投诉进入人工审批。

写入工具还要考虑幂等。幂等的意思是:同一个业务动作重复执行时,不能造成重复后果。比如网络超时后 Agent 重试,不能创建两个工单,也不能提交两次退款审批。

实现步骤或决策流程​

  1. 按风险把工具分成只读、写入、通知、高风险审批。
  2. 给每个工具补身份校验和业务对象归属校验。
  3. 判断是否需要用户确认:只读通常不需要,写入通常需要。
  4. 判断是否需要人工审批:资金、补偿、投诉、合规类动作必须谨慎。
  5. 给写入工具设计幂等键,例如 trace_id、order_id + issue_type、ticket_dedupe_key。
  6. 写清自动执行边界,说明 Agent 能申请什么、不能直接做什么。

读图重点:模型没有执行权;身份、对象、风险、幂等和审批都由系统控制,日志是所有结果的共同出口。

可复制模板​

## 权限、审批与幂等矩阵

| 工具名称 | 风险类型 | 身份校验 | 业务对象校验 | 用户确认 | 人工审批 | 幂等键 | 自动执行边界 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| | | | | | | | |

示例填写​

工具名称风险类型身份校验业务对象校验用户确认人工审批幂等键自动执行边界
query_order_status只读必须订单必须归属当前用户否否trace_id只能查询当前用户订单,不能修改订单。
create_support_ticket写入必须关联订单必须归属当前用户必须投诉类视情况user_id + issue_type + order_id只能在用户确认摘要后创建工单。
create_refund_review高风险审批必须订单必须归属当前用户且可售后必须必须order_id + refund_reason只能发起审批,不能直接退款。

新手自查清单​

  • 我有没有把权限交给 Prompt,而不是系统校验?
  • 我有没有校验订单、工单、客户资料是否属于当前用户?
  • 写入工具是否必须经过用户确认?
  • 退款、补偿、投诉等高风险动作是否进入人工审批?
  • 写入工具是否有幂等键,能防止重复建单或重复审批?

本节交付物与面试讲法​

本节交付物是一张“权限、审批与幂等矩阵”。合格标准是每个工具都能说明:谁能用、能对什么对象用、是否要确认、是否要审批、重复执行会怎样处理。

面试时可以这样讲:

我不会让模型直接决定是否执行高风险工具。模型只能提出调用意图,系统再做身份、对象归属、工具权限和动作权限校验。只读查询可以自动执行,写入动作要用户确认,资金和补偿类动作必须进入人工审批。对创建工单和退款审批这类写入工具,我还会设计幂等键,避免重复提交。

继续学习​