[音乐]

大家好,感谢参加今年AI工程师博览会上在这个舞台上的最后一场演讲。谢谢各位的到来。我叫Remy,在Tailscale的战略项目团队工作。具体来说,我负责我们的AI网关Aperture。今天我想谈谈拥有一个没有锁定效应的AI未来意味着什么,或者说我们需要做什么才能做到这一点。

回顾过去12个月,我认为可以用“Token最大化”来形容这一阶段。我并非在AI爱好者圈子之外那种带有负面意义的语境下使用这个词,而是指这一年大家都在努力探索如何利用百万Token的上下文窗口。我们不仅可以通过无处不在的MCP获取上下文,还能利用优秀的编码工具通过命令行查找并将上下文带入模型中。

这种能力让真正的智能体编程成为可能,这确实非常酷。随着我们继续推进这一进程,不仅智能体编码会持续发展,其他智能体应用场景也将不断爆发。然而,“Token最大化”虽然酷炫,但也存在明显的问题。首先,它非常昂贵。过去12个月可能被视为拥有无限AI预算的时代,但最近几个月情况发生了变化。

从一般意义上讲,“Token最大化”不仅成本高昂,而且默认会激励浪费Token的行为。我负责AI网关的工作,通过我们的网关可以看到所有使用情况。令人惊讶的是,存在大量长达数百甚至数千条消息的会话,用户从未清理过上下文。虽然有时这有帮助,但往往导致一个会话消耗数千万Token,且大部分时间都在最大化使用上下文。

这种模式极其昂贵。此外,这段激动人心的时期促使人们构建新事物,但也导致了垂直整合的工具链现象。例如Cloud Code就是一个典型例子,CodeEx等也在崛起。许多公司从底层模型一直构建到顶层应用,建立自己的智能体和工具链。这带来了一系列问题。

那么,我们如何解决这些问题?特别是如何消除锁定效应,并改进AI的使用方式,使其不仅仅用于前沿任务或浪费金钱?首先我想谈谈如何避免解决这个问题。过去六个月里,我与数百人讨论了他们的AI支出和使用情况,这是从事AI网关工作的优势。

人们常来找我说:“我不知道发生了什么。”他们每天收到Anthropic和CodeEx的账单,感到困惑并询问该怎么办。通常他们会带着一个解决方案而来:既然大家都在用Cloud Code,我们就整合到一个或两个供应商那里。这听起来似乎很自然,但实际上并不是一个好主意。

当你处于恐慌状态——花费了大量金钱且不清楚具体去向时,财务部门也会施压。虽然公司鼓励使用AI但不应过度使用,人们自然会想通过整合来控制局面。然而,我认为这正预示着未来12个月前沿领域将出现的趋势:从“Token最大化”转向“ROI最大化”。

这里的“ROI最大化”不仅仅指削减成本,更是指证明你所做之事的价值。同时,这也意味着要开放系统。如果仅依赖两个前沿模型及其整个堆栈生态系统,成本将变得难以承受,AI的使用也无法扩展到公司其他部门。因此,在思考ROI最大化时,我们需要先了解内部AI部署的组成部分。

这里指的是组织内部的AI应用,而非仅仅是App中的新功能。主要有四个部分:首先是LLM或模型层;其次是数据连接器层,对许多人来说是MCP,但也可以是CLI、API或直接读取文件等方式获取数据。

系统层面,这里有一个界面。人们有时可能会忽略这一点,但你知道的,最初是从聊天界面开始的。我们有两个……嗯,我们有带有聊天的 IDE(集成开发环境)。然后我们又从两个界面中抽身出来……你知道的,我会去手机上操作。嗯,现在最热门的是 Claude 标签,而且我想我们会通过 Slack 与智能体进行交互。所以这是另一个核心组件,它是一个可以独立出来的部分。最后一个是沙箱,也就是智能体运行的环境。所以这确实是四个主要组件。

