我注意到自己在 AI 辅助编码中采用了一种特定的节奏(即我真正在专业上关心的代码,与“氛围编码”相对)。
- 将所有相关内容放入上下文(在大型项目中这可能需要一段时间。如果项目足够小,就直接把所有内容都放进去,例如
files-to-prompt . -e ts -e tsx -e css -e md --cxml --ignore node_modules -o prompt.xml) - 描述我们试图实现的下一个具体的、增量式的变更。不要要求代码,而是要求几种高层级的方法及其优缺点。做事情几乎总有几种方式,而 LLM 的判断并不总是很好。可选地使其具体化。
- 选择一种方法,要求第一版代码草稿。
- 审查/学习阶段:(手动地)在侧边浏览器中打开所有我之前未调用过或不太熟悉的函数的 API 文档,要求解释、澄清、修改,回退并尝试不同的方法。
- 测试。
- Git 提交。 询问接下来可以实现什么建议。重复。
类似这样的过程感觉更像是 AI 辅助开发的内循环。重点在于对这个过度热心的初级实习生保持非常严格的控制,它拥有百科全书式的软件知识,但同时也总是对你胡说八道,勇气过剩,而且对好代码几乎没有什么品味。并且强调要缓慢、防御性、谨慎、多疑,并且总是抓住内联学习的机会,而不是委托。这些阶段中有许多是笨拙且手动的,在现有工具中尚未得到明确或很好的支持。我们仍然处于非常早期的阶段,在 AI 辅助编码的 UI/UX 方面还有很多可以做的。