撤销访问权限后,智能体还能工作多久?无人测量

Reddit r/AI_Agents 新闻

摘要

文章讨论了在撤销AI智能体访问权限时被忽视的时间差,强调了缓存凭证和副作用如何导致撤销后的意外行为,并提议将测量这种延迟作为关键指标。

在智能体栈的访问控制中,通常只讨论谁获得什么权限。但权限变更所需的时间几乎从未被讨论。撤销是颁发方的写入操作,而执行是消费方的读取操作。在这两个事件之间,存在着带有剩余TTL的缓存令牌、已打开的会话、携带凭证的队列任务、通过副本生成的子智能体、持有存储参数的重试,以及已在提供者处进行的工具调用。对于人类用户,这种差距很容易被忽略。撤销某人的访问权限时,他们可能正在睡觉,或者正输入到句子的中途。而智能体在同样的十五分钟窗口内能完成的工作,比一个人在四分之一时间内做的还多。大多数团队验证撤销API返回200状态码。但他们通常无法提供t_stop:从撤销到最后一次成功特权调用所经过的时间。这是一个真实的数字,你可以在一个下午内测量它。启动一个循环,在运行中撤销,然后找到最后一次仍成功调用的时间戳。我可能对这种情况的普遍性有误,但我猜测大多数栈甚至从未生成过这个数字一次。显而易见的修复方法是缩短TTL,然后刷新路径悄悄地成为真正的权威。如果智能体能刷新,撤销必须到达刷新检查,而这个检查往往是没人进行负载测试的。长时间运行的任务会让情况更糟。人们会提高TTL,或添加诸如“任务健康时续订”之类的规则,这恰恰在试图阻止的事件中重新授予凭证。缩短t_stop也不是没有代价的。你从缓存的本地决策转变为每次调用检查,因此每个特权操作现在都依赖于授权方的可达性。失败开放意味着你没有撤销任何东西。失败关闭则使你的授权方成为中断放大器。这种权衡是实际的设计问题。TTL值是其下游产物。似乎最缺乏测量的部分:每个副作用都有单独的t_stop。凭证可能在几秒钟内停止工作,而携带结果的队列任务稍后才触发。消息停留在发送队列中。带有幂等键的支付记录无论何时到达都会被处理。访问权限已消失,但外部世界仍在变化。因此,诚实的测量是从撤销到最后一个外部可见效果的时间,这通常跨越两个系统,通常意味着没人负责。有人实际测量过这个吗?很好奇你的栈今天是否能回答这个问题。
查看原文

相似文章

如何决定何时停用代理?

Reddit r/AI_Agents

讨论关于缺乏AI代理退役流程的问题,重点是如何决定何时关闭代理、追踪使用情况以及谁应该做出关停决定。

代理的重试逻辑会随代理一起消亡

Reddit r/AI_Agents

作者分享了将一个具有写入权限的 AI 代理投入生产环境后的经验教训,指出当进程终止时,代理循环内部的重试逻辑会失效。他们主张将有副作用的工具调用视为带有幂等键的持久后台任务。