跳转至

状态保存与分支复用

Agent 已经完成一部分工作后,可能需要保留当前进展、尝试另一种方案,或稍后继续执行。pVisor 通过检查点保存起点,通过分支隔离后续修改,让不同尝试可以分别推进、审查并追踪来源。

工作区检查点:保留文件进展

工作区检查点保存暂存文件变化、冲突检查基线和来源信息。工作区分支从这些文件状态启动新命令,后续修改进入自己的写层,原候选结果仍可保留。

例如,Agent 已完成一版代码修改,但测试仍未通过。可以保存当前文件状态,让另一个分支尝试不同的修复方法,再分别审查两个方案。

这种检查点不保存进程内存或模型对话,基础文件还可能引用外部路径,因此不是整个环境的不可变备份。普通工作区分叉要求源 Job 已停止;运行中捕获需要协作式静止点。操作与保存范围见逻辑检查点与分叉。

VM 执行检查点:保留执行进度

VM 执行检查点在支持的配置下,一致地保存 CPU、RAM、设备与文件系统状态。恢复时重建执行实例,从保存的位置继续原来的执行;执行分叉可以从同一检查点创建独立 Job。

例如,环境已完成初始化或在内存中加载数据,可以保存此时的执行状态,供后续恢复或分支使用。与工作区分叉启动新命令不同,执行分叉继续检查点中的程序,不接受替换命令。

保存执行检查点后,原 VM 可以继续运行;挂起则在保存检查点后等待原 VM 退出。恢复挂起任务保留 Job 身份并创建新的 Attempt;执行分叉创建独立 Job。Live Resume 则继续原存活实例和同一个 Attempt。

从同一起点建立独立分支

两种分支都会记录来源检查点,后续文件修改进入各自的写层;支持的 VM 执行分支也保持 RAM 写入私有。分支可以分别执行和检查结果,具体采用什么策略、如何比较结果,仍由 Agent 或上层框架决定。

分支隔离的是其管理范围内的状态,不能回退远程 API、数据库或已经发出的消息。模型交互与工具调用记录的使用见回放历史轨迹。

适用范围

能力 使用前需要确认
工作区检查点与分叉 创建检查点时需保留受支持的暂存候选;从已有检查点分叉需保留检查点及其引用的基础文件。
VM 执行检查点与分叉 使用支持原生保存的 Linux x86_64 或 macOS ARM64 VM 配置,关闭网络并使用私有 RAM;恢复要求相同宿主启动、pVisor 二进制与固件。

VM 执行恢复不支持宿主根目录 /,也不能任意组合共享内存池、可写 RAM backing 或冷页压缩等配置;不属于跨主机迁移或跨版本恢复。完整配置限制与能力查询见 CLI 参考,一致性机制见环境快照。

状态复用保留任务进展,资源复用减少底层内容的重复占用。 分支的文件与 RAM 修改需要保持独立;底层不可变内容能否共享取决于具体路径。上述检查点配置中的私有 RAM 要求仍然适用,创建分支不会自动启用共享内存池或压缩。具体机制见镜像与内存优化。