为什么 Codex 敢「大胆」改东西
你可能好奇:Codex 怎么敢大改文件、跑命令,不怕把你电脑搞坏?答案就在它的核心设计——云端沙箱。这一节讲沙箱的工作原理。
text-tools 会一路在沙箱里长大:工作区建在沙箱、代码写进沙箱、命令跑在沙箱。理解了沙箱,你就知道为什么可以让 Codex 放心大胆地反复改——改坏了重来就行,不碰你的电脑。沙箱是什么
沙箱(Sandbox)是一个隔离的执行环境。Codex 在沙箱里改代码、跑命令,这个环境和你真实的电脑是分开的。
就像小孩子在沙坑里玩,玩得再乱,也只是乱在沙坑里,不会弄脏整间屋子。
Codex 干活的位置:云端沙箱(隔离)
├─ 读代码 ✅
├─ 改文件 ✅(改在沙箱里)
├─ 跑命令 ✅(跑在沙箱里)
└─ 不直接弄乱你的本机 ✅
一个最直观的可复制示例——让 Codex 在沙箱里建一个目录看看:
codex "在沙箱工作区里新建一个名为 sandbox-test 的目录,并在里面放一个 readme.txt"
你会看到它真的在云端创建了文件,而你本机什么都没多出来。这就是「隔离」最直白的体现。
沙箱带来三个好处
| 好处 | 说明 |
|---|---|
| 安全 | 它乱改也乱不到你的本机 |
| 大胆 | 因为安全,它敢放心地改、放心地试 |
| 干净 | 环境可重建,搞砸了重新来 |
理解了沙箱,你就懂为什么 Codex「敢大胆改、改完再让你看」。
对新手最实用的是「干净」这条:你不用担心「它会不会把我项目搞坏」。就算 Codex 把沙箱里的东西改得乱七八糟,也不影响你的真实文件——最坏情况就是重新让它建一遍。
沙箱怎么隔离
隔离主要体现在:
- 文件系统:沙箱里有自己的文件视图,改动不直接落到你本地
- 进程:命令在沙箱环境里运行,不碰你的系统
- 网络/权限:沙箱可以限制它接触的东西
隔离的深浅可以配置,但核心理念一致:给 AI 一个「安全试错」的空间。
一个排查示例——如果 text-tools 的代码「神秘消失」,先查是不是沙箱问题:
codex "列出当前工作区里所有文件和目录,把结果打印给我"
这条命令能让你看到「沙箱里到底有什么」,快速确认东西在不在、在哪个目录。
沙箱的代价
安全是有代价的,你要清楚:
- 结果要同步:沙箱里改的东西,可能需要同步/导出到本地,才能落到你的项目里
- 环境不同:沙箱和本地环境可能有差异,跑通了也不代表本地 100% 一样
所以「它在沙箱里跑通了」≠「你本地直接能用」,你要验收并同步结果。
text-tools 时尤其要养成习惯:每次干完一批活,主动让 Codex「把成果同步/导出到工作区」并确认文件在。别让成果「留在沙箱里没人拿」。一句话理解
沙箱 = 给 Codex 的「练习场」:安全试错、干净可重建,但它的成果需要你验收后拿回本地。
落地练习:给 text-tools 建出云端工作区
现在就把我们的贯穿项目在沙箱里「落个户」,真实走一遍「在云端建东西」的感觉:
- 让 Codex 在沙箱工作区建一个项目目录:
codex "创建目录 text-tools" - 让它在里面建一个说明文件:
codex "在 text-tools 里创建 README.md,第一行写:云端文本处理工具" - 让它列出目录确认:
codex "列出 text-tools 目录里的所有文件"
怎么判断做对了?——第 3 步能列出
README.md,说明你在沙箱里成功建出了工作区。此时你的本机文件夹里应该什么都没有,这正是「云端 + 隔离」的体现。
卡住了怎么办? 列表里没有 README.md?可能是工作目录不对,先 codex "打印当前工作目录" 确认位置,再让它在正确目录里建。目录名拼错了?直接用 codex "列出工作区所有目录" 看看现状再建。
常见坑:成果留在沙箱,忘了拿回来
新手最常踩的坑:Codex 在沙箱里干得热火朝天、文件也建了、代码也写了,但你从没让它把成果同步/导出,于是一换会话或一换环境,东西就「没了」——其实不是没了,是还在沙箱里,没拿到你能访问的地方。
正确做法:干完一批活就同步一次。每次结束前问自己「沙箱里的成果,拿到我该拿的地方了吗」。养成这个习惯,比任何技巧都重要。
小结
- 沙箱 = 隔离的执行环境,Codex 在里面干活
- 好处:安全、大胆、干净
- 代价:结果要同步到本地、环境可能有差异
- 它在沙箱跑通 ≠ 你本地直接能用,要验收
- 我们已在云端建好了
text-tools工作区
下一节,讲会话、上下文与工作目录。