VIBE CODING 方法论 · 第 10 节

长对话锚定与写作规范

对话开头说了用 PostgreSQL,聊到 30 轮 AI 突然建议 SQLite,因为早期约定已经被上下文窗口挤掉了。这一节讲两件事:怎么对抗长对话的认知漂移,以及怎么让 AI 写出的中文摆脱 AI 腔。两个交互演示,动手拖一拖、点一点。

课程目标

理解漂移成因

上下文窗口截断和长文本尾部注意力衰减,让 AI 忘掉早期约定。即使是 200K token 的模型,注意力在长文本尾部的衰减也真实存在。

会设 checkpoint

超过 10 轮后,关键操作前强制复述当前目标和关键约束,用周期性锚点对抗遗忘。

消灭 AI 腔

用可搜索的违禁模式清单和自查流程,替代「请写自然流畅的中文」这类空话。

交互演示一 · 上下文漂移模拟器

下面是一个模拟对话窗口,假设上下文窗口只装得下最近 20 轮。第 1 轮定了「用 PostgreSQL」的硬约束,拖动滑块增加对话轮数,观察这条约定的命运。然后切换到「开启锚定」,看同样 30 轮之后有什么区别。

第 1 轮 · 约定刚刚立下
第 1 轮

灰色划线的消息表示已滑出上下文窗口,AI 看不见它们了。本演示假设窗口容量为最近 20 轮。

锚定规则的三个要点

复述有固定格式

修改代码、修改配置、部署之前,AI 必须先回顾并复述当前目标和关键约束,格式固定,便于扫一眼确认。

📌 当前目标:XXX | 关键约束:YYY

目标以最新一次为准

用户在对话中修改了目标时,复述要以最新一次为准,并明确标注变更,避免新旧目标混在一起。

并行编辑前先重读文件

多个 SubAgent 或多次编辑涉及同一文件时,后续修改必须先重新读取文件当前状态,禁止基于缓存或记忆中的旧内容编辑。这是多 Agent 时代的「乐观锁」。

交互演示二 · AI 腔检测器

下面这段文案由 AI 生成,读起来处处透着一股 AI 腔。点击「开始检测」,按 writing-style.mdc 的自查表逐条扫描违禁模式;再点击每一处红色高亮,查看它违反了哪条规则、应该怎么改。

待检测文案(教学样本,故意写得很「AI」)
两个设计细节

其一,「请用自然流畅的中文」没有用。AI 认为的自然和你认为的自然可能完全不同,必须给出具体的违禁词和违禁句式列表,AI 才能精确执行。交付前逐条搜索违禁模式,发现一处改一处,完成后注明已完成自查,System Prompt 里的违禁句式同样要改。

其二,写作规范独立成文件并设 alwaysApply: false,只在写文案或 Prompt 时手动引用,避免污染编码对话的上下文。

Takeaway

锚定对抗遗忘,清单对抗含糊。长对话里靠周期性复述保住约定,写作上靠可搜索的违禁模式保住风格。两者的共同点是把模糊期望变成可执行动作。

素材来源:对应 rule-opensource.mdc 第十三章「沟通规范」与 writing-style.mdc,开源仓库 itshen/xs_vibe_rules(MIT License)。