官方教程中文版新手必读
第一次安全使用清单
基于官方 Codex 快速开始和安全教程,讲清第一次把 Codex 放进真实项目时怎么先读懂、再小改、最后验证。
第一次把 Codex 放进真实项目,不要一上来让它改代码。稳妥目标是:先读懂项目,再做一个可回退的小改动,最后检查 diff 和验证结果。
第一次任务只要出现敏感信息、全权限、生产配置、删除文件、支付认证或数据库迁移,就先停下来做只读根因分析。
Quickstart
官方快速开始,确认入口和基本运行方式。
Approvals and security
第一次写入前先理解 sandbox 和 approval。
AGENTS.md
让 Codex 先知道项目规则,再让它执行任务。
第一次要防什么
flowchart LR
Repo["Git 状态"] --> Boundary["权限边界"]
Boundary --> Read["只读理解"]
Read --> Small["小改动"]
Small --> Diff["看 diff"]
Diff --> Verify["跑验证"]
新手第一次出问题,通常不是因为模型不会写代码,而是因为:
- 任务太宽。
- 权限太大。
- 工作区不干净。
- 没有验证命令。
- 敏感信息被带进 prompt。
- 只看最终回答,不看真实 diff。
Codex 能读文件、改文件、跑命令、调用工具。它越接近真实工程现场,你越要先画边界。
环境准备
开始前至少确认五件事:
- 项目在 Git 仓库里。
- 当前分支和未提交改动可解释。
- 哪些文件不能碰已经写清。
- 有一个最小验证方式:测试、构建、lint、启动或人工检查。
- 依赖安装方式明确,不让 Codex 猜 npm、pnpm、uv、pip、brew。
敏感信息不应该裸放在源码、README、注释或任务描述里。API key、token、cookie、私钥不要贴给 Codex。
如果这些条件不满足,先只做只读梳理,不改代码。
第一步:只读理解项目
第一次任务应该要求 Codex:
- 不修改文件。
- 不安装依赖。
- 不执行有副作用命令。
- 只输出项目用途、技术栈、目录结构、可能的启动和测试命令。
- 明确标出推测和不确定项。
合格结果有几个信号:
- 能区分文件确认和推测。
- 能指出入口文件、配置文件、测试目录。
- 不主动改文件。
- 会说明下一步最小安全任务。
如果它上来就开始写 patch,说明边界没写清,应该停下来重发只读任务。
第二步:做一个小改动
第一次改动越小越好。适合:
- 明确报错。
- 小文案。
- 已有函数补测试。
- 已有配置项调整。
- 局部代码整理。
不适合:
- 大范围重构。
- 依赖升级。
- 认证、支付、权限逻辑。
- 数据库迁移。
- 生产故障修复。
- 完整新架构。
任务描述要写清:只允许改哪些文件,不要改哪些文件,不安装新依赖,改完跑什么验证,失败时先解释原因而不是扩大范围。
第三步:看 diff
Codex 说完成,不等于真的完成。至少检查:
- diff 是否只改允许范围。
- 是否新增依赖。
- 是否碰到认证、权限、支付、删除、迁移脚本等高风险逻辑。
- 是否留下调试代码、占位符、临时代码。
- 验证命令是否真的运行。
如果看不懂 diff,继续让 Codex 只读审查刚才的改动,不要继续修改。让它列风险、是否超范围、是否遗漏验证、是否有更小实现。
必须停的信号
出现这些情况,先停:
- Codex 要求你粘贴 API key、token、cookie、私钥。
- 准备删除大量文件。
- 准备重写 Git 历史。
- 准备改生产配置。
- 准备改支付、认证、权限逻辑。
- 反复猜测修问题但没有定位根因。
- 建议跳过测试、关闭校验或忽略报错。
- diff 出现大量无关改动。
停下来后,不要继续扩大任务。重新要求它只做根因分析:列已确认事实、未确认假设和最小下一步验证。
新手常见坑
- 把第一次任务写成“帮我优化项目”。
- 项目有一堆未提交改动,却让 Codex 直接改。
- 没有测试命令,也不要求说明未验证项。
- 让 Codex 猜依赖管理器和运行方式。
- 只看最终回答,不看 diff。
- 出现危险动作时继续顺着让它做。
验收清单
- 第一次只读任务没有修改文件。
- 第一次写入任务只改允许范围。
- 验证命令真实运行,失败时有原因说明。
- 最终输出包含改动文件、修改原因、验证结果、未验证项和人工检查点。
- 能用 Git diff 完整回退这次改动。
第一次任务的目标不是展示 Codex 能力,而是证明你能把它放进真实项目且不失控。