文章

我如何使用 Codex 开始开发 HAOVP

语之溪

·

HAOVP

·

⚠️ 本文最后更新于2025年12月27日,已经过了240天没有更新,若内容或图片失效,请留言反馈

HAOVP 的功能范围和技术方向逐渐清楚后,我开始使用 Codex 辅助项目开发。

我不准备把“开发一个在线视频平台”作为一句完整指令交给 AI。这样的任务范围太大,需求、架构和验收标准也不可能一次说清。更可控的方式是由我先理解问题和做出决策,再把工作拆成可以审查和验证的小任务。

目前我先用这套方式推进项目,并在每次实现、审查和联调后调整任务拆分方法。

先明确责任边界

在这个项目中,我和 Codex 的职责并不相同。

我负责:
需求理解
技术和架构决策
任务拆解
上下文组织
代码审查
测试判断
前后端联调
最终验收

Codex 辅助:
代码实现
局部重构
测试补充
问题排查
文档整理

HAOVP 是我独立完成的个人项目,责任主体是我。Codex 可以辅助很多开发工作,但不能替我决定业务规则,也不能因为代码由 AI 生成就免去审查和验证。

不从“写完整系统”开始

一个大任务往往包含太多隐含条件。比如“实现用户登录”至少需要继续确认:

  • 使用什么登录凭据;
  • 密码怎样保存;
  • 登录成功返回什么;
  • 身份凭证怎样刷新和失效;
  • 网关与业务服务分别校验什么;
  • 错误响应使用什么格式;
  • 哪些异常路径需要测试。

因此,我会先把目标变成一组小任务:

确认认证需求
    -> 设计接口契约
    -> 建立数据模型
    -> 实现核心逻辑
    -> 补充异常处理
    -> 编译和测试
    -> 联调

每个任务尽量有清楚的输入、输出和完成条件。

给 Codex 足够但不过量的上下文

只描述“帮我写一个接口”,Codex 不知道项目结构和现有约定;一次塞入整个仓库,又可能让真正的问题失去重点。

我会整理与当前任务直接有关的内容:

  • 模块职责和目录位置;
  • 已经确定的接口或数据模型;
  • 现有统一响应和异常处理方式;
  • 需要复用的公共能力;
  • 不允许改变的边界;
  • 编译、测试和验收条件。

涉及配置时,只提供变量名称和脱敏结构,不提供真实密码、Token、地址和连接信息。

先让它理解现有代码

在修改已有模块前,我会先让 Codex 阅读相关文件并说明调用关系,而不是直接重写。

定位入口
    -> 阅读接口与实现
    -> 查找数据访问和配置
    -> 说明当前行为
    -> 列出修改影响
    -> 再开始改动

如果它对现有行为的理解不准确,后面的实现很可能沿着错误方向继续。理解阶段发现的不确定项要明确标记,不能用常见框架经验代替仓库事实。

一个任务只解决一个主要问题

我会避免在同一个任务里同时修改认证、视频上传、评论和前端页面。改动范围越大,越难审查,也越难判断错误来自哪里。

一个较小的任务可以是:

  • 为某个接口补齐参数校验;
  • 完成一个服务内的数据查询;
  • 统一一类错误响应;
  • 为现有逻辑补充单元测试;
  • 调整一个页面与接口的字段映射;
  • 更新一份与代码一致的文档。

我会按实际优先级从这些小任务中逐项推进,每一项都单独记录实现和验证状态。

代码生成后先看改了什么

Codex 完成实现后,我不会只看最终回答,而是检查实际变更:

  • 修改了哪些文件;
  • 是否超出任务范围;
  • 是否重复实现已有工具;
  • 是否改变接口兼容性;
  • 是否增加不必要依赖;
  • 异常和边界是否处理;
  • 是否写入敏感配置;
  • 测试是否真正覆盖改动。

如果出现大范围无关重构,我会要求缩小改动,而不是为了保留生成结果继续接受。

编译通过只是第一道门

我准备采用逐层验证方式:

静态阅读
    -> 编译
    -> 单元或模块测试
    -> 接口请求
    -> 前后端联调
    -> 异常与权限路径
    -> 更新任务状态

编译通过只能证明语法和依赖在当前条件下基本成立。接口返回成功,也不能证明数据状态、权限和副作用正确。

当前项目仍处于早期开发阶段,我先把注意力放在每个小任务的编译、接口和联调结果上。

让测试成为任务的一部分

测试不应该等到所有功能完成后再统一补充。拆任务时,我会同时写出需要验证的正常和异常条件。

例如一个创建类接口至少要考虑:

  • 合法输入能够创建;
  • 缺少必填字段会被拒绝;
  • 无权限用户不能操作;
  • 重复请求怎样处理;
  • 业务失败时是否留下不完整数据;
  • 返回结果是否与数据库状态一致。

Codex 可以辅助补充测试代码和边界清单,但测试是否足够、结果是否可以接受由我判断。

文档要跟随代码更新

AI 辅助开发很容易快速产生代码,如果文档和任务状态没有同步,过几天就难以判断哪些是设计、哪些已经实现。

我会区分:

  • 规划中的功能;
  • 正在实现的任务;
  • 已编译但未联调;
  • 已通过接口验证;
  • 仍有边界问题;
  • 已完成并验收。

README 和开发文档不能只描述理想状态,需要和当前代码保持一致。

当前协作方式

截至 2025 年 12 月 27 日,我使用 Codex 开始开发 HAOVP 的方式可以概括为:我先确定目标和边界,把任务拆小并组织必要上下文;Codex 辅助实现和整理;我再检查改动、运行验证、处理联调问题并决定是否验收。

这套方式还会随着项目推进调整。现在能确定的是,AI 辅助并没有减少开发者责任,反而要求任务描述、代码审查和验证过程更明确。

现在已有 7 次阅读,0 条评论,0 人点赞
评论:共0条
发表
搜索 消息 足迹 排行
你还不曾留言过..
你还不曾留下足迹..
博主 不再显示
博主
未知作品 歌曲封面
立即安装