给 AI Agent 接工具:4 步做权限隔离,别删库

当 AI Agent 从「聊天」走向「动手」,一次误删文件、一次越权读表,代价都是真实的。这篇给你一套 4 步落地的工具权限方案,照着改配置就能用。

一、先给工具分级:只读、建议、执行

把所有能被 Agent 调用的工具按风险分三档:

  • 只读:查数据库、读文档、搜索、拉接口
  • 建议:生成草稿、算指标、写摘要
  • 执行:写库、发邮件、改配置、下单、删文件

新工具默认进「只读」档,执行类必须单独评审。判断标准只有一句:这步做错了,是浪费一次调用,还是需要一个下午去补救?后者一律加审批。

之所以要分级,是因为工具调用本身是概率行为——同一个 prompt,今天参数是对的,明天可能跑偏。你没法保证模型每次都听话,但可以保证它跑偏时撞不到硬东西。

二、独立身份 + 最小权限,别借人账号

最常见的偷懒是复用一个员工 token 或全权 service account,等于把 Agent 的风险直接等同于那个账号的风险。

正确做法:

  • 给 Agent 单独身份(独立 API Key、独立机器人账号)
  • 数据库给只读账号 + 行级权限;写操作走专用接口,不要直连
  • 文件系统只挂载必要目录,不要挂整个盘
  • 密钥存服务端,不进 prompt,也不进模型可见的上下文

最后一条尤其重要:只要 Agent 的输出会回到上下文里,密钥就等于公开。

三、参数校验 + 高风险二次确认

模型吐出来的参数,一律当不可信输入处理:

  • 类型、范围、枚举校验,防 SQL 注入与路径穿越
  • 执行类动作先 dry-run,把「将要做什么」回显出来再确认
  • 批量操作设硬上限,比如一次最多改 50 条
  • 防提示词注入:工具返回内容里夹带的指令不执行,只当数据

二次确认要做减法:只对不可逆动作(发送、删除、付款、发布)弹确认,可逆的走事后审计。全都确认,人就会习惯性点同意,等于没有。

四、审计 + 幂等 + 回滚

  • 每次调用记录:触发人、会话 ID、参数、结果、耗时、花费
  • 写操作带幂等键,重复调用不重复执行
  • 限流与预算熔断:每小时调用数、单会话金额上限
  • 变更前留快照,删除走软删

日志的意义不是合规摆设,而是能回答「昨天那笔到底为什么被删」。答不上来的系统,就不该给它写权限。

上线后盯的 3 个指标

  1. 拒绝率:被权限拦下的比例。突然归零,要么悄悄放开了,要么没人用了
  1. 执行类驳回率:人工确认被驳回的比例偏高,说明工具描述或参数设计有问题
  1. 单任务平均花费:涨得比用量快,通常是上下文在膨胀,而不是活变多了

稳定运行两周、驳回率低、审计无异常后,再逐条放开权限,一次放一个。

两个最常见的坑

  • 只在系统提示里写一句「请谨慎操作」就上线
  • 所有工具共用一个超大权限 token,省事五分钟,排障一整天

权限设计是产品能力,不是安全负担。粒度越细,你才越敢让 Agent 真的动手。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...