为了实现 ROI(投资回报率)最大化,意味着要充分利用每一个机会,在这些层级中的任何一层做出选择。你不必在每一层都拥有独特的、定制化的特殊选择,但关键在于能够在需要的时候,在任何给定的层级做出选择。这对于不同的团队或个人来说可能有所不同,在整个组织内可能会有很大的差异。我不认为整个工程团队会通过 Slack 线程来编写代码……虽然这可能很有趣,但我完全想象不出那样的场景。

然而,整个营销团队可能会完全在 Slack 线程中工作,提出数据问题或进行其他操作。因此,将这些事物区分开来非常重要。我在 Tailscale 工作……我负责 AI 网关项目。也许不出所料,我在这里谈谈为什么 AI 网关能帮助你做到这一点——不仅限于使用我们的 AI 网关(虽然那也不错),任何 AI 网关对于这一目标都很重要。

我们的 AI 网关叫做 Aperture。它的作用……也许不出所料,它在你的智能体、该智能体的界面以及所有的端点(包括 LLM 端点和数据 MCP 端点、API 端点等)之间起到中介作用。它位于中间,让你能够控制和监控发生的情况——无论是从安全角度、成本角度,还是我们非常关注的“了解某人或智能体在做什么”的角度。

当你拥有日志时,这真的非常酷。你可以告诉你的智能体:“嘿,也许它跑偏了……”或者“哦,它没有得出答案,只是失控地螺旋式发展。”这种情况现在可能少一些了,但以前经常发生。使用较便宜的模型时通常也会更多见……它们通常不擅长自我停止,但在事后分析哪里出错方面非常在行。

因此,当你拥有像 AI 网关这样的工具时,很容易回溯你正在做的事情,并问:“发生了什么?为什么这没有像我预期的那样工作?”如果你之前使用过 AI 网关……有多少人部署或使用过?好的,所以如果你以前用过,你可能已经习惯了:我把所有的密钥都放在这个网关上。现在,我需要为所有东西创建合成密钥……这就像是用一些密钥交换了一堆其他密钥。

但我们可以做一些特别的事情。Aperture 构建在 Tailscale 之上。如果你不熟悉 Tailscale,它是一个基于身份的网状网络,建立在 WireGuard 之上。通过 Tailscale,你可以做到的是……所有在 Tailnet(Tailscale 网络)上建立的连接。你在需要的地方安装 Tailnet 代理……可以是容器、笔记本电脑、GPU 服务器,无所谓。你安装在所有地方,现在通过该 Tailnet 进行的每个连接都带有另一端机器或用户的身份。

这可以是一个标签(Tag),比如“这是一台机器 ID”、“这是一个 PR 审查机器人”。然后它会在下面获得一个单独节点 ID,即该 PR 审查机器人的实例。你也可以这样做,或者它也可以是用户身份……比如我使用笔记本电脑上的 Cloud Code。此外,如果你使用的是 Entra 或 Okta(注:原文 Octa 应为 Okta),我们甚至可以同步所有组,这样你可以看到该人所属的组。

另一端可以看到所有这些内容。我们有一个很棒的库,叫做 TSNet。这是一个开源库,你可以用它构建这类应用。Aperture 就是使用它构建的……实际上这里发生的就是这种情况。因此,它能够看到连接另一端用户或智能体的身份。再次提醒一下内部 AI 部署的组件:LLM 方面、数据方面、界面方面,以及实际运行事物的沙箱和环境。

在使用 Aperture 时……就 LLM 而言,我认为这与你对其他 AI 网关的预期相当相似。只不过这里我有一个配置好的网关……它有 Anthropic、OpenAI(注:原文 open eye 应为 OpenAI)、Vercel,甚至还有 Anthropic OAuth、Bedrock Codex……你可以想象到的所有东西。我把所有这些密钥都放在那个网关上,然后现在当我想作为智能体或用户连接到该 LLM 提供商时……

没有额外的屏幕来创建这些 API 密钥、创建身份。一旦我连接到网关,它就知道我是谁、是什么……它会说:“哦,你有权限使用这些模型和提供商。”你可以使用 GLM 5.2……你也有 GLM 5.2 的预算,对吧?对于便宜模型你有无限预算,而对于前沿(Frontier)模型你只有极窄的预算……诸如此类。这里没有额外的设置,只需添加 API 密钥即可开始。

