Viber Coding:我是怎么跟 AI 搭伙写代码的

5 阅读11分钟

这不是框架说明书。这是我从零到一跟 AI 协作搞出一个项目的真实过程复盘——每一步我是怎么跟 AI 说话的、为什么这样说、踩了什么坑。


先说一下 Viber Coding 到底是什么

说白了就是:你出脑子,AI 出手。 你负责想清楚要什么、为什么要、边界在哪里。AI 负责写文件、跑流程、改 bug。你们之间的沟通方式不是命令,是对话。

传统编程是你学一套语法跟编译器说话。Viber Coding 是你用自己的语言跟 AI 说话——但"用自己的语言"不代表随便说。说得越清楚,AI 越不会跑偏。


开发前:先把话说清楚

1. 别上来就写,先"画"出来

AI 最怕的不是复杂,是模糊。你说"帮我做个知识库",它能做出来,但大概率不是你想要的。

我的做法是:动手之前,先把项目长什么样画给 AI 看。

比如我做知识库的时候,第一段提示词是这样给的:

我要做一个知识库,分三个区域:最底层叫"原始材料",放我丢进去的文章和文档,这一层你不要碰,只看不写。中间层叫"知识库",给你自由发挥,你把读到的内容整理成结构化的笔记存这里。最上层叫"查询结果",我问你问题的时候你把答案输出到这里。

"知识库"下面再分四个子目录:概念笔记、人物公司、来源记录、综合分析。

每篇概念笔记用固定格式,要有:一句话定义、核心要点、信息来源、认知变化记录、我的个人看法,这五个部分。

你看,我没写一行代码,但 AI 听完就知道:

  • 文件夹怎么建
  • 哪些能碰哪些不能碰
  • 每篇笔记该长什么样

小技巧:画目录结构比写一大段文字描述更有效。AI 对层级关系特别敏感。


2. 把"你"和"我"的地盘划清楚

这是很多人踩坑的地方——没跟 AI 说清楚边界,它要么乱改你的文件,要么畏手畏脚什么都不敢动。

我的做法是直接说:

"知识库"文件夹完全归你管,你可以创建、修改、删除里面的任何内容。但"原始材料"是我的地盘,你只能看,永远不要往里写任何东西。如果你觉得里面缺了什么,告诉我,我来放。

效果是:AI 在自己地盘上很放得开,在我地盘上很老实。不会出现"AI 帮你把原始文档改了"这种惨案。

小技巧:用"你""我"建立角色感。说"你拥有知识库"比"知识库文件夹由 AI 管理"管用得多。


3. 先把坑说在前面

写规范的时候不光要写"正常情况怎么做",还要写"出意外了怎么办"。不然 AI 一遇到意外就卡住瞎猜。

比如我告诉 AI:

如果你发现我丢进去的文章没有标注日期和作者,不要停下来问我,也不要卡住。从文章内容里推断,推断不出来就写"日期不详""作者未知",然后继续往下走,在日志里记一笔就行。

就这一句话,救了无数次的流程中断。AI 知道"缺信息 → 自己推断 → 标注未知 → 继续走",就不会停在那边等你下指令。


开发中:怎么跟 AI 说话最省力

4. 一次只让它做一件事

这是血泪教训。我也试过一次性丢 5 篇文章让 AI"全处理了",结果它跳步骤、漏检查、笔记写得乱七八糟。

后来我学乖了,直接告诉它:

记住:一次只处理一篇文章。哪怕我给你一堆文件,你也一个一个来,每篇走完完整流程再开始下一篇。

AI 的注意力是有限的。一次一件事,质量翻倍。


5. 用"如果…就…"把判断逻辑写死

AI 会自作聪明。有时候是好心办坏事,有时候是偷懒。我的经验是:把判断规则写成如果就,不给 AI 留"自己看着办"的空间。

举个真实例子。你丢进去两篇文章,一篇叫"自注意力机制",一篇叫"Self-Attention"——说的是同一个东西。如果让 AI 自己判断,它很可能给你建两个重复页面。

所以我在规范里加了一道强制检查:

你每次要新建一个概念笔记之前,先去知识库里搜一圈,看看是不是已经有相关的笔记了。不仅要搜标题,还要搜每篇笔记里提到的"别称"和"也叫"。如果发现已经有笔记在讲这件事了,就去更新那篇旧的,绝对不要建新的。实在找不到任何相关笔记,才允许新建。

加了这句话之后,知识库从第一天就没出现过重复内容。

小技巧:把步骤编号,写成"第一步做什么、第二步做什么"。AI 对编号步骤的执行非常忠实,几乎不会跳。


6. "哎呀,我记不住命令行呀"

这是最经典的场景。你吭哧吭哧花了两小时搭好流程,一转头自己忘了该说什么关键词。

对啊,谁要记命令行啊。

所以我的做法是:让 AI 自己听懂人话。 在规范文件的最前面加一张表:

当我说「保存一下这篇文章」「帮我存一下」「收录这篇」「消化一下」「这文章值得留着」——你都理解为:把文章处理了存进知识库。

当我说「我记得之前存过一篇讲某某的」「帮我查一下」「之前那篇文章怎么说」「找一下关于某某的」——你都理解为:去知识库里搜相关内容来回答我。

当我说「检查一下知识库有没有问题」「知识库还健康吗」——你都理解为:跑一遍全部健康检查。

