使用codex进行vibe-coding的过程记录
codex是一个非常好用的项目辅助工具,功能十分强大。前一段时间,本人使用vscode的codex插件,将一个R语言的生信项目:Iris,用python进行了重构。
具体流程:
- 通读R代码,理解其框架
- 手动搭出一个python项目框架,包括创建必要的文件夹,文件。提供函数名。
- 以函数(或20行代码)为单位手动拆分R代码
- 逐块发送给codex插件,转录成python代码,并添加至合适位置
- 注:每次使用codex之前先备份!
- 逐块同步调试python和R代码,确保python代码能跑通,且关键变量的值与R代码一致
难点:
- 理解IRIS算法的框架,即某个函数究竟在做什么。实不相瞒,直到完成项目时我都没完全搞清楚。
- 使用稀疏矩阵储存数据,需要决定用什么格式/怎么处理行列名/怎么修改代码。python没有和R的sparseMatrix完全对应的类型,所以需要自己实现class。
- 调试很难,因为IRIS包已经被编译好了。所以只能使用github上的源码进行调试。出现bug时,由于不懂源代码的逻辑,所以很难看清楚是什么问题(不过可以让codex分析代码)。
- IRIS算法使用了很多生信的专业知识,比如RNA组学,基因表达矩阵等。还是用了一些机器学习的知识。本人知识储备实在是有限,只能靠codex帮忙理解。
一些体会:
- vibe coding基本上靠谱,因为大语言模型的能力越来越强了。至少gpt-5-codex有能力理解需求并生成代码。
- vibe coding过程中是不需要本人懂细节,懂流程的。人需要做的事只有拆分任务,使用提示词指挥codex工作,运行代码,并将结果反馈给codex进行下一轮优化即可。当然,如果本人懂细节,懂流程,做起来会心里更踏实。
- vibe coding的提示词不需要多么精良。重要的是清晰,且提供必要的上下文。
- codex会犯错。遇到错误时重复追问几次,可能会得到更好的结果。