AI Coding 的真相与应对
作者:微信文章读到 X 上 @Petergyang 一条关于「AI 辅助编程」的诚实反思:
「AI 辅助编程,可以帮你走完 70% 的旅程,但之后的 30% 令人沮丧。它总是向前迈一步,却因新的错误、问题等而退后两步。」
—— 作者非工程师出身,不懂代码如何工作,因此无法自行修复,也对自己掌握了多少产生怀疑。正如 Excel 并不能真正让你学懂会计。
分析问题、拆解问题,原子化问题,用 AI 逐一解决,最终拼凑成一个可运行的系统。这就像解高考跨学科综合题。对很多人来说,真正的挑战不是编程本身,而是如何解决这些复杂问题。
最近我也在抽时间玩 AI 辅助编程,借此找回创造乐趣(以前会手搓代码)。我用的是 Windsurf 付费版。大多数时候,给 AI 提完需求,只需一路点「Accept」或「Accept All」按钮即可。
但有时也会遇到前面提到的问题。一个项目写到 70% 时,代码开始在几个错误之间反复横跳,如同鬼打墙。
经过一段时间的摸索,目前我的解决方案有:
1、 存版本快照
每完成一个可用的迭代,就将最新的代码文件夹另存一个新版本(V1、V2…)。
有人可能会建议用 Git 版本控制,但我更喜欢直接另存文件夹。这样一旦代码崩溃,可以让 AI 直接到前一个运行良好的版本中学习,修复当前代码。
2、 写下今天实现的主要需求
每天收工前,要求 AI 为代码写注释,为项目写 Readme 文档。这相当于为一天的工作存档,方便日后复查。
特别要让 AI 把今天实现的主要需求写入 Readme。
3、 适当放弃代码洁癖
以前,我因代码洁癖,会让 AI 先整理代码,再写注释和 Readme。但我发现整理过程可能导致代码崩溃。如果这发生在准备收工前,我可能跟代码一起崩溃。
而且整理代码随时可以进行。频繁整理反而可能增加混乱。不如等混乱积累到一定程度再一次性整理。
4、 理解基本原理和项目结构,提出具体合理的需求
一个简单的例子:
— 命令 AI 在 A 网页实现 B 功能,可能无法完成。
— 先让 AI 写个脚本分析 A 网页结构,再基于分析结果实现 B 功能,成功率会提高。
— 让 AI 用 Python 调用 BeautifulSoup 库分析 A 网页结构,再实现 B 功能,成功率更高。
这样,项目始终在你的掌控中,纲举目张,你只需抓大放小。
我看到也有人提出更进一步的方案:先让 AI 写自动化测试,再编写正式代码。这或许适用于大项目,但对个人小工具则不太必要。
最近我用 Windsurf 开发了一些小工具,以满足自身需求的实用 Chrome 扩展居多。比如:
— 自动隐藏 X、即刻、FB 上信息量少或包含特定词汇的动态;
— 点赞某条动态时自动同步到 flomo;
— 在移动设备上强制发送桌面端请求头(用在 FB 网页版可以获取更多信息);
— 把动态做成类似 Tinder 的形式,标记喜欢或不喜欢,并保存为训练数据集。
同样感兴趣这个方向的,欢迎关注+探讨(微信 zengzhangheike)。
页:
[1]