这样一来,我再也不用记命令。"保存一下"三个字,AI 自动跑完一整套流程。

小技巧:每个操作列 5 到 10 种口语说法,越多越好。中文的口语变化特别多——"存一下""记下来""收录""消化""处理一下""这文章不错留着"——全都要覆盖到。


7. 给你的规范排个序

规范写到后面会越来越长。但 AI 读长文档有个毛病:越靠后的内容越容易被忽略。

所以重要的规则放最前面。我的排列是:

  1. 人话翻译表(最高优先级——我说的第一句话就要被正确理解)
  2. 地盘划分(你能碰什么,不能碰什么)
  3. 正常操作流程(标准路径)
  4. 意外情况怎么处理(备用路径)
  5. 输出格式要求(锦上添花)

小技巧:如果你的规范超过三百行,后面一百行的规则 AI 基本不会遵守。能精简就精简,把精华集中在前半。


开发后:测试不是跑脚本,是跟 AI 聊天

8. 先拿你熟的东西跑一遍

不要用陌生的内容做测试——你连 AI 输出对不对都判断不了。

我做知识库的时候,丢进去的第一篇文章是一篇我特别熟的经典论文。因为我对这篇太熟了,AI 提取的概念对不对、关联建得准不准,我一眼就能看出来。

我:"好,现在测试一下。把这篇论文处理了,看看你能提取出哪些概念。"

AI 跑了完整流程,提取了好几个核心概念和关键人物,每个概念之间自动建了交叉引用。然后我随便搜了一个关键词,精准命中。

这一轮跑通,信心就有了。

小技巧:用你最熟的领域做测试。别拿一篇你自己都不太懂的文章去试——对了错了你都看不出来。


9. 故意问"蠢问题"

流程跑通之后,别急着收工。故意问一些看起来很基础的问题,这些问题往往暴露设计缺陷。

真实的对话是这样的:

我:"知识库的内容是用什么存的?数据库吗?" AI:"就是普通的文本文件,没有数据库。每个文件是一个知识节点,用双括号互相链接。唯一的辅助文件是一个搜索缓存。"

这个问题其实是在确认:架构够不够简单?能不能随时手动打开文件修改?备份是不是一个文件夹拷贝就行?

我:"那文章多了会不会越来越慢?一百篇和一千篇,每次查东西是不是消耗不一样?" AI:"不会。两个机制:第一层先搜索过滤,只取最相关的 5 篇;第二层处理文章的时候已经提前帮你做了摘要和要点提炼,查的时候直接读精华,不需要每次重新看原文。所以 10 篇和 200 篇,查询成本基本一样。"

这个回答让我放心了——方案是对的。如果 AI 当时说"嗯,会变慢",那就得推翻设计重来。

我:"但我记不住命令啊。处理文章、查询、检查,到底该怎么说?" AI 在规范里加了一整章口语翻译表。从此「保存一下」就是处理,「我记得存过」就是查询,「检查一下」就是健康检查。

这个例子是关键。 最后一个"蠢问题"直接催生了整个项目最好用的功能——从此不用记任何操作指令。


10. 把反馈当场写进规范

每问一个问题、每发现一个漏洞,立刻更新你的规范文件,不要"回头再说"。

比如刚才问到"文章多了会不会越来越慢",确认设计方案没问题之后,马上把这条写进规范:

每次查询的时候,先搜索找最相关的 5 篇笔记,再读这 5 篇的完整内容来回答。因为处理文章的时候已经提前做好了摘要和要点提炼,查的时候不需要重新去读原始文章。

下次 AI 再回答问题时,就会严格遵守这个流程。以后你换一个新会话,它一看规范就知道这套规则,不用你再教一遍。


11. 收尾:让 AI 自己写使用说明

项目做完了,但别人(包括三天后的你自己)不知道怎么用。让 AI 自己写一份给人类看的说明书:

好了,你现在帮我写一份使用说明。不要写技术细节,就告诉别人"你想做什么,你就这样说"。

AI 生成的使用说明就一张表,清清爽爽:

你想做什么你可以这样说
存一篇文章「保存一下这篇文章」
查一个概念「我之前存过一篇讲某某的」
检查有没有问题「帮我检查一下知识库」

接手的人不用读几百行的规范文件,看这张表 5 分钟就能上手。

小技巧:在规范里加一条——"每次改规范的时候,顺手把使用说明里对应的部分也更新了"。这样改一处永远不会漏另一处。


总结:几个我反复用到的套路

  1. 开发前先画出来:文件夹怎么建的、每篇笔记长什么样、谁的地盘谁说了算。别让 AI 猜。
  2. 开发中用"如果…就…":把判断逻辑写成"如果缺信息就自己推断然后标注未知",不给 AI 留模糊地带。
  3. 让人话说在前面:规范文件第一章就是口语翻译表,你永远不用记命令。
  4. 一次只做一件事:AI 的注意力比你想象的短,单线程质量远高于多线程。
  5. 问蠢问题:每个"哎呀这个怎么用"都是一次改进规范的机会。
  6. 当场改规则:发现问题不记脑子里,立刻写进文件。文件是你和 AI 之间的唯一契约。
  7. 简单到极致:能用文本文件解决的别上数据库,能手动改的别搞成黑盒。你总要能随时打开看看里面是什么。

这篇指南本身就是和 AI 一起写的——我把我的思路说清楚,AI 帮我整理成文。你也可以。