因此,我们再次将所有 LLM 层放入了……放入一个地方。

你可以在组织内部进行扩展,无论是尝试切换模型还是提供商都可以做到。接下来是数据方面的事宜。除了作为 LLM 网关之外,这也是我起初使用“AI 网关”这一术语的原因。我知道这听起来有些模糊,但我特意选择了这个词,因为我们既是 LLM 网关也是 MCP(模型上下文协议)网关。我们甚至为普通 API 提供注入功能,并将其重新暴露为 MCPs,因此故意选择了更广泛的术语。

在 Aperture 中作为管理员,你可以配置所需的任何 MCP 服务器。我们内置了一些经过检查、确保易于使用的服务器。如果你曾在组织中部署或使用过 MCP,就会知道虽然存在标准,但每个人遵循的版本不同。你可以通过他们如何处理注入来准确判断 MCP 服务器的构建时间。这就像是一场考古学课程,但我们试图使这个过程变得非常简单。

作为管理员,你可以指定已配置并允许的服务器。利用相同的身份信息,你可以为不同团队分配权限:例如营销团队可以访问 Google Calendar 和 Gmail,而工程团队还可以访问 GitHub。你甚至可以细化权限,如只读或读写访问。这种解耦使得所有认证都在此处完成。

如果员工想使用 Cursor、Cloud Code 或某种新的代理框架,他们只需点击该端点。如果在 Tailnet 上,一切都会以他们的身份或代理的身份进行认证。无需重新登录各个工具,这大大降低了尝试新工具和不同工作流的转换成本。正是这些微小的摩擦点导致人们不愿尝试新的用例或实验以降低成本、提高效率。

关于界面,Aperture 内置了聊天 UI,但这建立在可被你自己利用的 API 之上。我们的目标是提供与 Aperture 相同的工具和接口,以便你构建界面。无论是 Slack 机器人、聊天 UI、移动应用还是语音界面,你都可以通过 Aperture 实现。连接器均通过 Aperture 设置而非聊天 UI 本身获取,从而支持各种用例。

即将推出的另一项功能是解决在设置 Open Web UI 等界面时丢失身份信息的问题,导致一切看似来自系统。我们将添加完整的 OAuth 透传功能,让你能看到用户和机器身份。这样即使使用其他界面,也能保持从 AI 网关获得的可见性,确保所有身份信息得以保留。

在沙箱方面,大家做得相当不错,因为对“沙箱”的定义各异,导致出现了百花齐放的局面。每个需求和偏好都有对应的提供商,大家也在很好地集成它们。我们将为网关添加沙箱编排层,旨在松散地使用“AI 网关”这一术语,以便更好地为不同端点、环境、LLM 和数据连接器做出选择。

你需要一个能汇总所有内容的地方,以便使用其中任何一项,这几乎是一种通用翻译层。最后提醒一下,ROI 最大化本质上是通过最大化选择来防止锁定。即使你不使用 Aperture,我也强烈建议你开始考虑 AI 网关的价值,它不仅仅局限于处理 LLM。

不需要配置三个不同的提供商或在它们之间切换。这样不仅很好,而且对于理解智能体在做什么非常棒,即使只是作为个人用户也是如此。我们有很多个人或个体将他们的使用量放在一个 AI 网关后面,只是为了了解他们的智能体在做什么。

因为你知道的,如果你运行像 OpenClaw 这样的东西,通常是在 Tailscale 上,并且它在你的 Tailnet 中运行。它只是在后台运行,然后你会想:“天哪,它做了一些事情,我不确定是什么。它做了些不该做的事。”有了 AI 网关,你实际上可以回溯并查看情况。

你可以诊断出哪里出了问题,发生了什么。所以你知道的,这不仅仅是锁定问题;实际上,作为一个整体进行实验和理解非常重要。因此,使用类似 AI 或 LLM 网关的东西是非常重要。

好了,这就是我的演讲内容,简短而精悍。非常感谢大家的出席。因为这是今天的最后一场讲座,所以我希望每个人都度过了一次非常棒的会议之旅。我知道我热爱 AI 工程师世界博览会,也希望你们也是。所以谢谢。