大多数团队仍然将编码代理视为一个一次性聊天窗口:打开终端,启动冷启动过程,支付全额上下文费用,然后丢弃会话。我们希望它更像我们已经运行的生产基础设施 – 一个长生命周期服务,可以从调度、脚本和(即将)局域网上的任何浏览器调用。

本周,我们将这种模式整合到我们自己的堆栈中:一个持久的编码代理进程,一个轻量级的ACP(代理客户端协议)客户端,以及第一个钩子,以便myawx计划工作可以与同一个代理通信,而不是每次都冷启动Grok。
为什么长时间会话优于冷启动
当你为每个任务启动一个完整的代理二进制文件时,你会反复支付配置、工具连接和仅重新建立会话连续性的早期费用。对于交互式工程来说,这是令人讨厌的。对于自动化来说,这是浪费的:更高的令牌成本,更慢的任务,以及在相关任务之间保持有用的提示缓存的可能性更小。
长时间会话模型颠倒了默认设置。保持一个代理进程在工作已经存在的那个地方运行 – 旁边部署工具、Git和我们的内部控制平面 – 并且让短生命周期客户端附加、发送提示、流式传输结果并断开连接。沉重的进程保持活跃;客户端保持轻量。
ACP:一个合适的客户端协议,而不是另一个聊天孤岛
我们标准化了开放的代理客户端协议(ACP):WebSocket上的JSON-RPC会话(或编辑器中的stdio)。这是与语言服务器相同的思路 – 清晰的客户端/代理边界 – 而不是锁定到一个供应商表面的专有UI。
在我们这边,这意味着:
- 一个长生命周期Grok Build代理服务(systemd),始终为自动化服务。
- 一个小的开放acp CLI(stdlib Python)用于shell、cron和任务:连接、提示、打印、退出。
- 桌面ACP UI的实验,用于交互式使用 – 有用于快速查看,但不适合操作的骨干。
我们还克隆并研究了公开的Grok / Grok Build源代码,它在开放条款下发布。这种透明度对于我们自己运营的基础设施上的AI工程很重要:我们可以看到服务模式、会话和工具如何协同工作,而不是从黑盒中猜测。
已经调用 Grok 的 myawx 计划任务
我们的内部调度器 — myawx — 已经启动了重复性工作:镜像维护、邮件驱动任务、事件跟进、内容服务批处理和其他舰队杂务。其中一些计划在人类原本会将相同的检查清单粘贴到终端时,已经将简要说明交给 Grok。

到目前为止,其中许多路径每次运行都会冷启动一个完整代理。我们正在通过 ACP CLI 将它们迁移到长期代理,因此计划任务是“将此简要说明发送到正在运行的代理”,而不是“启动宇宙,然后问一个问题。”这在需要时保持 会话连续性,减少冗余启动,并使自动化路径看起来像交互式路径。
并非每个任务都需要一个模型。批量所需状态工作仍然属于 Ansible 和确定性管道。在需要判断、多步骤主机本地调查或自然语言简要说明的地方,代理现在是调度程序的一等被调用者 — 而不是开发人员笔记本电脑会话中的一个副业。
我们(尚未)没有做的事情
我们没有用聊天来替换 GitLab、OTAP 或更改控制。公共 托管托管 和客户隔离仍然运行在相同的乏味规则上:库存、评论和生产门槛。代理坐在那台机器旁边;它不会解散它。
我们还注意暴露问题。ACP 通过普通 WebSocket 是一种协议,不是免费加密。在具有身份验证的可信专用网络中,它是一个实用的运营表面。在开放的互联网上,它需要 TLS 和更严格的策略 — 这是我们应用于任何管理员 API 的常识。

下一步:每个局域网浏览器的 HTTP ↔ ACP 网关
CLI 对于 myawx 和生活在 shell 中的操作员来说已经足够。自然下一步是一个小的 HTTP ↔ ACP 网关:一个本地 Web 前端,它与局域网上的浏览器以普通 HTTPS 交谈,并以 ACP 与它背后的代理交谈。不需要特殊的桌面应用程序 — 私人网络中的任何浏览器都可以打开会话,选择工作目录,并驱动相同的长期代理,该代理用于调度。
该网关是计划中的工作,而不是产品发布。当它上线时,交互式和自动化的入口点共享一个代理、一个审计故事和一个关于成本的讨论场所(缓存命中率、上下文增长,以及何时开始新会话与继续长时间会话)。
这如何适应 3DN
3DN 是一个产品和基础设施的集合,包括计算和托管托管,以及 DutchBud、PolitiCap 和 ZZP2ZZP 等工作·金钱·政治表面。编码代理对我们来说不是一个辅助演示,而是我们以更少的脆弱手off 运营生产系统的组成部分。
这里的数字主权是实用的:在您的工具和策略已经存在的服务器上运行代理,保持协议足够开放以交换客户端,并拒绝将每项自动化都注入一个无法看到您的机群的封闭 SaaS 聊天。
简而言之
- 面向运维和自动化的长期 Grok 代理服务。
- 用于脚本和已经调用 Grok 的 myawx 相关计划的精简 ACP CLI。
- 开放的 Grok Build 源被用作地图,而不仅仅是一个二进制文件。
- 路线图:HTTP ↔ ACP 网关,以便任何局域网浏览器都可以访问相同的代理。
如果您在自己的金属上运行自己的代理,有趣的问题不再仅仅是“哪个模型?”而是“哪个进程保持活跃,谁被允许调用它,以及当缓存已经预热时,下一个提示有多便宜?”
发表回复