Vibe Coding:让AI戴着镣铐跳舞

0 阅读6分钟

vibe coding的六条原则.001.png 现在的 AI 已经非常智能了,尤其是在生成代码的时候。但它的智能往往会走偏,所以我们要给 AI 加上各种各样的限制,让它带着镣铐跳舞,才能得到我们满意的产出。

以下是我在实际项目中总结出的六条基本原则。这些原则在 Vibe Coding 中很实用,但也不限于 Vibe Coding ;在其他调用 AI 的情况下,也可以作为参考.

1. 重要的上下文要放在落地文件中

在做外部 Coding 的时候,我们免不了要给 AI 设置一些全局通用的规则,比如:代码生成的规范,生成后的测试和验收方式,模块的输入输出规范,测试的要求与接受的标准,等等。 我们可以一开始就把这些告诉 AI,但 AI 的上下文有限,时间长了肯定会忘记。所以要利用好各种 Vibe Coding 工具提供的标准化项目文件,比如 Claude 的 CLAUDE.md,Copilot 的 copilot-instructions.md,Cursor 的 .cursorrules等。 把标准化的内容写进这些文件里,让 AI 每次自动读取。这样 AI 不会忘记,我们也省去很多麻烦,还能有效保证代码质量。

在调用 AI agent 的时候,也都可以找到具有同样功能的文件。比如 OpenClaw 就有 SOUL.md、AGENTS.md、MEMORY.md 等等,用来定义 agent 的行为、风格等等,我们要善加利用。

在调用通用型 AI 的时候,这个思路也同样有效。我们可以在相关设置里配置一些预定义的提示词,比如设定 AI 的虚拟身份、设定自己的资料等。用好了会让 AI 始终保持对话时的智商在线,而不是聊着聊着就降智了。

2. 正向引导“行为”,反向防御“边界”

我们可以认为 AI 就是一个非常聪明的实习生,什么都会,但它把握不好这个度。如果我们不给它加上一些限制,它会做的事情很可能超出我们的想象,给我们一个大号的 surprise。所以在这种时候,我们要明确指示它要做什么事情、按什么样的步骤,有些事情绝对不能做,而不要让它过于自由发挥。 比如我们可以告诉它:“修改当前页面,要提高运行效率,绝对不要修改后端的数据库表结构,只能在前端通过数据拼接解决。”

通用型 AI 也是一样。比如我们让 AI 收集资料的时候,如果能指定它去哪些网站、避开哪些网站收集,准确度会高很多。否则让它在整个互联网里“游泳”,收集到的数据可能真假不一,最后的质量也很难保证。

3. 先计划再行动

把任务交给 AI 完成时,一定要先让它做计划,不要直接改代码。 等他把计划写出来后,我们先审核步骤是否合理。如果不合理,就修改计划,直到合理为止,才能让它继续处理代码。这样能有效提高 Vibe Coding 的成功率和代码质量。

调用通用型 AI 或者 AI Agent 的时候也是如此:我们能给出的步骤越详细,它执行的效果就会越好。 当然,反过来,如果我们不给它执行的机会、不给这些步骤,让它直接去执行,它也有可能完成得非常出色;但更大的可能,是最后变成一团乱麻。 作为实验,让它自行行动是可以的。如果它能探索出更好的路径,我们可以把这个路径固定下来,让它每次都来调用。 但如果是在实际生产环境,让它动态做决策,就要多加一些保险,以避免万一出现最糟的结果。

4. 不确定的信息允许反问

我们在把问题和任务描述给 AI,让它去处理的时候,要明确提示它,如果信息不足、需求不明确、步骤不确定或者存在可选项,都回来问我们。 我们为 AI 补充了这些信息之后,AI 就可以更好地完成任务。

在现实中调用通用型 AI 也是如此。网上曾经有人提出过,让 AI 来问自己问题,最终对自己进行心理诊断,或者对性格、人生做一些判定,效果相当不错。

5. 明确重要的细节,分条目写明需求

当我们让 AI 完成一个相对复杂的任务时,最好把需求一条一条写清楚。比如让 AI 生成前端页面时,界面描述最好分成条目并编号写下来,AI 会更容易理解。 如果有自己手绘的示意框图,也可以拍照发给它,效果会更好。

在使用 AI Agent 或通用型 AI 时,如果有多个指令需要串行执行,或者一条命令里需要它考虑很多方面,也建议把内容拆成条目、清晰罗列出来,AI 会接受得更好。

6. 解决问题时,先描述清楚问题,让AI给出解决方案,不要直接把错误日志全塞给AI

写代码免不了出现 bug,Vibe Coding 也是如此。 当出现问题时,我们可以先把问题描述给 AI,让 AI 先指出问题可能出在哪里,原因是什么,有哪些排查方向,还需要什么进一步的信息。 等它指出这些方向之后,再让它一个一个去查找问题具体出在哪里,效率会很高,准确性也很好。 但如果我们一看见出错,就一股脑把错误日志全塞给 AI,不仅很浪费 词元(Token),真正的原因还可能因为注意力分散,被淹没在这些信息里。

我们在使用通用型 AI 时也是这样:无论想咨询什么事,最好的办法是先让它指出可行的方向,而不是一上来就让它提供非常详细的解决方案。因为一开始提问时,AI 能掌握的信息往往不完整,需要我们后续逐步完善。用这种抽丝剥茧的方式推进,才会得到更稳妥的结果。


以上就是我根据自身的使用体验总结出的 6 条“智慧 AI 做外包”的方法。还有哪些重要的方法,可以有效提高外包效率或者质量?欢迎转载、讨论和分享。

注:关于 Vibe Coding 的更详细经验,参考我的置顶帖子。