ZGI Runner 与 Sandbox:两层运行边界

Agent 调用模型之后,还可能检索资料、运行 Workflow、执行代码并生成文件。Runner 关注任务从哪里开始、当前走到哪一步、结果回给谁;Sandbox 关注代码和命令在哪里运行、能访问哪些文件与网络、何时停止和清理。两层配合,覆盖任务运行与执行环境两个问题。

ZGI 的自托管运行栈将 Runner 和 Sandbox 作为独立服务部署,并把代码与工具放入隔离运行环境。可以先用"任务组织层"和"受限执行层"理解两者。具体隔离方式、网络策略、资源上限和生命周期需要结合实际部署继续验证。

Runner 盯住任务的完整过程

一次任务可能包含模型调用、知识检索、条件分支、人工审批和工具执行。运行层需要维护任务标识、当前节点、输入输出、等待条件、失败状态和结果回执。外部接口超时后,还要判断继续等待、重试、转人工或结束,避免同一动作被重复执行。

Runner 在这类架构中承接任务推进。它不需要直接运行每段不可信代码,而是把执行请求交给合适环境,再接收结果并更新任务状态。这样,业务流程的生命周期不会和某个临时执行进程绑在一起。

Sandbox 管住执行发生的地方

代码节点和文件工具会接触计算资源、文件系统与网络。Sandbox 为这类动作提供受限环境,常见控制项包括可用运行时、文件范围、网络访问、执行时长和资源配额。任务完成后,还要处理文件保留、日志关联和环境清理。

隔离环境仍需配置。NIST SP 800-190 将容器安全拆到镜像、运行时、主机、注册表和编排等环节,说明"放进容器"只能提供一部分基础条件。高风险任务还要结合最小权限、依赖管理、出口限制与审计记录。

运行问题 Runner 侧重点 Sandbox 侧重点
任务开始 任务标识、输入与调用关系 准备执行环境
执行过程 节点状态、等待与回执 代码、命令和文件操作
异常发生 重试、停止或转人工 超时、资源限制与进程终止
任务结束 保存结果和最终状态 清理环境或保留产物

一份报告会经过两层

用户提交"读取销售数据并生成周报"后,Runner 先关联本次任务与调用身份,推动检索、数据库读取和 Workflow 节点。需要生成图表文件时,运行链路把明确的输入和允许动作交给 Sandbox。Sandbox 执行脚本并返回文件结果,Runner 再记录状态,把产物交给后续审批或下载环节。

如果脚本执行失败,Sandbox 返回错误和退出状态;Runner 根据流程规则决定是否重试或结束。如果用户取消任务,Runner 发出停止请求,执行环境随之终止并进入清理。两层各自留下信息,排查时可以先判断流程状态错了,还是执行环境出了问题。

部署时分别验收两层

Runner 侧可以测试任务中断、重复回调、审批等待和状态恢复;Sandbox 侧可以测试超时、越权文件访问、网络出口、依赖缺失和资源耗尽。随后再运行一组端到端任务,确认任务标识、日志与产物能够跨层对应。

ZGI 把 Runner 与 Sandbox 纳入同一套自托管运行栈,为两层协作提供了部署基础。上线前仍需按企业环境设置权限、网络和资源策略。分清两层职责后,故障定位、容量规划和风险检查都会更具体。

GitHub:github.com/zgiai/zgi

Gitee:gitee.com/zgiai/zgi

相关推荐
知几蜗牛几秒前
AI眼镜把记忆放上云,怎样证明云端也看不见?
人工智能
知几蜗牛几秒前
训练数据越多越好吗?用LeRobot讲清数据质量与版本化
人工智能
知几蜗牛几秒前
PR合并慢,别再只看平均时长:GitHub把等待拆成了三段
人工智能
知几蜗牛几秒前
AI账单失控前,团队真正缺的不是更便宜的模型
人工智能
清桔几秒前
Agent调用流程
人工智能
吴佳浩1 分钟前
Agent 可观测性(Observability):分布式追踪、链路诊断与 Token 成本精细化核算
人工智能·agent·ai编程
武子康1 分钟前
Agent 能接进 IDE,为什么还不能随意互换?
人工智能·llm·agent
美好世界1 分钟前
Codex 源码导读:第四部分——上下文压缩与继续执行
架构
美好世界1 分钟前
Codex 源码导读:第十部分——Session、Thread 持久化与 Memory
架构
据说幸运很容易1 分钟前
TestNG 分组接入现有框架:实现、踩坑与解法
后端·架构