Codex 怎么用进长期项目:从项目规则到可复用 Skills

这篇教程只解决一个问题:怎样让 Codex 不再停留在一次性问答,而是在同一个项目中按规则读取文件、执行流程、检查结果,并逐步沉淀可复用方法。

Codex 项目理解、执行、测试与回滚主题示意图
主题示意图,不代表当前界面或实际调用结果
直接答案先选一个会重复发生、结果可以检查的小流程,让 Codex 只读梳理文件、输入、输出和现有步骤;再把不变的要求写成项目规则,把需要长期延续但会更新的背景放进可维护的项目资料或记忆,把已经连续跑通的步骤整理成 Skill。每次执行都要保留范围、日志和验收方法,不要把“AI 说完成了”当作完成。

适合谁,不适合谁

适合:工作要连续推进同一个项目会反复更新数据、文件、脚本、图表、报告或说明文档。
适合:有固定规则和重复步骤你希望 AI 记住命名、目录、输出格式、禁区和检查方法,减少每次重新解释。
不适合:没有明确输入和完成标准如果连要处理什么、输出给谁、怎样算完成都不清楚,应先定义任务。
不适合:直接操作生产与敏感数据第一次流程不要部署、删除、覆盖正式数据,也不要提交无权外发的资料。

开始前准备

  1. Codex 已安装并有可用的账号登录或 API 路线;仅在选择 API 时阅读 codex-api.html,无需为本练习更换认证方式。
  2. 一个可以安全测试的项目副本,最好已使用 Git、文件备份或其他可回退方式。
  3. 一个真实且会重复发生的小流程,例如更新数据后重跑图表、整理一批文件或生成固定格式报告。
  4. 明确输入、输出、禁止范围和成功标准,例如“只读原始数据,报告写入指定目录,图表数量和关键统计值可核对”。
先把规则写进项目,不要只留在聊天里关键规则应放在项目内可查看、可更新的规则文件或说明文档中;不要把密码、API Key、个人隐私和容易过期的数据写进长期规则或记忆。

完整步骤

01

选择一个能重复、能检查的小流程

不要先说“把整个项目优化一下”。选择一个边界清楚的任务,写明输入文件、预期输出、允许操作、禁止范围和验收指标。

02

让 Codex 先只读理解项目

从正确项目目录启动,要求它读取 README、目录结构、相关脚本和样例输出,复述现有流程、风险与缺失信息,暂时不要修改或运行写入命令。

03

建立可维护的项目规则

把稳定要求写进项目规则文件,例如目录职责、命名方式、不得修改的文件、每次必须运行的检查和结果汇报格式。具体规则文件形式以当前客户端说明和项目约定为准。

04

授权一次低风险执行并保留证据

只开放完成当前任务需要的文件和命令,让 Codex 记录实际修改、执行命令、输出位置、测试结果和未完成项;发现范围扩大时立即停止并收窄任务。

05

区分项目规则、记忆和 Skills

稳定且必须遵守的约束放在项目规则;需要跨任务延续但会更新的背景放在可维护资料或当前工具支持的记忆中;已经连续验证、输入输出稳定的重复流程再整理成 Skill。

06

复跑流程并更新规则

换一份无敏感信息的测试输入再次执行,核对结果是否仍满足验收标准。把失败原因和新增检查项补回规则,确认流程稳定后再扩大使用范围。

第一次完整任务:用三条工作记录生成周报

在新的练习目录创建下列文件,Node.js 20+ 即可运行,不安装第三方依赖。数据与结果是教学材料。先让 Codex 只读说明规则,再授权它运行已有脚本;源数据保持不变。

按文件名分别保存;命令在项目根目录执行
README.md
本项目只把 data/week.json 转为 output/week.md。
从项目根目录运行 node scripts/report.mjs。
输入状态仅允许 done、in_progress;不把进行中写成完成。

AGENTS.md
# 项目规则
- 读取 README.md 与 data/week.json,未经本次明确要求不修改输入。
- 只允许脚本写 output/week.md,不安装依赖、不访问外部服务。
- 运行后核对完成与进行中项的 ID,报告未验证内容。
- 规则是任务约束;文件权限仍由客户端和操作系统控制。

data/week.json
[
  {"id":"W1","task":"修正登录空密码提示","status":"done"},
  {"id":"W2","task":"移动端回归","status":"in_progress"},
  {"id":"W3","task":"整理字段说明","status":"done"}
]

report-template.md
# 本周进展
## 已完成
(仅 done 项,保留 ID)
## 进行中
(仅 in_progress 项,保留 ID)

scripts/report.mjs
import fs from 'node:fs';
const rows = JSON.parse(fs.readFileSync('data/week.json', 'utf8'));
if (!Array.isArray(rows) || rows.some(r => !r.id || !r.task || !['done','in_progress'].includes(r.status))) {
  throw new Error('输入缺字段或状态无效');
}
if (new Set(rows.map(r => r.id)).size !== rows.length) throw new Error('ID重复');
const section = status => rows.filter(r => r.status === status).map(r => '- ' + r.id + ':' + r.task).join('\n') || '- 无';
const text = '# 本周进展\n\n## 已完成\n' + section('done') + '\n\n## 进行中\n' + section('in_progress') + '\n';
fs.mkdirSync('output', { recursive: true });
fs.writeFileSync('output/week.md', text);
console.log('done=' + rows.filter(r=>r.status==='done').length + ', in_progress=' + rows.filter(r=>r.status==='in_progress').length);

