本章讨论 Agent 进入真实环境前必须具备的运行基础,而非外围运维技巧。
Runtime 管理 Agent 的真实生命周期:构造上下文、调用模型、校验动作、执行工具、提交状态、记录事件并终止运行。模型输出具有概率性,控制器的权限和状态不变量则必须确定。
可靠性与安全在 Runtime 汇合,因为两者都要求控制器拒绝模型不能自行决定的状态转移。可靠性关心重复、丢失、乱序和崩溃后事实是否一致;安全关心主体能否读取数据、调用能力和提交不可逆动作。提示模型谨慎无法替代这两组不变量。
1. 可靠执行
1.1. 状态与恢复
5.1-状态机故障恢复与追踪讨论提交点、重试、检查点和 trace。恢复必须尊重未知副作用。
显式状态机把模型调用、工具执行、审批、验证和终止写成有限状态与合法事件。每次转移同时产生事件与新状态版本,使 UI、恢复器和评测读取同一事实。回调迟到时,reducer 依据当前状态拒绝非法转移,不靠时间顺序猜测。
1.2. 预算与并发
运行时限制 token、调用次数、时间和并发资源。预算是状态的一部分,不能只靠提示模型节约。
预算还承担故障隔离。单个工具结果过大、循环动作或大量并行分支不能耗尽整个服务。每个运行、主体与工具都有配额;达到上限后停止新动作,但仍完成未知提交查询、资源释放和状态记录。
2. 安全执行
2.1. 沙箱
5.2-沙箱权限与安全边界覆盖文件、进程、网络和凭据隔离。
沙箱定义实际可达能力,而不是仅过滤工具名称。文件根、系统调用、网络目的地、CPU、内存和运行时间都由执行环境限制。即使提示注入使模型产生恶意命令,执行器仍无法越过能力边界。
2.2. 人类审批
审批用于不可逆、高价值或越出常规作用域的动作。审批内容必须展示具体资源、参数和预期副作用。
审批绑定动作哈希、资源版本和有效期。参数或目标变化后旧审批失效。拒绝是环境反馈,策略可以缩小范围或停止,却不能把它当暂时工具错误重复提交。
3. 可观测性
3.1. Trace
Trace 连接模型调用、工具执行、状态提交和验证结果,使失败能定位到具体层。
事件溯源保存发生过什么,物化状态保存当前是什么。恢复器从快照和后续事件重建状态,诊断者沿因果 ID 找到首次偏离。敏感载荷另存受控产物,trace 保留摘要、哈希与访问策略。
3.2. 生产指标
运行指标包括完成率、恢复率、重复动作、调用成本、延迟和安全事件。它们需要按任务与版本分组。
可观测性的核心是建立因果链:哪个任务状态产生模型调用,哪个输出产生工具请求,哪个执行改变资源,哪个 verifier 允许完成。缺少关联与版本的日志再多也无法回答副作用是否已经提交。
4. 统一故障与威胁模型
4.1. 故障发生在哪里
模型可能输出无效动作,队列可能重复投递,执行器可能在提交后断线,事件可能乱序,验证器可能误判,服务可能重启。Runtime 为每类故障定义可观察证据和允许转移。超时归入未知提交而非直接失败,权限拒绝归入终止或审批而非自动重试。
故障模型决定测试。正常成功路径之外,还要注入响应丢失、重复事件、版本冲突、审批迟到、取消竞态、日志截断和 verifier 崩溃。系统应保持“终止状态不可逆”“写动作至多产生一次逻辑提交”“未授权动作不执行”等不变量。
4.2. 攻击跨越哪些边界
用户输入、网页、文档、仓库和工具结果都可能不可信;模型输出也不可信。Host、沙箱、凭据代理、审批者和外部服务形成不同信任域。数据跨域时携带来源与敏感标签,动作跨域时重新授权。
提示注入的危险来自文本影响了具有真实权限的模型。可靠防线包括缩小可见能力、隔离数据与指令、跟踪污点、限制数据流向,并在不可逆动作前让用户看到具体效果;要求模型辨认恶意句子只能作为辅助。
5. 一条受控执行轨迹
5.1. 从候选动作到提交
研究 Agent 读取网页后提出下载附件并运行脚本。网页内容标记为外部不可信,下载文件进入隔离目录,执行权限默认关闭。模型请求运行时,授权器发现产物来源跨越网络信任边界,只允许静态扫描;扫描通过也不自动获得主机凭据。
用户明确批准在无网络沙箱运行后,Runtime 生成动作 ID,固定文件哈希和资源限额。进程事件、输出产物与退出码写入 trace。脚本试图访问网络时由沙箱拒绝,模型收到结构化错误,可选择在不扩大权限下继续分析。
5.2. 崩溃后的恢复
若服务在外部订单提交后、记录结果前崩溃,恢复器看到动作处于 EXECUTING 且带幂等键。它查询外部系统,确认已创建后补写提交事件,再进入验证;不会重新执行。无法查询时标为中断并等待人工判断。
恢复过程不自动复活丢失的模型执行体。已提交环境事实保留,未提交计划可以由新运行重新生成。这个边界防止带副作用工具在进程重启后盲目重放。
6. 验收口径
6.1. 可靠性实验
评测在固定任务中随机注入崩溃、重复投递、工具超时和事件乱序,检查终局、外部副作用数与恢复路径。成功率之外,统计未知提交、人工介入、重复写入、恢复时间和首次故障定位。
状态机属性测试随机生成事件序列,验证完成状态不可逆、审批前不执行、取消后不启动新动作、状态版本单调和同一逻辑写入至多提交一次。Trace 回放应得到相同物化状态。
6.2. 安全实验
安全集包含网页提示注入、恶意仓库说明、工具结果注入、路径逃逸、网络外传、凭据请求和审批参数替换。测试既检查动作是否被拒绝,也检查拒绝 observation 能否引导安全停止。
能力消融逐步开放文件、网络和凭据,观察完成率与攻击成功率。安全收益要与任务损失共同报告;用完全禁用工具获得零攻击不构成可用 Agent,默认全权访问获得高完成率也不合格。
Runtime 的最终验收是一组可执行不变量:任何外部变化都有授权与事件,任何完成结论都有环境 verifier,任何恢复都能区分未提交、已提交和未知,任何敏感数据跨域都有来源与策略。实现细节可以变化,这些条件保持稳定。