这不是框架说明书。这是我从零到一跟 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 读长文档有个毛病:越靠后的内容越容易被忽略。
所以重要的规则放最前面。我的排列是:
- 人话翻译表(最高优先级——我说的第一句话就要被正确理解)
- 地盘划分(你能碰什么,不能碰什么)
- 正常操作流程(标准路径)
- 意外情况怎么处理(备用路径)
- 输出格式要求(锦上添花)
小技巧:如果你的规范超过三百行,后面一百行的规则 AI 基本不会遵守。能精简就精简,把精华集中在前半。
开发后:测试不是跑脚本,是跟 AI 聊天
8. 先拿你熟的东西跑一遍
不要用陌生的内容做测试——你连 AI 输出对不对都判断不了。
我做知识库的时候,丢进去的第一篇文章是一篇我特别熟的经典论文。因为我对这篇太熟了,AI 提取的概念对不对、关联建得准不准,我一眼就能看出来。
我:"好,现在测试一下。把这篇论文处理了,看看你能提取出哪些概念。"
AI 跑了完整流程,提取了好几个核心概念和关键人物,每个概念之间自动建了交叉引用。然后我随便搜了一个关键词,精准命中。
这一轮跑通,信心就有了。
小技巧:用你最熟的领域做测试。别拿一篇你自己都不太懂的文章去试——对了错了你都看不出来。
9. 故意问"蠢问题"
流程跑通之后,别急着收工。故意问一些看起来很基础的问题,这些问题往往暴露设计缺陷。
真实的对话是这样的:
我:"知识库的内容是用什么存的?数据库吗?" AI:"就是普通的文本文件,没有数据库。每个文件是一个知识节点,用双括号互相链接。唯一的辅助文件是一个搜索缓存。"
这个问题其实是在确认:架构够不够简单?能不能随时手动打开文件修改?备份是不是一个文件夹拷贝就行?
我:"那文章多了会不会越来越慢?一百篇和一千篇,每次查东西是不是消耗不一样?" AI:"不会。两个机制:第一层先搜索过滤,只取最相关的 5 篇;第二层处理文章的时候已经提前帮你做了摘要和要点提炼,查的时候直接读精华,不需要每次重新看原文。所以 10 篇和 200 篇,查询成本基本一样。"
这个回答让我放心了——方案是对的。如果 AI 当时说"嗯,会变慢",那就得推翻设计重来。
我:"但我记不住命令啊。处理文章、查询、检查,到底该怎么说?" AI 在规范里加了一整章口语翻译表。从此「保存一下」就是处理,「我记得存过」就是查询,「检查一下」就是健康检查。
这个例子是关键。 最后一个"蠢问题"直接催生了整个项目最好用的功能——从此不用记任何操作指令。
10. 把反馈当场写进规范
每问一个问题、每发现一个漏洞,立刻更新你的规范文件,不要"回头再说"。
比如刚才问到"文章多了会不会越来越慢",确认设计方案没问题之后,马上把这条写进规范:
每次查询的时候,先搜索找最相关的 5 篇笔记,再读这 5 篇的完整内容来回答。因为处理文章的时候已经提前做好了摘要和要点提炼,查的时候不需要重新去读原始文章。
下次 AI 再回答问题时,就会严格遵守这个流程。以后你换一个新会话,它一看规范就知道这套规则,不用你再教一遍。
11. 收尾:让 AI 自己写使用说明
项目做完了,但别人(包括三天后的你自己)不知道怎么用。让 AI 自己写一份给人类看的说明书:
好了,你现在帮我写一份使用说明。不要写技术细节,就告诉别人"你想做什么,你就这样说"。
AI 生成的使用说明就一张表,清清爽爽:
| 你想做什么 | 你可以这样说 |
|---|---|
| 存一篇文章 | 「保存一下这篇文章」 |
| 查一个概念 | 「我之前存过一篇讲某某的」 |
| 检查有没有问题 | 「帮我检查一下知识库」 |
接手的人不用读几百行的规范文件,看这张表 5 分钟就能上手。
小技巧:在规范里加一条——"每次改规范的时候,顺手把使用说明里对应的部分也更新了"。这样改一处永远不会漏另一处。
总结:几个我反复用到的套路
- 开发前先画出来:文件夹怎么建的、每篇笔记长什么样、谁的地盘谁说了算。别让 AI 猜。
- 开发中用"如果…就…":把判断逻辑写成"如果缺信息就自己推断然后标注未知",不给 AI 留模糊地带。
- 让人话说在前面:规范文件第一章就是口语翻译表,你永远不用记命令。
- 一次只做一件事:AI 的注意力比你想象的短,单线程质量远高于多线程。
- 问蠢问题:每个"哎呀这个怎么用"都是一次改进规范的机会。
- 当场改规则:发现问题不记脑子里,立刻写进文件。文件是你和 AI 之间的唯一契约。
- 简单到极致:能用文本文件解决的别上数据库,能手动改的别搞成黑盒。你总要能随时打开看看里面是什么。
这篇指南本身就是和 AI 一起写的——我把我的思路说清楚,AI 帮我整理成文。你也可以。