大家好,我是云途。
从这一节开始,我们进入第二个模块:把任务说明白。动手前先把当前项目看清楚,可以少走很多弯路。
例如,你只说“把页脚宽度改得和首页一样”。问题可能来自共享组件,也可能来自学习页自己加的一条样式。直接改一个宽度数字,页面暂时接近了,原来的问题却还在。
这一节,我们先学习怎样找到正确项目、相关文件和当前规则。看清问题以后,再决定改哪里。
这节课要完成什么
- 分清用户看到的现象和代码里的原因;
- 找到当前真正应该修改的项目;
- 让 Codex 先说明它看到了什么,不急着写代码;
- 根据找到的原因决定最小改法;
- 需要用户选择时,先停下来确认。
先把信息分成三层
“截图里页脚左右边距不一致。”这是重要线索,但还不是代码原因。
首页和学习页调用不同容器 class,计算宽度分别为 1140px 与 1240px。
可能是学习页没有复用共享页脚,也可能只是视口或截图缩放不同。
“页脚看起来不一样”是你看到的现象,“学习页覆盖了共享宽度”才是查过代码后的原因。把两者分开,Codex 才不会围绕猜测反复打补丁。
第一步先确认应该修改哪一份
真实项目常有正式版、实验版、备份、构建目录和历史归档。当前被团队认定为准、后续应该继续维护的那一份,叫作“真源”。文件名看起来最新,不代表它就是应该修改的版本。
New-Yuntu-AGI/
├── cn网站项目/new_yuntuagi.cn_v2.2.1-beta/ # 正式源码真源
├── 战略发展/官网v4暖黑视觉初版-20260814/ # v4 实验原型
├── 网站快照中心/ # 回滚快照
└── 网站实验归档/ # 历史试验动手前,要先说清本轮操作的完整路径、这个版本的用途,以及明确不修改哪些相邻项目。遇到多个候选目录时,先读根目录说明、状态文件和版本文档。
先读项目规则,再读实现
- 根目录或上级目录的
AGENTS.md; - 工作区状态、官网说明、README 与开发文档;
- 项目自己的 package.json、锁文件和运行脚本;
- 设计系统、组件规范与内容真源;
- 与任务相关的测试、历史修复记录和数据库边界。
规则文件解决“允许怎么做”;源码解决“现在怎么做”;真实运行解决“实际发生了什么”。三者不能互相替代。
从入口向下追,不要全库漫游
先找到用户真正进入的路由或入口组件,再追到共享组件、数据和样式。搜索应该围绕用户看见的文字、路由、组件名和 class,而不是从整个项目逐行阅读。
# 找到学习页与页脚引用
rg -n "SiteFooter|/learning|footer" app components
# 找到容器宽度定义
rg -n "shell|width: min|max-width" app/*.css components
# 查看项目脚本,不执行未知命令
sed -n '1,200p' package.json调查命令只用于示例。实际项目中先确认工具存在,并优先使用项目已经采用的方式。
调查报告应该回答七个问题
- 本轮应该修改哪一个版本,它的完整路径是什么;
- 哪些项目规则适用;
- 用户从哪个入口看到问题;
- 这个页面由哪些文件共同控制;
- 当前页面是否与用户描述一致;
- 问题原因是什么,可以在哪里看到;
- 准备怎样修改、怎样检查,还有什么风险。
结论:学习页页脚组件与首页相同,偏差来自外层容器。
证据:
- 两页均引用 components/site-shell.tsx
- 首页 footer 内层使用 .shell = 1140px
- 学习页新增规则覆盖为 1240px
建议:删除学习页局部覆盖,恢复共享 .shell。
验证:1440px 与 390px 比较页眉、正文、页脚边界。调查结束后设置一个实施检查点
先只调查,不修改文件。请确认项目真源和适用规则,追踪用户所说页面的真实入口、共享组件、数据与样式,复现当前行为。输出:已确认事实、仍待验证假设、根因证据、建议的最小改动、预计修改文件、验证方法和风险。报告完成后停下,等我确认再实施。
当任务范围明确、风险低,而且用户已经直接授权实现时,Codex 可以调查后继续执行;但仍应在内部保留这个检查点,发现真源不明、规则冲突或影响扩大时主动停下。
调查阶段最常见的错误
- 找到第一个同名文件就开始改;
- 只读页面文件,没有看共享组件和数据来源;
- 把构建产物当成源码真源;
- 看到注释或文档就相信它仍然有效,没有与运行结果对照;
- 为了证明预设方案,只收集支持它的证据;
- 调查范围不断扩大,却没有回到用户目标。
视频录制与复习提纲
- 从一张页脚截图提取观察而非原因;
- 演示如何确认 v4 实验真源;
- 从路由追到共享组件与 CSS;
- 把事实和假设分栏记录;
- 形成最小方案并在实施前停下;
- 展示一个“改对数字但改错层级”的反例。
先说清问题在哪里,再开始修改
- 我确认了项目真源和绝对路径;
- 我读过适用的项目规则;
- 我找到真实用户入口与相关实现;
- 我把事实和假设分开记录;
- 我用文件或运行结果支持根因;
- 我提出了最小改动与验证方法。