题目
为什么不能仅依赖提示词限制 Agent 权限,哪些约束必须在代码中执行?
答案
提示词影响模型行为,但不是访问控制。模型可能误解要求、受到外部内容干扰,或生成表面合理却越权的参数。
必须由代码执行的约束包括身份和租户校验、资源归属、工具白名单、金额与数量限制、文件目录、网络目标、审批状态、速率和预算。
例如提示词写“只能查自己的订单”,后端查询仍要使用已认证用户的身份限定订单范围。不能接受模型传入任意 `user_id` 后直接查询。
权限应在靠近资源的位置再检查一次,防止其他入口绕过 Agent 运行时。模型负责理解用户意图,运行时和业务后端负责保证无论模型提出什么调用,都不会超出允许范围。
参考:[OWASP:Excessive Agency](https://genai.owasp.org/llmrisk/llm062025-excessive-agency/)。
