RSS

第 3 章 / 共 10 章

一次会话的生命:开始、跑偏、拉回、留档

约 5 分钟 更新于

3.1 会话为什么会”越聊越傻”

新手最常见的困惑:开头几轮它表现很好,聊到第二十轮开始答非所问,甚至忘了你十分钟前定的约束。

原因是会话的上下文是累积的。一个会话里塞进去的东西包括:项目说明文件的内容、你的每一轮提问、它读过的文件片段、它执行过的命令和输出、它自己的推理过程。这些都占位置。当一个会话里混进了三个不相关的任务、两次失败的调试、一堆无关文件的内容,重要的约束就被稀释了

正确的心智模型是:一个会话 = 一个任务。任务换了,会话就该换。这条纪律比任何提示词技巧都有用。

3.2 高频斜杠命令的实际用途

在会话里输入 / 会弹出命令菜单。命令集合会随版本变化,以你本机菜单显示的为准。下面这几个是使用频率最高、也最值得先记住的:

命令什么时候用它实际解决什么问题
/status开工第一件事确认模型、沙盒、审批策略、工作目录
/init进入一个新项目时生成 AGENTS.md 初稿,见第5章
/permissions需要它开始写文件时会话内调整它能做什么,不必重启
/model任务明显更难或更简单时切换模型和推理档位,见第7章
/plan改动可能涉及多个文件时先出方案再动手,见第6章
/review提交前只读地审一遍改动,见第9章
/clear任务换了、上下文乱了清空当前对话上下文
/rename这个会话以后还要回来起个能搜到的名字

3.3 跑偏了怎么办:三种拉回手段,从轻到重

手段一:直接纠正,并说明理由。

不要只说”不对,重来”。说清楚偏在哪:

你改了 config/database.py,但我要求只改 API 层。把这个文件还原,改动限制在 api/ 目录内。

带理由的纠正会进入上下文,后续轮次它会继续遵守;不带理由的否定只会让它换一个同样错误的方向再试一次。

手段二:/clear 清空上下文,重述任务。

当你发现自己已经连续纠正了三次以上,说明上下文里的错误信息比正确信息还多。这时清空重来比继续纠正更快。重述时把前面那三次纠正的内容合并进初始描述里

手段三:退出重开,并把规则落盘。

如果同一类纠正在不同会话里反复出现(比如每次都要告诉它”这个项目用 pnpm 不用 npm”),那就不是会话的问题,是项目缺少说明文件。停下来,去写第5章的 AGENTS.md

3.4 收工动作:resume、fork、archive

一个会话结束时,你有几种处理方式:

codex resume          # 回到最近的会话,或按 ID 恢复指定会话
codex fork            # 基于已有会话分叉出新会话,保留原有记录
codex archive         # 归档会话,从常用列表里收起来
codex delete          # 永久删除会话

fork 的用法值得单独说:当你已经和 Codex 把某个任务的上下文铺垫好了(读完了相关文件、定好了约束),想试两种不同的实现方案时,fork 出两个分支分别尝试,比在同一个会话里来回横跳干净得多。

第3章:一次会话的状态变化
图 3.1:注意”纠正”这个环节的三条出口。轻度纠正留在原会话里,中度纠正走 /clear 重述,跨会话反复出现的纠正必须流向落盘——这条线如果不走,你会在每个新会话里重复同样的话。

3.5 动手:亲眼看见上下文被污染

广告位 · Multiplex 关联广告