Vibe Coding 是最后的错误!!
Source: Dev.to
引言
我们都有过这种经历。你正深入一个项目,进展顺利,却突然卡住了。可能是应用在读取 API 数据时出错,或者你处理错误的代码变得凌乱且令人困惑。
- 在没有征求意见的情况下重构了我的结构体。
- 注入了毫无意义的指针。
- 把我的逻辑变成了一个“幻觉”杰作,甚至根本跑不起来。
当时我没有意识到,但我已经陷入了陷阱。我几乎不明白自己文件里到底发生了什么。这变成了一场与 ChatGPT 的疯狂来回对话,我所做的只是不断提示、复制错误信息、粘贴代码。我们都知道复制粘贴的游戏会怎样收场。
为了拯救我的工作,我必须终止这个循环。我是受害者,项目是受害者。要从那堆 AI 生成的混乱中恢复,我采取了以下步骤:
硬重置
我必须回到最后一次可工作的版本。如果你还没有使用 Git,让这成为你的警钟。能够“撤销”一次幻觉是终极安全网。
# This command resets your file to the last saved version
git checkout -- weather_app.go
就这样,AI 的“渣”消失了,我原来的逻辑恢复了。
精准提示
我不再把整个文件交给 AI,而是只挑出一个特定的逻辑块并询问:
“这行代码为什么会抛出错误?”
验证
AI 给出解决方案后,我使用 StackOverflow 和 官方 Go 文档 等外部资源进行验证。这帮助我真正理解了修复背后的 原因。
“不粘贴”规则
我没有直接粘贴代码,而是强迫自己手动把解决方案敲回编辑器。这重新建立了大脑与屏幕之间的思维连接。
安全使用 AI 的框架
AI 应该是你的最后手段,而不是在遇到死胡同时的第一步。为了防止代码变成“渣”,请遵循以下框架:
- S – 范围(Scope):只给 AI 它需要的代码片段。
示例:“只编辑FetchWeather函数。” - P – 参数(Parameters):明确告诉它使用哪些库。
示例:“仅使用标准库。” - E – 边界情况(Edge Cases):询问如何处理失败。
示例:“当出现 404 或超时时该如何处理?” - C – 约束(Constraints):坚决要求保持现有结构不变。
示例:“不要更改我已有的结构体定义。”
在 2026 年,任何人都可以提示 AI,但并非每个人都能进行工程设计。不要让 AI 成为你学习旅程的首席架构师。把它当作需要严格指令的配对程序员。当你停止理解自己在做什么或屏幕上显示的内容时——立刻停下来。
回到你的原始代码,遵循上述框架,保持对逻辑的控制。