我不再让 Codex 一口气改完整个页面:前端需求这样拆,才真正可验收
上一篇解决的是“信息怎么分层”这篇继续往下走需求已经讲清楚之后怎样把它拆成 Codex 可以逐步完成、我也能逐步验收的小任务很多人听到“拆任务”第一反应是按文件拆先改页面文件。再改接口文件。然后改类型定义。最后补样式。这种拆法对安排修改顺序有帮助但它有一个明显问题每一步都只是完成了某个文件不能证明某个用户行为已经可以工作。页面文件改完了查询不一定能用接口文件改完了参数不一定正确样式写完了窄屏下也不一定真的能操作。我现在更倾向于按“可观察的行为变化”拆任务。每完成一小块都能回答三个问题用户得到了什么新能力我用什么方式验证如果出错影响范围在哪里先明确小任务不是把大任务切碎成代码清单一个合格的小任务至少应该具备四个特征只有一个主要结果完成后能用一句话描述变化。有清楚的输入和边界知道会影响哪些行为不会影响哪些行为。能够独立验证不必等整页全部改完当前结果就能检查。失败容易回退方向不对时不需要从一堆混合改动中找问题。所以“修改UserList.vue”不是一个结果“状态筛选条件能够正确进入列表请求并在重置后恢复默认值”才是。前者描述代码位置后者描述业务行为。用一个后台列表需求演示怎样拆下面仍然是一个演示场景不代表我的真实项目在现有订单列表中增加订单状态和下单时间筛选完善重置行为增加导出入口同时不能破坏现有分页和权限逻辑。如果把它整个交给 AI它可能一次修改页面、接口、类型和样式。最后我们面对的是一大块差异筛选、分页、导出和权限只要有一项不对就要在所有改动里找原因。我会先把它拆成下面几个阶段。任务 0只理解现状不改代码目标画出当前列表的数据流找到查询条件、分页、权限和接口分别由哪里负责。要求 Codex 输出相关文件和各自职责。从点击查询到数据渲染的调用路径。重置和翻页时状态如何变化。导出能力是否已有相近实现。最容易被本次修改影响的位置。验收方式我能根据这份说明指出“筛选条件应该在哪里增加”“分页状态由谁维护”“权限逻辑不能在哪里绕开”。这一阶段很容易被嫌慢但如果连现状都没看清后面的拆分只是在猜。Codex 官方给出的代码库理解用例也强调修改前应先梳理模块职责、数据流、校验位置、隐藏依赖和需要执行的检查。对我来说这不是额外步骤而是后续任务边界的来源。任务 1只建立筛选状态不连接请求目标页面能够正确维护订单状态和时间范围并按照项目现有方式完成展示、清空和默认值处理。暂时不做不改接口参数。不实现导出。不调整分页。验收方式打开页面、修改筛选项、点击重置观察页面状态是否符合约定类型检查没有新增错误。有人可能觉得这一步太小但它把“表单状态问题”和“请求参数问题”分开了。后面如果查询不对我可以先确认页面状态是否正确不用同时怀疑所有环节。任务 2把筛选条件接入查询闭环目标点击查询后筛选条件按照接口约定转换为请求参数查询行为与现有分页规则保持一致。需要明确点击查询是否回到第一页。空条件是否发送。时间范围如何转换。请求失败后筛选条件是否保留。验收方式检查请求参数并分别验证有条件查询、空条件查询和请求失败三条路径。完成这一步时用户已经真正获得了一个可使用的新能力。即使导出还没做筛选功能也可以独立判断对错。任务 3单独修正重置与分页状态目标重置筛选、切换页码、修改每页数量时页面状态与请求参数保持一致。这部分看起来属于任务 2但我通常会在状态比较复杂时单独拆出来。因为查询能用不代表连续操作一定正确。验收路径可以写成设置筛选条件并查询。切换到第二页。点击重置。确认筛选条件清空、页码回到第一页、请求参数恢复默认。再次改变每页数量确认页码和列表数据同步更新。前端页面很多问题只有按顺序操作才会出现。把验收路径写出来比一句“保证分页正常”可靠得多。任务 4把导出当成独立业务流程目标在保留现有权限判断的前提下使用当前筛选条件发起导出并正确处理等待、成功和失败状态。为什么导出不应该顺手塞进查询任务因为它通常有不同的请求方式、等待时间、返回结果和错误处理。有些项目是直接下载文件有些项目会先创建任务再轮询结果。在没有看清现有实现之前AI 很容易按照自己熟悉的方式补一个下载逻辑。验收方式至少包括有权限时显示入口无权限时行为符合项目约定。导出参数与当前筛选条件一致。导出期间不能重复触发。成功、失败或取消后按钮状态能够恢复。任务 5最后做联合回归不再新增功能目标把筛选、重置、分页、权限和导出连起来验证清理无关改动。这一阶段不应该继续“顺手优化”。它只做三件事查看完整代码差异确认没有越界修改。运行项目已有的检查。按用户操作路径做页面回归。如果此时发现新的重构机会我会记录成后续任务而不是继续扩大当前差异。好的拆分顺序应该让风险逐步暴露上面的拆分不是唯一答案但顺序有一个基本逻辑理解现状 → 建立局部状态 → 接入单一行为 → 补齐连续状态 → 增加独立流程 → 联合回归每一步都以前一步的已验证结果为基础。如果任务 1 的筛选状态就不对不需要等导出做完再返工如果任务 2 的请求参数不对也不会把问题误判成分页组件故障。这就是小步修改真正节省时间的地方不是每一步写得更快而是错误更早出现、更容易定位。我不会按文件拆而会按“行为切片”拆可以用下面这张表快速区分不够有效的拆法更容易验收的拆法修改页面文件筛选状态能够正确设置和重置修改接口文件查询参数与页面条件一致修改分页组件查询、翻页和重置时页码规则一致增加导出方法导出完整覆盖等待、成功和失败路径调整样式在约定宽度下按钮可见、内容不遮挡文件仍然要列但它应该是影响范围不应该是任务目标。每个小任务都要带一张“验收卡”我会要求每个任务至少写清下面六项## 小任务目标 ​ - 本次只产生什么行为变化 ​ ## 前置条件 ​ - 已确认的项目现状 - 依赖哪个已完成任务 ​ ## 修改范围 ​ - 允许修改 - 禁止修改 ​ ## 本次不做 ​ - 明确排除的功能和优化 ​ ## 验收步骤 ​ 1. 2. 3. ​ ## 完成证据 ​ - 修改文件及原因 - 已运行的检查 - 页面验证结果 - 未验证项和剩余风险“完成证据”很重要。它能把“我认为写完了”变成“这些检查已经通过那些部分仍然未知”。拆到多小才合适看验证成本不看代码行数任务不是越小越好。如果一个改动只有三行却必须等另一个改动完成后才能观察结果硬拆成两个任务只会增加沟通成本。反过来一个改动即使涉及多个文件只要共同完成同一个行为而且能一次独立验收也可以保留在一个任务里。我通常用下面几个信号判断是否还要继续拆同一个任务里出现两个以上彼此独立的用户结果。不同部分需要不同的验证方式。某一部分失败时其他部分仍然可以成立。任务同时包含功能新增和大范围重构。无法用三到五步描述完整验收路径。满足其中两三项我就会认真考虑继续拆分。最后保留一个“停下来”的节点我现在不喜欢让 AI 拿到计划后无条件一路执行到底。在影响范围不清、现有实现与需求冲突、需要修改公共能力或无法运行关键检查时应该停下来报告而不是自行扩大假设。这个暂停点不是降低效率。真正拖慢开发的往往不是多确认一次而是 AI 已经沿着错误方向改完十几个文件我们才开始追第一处判断是怎么错的。到这里Day 2 的两篇文章就形成了一个完整链条上一篇把长需求的信息分层这一篇再把主任务拆成可验收的行为切片。下一篇会进入 Day 3提示词为什么不是越复杂越好。我要继续拆开“提示词”和“项目上下文”这两个经常被混用的概念并给出前端任务真正值得提供的上下文清单。本系列持续更新。后面会把这些方法逐步应用到 Vue3 列表、Element Plus 表单、页面调试和真实验收流程里。参考资料Codex 官方用例修改前先理解代码库、数据流与风险点Codex 官方用例通过可评估结果持续迭代复杂任务

