ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AX背后的Google内部经验:分布式执行引擎共性提炼完整指南

AX背后的Google内部经验:分布式执行引擎共性提炼完整指南 AX背后的Google内部经验分布式执行引擎共性提炼完整指南【免费下载链接】axGoogles open agentic orchestration runtime项目地址: https://gitcode.com/GitHub_Trending/ax11/axAXAgent Executor是 Google 开源的分布式执行引擎与智能体编排运行时agentic orchestration runtime。它从可挂起/可恢复的镜像中动态创建隔离环境来运行 Agent原生支持故障恢复与执行续跑Resumption。这篇文章带你快速读懂 AX 背后的 Google 内部工程经验——那些在多年分布式系统实践中被反复验证的架构共性以及如何用它们在几天内跑通自己的分布式 Agent 运行时。为什么是 AX两个工程浪潮的交汇点 据项目 README.md 的 History 章节AX 的诞生源于两条线索的汇合老问题多年来Google 各团队先后构建并运维了多个分布式执行引擎。随着系统演进一些架构模式反复经受住了时间考验——各团队意识到自己在重复解决相似的编排问题于是将这些经验提炼成公共运行时层。新挑战AI 应用正从无状态的工具调用转向自主、长时运行、自我改进的 Agent。这类负载天然脉冲式Agent 可能高强度计算一分钟然后空闲数小时等待人类批准。让有状态的 Actor 在空闲期持续运行在规模化下成本极高。而过去 10 年成为大规模任务编排标准的 Kubernetes本质上是面向无状态微服务和可预测批处理任务设计的并不擅长挂起/恢复有状态的沙箱化 Actor。AX 正是为此缺口而生分布式运行时Harness、技能、工具与 Agent 在隔离环境中执行自动恢复从失败或中断中自动恢复并续跑可移植从单机到大型集群均可运行可扩展自定义环境、MCP 工具、技能与指令架构全景一张图看懂 AX 分布式执行引擎项目 README.md 给出了整体架构核心角色如下角色分工很清晰组件职责关键词AX Server多租户控制器客户端连接入口单写者、可恢复流Event Log Storage事件日志存储SQLite / Postgres持久化、可重放Agent Substrate计算层控制服务挂起/恢复 ActorActor会话级隔离执行体Harness沙箱、会话租户共性提炼一单写者架构让一致性免费获得 ✍️分布式系统里最贵的东西之一是状态一致性。AX 的答案是单写者Single-Writer架构控制器 internal/controller/controller.go 是整个系统的唯一状态写入口负责协调 Agent 循环、管理执行生命周期在 internal/harness/harness.go 的注释中写明了核心不变量每个 conversation 同一时刻至多存在一个 Execution。正因为单写者Harness 实现可以用简单的后写覆盖last-write-wins存储持久化会话状态而不需要复杂的 compare-and-swapHarness 注册表 internal/controller/registry.go 以 ID 为键管理所有执行体恢复执行时强制沿用该会话最初记录的 Harness防止状态漂移 经验法则与其在分布式间协调多写冲突不如从架构上消灭多写——这是 Google 分布式执行引擎中经受时间考验的最典型模式。共性提炼二事件日志 自动恢复执行永不丢档 **事件日志Event Log**是 AX 的第二个核心共性。看接口定义 internal/controller/eventlog/eventlog.go它是**追加式append-only**记录每次执行中的动作都作为原子 Step 事件写入按序重放日志即可让执行器回到一致状态并从中恢复执行存储后端可插拔单机用 SQLite见 ax.yaml 的eventlog.sqlite配置生产环境用 Postgresmanifests/README.md执行状态只有 5 种定义在 proto/ax.protoPENDING / FAILED / COMPLETED / CANCELED。控制器在 internal/controller/controller.go 中的ResumptionState会扫描事件日志判定当前状态PENDING表示有未完成执行直接续跑COMPLETED/FAILED则开启新执行。对用户的意义是——失败不是终点。任务中断后只需ax --conversation edf98ef5-4bb1-4a9e-a091-3a77e03727e6 --resume共性提炼三Harness 抽象把执行体变成可挂起的 Actor AX 把谁来执行抽象成了Harness接口internal/harness/harness.go三个核心概念Harness能启动执行会话的服务内置 Antigravity也欢迎自定义实现甚至可以是传统工具型 Agent 或语言模型Execution活跃会话支持Run阻塞式流式执行、Queue追加输入、CloseHandler流式事件回调OnMessage/OnComplete控制器借此把每一步实时写入事件日志跨进程通信由 gRPC 协议定义在 proto/ax.protoHarnessService.Connect采用双向流——客户端发送 Start中途可 Cancel服务端流式返回 outputs最后以恰好一个end帧收尾。这种可恢复流设计贯穿了 Server↔Client 与 Server↔Actor 的全部链路。而真正体现 Google 内部经验的是计算层集成internal/harness/substrate/substrate.go 通过 Agent Substrate 控制面完成 Actor 的Create幂等→ Resume调度到工作节点并分配 IP→ 就绪探测 → gRPC 直连执行空闲后 Actor 被挂起suspend下次对话再从快照恢复——空闲的 Agent 不再烧钱。快速上手三步跑通你的分布式 Agent 运行时 第一步安装 AX CLIgo install github.com/google/ax/cmd/axlatest ax --help # 验证安装第二步发起一次执行CLI 自动启动内置 Antigravity Harness无需单独部署 Harness 服务ax --input Can you list this directory?第三步随时续跑对话ax --conversation d85a4b4e-c53b-4c84-b879-f10d905bce40 \ --input Show me the contents of README.md想以多租户服务形式运行一条命令即可ax serve --config ax.yaml配置文件 ax.yaml 只需声明服务地址与事件日志存储。需要扩展能力时Skills在ax.yaml设置skills_dir参考示例 examples/skills/如 emoji 技能输入匹配描述即自动激活MCP 工具内置 Harness 支持发现并调用已配置的 MCP 服务☸️Kubernetes 部署使用 manifests/install-ax.sh 一键构建镜像并部署到 Agent Substrate 集群事件日志接入你的 Postgres详见 manifests/README.mdPython 侧车Antigravity Harness 的 Python 实现在 python/antigravity/harness_server.py总结值得借鉴的三个架构共性 ✅共性模式在 AX 中的落地解决的问题单写者架构controller.go 唯一状态写入点消灭分布式写冲突可重放事件日志eventlog/ 追加式日志故障恢复与执行审计可挂起/恢复的执行体substrate.go Actor 生命周期脉冲式负载的成本问题AX 目前仍处于早期快速演进阶段核心协议与恢复规范仍在打磨重大破坏性变更会先于稳定版发生官方建议通过 Issue 反馈而非提交 PR。但对于正在构建长时运行 Agent 系统的团队来说这三个从 Google 内部多个分布式执行引擎中提炼出的模式无论是否直接采用 AX都值得尽早纳入你的架构设计。【免费下载链接】axGoogles open agentic orchestration runtime项目地址: https://gitcode.com/GitHub_Trending/ax11/ax创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表