作者:计缘
在本系列的开篇内容中,我们已经和大家一起理清了一些根本概念, 比如 AI 应用的界说,AI 应用的核心是什么,以及 AI Agent 的界说和推理模式等。
今天我们聊聊 AI Agent 运行时。
如上文所述,我们正步入一个由 AI Agent 驱动的全新 AI 时代。AI Agent 运行时已不再是简朴的代码执行环境,它演变成了一个动态、有状态且可能是变乱驱动的复杂系统。这个运行时负责管理 AI Agent 的完整生命周期,包括其状态维护、与外部工具的交互以及多智能体间的协作举动。OpenAI 将 Agent 重新界说为“模子 + 指令 + 工具 + 运行时”的组合,这标志着 AI Agent 运行时本身已从“附属组件”,跃升为不可或缺的“核心基石”。
AI Agent 运行时的挑战点
AI Agent 的计算负载特性与传统应用截然差别。传统的 Web 服务通常具有可预测的请求-相应模式,而 AI Agent 的运行推理模式如上文所述,是多种多样的,并非一次简朴的模子推理,而是一个复杂的、多轮次的循环工作流,涵盖了持续的规划、工具调用、自省和迭代式推理。它不是一次性的问答,而是一个为达成目标而不断“思考”和“办法”的动态过程。比如 ReAct 模式在每一步都必要 LLM 举行推理以决定下一步是思考还是办法;而 CoT/ToT 为了做出更优决策,会模仿多条未来的推理路径,这都极大地增加了并行的推理调用需求。
正由于这些特性,AI Agent 的一次运行可能是一种“脉冲式”或“突发性”的资源斲丧模式——即在极短时间内举行高强度计算,随后进入长时间的闲置状态。这种动态推理过程虽然功能强大,但也带来了显著的延迟波动和高昂的底子办法成本挑战。
别的 AI Agent 正从理论走向实践,这预示着人机交互和任务主动化的根本性变革。然而,赋予这些 Agent 强大本领的自主性、学习本领和工具利用特性的同时,也引入了亘古未有的安全风险。比如提示注入(Prompt Injection),工具滥用与不受控的系统命令、权限泄露、上下文泄露与级联故障等。所以运行 AI Agent 的环境必要是一个隔离的、访问控制与系统调用拦截的、可严格管理资源的、具备可观测与审计的环境,也就是沙箱环境(Sandbox)。
所以我们尝试通过阿里云函数计算 FC 这种 FaaS 形态的 Serverless 计算产品,帮助企业办理 AI Agent 运行的构建效率、资源成本、Sandbox 三大挑战。
函数计算 FC 作为 AI Agent 运行时的上风
AI Agent 的独特运行模式和对计算资源的需求在函数计算 FC 这种 FaaS 计算资源上找到相对完美的办理方案。这种对应关系可以通过下表清晰地展示出来:
AI Agent 运行时需求函数计算 FC 的上风变乱驱动与异步执行多种原生的变乱触发器和异步任务执行模式不可预测的突发性工作负载主动、快速的弹性伸缩(从零到N)高昂的计算资源闲置成本按实际利用量计费必要安全、隔离的执行环境天然沙箱化的运行时复杂、多步调的工作流与工作流引擎有深度集成数据持久化与OSS,NAS,PolarFS做好了深度集成快速迭代与开发的需求聚焦业务逻辑,而非底子办法这里先来整体看一下函数计算 FC 作为 AI Agent 运行时的方案拓扑图:
函数计算 FC 作为 AI Agent 自身的运行时(Runtime)
函数计算 FC 作为 AI Agent 的运行时有两种模式:
函数计算 FC 作为 AI Agent 自身的运行时。
函数计算 FC 作为辅助 AI Agent 的沙箱环境(Sandbox)。
编码式 - 函数计算 FC 作为计算资源运行 AI Agent
FC 作为 AI Agent 的运行时有两种范例:
用户自研的 AI Agent。或者利用 Spring AI Alibaba、LangChain、LlamaIndex、Pydantic AI 等开发 Agent 的综合框架开发的 AI Agent。
在 FunctionAI 平台上,已经托管了一些现成的 AI Agent 组件,比如 OpenManus,Jmanus,ComfyUI,SD WebUI 等,可以一键拉起利用。
FC 作为 AI Agent 运行时的上风:
函数计算 FC 触发器机制,实现 AI Agent 可灵活被调理。
函数计算 FC 按请求扩缩,提升 AI Agent 资源利用率,低落资源成本。
函数计算 FC 支持多种存储机制,提升 AI Agent 数据存储的灵活性和安全性。
函数计算 FC 函数实例动态安装依赖包,提升 AI Agent 业务形态多样性。
函数计算 FC 支持 Seesion 会话亲和,进一步提升 AI Agent 执行任务的同等性和隔离性。
以上两个不确定的特性就是 AI Agent 运行时自身以及共同存储产品必要办理的问题。
执行环境里的各依赖包的不确定性
这是由于这类 AI Agent 处理的任务是千奇百怪的,用户的问题是无法穷举的,所以无论是 AI Agent 的实现代码逻辑也好,还是运行 AI Agent 的运行时也好,都不可能事先预置所有的依赖。而是只实现 AI Agent 的主干核心逻辑,以及一个隔离并灵活的运行环境,在执行用户的任务时,当遇到必要利用三方依赖时,可以暂停执行任务,先安装所需依赖,然后再继续执行任务,所谓兵来将挡,水来土掩。
函数计算 FC 方案:函数计算 FC 天然具备这个本领,每个实例底层都是隔离的容器环境,通过 subProcess 可以直接执行像 pip 或者 npm 的包管理命令来动态安装依赖,由于每个实例都是完全资源隔离的,所以同一个 AI Agent 函数的差别实例都可以是独一无二的运行环境,有差别的依赖,既相当于每一次执行用户任务运行环境都是完全隔离和完全不相同的,完美匹配这类 AI Agent 的不确定特性。
拿用户相关文件信息路径的不确定性
这个不确定性特性的本质是用户数据隔离的问题。通常环境下,这类 Chat AI Agent 的文件路径是以用户(User ID)/会话(Session ID)/任务(Task ID)命名的,目标有两个:
NAS:NAS 有单集群 10 亿个文件的 SLA 上限,但是 AI Agent 场景,尤其 Chat 类的 AI Agent 很容易就会凌驾 10 亿个文件,所以 To C 端的大型或者通用 Chat AI Agent 如果要利用 NAS 必要通过多集群来规避 10 亿文件的 SLA 上限问题。
函数计算 FC 方案:函数计算 FC 和 NAS 有产品间的深度集成,可以方便地通过白屏化或 OpenAPI 或命令行工具的方式将 NAS 挂载到函数上。这里我们推荐一个用户对应一个函数,该函数挂载 NAS 路径时只挂载根路径,也就是只挂载用户(User ID)这一层。在 AI Agent 的逻辑里再去拼接利用会话(Session ID)/任务(Task ID)这后两级目录,由于会话和任务这两级目录的名称是不确定的、是动态的,所以更适合在请求中拿到会话和任务的名称后,在代码里在用户这级根目录下动态创建,然后做文件数据的存取。
云盘+OSS:这两个存储介质通常是共同利用,整体的逻辑是利用云盘实时存储 AI Agent 执行过程中产生的各种范例的文件数据,在任务执行完之后,打包上传到 OSS 作为持久化。OSS 的文件对象命名也根本遵循用户(User ID)/会话(Session ID)/任务(Task ID)这个规范。
函数计算 FC 方案:函数计算 FC 和 OSS 有产品间的深度集成,也是类似 NAS 一样的挂载方式,将 OSS Bucket 映射为挂载根目录。同时函数计算每个实例都有隔离的云盘存储空间。在函数中,利用各个编程语言自带的操作本地目录存取文件的方式利用这两种存储介质即可。
在这几个月时间里,我们遇到了大量利用开源 Dify 构建 AI Agent 或者 AI 应用的客户,这类客户必要快速构建出可以辅助存量业务的 AI Agent,他们的关注点在业务上,并不会投入过多精力研究编码式的构建方案,像 SaaS 类、泛企业类居多。
AIStudio 是什么
AIStudio 是阿里云自研的可视化构建 AI Agent 的产品。底层的工作流引擎基于阿里云 2018 年就商业化的产品云工作流(CloudFlow),底层算力基于函数计算。而前端的可视化部分我们根本相沿的Dify的设计语言。目标很简朴,就是让用户在不改变利用习惯的前提下享受到更灵活、更稳定、性能更好地可视化构建 AI Agent 的产品。
Browser Use 其实并不是一个很新的东西。
在 AI 场景下,当前 Browser Use 主要有两类主要的应用场景:
辅助数据采集,比如必要登录的一些网站,获取论文报告等。
做联网搜索,目前主流搜索引擎的 API 本领乱七八糟,且价格不菲,所以通过 Browser Use 做联网搜索在灵活性和成本方面都是较优的选择。
当 AI Agent 的任务从封闭的模仿环境扩展到开放、动态且充满潜在勾引的互联网时,其面临的安全挑战也随之升级。对于一个在 Web 上操作的 AI Agent 来说,互联网不再仅仅是信息的来源,它本身就是一个动态的、可能包含恶意内容的输入源。网页的内容直接影响 Agent 的感知和决策,所以这就是为什么 Browser Use 也必要沙箱环境的缘故原由。
Browser Use Sandbox 场景的一些挑战点: