第一次任务:让 Codex 改好一个欢迎网页
从下载练习文件开始,跟着六步完成检查、修改、预览和验收;每一步都告诉你应该看到什么。
先知道终点
- 做完你会得到
- 一个能在浏览器打开的欢迎网页,以及一份你自己核对过的完成记录
- 开始前只需要
- 能打开 Codex App、CLI 或 IDE 中任意一个入口;在电脑上新建一个专门练习的空文件夹
- 最后留下这些证据
- 修改后的 index.html;桌面和手机宽度下的页面预览;Codex 明确列出修改、检查和未执行动作
内容校准于 2026-07-31 · 第 5 / 38 节已发布课程
跟着材料做,不只阅读
本节练习资料
第一次成功,应该能被你亲眼看见
空文件夹里只有一个 index.html。它没有数据库,没有登录,也不会影响任何真实项目。你双击它,浏览器里出现一个很普通的欢迎页。
这正是理想的第一次任务。它小到你能看懂每一次变化,又完整到足以练习检查、修改、叫停和验收。
很多人把「Codex 回复完成」当成成功。这节课的成功,是你重新打开文件,能指出哪里变了、怎样检查过、哪些动作从来没有发生。
这一次,我们只做成一件小事
第一次使用 Codex,不需要先理解模型、Git 或一长串命令。你只需要一个安全的练习文件夹,以及本页上方的 《练习起始材料》。
我们会把一个普通的欢迎页改成你的第一张“Codex 学习记录”。它很小,却能走完整个真实闭环:看清文件 → 说清结果 → 只改一处 → 打开页面 → 自己验收。
这节课的成功标准不是“Codex 回复了一大段话”,而是你能打开一个真实文件,并亲眼确认它变成了你要的样子。
第一步:准备一个不会伤到真实工作的文件夹
- 在桌面或文档目录新建文件夹,命名为 codex-first-task;
- 下载本页上方的 index.html,放进这个文件夹;
- 双击 index.html,在浏览器里看看它现在是什么样;
- 暂时不要把真实公司的代码、客户资料或私人文件放进来。
你应该看到什么
页面顶部写着“我的第一个 Codex 项目”,下面有三张简单的步骤说明。能看到这个页面,就说明起始材料准备成功。
如果双击后只看到一段代码,确认文件名结尾是 .html,而不是 .html.txt。
第二步:把这个文件夹交给 Codex
在 Codex App、CLI 或 IDE 中打开刚才的 codex-first-task 文件夹。不同入口的按钮名称会变化,但你要确认的是同一件事:当前任务能看到的工作目录就是这个练习文件夹。
先发送一条只读消息:
先不要修改文件。
请告诉我:
1. 你当前看到的文件夹路径;
2. 文件夹里有哪些文件;
3. index.html 当前页面的主标题是什么。
只报告你实际读到的内容,不要猜。
你应该看到什么
回复里应出现 index.html 和“我的第一个 Codex 项目”。如果它说看不到文件,先别继续:重新检查打开的文件夹,而不是把整段任务再发一遍。
第三步:给出一份可以直接执行的任务
确认文件无误后,复制下面这段:
请只修改当前文件夹里的 index.html。
我想要的结果:
- 把主标题改成“我和 Codex 完成的第一个网页”;
- 在标题下面写一句:“我没有只听它说完成,而是亲自打开页面检查了结果。”;
- 新增一个“我的完成记录”区域,包含今天做了什么、Codex 改了什么、我怎样验收三项;
- 保持页面在手机和电脑上都能正常阅读。
边界:
- 不新增其他文件;
- 不引用外部图片、字体或脚本;
- 不联网,不提交,不发布;
- 如果当前文件与上面描述不一致,先停下来告诉我。
完成条件:
- index.html 可以直接在浏览器打开;
- 页面里能找到新的标题和“我的完成记录”;
- 请说明你实际改了哪些地方,以及你做了什么检查。
这段任务没有“专业、震撼、高级”之类的空词。每一条都能在页面里被你看见或被文件检查。
第四步:观察它有没有越界
Codex 工作时,不需要盯着每一个字,但要看三件事:
- 它是否只修改 index.html;
- 它是否使用了你给出的真实文字,而不是自己编一段经历;
- 它是否真的做了检查,而不是只说“已经完成”。
如果它准备新增依赖、创建很多文件或发布页面,直接发:
先停下。这个练习只允许修改 index.html。
请保留已经符合要求的最小改动,撤掉超出范围的部分,再展示最终变化。
会叫停不是失败。你正在练习的,正是把方向和最后决定权留在自己手里。
第五步:不要先相信总结,先打开页面
修改结束后,重新打开或刷新 index.html。按顺序检查:
- 主标题是否已经改变;
- 标题下方是否是你给出的原句;
- “我的完成记录”是否包含三项;
- 把浏览器窗口缩窄,文字和卡片是否仍能完整看到;
- 页面有没有出现打不开的图片或奇怪的空白。
这是人工检查:你在判断成品是否真的满足自己的意图。
再让 Codex 做一次机械检查:
请重新读取最终的 index.html,并检查:
1. HTML 结构是否完整;
2. 是否只使用单个本地文件;
3. 新标题和“我的完成记录”是否存在;
4. 是否还有你没有验证的部分。
不要继续修改,先报告检查结果。
第六步:让它把“做了什么”和“没做什么”都说清楚
最后发送:
请用下面的格式交接:
- 修改的文件
- 页面发生的变化
- 实际做过的检查
- 仍需我人工确认的内容
- 没有执行的动作
不要继续修改,不要提交、推送或发布。
一份合格交接会明确写出只改了 index.html,并把“不联网、不提交、不发布”列为未执行。没有做的事也说清楚,才是真正可信的完成。
走不通时先看这里
Codex 说找不到文件
先检查当前工作目录是否真的是 codex-first-task。不要立刻把文件内容全部粘进聊天,否则你会绕过这节课最重要的“真实工作区”练习。
页面刷新后没有变化
确认打开的是同一个 index.html;关闭旧标签页再从练习文件夹双击打开。如果文件内容已改但页面没变,再尝试强制刷新。
Codex 只说“检查通过”
追问它检查了哪个文件、查找了哪些文字、哪些部分无法自动验证。没有对象和结果的“已检查”,不能当作证据。
把方法带到下一件事
现在把任务换成“给页面增加一条明天的学习计划”,仍然按六步走:打开正确文件夹、先只读、说清结果、限制范围、亲自预览、要求交接。换了内容仍然能成功,才说明你学到的是方法,不是背下了一段提示词。
进阶案例:把同一套方法带进真实仓库
欢迎网页让你走通了第一次闭环。接下来看看同样的“先读、再改、最后验证”怎样处理一个更接近工作的 README 问题。
练习仓库的 package.json 只有以下脚本:
{
"scripts": {
"dev": "vite",
"test": "vitest run",
"typecheck": "tsc --noEmit"
}
}
README 却写着“运行 npm start 后访问 3000 端口”。一个不可靠的任务会直接把这句话改成另一个看似合理的命令;一个可验证任务要建立从来源到成品的证据链。
1. 先写观察,不急着写结论
观察:
- package.json 没有 start 脚本,只有 dev、test、typecheck。
- vite 命令没有在仓库配置中固定端口。
- README 当前的 npm start 与 3000 端口都缺少来源。
影响:
- 新用户照做会立即失败。
- 如果把端口改成另一个猜测,文档仍然不可维护。
建议动作:
- 把启动命令改为 npm run dev。
- 端口写成“以终端输出为准”,除非配置文件明确固定端口。
这一步把“我觉得应该这样改”变成了可审查的事实。
2. 让修改保持最小
要求 Codex 只修改本地运行小节,保留其他文案和格式。完成后先看 diff:
请展示 README 的实际 diff,并逐行说明新命令来自哪个文件。
如果出现依赖安装、部署或端口的新说明,指出它的来源;没有来源就删除。
3. 验证命令和验证文档不是一回事
- 运行 typecheck 和 test,证明改动没有破坏仓库;
- 短暂运行 dev,证明脚本可启动,并记录终端实际地址;
- 重新阅读渲染后的 README,证明标题、代码块和顺序可读;
- 再看 git diff,证明没有混入其他文件。
若环境无法启动,不要把文档标成“已验证”。应写“命令来自 package.json,但当前环境因端口占用未完成启动验证”,并保留复现信息。
一份合格的结果交接
已修改:
- README.md:把无效的 npm start 改为 npm run dev;移除无来源的固定端口。
证据:
- 命令来源:package.json scripts.dev
- npm test:通过
- npm run typecheck:通过
- npm run dev:启动成功,实际地址以终端输出为准
- git diff -- README.md:仅包含本地运行小节
未执行:
- 未安装或升级依赖
- 未提交、推送或部署
仍需人工复核:
- README 的语气是否符合项目面向的读者
“未执行”不是缺点。它把任务权限和结果边界留给下一位读者。
故障诊所
只报告“检查通过”
要求补上命令、退出结果和检查对象。测试通过不能证明页面或文档成品正确。
为了验证而修改配置
如果启动失败是本机端口或缺少秘密,不要顺手改仓库配置。先报告环境差异,除非任务明确授权修改。
把 Git 动作当默认收尾
修改文件与 add、commit、push、deploy 是不同外部状态。教程中的完成证据不自动授权后四项。
自测
如果 test 通过,但 README 中的启动命令实际不存在,这项任务完成了吗?没有。测试覆盖的是代码基线,文档还需要来源核对和真实操作验证。
真正带走的是一套动作顺序
欢迎页并不重要。重要的是你已经走过一次完整闭环:确认现场,说明结果,限制范围,打开成品,要求交接。
下一次可以换成一份文档、一张表格或一个真实网页。只要仍然能亲自看见结果、叫停越界、说清未验证项,这次练习就没有白做。
完成检查
- 我在安全练习文件夹中完成任务,没有放入真实敏感资料
- Codex 修改前先准确说出了文件和当前标题
- 我给出的任务包含结果、边界和完成条件
- 实际只修改了 index.html
- 我亲自在浏览器中检查了桌面和窄窗口
- Codex 列出了实际检查、待人工确认和未执行动作
参考与校准来源
本文是官方资料的中文转译与教学重组,不是逐字翻译;产品能力、命令、默认值与安全边界以下列官方原文为准。