第 02 模块 · 2 节

会话、上下文与工作目录

《Codex 基础入门》02 环境与沙箱 · 本节时长 26 分钟

三个词,搞懂 Codex 的工作方式

理解了沙箱,这一节再拆三个概念:会话、上下文、工作目录。它们决定了 Codex「在多大范围、多长的记忆里干活」。搞懂这三个,你就能更好地控制它。

贯穿项目接下来的所有 text-tools 功能,都会在同一个工作目录、干净的会话里推进。这三个词管不好,Codex 就会在错误的地方干活、记不清前面做过什么。这是让 text-tools 做大的地基。

会话(Session):一次连续的工作

会话是 Codex 的一次「连续对话」:你从启动到结束,属于同一个会话。会话内,它能记得前面聊了什么、做了什么。

  • 一个会话 = 一段连续的工作上下文
  • 换任务、做完了,可以结束会话重开

类比:一次会议从头到尾是一次会话,中间说的做的都在。

实操提示:给 text-tools 加功能时,尽量在一个会话里把一个功能做完——从「加个统计字数」到「验证它跑通」,一气呵成,它记得过程,不会每步都问你重述。


上下文(Context):它「能看到多少」

上下文是 Codex 在当前能参考的信息范围:你说了什么、它看了哪些文件、做了什么。

  • 上下文越大,它记得越多,但也越贵、越慢、越易乱
  • 无关的东西塞进上下文,是浪费

管理上下文(别塞无关文件、及时清空)是用的关键——这在进阶课会深入。

一个直接可复制的示例——让 Codex「只看它需要看的」:

codex "在 text-tools 里,只打开 tool.py,不读其他文件,帮我看看统计字数的函数有没有 bug"

明确告诉它「只读哪些、别读哪些」,就是在主动管理上下文,省时省钱。


工作目录(Working Directory):它在哪干活

工作目录是 Codex 执行任务的位置,可以指定。

  • 指定对了,它在对的项目里干活
  • 指定错了,它可能在错误的地方瞎忙

开始任务前,确认工作目录是你想让 Codex 动的地方。

一个可复制示例——开工前先确认位置:

codex "打印当前工作目录,然后列出里面的文件"

这是每次开工的「定位动作」,快速确认 Codex 是不是在 text-tools 目录里。


三者怎么配合

工作目录(在哪干活)
   + 会话(连续的工作单位)
   + 上下文(它能看到多少)
   = Codex 这次任务的状态

管理好这三者:在正确的目录、用干净的会话、喂必要的信息,Codex 就能干得又准又稳。

一个「开工前固定动作」示例:

codex "确认工作目录是 text-tools;基于当前会话,帮我加一个『把文本转成大写』的功能,只改 tool.py"

一次同时锁定了工作目录、复用了会话记忆、界定了上下文。


落地练习:管理好你的 text-tools 会话

text-tools 上真实走一遍「三要素齐备」的开工流程:

  1. 让 Codex 打印当前工作目录,确认在 text-tools 里(不在就先 cd 过去再确认)
  2. 用一个会话,连续做完两件小事:codex "在 tool.py 里加一个统计字数的函数,然后再加一个转换大小写的函数"——别分两个新会话做
  3. 最后让它列出当前会话里改过哪些文件

怎么判断做对了?——第 2 步在同一个会话里,Codex 记得第一个函数,接着加了第二个,没有让你重述需求。第 3 步能列出 tool.py,说明它在正确的目录、正确的会话里推进。

卡住了怎么办? 它在错误目录建了文件?先 codex "打印当前工作目录",再用 codex "cd 到 text-tools 再干活" 纠正。它好像「忘了」之前做的事?多半是会话被重开了,把需求补齐再继续。目录里有一堆无关文件?让它只读必要的,别读整个项目。


常见坑:在每个会话里重复造轮子

新手容易「开一个会话问一句」,导致 Codex 每次都像是「新来的」,什么都不记得,你得反复重述需求、反复交代背景——又慢又乱。

正确做法:一个任务线,一个会话。给 text-tools 加某个功能,就把相关的前因后果、已写的代码,都放在同一个会话里连续推进。真要换方向,也先想清楚再新开会话,而不是随手重开。会话是你的「工作记忆」,别随手清空。


一个实践建议

每次开任务前,花十秒确认:

  • [ ] 工作目录是不是目标项目?
  • [ ] 是一个干净的会话吗?(还是旧会话残留了一堆)
  • [ ] 我接下来要喂它的,都是必要信息吗?

小结

  1. 会话 = 一次连续的工作单位,会话内能记住
  2. 上下文 = 它能看到多少,别塞无关信息
  3. 工作目录 = 它在哪干活,要指定对
  4. 三者管好,Codex 又准又稳
  5. 给 text-tools 加功能,坚持「正确目录 + 一个会话 + 必要上下文」

下一节,讲模型选择与使用模式。