第一轮提示
只读这个练习目录,解释输入、规则、写入位置与统计方法;不修改文件,不执行脚本。
预期回答应指出 W1/W3 完成,W2 进行中,以及 output/week.md 是唯一写入目标。

第二轮提示
允许运行 node scripts/report.mjs。完成后读取 output/week.md,逐项与输入对账,确认 data/week.json 未变;列实际命令与结果。

预期终端
done=2, in_progress=1

预期 output/week.md
# 本周进展
## 已完成
- W1:修正登录空密码提示
- W3:整理字段说明
## 进行中
- W2:移动端回归

复跑
在这个练习副本中把 W2 改为 done,再运行相同命令。
预期 done=3, in_progress=0;报告“进行中”为“无”。
若脚本失败,保留错误,不改写输入凑出成功结果。

将稳定流程封装为本地 Skill
在项目根目录创建 .agents/skills/weekly-summary/SKILL.md:
---
name: weekly-summary
description: 根据本项目 data/week.json 生成已完成与进行中周报;用于重复周报,不用于推测缺失工作记录。
---
先读根目录 AGENTS.md、README.md 和 report-template.md。
检查 data/week.json 的必填字段、唯一 ID 与状态;异常时说明具体行,不猜。
在项目根运行 node scripts/report.mjs,仅写 output/week.md。
读取输出,逐项核对 ID 与状态,报告实际命令、结果和未验证项。

在 Codex CLI 输入 /skills 查是否发现,再明确说:
使用 $weekly-summary 处理本练习目录,保持输入不变。
若未出现,先核对目录与 SKILL.md,再按当前官方文档刷新或重启客户端。
不推荐

只让 AI 把三条记录润色,W2 可能被写成已完成。

建议做法

输入状态、脚本分组和报告 ID 可逐项核对;第二轮只改变教学输入后复跑同一流程。

怎样判断结果是否可用?

规则保存长期边界,week.json 保存每次输入,Skill 保存稳定步骤。以上展示的是预期,不是已运行 Codex 客户端的记录;仍需读者在自己的客户端完成发现、调用和结果验证。脚本允许重写 output/week.md,练习目录外不可照搬这一权限。

常见问题与报错

每次仍要重新解释同一批规则

检查规则是否只留在聊天中。把稳定背景、目录职责、命名和验收要求写入项目内可维护的规则或说明文件,并删除重复、冲突和过期内容。

Codex 读取或修改了错误目录

先核对当前工作目录和项目根目录,再明确允许读取、允许修改和禁止触碰的路径;范围不对时停止任务,不要继续追加补救指令。

还没跑通就开始制作 Skill

Skill 会放大已有流程。先用低风险测试数据连续复跑,记录失败点和人工判断,再沉淀稳定步骤、输入和检查规则。

文件生成了,但结果无法证明正确

补上数量、格式、关键值、测试、截图或人工抽样检查。完成标准必须来自可观察结果,而不是模型的完成声明。

完成后的检查方法

  • Codex 基础连接可用,当前工作目录是预期项目根目录。
  • 任务写明输入、输出、允许范围、禁止范围和回退方式。
  • 项目规则可在文件中查看和更新,没有写入 API Key、密码或不应长期保存的信息。
  • 实际读取、修改和命令记录与批准计划一致,没有额外文件变动。
  • 输出通过数量、格式、关键值、测试或人工抽样等可观察方法验证。
  • 同一流程至少用低风险测试输入复跑,失败经验已经补回规则。
  • 只有稳定、重复且边界清楚的流程才进入 Skill,最终结果仍由人审查。

FAQ

Codex 会自动记住整个项目吗?

不要依赖这种假设。关键规则应保存在项目文件中,背景信息应可维护、可更新;当前客户端提供哪些记忆能力,以实际版本和界面为准。

项目规则、记忆和 Skill 有什么区别?

项目规则约束当前项目必须怎样做;记忆用于延续需要保留的背景与偏好;Skill 把已经验证的重复方法、工具调用和检查步骤打包成可再次使用的流程。

不懂编程也能用 Codex 做流程化工作吗?

可以从文件整理、数据检查、报告生成和资料维护等任务开始,但仍要能说明目标、授权范围并核对结果;高风险操作需要专业人员复核。

什么时候适合创建第一个 Skill?

当同一流程已经至少重复验证、输入输出稳定、常见失败和检查方法清楚时再创建;不断变化的一次性任务不适合急着封装。

Codex 能直接定时自动运行吗?

Codex 可以在授权范围内执行任务,但定时运行、生产权限、账号操作和异常通知需要单独设计控制方式、日志、回退和人工审批。

资料来源与版本说明

  • OpenAI Codex 开发者命令

    客户端命令、规则文件和记忆能力可能随版本变化;本文只给出保守工作方法,具体入口与字段请以当前客户端和官方说明为准。

先跑通一个真实流程,再把方法沉淀下来。

小贺API提供相关工具的模型接入入口、中文教程和基础协助。完成基础连接后,从只读审计和低风险测试任务开始,不要把配置本身当作最终目标。 模型、价格、额度与规则以对应业务站当前展示为准。

进入小贺API查看当前接入说明

下一步