使用codex进行vibe-coding的过程记录

codex是一个非常好用的项目辅助工具,功能十分强大。前一段时间,本人使用vscode的codex插件,将一个R语言的生信项目:Iris,用python进行了重构。


具体流程:

  1. 通读R代码,理解其框架
  2. 手动搭出一个python项目框架,包括创建必要的文件夹,文件。提供函数名。
  3. 以函数(或20行代码)为单位手动拆分R代码
  4. 逐块发送给codex插件,转录成python代码,并添加至合适位置
    • 注:每次使用codex之前先备份!
  5. 逐块同步调试python和R代码,确保python代码能跑通,且关键变量的值与R代码一致


难点:

  1. 理解IRIS算法的框架,即某个函数究竟在做什么。实不相瞒,直到完成项目时我都没完全搞清楚。
  2. 使用稀疏矩阵储存数据,需要决定用什么格式/怎么处理行列名/怎么修改代码。python没有和R的sparseMatrix完全对应的类型,所以需要自己实现class。
  3. 调试很难,因为IRIS包已经被编译好了。所以只能使用github上的源码进行调试。出现bug时,由于不懂源代码的逻辑,所以很难看清楚是什么问题(不过可以让codex分析代码)。
  4. IRIS算法使用了很多生信的专业知识,比如RNA组学,基因表达矩阵等。还是用了一些机器学习的知识。本人知识储备实在是有限,只能靠codex帮忙理解。


一些体会:

  1. vibe coding基本上靠谱,因为大语言模型的能力越来越强了。至少gpt-5-codex有能力理解需求并生成代码。
  2. vibe coding过程中是不需要本人懂细节,懂流程的。人需要做的事只有拆分任务,使用提示词指挥codex工作,运行代码,并将结果反馈给codex进行下一轮优化即可。当然,如果本人懂细节,懂流程,做起来会心里更踏实。
  3. vibe coding的提示词不需要多么精良。重要的是清晰,且提供必要的上下文。
  4. codex会犯错。遇到错误时重复追问几次,可能会得到更好的结果。