https://www.gravatar.com/avatar/7222fa570f84694c87bf8d4c105d123b?s=240&d=mp

Saiyu Doc

Sandbox 环境持久化:持久卷、磁盘保留与快照恢复

用户让 Agent 安装了一个工具,安装成功,任务也执行完了。过一段时间回来继续用,项目文件都在,再执行那个命令却变成了 command not found。

我们遇到的就是这类问题。用户可以在 Sandbox 里安装软件,而实例回收、重新创建以后,安装过的东西没有跟着回来。

上一篇文章讨论了如何把源码留在 NAS,把依赖安装和构建放到本地盘。这次要继续看工作区之外的内容:软件到底装在哪里,怎样让这些安装结果跨实例保存,以及三种持久化方案各自需要解决什么问题。

Sandbox 存储性能优化:NAS 选型与本地盘构建

一个新项目还没有开始修改代码,准备过程就先等了六七秒。拆开日志以后发现,其中接近一半时间花在初始 Git 推送上。

2026 年 4 月 6 日,测试环境两次新项目准备的平均耗时是 6.66 秒,负责推送的 push_remote 步骤平均用了 2.90 秒,占约 43.6%。沿着这次推送继续看,Gitea 服务端的仓库目录挂在 NAS 上,文件存储由此进入了排查范围。

后面我们又测了不同文件系统上的依赖安装和构建,遇到了“包已经缓存,安装仍然很慢”的问题。这篇文章从 Git push 开始,沿着这些测量与实现,讲到 NAS 选型,以及本地盘上的依赖和编译。

Agent 部署方式:中心服务与 Sandbox

Agent 接收到任务后,会多次调用模型和工具,直到任务结束。组织这个过程的程序称为运行时,也就是 Runtime。

本文讨论两种部署方式:由中心服务运行 Agent,通过远程接口操作工程;或者把 Codex 放进 Sandbox,由沙箱内的引擎直接操作工程。下面分别介绍它们的组成、数据存储、执行过程,以及中断后的恢复方法。

后端架构演进:服务拆分、环境选路与研发平台建设

生成链路最初由两个核心服务组成:Gateway 接收请求并处理项目接口,Runtime 运行 Agent,调用模型和工具,返回执行过程与结果。

随着业务增加,项目管理、调度和不同客户端的接入逐步拆开。服务之间的调用、环境选择、发布与排障,也需要相应调整。本文按这些问题的出现顺序,介绍各阶段的结构和实现方法。

游戏 Agent 演进之道

游戏 Agent 的目标是把用户需求转换成一个可以运行的游戏。这个过程包含需求分析、素材生成、代码修改、测试和发布,需要模型与业务系统共同完成。

本文记录我们在实现这条链路时做过的几次调整,依次介绍 Prompt、多 Agent 分工、Skills、工具接口和任务恢复。每一部分说明原来的实现、遇到的问题,以及后续采用的处理方式。原生引擎的接入状态以本文最初整理时为准。

IOS 功耗采集介绍

市面上的 ios 功耗采集工具往往通过 电池瞬时放电电流 x 电压 来计算 IOS 系统的瞬时功耗。那么有没有一种方法在有线连接时也能反应设备的功耗呢? 这篇文章介绍 SystemLoad参数,并验证其有效性。

Lua Profiler 基本原理

学习ELuaProfiler和Miku-LuaProfiler,讨论 lua profiler 的前置能力 希望通过学习主流的 lua profiler 的前置能力,来讨论 webgl 平台 lua profiler 的可行性