你的 agent 评测是否测试过对话中途权限被撤销的情况?
摘要
讨论一个常被忽视的 agent 评测场景:当用户的数据访问权限在对话中途被撤销时会发生什么,涵盖过期上下文、缓存的检索结果、跨账户缓存泄露,以及策略执行应该位于技术栈的哪一层。
对于处理带权限数据的 agent,我会补充一个评测用例:在对话中途撤销访问权限。简单场景:一个用户可以访问 Project A。agent 检索到一份事件记录并生成了摘要。之后该用户对项目的访问权限被移除。在同一个会话中,用户又请求该记录的另一个细节。如果应用的策略要求当前必须具有访问权限,应该发生什么?新的检索可能会被阻止,但旧的片段、记忆条目或缓存的答案可能仍对模型可用。我会分别测试这些路径:
- 在现有对话中的后续追问。
- 从另一个账户通过共享缓存提出同样的问题。
- 一次在撤销前开始、但在撤销后才产出答案的运行。
对于每种情况,我都会记录适用的访问策略、提供的证据,以及授权检查发生的时间。对新搜索的拒绝并不能证明现有会话或缓存也遵守了这一变更。这关乎防止在该策略下发生后续的信息泄露。它无法收回用户已经获取的信息。你会在技术栈的哪一层强制执行这一点:检索层、上下文构建层、响应边界层,还是它们的组合?
相似文章
撤销访问权限后,智能体还能工作多久?无人测量
文章讨论了在撤销AI智能体访问权限时被忽视的时间差,强调了缓存凭证和副作用如何导致撤销后的意外行为,并提议将测量这种延迟作为关键指标。
无评估可捕捉的智能体失败模式:使用缓存的过时事实
讨论AI智能体可靠性中的一个盲点:缓存在获取时是真实的事实,但在使用时已经过时,导致一致但不正确的行为。提出将一致性(与源匹配)与时效性(源目前仍然真实)分开,并询问社区如何处理这个问题。
当你的AI代理评估检测到失败时,你实际会怎么做?
作者讨论了调试AI代理评估失败时的常见挑战,寻求关于高效调查方法以及比较运行与其他证据来源可靠性的见解。
工具调用状态应该由模型持有还是应用持有?
一场关于开发实践的讨论:将工具调用的运行时状态交由 LLM 维护(提示词更简洁,但重试处理易出问题),还是由应用自己管理(控制流更清晰,但智能体的自主性随之减弱),其中超时后出现重复或过期的工具调用是最典型的故障模式。
除了沙箱隔离之外,你们如何检查自主智能体是否始终遵循用户意图?
一篇讨论帖,询问从业者如何验证 OpenClaw 这类自主智能体始终遵循用户意图,指出沙箱隔离和最小权限原则不足以防范遵从指令的智能体被滥用,并探讨切实可行的审批策略和跨会话偏移检测方法。