你玩过抢椅子游戏吗?你知道那个孩子们围着椅子的行列走动,当音乐停止时他们冲向座位的游戏吗?问题在于椅子的数量比孩子少一个。所以总有人会被落下。这基本上就是企业在试图拥有既智能、快速又安全的 AI 时所做的事情。似乎只有两把椅子,但我们希望所有三个玩家都能获胜。欢迎来到“AI 安全三角困境”。这是一个包含三个部分的难题,而不是两个部分:无论我们如何努力,似乎只能选择其中两项,而牺牲第三项。让我们将这个难题分为三部分以更好地理解问题所在。首先,我们从智能开始。这是模型的能力,即其进行推理、多步规划并通过过程思考的能力;拥有更大的上下文以便有更深的理解,解决问题。使用它可以使用的工具并表达创造力。

一般来说,更智能的模型虽然也需要其他能力。例如,它们可能需要更大的上下文窗口;希望拥有更多的自主权、更多的工具以及对这些工具的更多访问权限和更高的许可级别。而这正是事情开始变得危险的地方,因为 AI 代理越智能,它创建的攻击面就越大。速度是每个人从 AI 中想要的东西。我是一个没有耐心的人,所以我尤其如此。我们要的是即时响应时间、低延迟。我们希望有无需人员参与即可运行的实时代理,这意味着自主行动。但速度有一个重要的影响:检查时间减少。如果每个 AI 交互都必须在毫秒内完成,那么执行诸如扫描之类的操作就会变得非常困难。

进入系统的输入、检测提示注入、分析从系统输出的输出,以及最终尝试执行安全策略。所以系统越快,安全干预就越难进行。最后是安全性。这将包括诸如提示注入防御之类的措施,以防止有人接管系统的上下文并控制它。我们将验证从系统输出的内容。我们要寻找数据丢失预防,以免将信息泄露给坏人。我们将执行策略并对我们用于执行所有这些操作的工具强制执行访问控制。但安全性几乎总是需要其他一些能力。

那就是诸如检查、过滤、限制系统行为的护栏之类的东西;沙盒化,这是另一种形式的限制。日志记录以便我们拥有可观察性,以及最终的人机回路(human in the loop),这样我们就有一种人类监督来确定系统是否出错。而所有这些最终都会引入摩擦。而摩擦最终会减慢系统的速度。这个三角困境存在的原因是安全专业人士非常理解的一点:能力增加攻击面。当 AI 系统获得能力时,每一种能力都成为新的攻击途径。

例如,如果我们从一个模型开始,然后该模型需要某些推理能力以及它将访问的其他东西,我们想给它一个记忆,以便它能理解上下文。这样如果我问它另一个问题,我就不必重复所有内容并从头开始,因为它在记忆中就有这些内容。我们也可能想给它互联网访问权限。因为这样系统可以去获取新鲜信息,有时几乎是近实时的信息。而模型在最初训练时并没有这些信息。我们给它提供工具访问权限,数据库访问权限,API 访问权限,以便它可以调用其他系统并获取服务、新信息,对其他系统的数据库进行更改等等。

该系统的另一组可能发生的输入是传感器。所以它会从现实世界获得输入。也许它正在观察某些事物或听取某些声音,这成为它将输入带入系统的另一种方式。而它与现实世界中那些事物的交互方式则是通过执行器(actuators)。所以是一整套能力。系统越强大,就越难保护其安全。如果我们试图完美地保护一切,系统的速度就会急剧下降。所以我们有智能、快速、安全:任选两项,你无法同时拥有全部三项。

那么让我们看看如果我优化其中两项会发生什么。假设我从智能和安全开始。那意味着我最终会得到一个缓慢的 AI,没人想要慢速 AI 你会这么想,但实际上有些情况下速度不是我们要优化的最重要因素。假设我们希望系统对某个特定主题进行某种深度的研究。它并不那么时间敏感。如果它需要 20 分钟而不是 20 秒,只要我们能获得我们所需的深度研究,那可能也没关系。也许是医疗诊断。当它查看 X 光片并进行分析时,我们希望它能真正做对,而不是做得快。所以在某些用例中这完全没问题。

那智能和快速呢?那么我们就把安全排除在外了,这意味着我们最终得到的是危险的 AI。现在,“危险”听起来不是一件好事。为什么我们要冒所有这些风险?事实证明,同样有些用例中风险足够低以至于我们可以容忍它。而我们确实想要智能和速度。所以在这种情况下,例如,如果我只处理任何人都能访问的公共信息,那么我可能不需要所有的安全措施。或者如果它拥有的信息、它所进行的处理、我们要采用的输出以及我们据此做出的决策和采取的行动最终风险很低,那么 AI 有点偏差也没关系。这方面的一个例子可能是概念验证(proof of concept),我们试图对系统进行某种程度的测试,看看可能是什么样子,但这不是生产级别的系统。但我们只是不想让它花 forever 来完成工作。

最终我们可以选择的另外两项是安全和快速。那么我们得到的是一个愚蠢的 AI。那你为什么要一个愚蠢的 AI 呢?我们希望它是智能的对吧?所以如果我们把智能排除在外,你会认为这没用,但事实证明有些情况下你不需要房间里最聪明的 AI。而且对于

例如,如果我们只是进行一系列简单的操作或提出简单的问题,那么我们就未必需要在云端部署一个庞大的“大脑”。这种情况的一个例子可能是家庭自动化AI,我们基本上只要求它执行开关灯的任务。因此,我希望它的响应速度足够快,同时不希望全世界的人都能访问我家中的灯光设备。在这种情况下,安全性和速度将是我主要优化的两个指标。

我们可以看到,我们面临着三个需要平衡的优化目标,但通常只能选择其中两项来实现。那么,我们要如何应对这个AI安全三角困境呢?一种日益受到关注的解决方案是引入一个“AI安全代理”。这是一个部署在AI模型外部的策略执行层。

我们不再直接信任模型本身去处理所有这些安全事务,而是在这一层级强制执行安全策略。这个代理层可以检查输入内容,查找提示注入等攻击手段;如果检测到敏感信息泄露的风险,它还可以对输出进行清洗。

此外,当AI试图调用外部工具时,该层还能控制工具的权限,从而在整个系统中更统一地应用安全策略。这样一来,模型本身可以保持智能和快速运行,而周围的环境则通过增加这一额外的安全层得到了保护。

虽然这种做法并没有消除三角困境,但它有助于实现更好的平衡。这就像是一场抢椅子游戏,但如果操作得当,我们可以巧妙地多放一把椅子,让每个人都能找到落脚点。这样我们就能在智能、速度和安全性之间找到一个理想的平衡点。