大卫·福勒最近提出了一个非常好的问题,我最近也在考虑这个问题。
随着科技行业拥抱自主代理,我们真的需要搞明白这件事。5个你需要了解的AI代理
自主代理程序有潜力改变我们操作系统的方式。我们可以把这些任务交给AI助手,让它们在没有人工干预的情况下完成任务,还可以为我们做决定。如此大的自主性也意味着责任……和风险!
代理访问难题
为了让自主代理真正有用起来,它们也需要能访问到与我们相同的系统、工具和数据。但如何确保这种访问既安全又有限,同时还能追踪?特别是当我们可能需要为多个代理提供对多个系统的访问权限时。以下是一些我们需要迅速回答的关键问题:
- 最好的身份验证代理的方法是什么?我们是使用与人类相同的身份验证系统,还是需要专门为代理设计的新系统?
- 我们如何确保日程管理代理只能访问他们需要的权限?例如,管理你日程的代理程序不应该能够访问敏感的人力资源文件。
- 我们如何确保代理在替你执行操作(例如调用API或与系统交互)时,其行为符合你的意图并严格限制在预期范围内?
- 我们如何追踪代理执行了什么操作,访问了什么信息,以及具体的时间和原因?
代理认证
我们可能会想,我们可以为代理使用与人类相同的认证方法。但我们必须记住,代理需要能够编程使用的凭证。不仅如此,而且,它们对每个任务的访问需求可能会有所不同。因此,API 密钥基本上用不上,因为它们是静态的,无法适应代理的动态需要。
OAuth 提供了一种更灵活的方法,允许权限动态更新,但当需要更新令牌范围时,频繁的重新验证可能会在密集任务中造成瓶颈。这还不包括凭证泄露或被利用时可能出现的滥用问题。
我们是否需要创建一个全新的框架来验证代理?或许像特定于代理的身份层,例如可验证凭证或去中心化标识符这样的方案可以发挥作用。但是即便如此,我们如何在大规模情况下安全地发行和管理这些身份,而不给用户带来噩梦般的使用体验呢?
访问权限
最小权限原则在这里比任何时候都要严格地应用。我们不会给实习生root权限来访问我们的生产系统,那为什么我们要给予AI代理无限制的权限呢?
我们需要灵活的细粒度访问控制,以适应代理任务的动态性质。例如,代理可能需要临时权限来为你发送电子邮件或编辑某个特定文件。我们该如何设计那些用完即失效或超出范围时自动撤销的权限?如果我们给代理分配了这些临时访问令牌,我们又如何避免每次代理执行任务时都必须进行繁琐的手动重新授权呢?在这里,平衡安全性和易用性是真正的挑战所在,找到那个平衡点至关重要,这是关键所在。
意图一致.
即使有了限制访问权限,仍然需要确保代理按预期行事,而不是擅自行动。如果我要求一个代理“更新会议议程”,如何保证它不会提前把草稿邮件发给团队的每个人?这就体现了意图对齐的重要性。
一种方法可能涉及预定义代理在各种情境下可以做什么的政策执行机制。另一种方法可能是实时监控,让代理在执行动作前通过验证层。但我们如何在监督与效率之间找到平衡呢?毕竟,使用代理的目的是为了节省我们的时间,而不是让我们每一步都陷入手动审批的繁琐之中。
追踪记录
当代理犯错的时候,能够追溯到底发生了什么事情,这样我们就能有机会纠正方向,这会很好。记录代理的每一项操作(访问的内容、时间和原因)可以帮助我们审计他们的行为,并减少潜在的风险。
但是代理运行速度很快,就像机器一样,这意味着它们生成日志的速度很快,人类无法实际解析。我们需要一些工具来帮助我们总结并突出异常行为,以便我们能够快速发现有问题的地方。我一开始想的是“我们只需要用大语言模型来做这个就好了吧!”,但随后我意识到这些日志可能包含敏感信息(还记得我们给了代理访问我们的系统和数据权限吗)。所以也许可以使用本地的大语言模型……但我不确定。
咱们来聊聊
很明显,安全和访问控制需要放在讨论的中心位置,我很高兴大卫提到了这个问题!作为工程师,这些都是我们应该讨论和考虑的问题。
这确实是一个有趣的挑战。如果我们限制得太严,代理就无法履行他们的职责。如果我们太宽松了,我们就是在给潜在的灾难创造机会。
仅仅构建智能的AI还不够。我们必须确保创建支持它们的安全和负责任的基础设施和环境。解决这些认证和授权的挑战需要我们共同努力。
对于开发代理工具的人来说,你们都采取了哪些策略来在功能性和安全性之间找到平衡?我很想听听你们的看法。
共同学习,写下你的评论
评论加载中...
作者其他优质文章