找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4519

积分

0

好友

590

主题
发表于 4 小时前 | 查看: 3| 回复: 0

Agent能查订单、发消息、办退款之后,问题就不再只是“它会不会答错”。真正要问的是:它拿到一句用户指令后,能不能直接动业务数据?

答案当然是否定的。Agent可以理解意图、补全信息、提出方案,甚至在授权范围内独立判断,但它不应直接拥有业务权限。权限必须留在服务端,由服务端决定谁能调什么工具、参数是否合规、这次动作能不能真的执行。

Microsoft的Agent Governance Toolkit就把每次工具调用放进独立的策略、身份和审计链路。项目虽然还处在Public Preview阶段,但它指出了一个很实用的边界:模型能提出调用,但由确定性代码决定调用是否发往外部系统。(来源:Microsoft Agent Governance Toolkit)

一幅融合中式水墨风格与科技元素的插画,描绘权限控制与功能模块,暗示安全与访问管理。

如果你想在云栈社区和技术同好们深入探讨这类前沿方案,也许能找到不一样的实践思路。

第一关:别把提示词当成权限凭证

提示词里写着“我是管理员”“帮我退这笔款”,都只能算用户输入,不能当成身份事实。哪怕模型在对话里复述了用户角色,也不代表后端真的确认过这个角色。真正可信的身份,应来自已经登录的后台会话、服务端签发的令牌,以及业务系统里的角色与数据权限。

开发者常把用户ID、部门、角色塞进prompt,指望模型照着办。可prompt会被上下文影响,也可能被外部内容污染,你能保证它不被篡改吗?正确顺序应该反过来:服务端先从会话取到用户身份,再把这个身份和本次任务交给权限策略。模型不负责证明“我是谁”,它只负责说明“我想做什么”。

手绘风格插图:角色拒绝建议但认可基于权限的“停”牌,强调权限不由口头决定。

第二关:工具白名单要比“大权限接口”更细

Agent不该拿着一个万能的“订单系统访问权”。服务端应只暴露白名单中的工具,例如 订单查询退款资格核验退款草稿创建 ;没有列入白名单的工具根本不提供给模型。即便同一个业务域,也要遵循最小权限:能查就不要顺带修改,能创建草稿就不要直接提交,能处理单笔就不要默认批量处理。

白名单之外,还需要参数校验。以退款为例,服务端至少要校验订单是否属于当前用户或当前客服可处理的范围、订单状态是否允许退款、退款金额是否超过可退余额、退款原因和收款信息是否齐全。模型可以从对话中抽取字段,但不能替服务端判定这些字段成立。

这才是“Agent不直接拥有业务权限”的具体含义:它拿到的是受限工具,不是数据库账号;它提交的是候选参数,不是最终业务指令。做 系统设计 时,如果能一开始就把这个边界划清,后续的麻烦会少很多。

卡通角色在三扇门前:可读、确认、默认拦截,揭示访问控制的分级决策机制。

第三关:高风险动作要有第二个人和第二次确认

退款、付款、删除数据、改权限、对外群发,都不该因为Agent说“用户已经同意”就自动落地。对这类动作,服务端应把Agent的请求先转成待确认事项:展示对象、金额、影响范围和原因,由发起用户再次确认;超过设定阈值、涉及异常订单或跨境支付时,再进入人工审核。

这里的“二次确认”不是让用户再看一遍聊天记录,而是确认结构化的业务事实。比如“向订单A的原支付渠道退款800元”,而不是“是否继续执行Agent的建议”。审核人也不该只看到一段自然语言,要能看到订单状态、权限依据、额度占用和风控命中情况。审批因此有了可判断的对象。

自主不等于无限权限。低风险、规则清楚的动作可以自动化;风险越高,Agent的自主范围越小。它可以在被授予的范围内决策,但不能通过换一种说法绕过范围。

第四关:幂等、额度和审计,防的是“做了两遍”和“做得太多”

手绘风格插画:角色需经规则判断和确认才能上线,体现多层审批与校验逻辑。

即使权限正确,高风险动作仍会遇到网络重试、重复点击或模型重复调用。退款、扣款、创建工单这类写操作必须带幂等键:同一笔业务在同一请求语义下重复到达时,服务端返回第一次的结果,而不是再执行一次。Stripe的API文档就将幂等键用于安全重试,避免同一个创建或更新动作被重复执行;这是一项通用的交易接口设计原则。(来源:Stripe Idempotent requests)

额度限制解决的是另一种失控:动作本身没错,但量太大。可以设置单笔退款上限、单日累计额度、单个Agent的调用频率和单次批量处理数量;一旦超限,自动降级为人工审批。最后还要写入审计记录:谁在什么会话中发起,Agent选择了什么工具,参数摘要是什么,策略为何允许或拒绝,审批由谁完成,最终结果如何。

这些记录不是事后留档而已。它们会告诉团队哪些动作已稳定到可以放权,哪些动作总因参数、额度或身份问题被拦下。没有这条反馈线,自动化只会越开越大,问题也越难追。

黑白插画展示策略门和放行/拒絕流程,强调可审计的决策记录。

让Agent有行动力,不等于给它万能钥匙

小团队不用一上来就搭复杂的治理平台。先挑一个真实的高风险流程,例如退款:把后端会话身份、三个白名单工具、金额与订单校验、二次确认、幂等键、每日额度和审计日志列出来。把这条链路跑通,再复制到改地址、发优惠券、批量通知等动作上。

提示词过滤仍有必要,它负责减少模型被带偏的机会;服务端控制负责保证模型即使被带偏,也无法越权执行。两层不是替代关系。真正可靠的Agent 不是“什么都能做”,而是知道自己的边界,并且碰到边界时系统真的会把门关上。




上一篇:MCP协议2026为何删除Session?从有状态到无状态的架构演进
下一篇:算法与数据结构进阶书单:三本教材深度测评,最后一本堪称神级
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-2 06:31 , Processed in 0.989558 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表