加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你部署了一个自主研究 Agent,它每天自动搜集行业资讯、生成报告。原本期待它 8 小时运行、2 小时空闲,但实际情况是——模型 API 响应延迟、人类审批环节、外部工具卡顿——Agent 实际只在 5% 的时间里"真正工作",其余 95% 的时间都在等待。
这 95% 的空闲时间,Kubernetes 按常驻 Pod 计费,AWS/GCP 按实例运行时长计费。 一个需要连续运行 7 天的 Agent,可能因为人类审批延迟被挂起 5 天,而你的账单按 7 天常驻 Pod 结算。数十个 Agent 并发时,这就是一场预算灾难。
这是 2026 年 AI 应用团队最真实的"规模化之痛":Agent 工作负载天然具有突发性、长时间等待、状态依赖三大特征,而传统容器编排系统(Kubernetes)从设计上就不是为这类场景优化的。
Google AX 就是在这个背景下诞生的。
AX 的全称是 Agent Executor,由 Google 内部多个分布式执行引擎团队联合开发。这个项目的背后是一支横跨 Google 多条产品线的核心团队,他们多年来一直在构建大规模任务执行系统。随着时间推移,某些架构模式反复经受住了考验——团队意识到,与其重复解决相同的编排问题,不如提炼出一套通用的运行时层。
就在这个提炼过程中,AI 领域发生了根本性转变:Agent 从简单的工具调用助手进化为自主、长时间运行、具备自我改进能力的工作者。从效率角度讲,Agent 工作负载天生具有突发性:一个 Agent 可能高度计算密集地运行 1 分钟,然后闲置数小时等待人工审批或外部 API 响应。在共享计算资源上长期保持有状态 Actor 活跃,是极其低效且成本高昂的。
与此同时,Kubernetes 虽然在过去十年成为大规模任务编排的标准,但它从设计之初就是为无状态微服务或可预测的批处理作业而生的——并不适合挂起/恢复有状态的沙箱化 Agent Actor。
基于上述双重挑战,Google 决定构建一个专为 Agent 时代设计的通用编排运行时。目标是降低 Agent 的生产化门槛,让开发者专注于构建和评估应用本身,而非处理底层基础设施。AX 就是在这样的内部积累与外部需求交汇处,被开源到 GitHub 的。
AX 的核心设计哲学是将 Agent 视为有状态 Actor,而非无状态服务或批处理任务。它提供了四个声明式 Kubernetes 风格原语,全部通过 ax.io/v1alpha1 API 组表达:
| 原语 | 作用 |
|---|---|
| Task | 定义执行生命周期、沙箱资源限制,引用关联基础设施 |
| Workspace | 预装配执行环境:挂载 Git 仓库、配置 MCP 服务器、安装技能包、提供自然语言目标供初始化 Agent 执行,引导 Agent 提前准备工具链和系统依赖 |
| Gateway | 管理出站网络安全策略,将沙箱 Agent 限制在明确的域名/端口白名单内,同时处理出站请求的凭证注入 |
| Model | 建立 LLM 提供商的统一控制点:运行时参数、配置,以及存储在 Kubernetes Secret 中的凭证 |
最关键的能力:挂起与恢复(Suspend / Resume)。 当 Agent 进入空闲状态(如等待模型推理或工具调用响应)时,AX 会在子秒级时间内检查点保存其执行状态并暂停。整个过程不需要冷启动,多个任务被复用共享宿主机 Worker,大幅节省计算资源。这意味着一个等待人工审批的 Agent 可以被高效挂起,直至审批完成再立即恢复——计费粒度从"常驻时间"变为"实际执行时间"。
AX 的控制平面由三个核心组件构成:
1. ax(CLI 工具): 面向开发者的命令行工具,刻意设计成与 kubectl 相似的操作体验:ax apply 注册清单、ax get 查看资源、ax watch 实时流式任务状态变化、ax ssh 登入沙箱调试、ax suspend / ax resume 手动控制任务执行状态。CLI 遵循用户的 kubectl 上下文,自动解析并隧道连接到对应集群的控制平面。
2. ax-server(gRPC API 服务): 直接执行层,监听 8080 端口。负责清单验证、管理分布式锁、直接与 Agent Substrate 对齐协调,并将状态持久化到 Redis。设计选择将状态存储在 Redis 而非 Kubernetes CRD——因为将数百万短期任务存储为 K8s CRD 会让 etcd 超过其单数 GB 存储限制、写入率瓶颈和控制平面退化。ax-server 可水平扩展,通过增加副本数提升处理能力。
3. ax-task-runner(容器入口点): 每个任务容器内的引导程序,负责沙箱引导、元数据服务,并运行 Agent 命令。这是一个围绕 runner 包的精简封装,自定义镜像可选择直接嵌入。
底层依赖 Agent Substrate——一个专为高密度 Actor 复用而设计的执行运行时,是 AX 的真正执行引擎。每个 Agent 会话在严格 CPU/内存限制的隔离 Actor 沙箱中运行。
| 维度 | 详情 |
|---|---|
| 主语言 | Go 1.27.1 |
| 核心依赖 | agent-substrate、go-redis/v9、google.golang.org/grpc、protobuf、yaml |
| 状态存储 | Redis(资源存储、分布式锁、PubSub) |
| 执行协议 | gRPC(ax.v1alpha1.AX 服务) |
| API 风格 | 声明式 YAML(ax.io/v1alpha1) |
| 隔离技术 | 沙箱(依赖 Agent Substrate 实现,默认基于 gVisor) |
| 部署方式 | Kubernetes + ko 镜像构建 |
| 代码结构 | cmd/ax(CLI)、cmd/ax-server(服务端)、cmd/ax-task-runner(容器入口) |
适合场景:
不适合场景:
上手步骤简述: 安装 Agent Substrate → 安装 Redis → ko 构建 AX 镜像 → ax apply -f task.yaml 注册任务 → ax watch 监控执行。
AX 在技术社区引发了真实讨论。支持者认为它解决了"空闲 Agent 按常驻时间计费"这一核心痛点,是企业级 Agent 部署的必要基础设施。批评者则指出,AX 的营销定位与实际复杂度存在落差:"声明式 YAML 风格"让人误以为上手容易,实际上背后需要运维完整的 Kubernetes 集群、容器仓库和自定义 CRD。
当前最大局限: AX 仍处于早期活跃开发阶段(截至 2026 年 9 月已有大版本变更),团队暂停了外部 Pull Request 接受(仅接受 Issue 反馈),说明核心架构尚未稳定。企业采用需评估稳定性风险。
此外,AX 是编排执行层而非 Agent 开发框架——它不负责 Agent 的决策循环,与 LangGraph、CrewAI 等面向开发者的编排工具定位不同,层级更低,是 Agent 基础设施的"底层操作系统"。
AX 的出现代表了 AI 工程领域的一个重要趋势:Agent 基础设施的层级分化。2024-2025 年,应用层框架(LangChain、AutoGen、CrewAI)已经成熟;而 2026 年,业界开始关注"谁来管理这些 Agent"的问题——如何让 Agent 规模化运行、如何保证隔离、如何实现细粒度计费。
AX 与 Agent Substrate 的组合,试图成为这个中间层的标准。它借鉴了 Kubernetes 的成功经验(声明式 API、控制器模式、可扩展性),并针对 Agent 的独特需求(状态持久化、突发性工作负载、子秒级挂起恢复)做了定制优化。
12,000+ Star 的社区关注度表明,社区对"AI Agent 基础设施层"的需求是真实的。AX 能否成为事实标准,取决于它能否在稳定性、文档完善度和生态建设上持续推进。