计算与状态分离:跟着一次改 bug 走一遍
需求:“登录令牌在过期的那一秒还能用,修一下,并跑回归测试。”
下面一步步看:哪些东西在云端、云端在做什么、你的电脑上留着什么。
先澄清一个容易混的点:模型推理本来就在云端(你今天用 Claude Code、Codex 也是调云端模型 API)。这里说的“计算”指的是 Agent Loop 本身:拼上下文、调模型、分发工具调用、记录结果。它今天跑在你的电脑上,文章要把它搬走。
先看全景:三种摆法
① 今天的本地 CLI
Claude Code / Codex CLI / OpenCode 的常见用法
云端只有模型 API
你的电脑
Agent Loop 进程
会话记录文件
仓库 / 凭据 / 工具链
三样东西都在一台机器上。合盖、断网、关终端,Agent 就停了。
② 全搬上云(云端沙箱)
文章 §5.2 提到的第一种常见做法
云端
Agent Loop
会话数据库
沙箱:拉代码、重建环境
你的电脑基本不参与
一直在线,但你没提交的改动、本地凭据、内网服务,沙箱都拿不到,或者同步成本很高。
③ 文章方案:§5.1 + §5.2
计算、状态、执行环境三者分开
云端
Agent Loop(无状态,可随时换)
会话数据库
你的电脑
仓库 / 凭据 / 工具链
轻量守护进程
Loop 在云上一直在线,环境留在原地,工具调用穿过守护进程远程执行。下面演示的就是这一种。
逐步演示(方案 ③)
你网页 / IM / CLI,都只是“发消息、看回复”的窗口
云端 · 计算
跑 Agent Loop 的容器,按需借用,用完即还
云端 · 状态(Session)
数据库里的只追加事件日志,唯一需要长期保存的东西
你的电脑 · 执行环境
代码、改动、凭据、依赖都留在这里
对照:如果是今天的本地 CLI
也可以用键盘 ← → 切换
走完一遍,东西都在哪
云端 · 计算:什么都没留
- 前后用过 A、B、C 三个实例,都已经回收
- 它们内存里的东西都能从日志重建,丢了也没关系
云端 · 状态:完整的事件日志
- 你的需求、模型每一步的决定
- 工具结果:读到的代码片段、diff 摘要、测试输出摘要
- 任务状态:等待设备、已完成
你的电脑:真正干活的地方
- 两个文件的改动,没提交,等你 review
- 凭据、内网依赖、工具链,从来没离开过
- 测试是在这里真实跑的
一句话:计算可以随时丢,因为状态存在别处;环境不用搬,因为工具调用可以远程执行。
§5.1 让 Agent 不再依附某个进程,§5.2 让它不再依附某台机器。
§5.1 让 Agent 不再依附某个进程,§5.2 让它不再依附某台机器。
依据:DeepSeek Harness《Super-agent 设计探索》第 5 节(英文版镜像),以及 Anthropic《Scaling Managed Agents: Decoupling the brain from the hands》中的 wake(sessionId)、getSession(id)、emitEvent(id, event) 接口。这是文章的架构设想,不代表 DeepSeek Harness 或公开原型已经实现;步骤中的事件、文件名和测试数量都是示意。