相关新闻

Cortex-M内核全解析:从M0到M33的选型指南与开发实战

Cortex-M内核全解析:从M0到M33的选型指南与开发实战

1. 从选型困惑到架构认知:为什么需要理清Cortex-M家族 如果你刚开始接触嵌入式开发,或者正准备为一个新项目选择一款微控制器,面对琳琅满目的STM32、GD32、NXP LPC、华大HC等系列,以及它们背后标注的Cortex-M0、M3、M4、M7等内核型…

2026/10/28 4:48:04 阅读更多 →
从0到1:第一篇博客and第一次沉浸式写代码

从0到1:第一篇博客and第一次沉浸式写代码

做C语言课程设计,选了最经典的扫雷项目。 本来以为逻辑很简单:两个棋盘、布雷、计算周围雷数、判断输赢,结果从中午写到下午,跟bug死磕了大约2个小时。最离谱的是:我明明设置了80个雷用来检验程序,运行出来…

2026/10/30 1:53:02 阅读更多 →
【AI微服务开发革命】:20年架构师亲测的5大落地陷阱与避坑指南

【AI微服务开发革命】:20年架构师亲测的5大落地陷阱与避坑指南

更多请点击: https://intelliparadigm.com 第一章:AI微服务开发革命的范式跃迁 传统单体AI应用正被解耦为可独立部署、弹性伸缩、语义自治的微服务单元,这一转变不仅是架构演进,更是开发范式的根本性跃迁——从模型即服务&#x…

2026/10/30 4:56:34 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/31 0:19:11 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/31 10:20:19 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/31 10:20:23 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/31 0:59:28 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/31 10:30:19 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/31 9:29:43 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/30 17:32:24 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 11:00:40 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 0:09:01 阅读更多 →