要让AI写出能直接交付、便于维护的代码,光靠一句“帮我写个登录接口”可远远不够。你需要一套结构化的Prompt模板,把技术栈锁死、把边界划清、把质量红线讲透,才能稳定输出高质量代码。
不瞒你说,这里有一套经过反复打磨的“五段式Vibe Coding Prompt”模板,能帮你在项目里彻底锁定AI的输出质量,提升工程效率。
核心模板:五段式Vibe Coding Prompt
第一步,是给AI设定一个清晰的角色和项目人格。别让它觉得自己只是个普通编码助手,要告诉它:你是本项目的首席工程师,对整体架构、代码可维护性、错误处理机制负全部责任。只有这样,AI才会以“交付级”的标准来要求自己,生成可直接上线的代码。
第二步,用具体意象来定义项目的风格和氛围。比方说,“整体风格像一台精密机械表——每个函数是独立齿轮,接口是咬合齿距,异常处理是自动离合器”。这种具象化的隐喻,比空泛地说“代码要优雅”管用得多,能真正约束住AI的输出方向,让代码风格统一且易于维护。
第三步,工程硬约束必须白纸黑字写清楚。【技术栈要精确到小版本,比如Vue3.4.27 + Pinia2.2;目录结构要写全,比如/src/views/login/、/src/api/auth.ts;变量命名规则要定死,比如refLoginLoading要写成loginLoadingRef;同时明确禁止使用any和eval】。这些条目缺一个,AI就可能放飞自我,给你埋下隐患,导致后期返工成本飙升。
第四步,质量红线要具体到可执行层面。不能只说“要有校验”,得写成:“所有API调用必须包裹try-catch,捕获后统一调用useToast().error(‘网络异常,请重试’),且不在控制台打印堆栈;表单提交前必须校验邮箱格式、密码长度≥8位、两次输入一致。”边界清晰了,AI才知道该怎么守,才能生成健壮、安全的代码。
第五步,丢给它一个最小可验证的示例。比如让AI先输出一个符合上述全部约束的loginForm.ts类型定义,里面要带上字段、校验规则注释和默认值。这一步能立刻检验它是否真正理解了你定下的规矩,而不是在表面套话,从而避免后续大规模返工。
适配不同场景的变体模板
方法一:MVP快速验证型
适用场景是紧急需求、POC演示、内部工具原型。这时可以把第四步里的日志规范和测试要求去掉,但【第三步的目录结构与技术栈版本必须一字不差地保留,否则生成代码根本没法集成到现有项目里去】。另外要加一句关键指令:“优先选用项目已有依赖,禁止新增npm包;若确实需要引入,必须说明替代方案为何行不通。”这样能确保代码快速落地,同时保持依赖可控。
方法二:遗留系统改造型
当你是给老项目加功能时,开头就得加上这么一层约束:“当前项目用的是jQuery1.12 + Bootstrap3.3,禁止出现async/await、箭头函数、ES6模块语法;所有新JS文件必须挂载到window.App命名空间下;CSS类名沿用btn-primary-lg风格,禁用BEM。”不提前说清楚这些,AI很可能写出让老项目跑不起来的现代语法,导致兼容性问题频发。
方法三:安全敏感型
用于支付、权限、数据导出等模块。在第五步完成后,额外要求AI:“生成代码前,先输出一份安全自查清单,逐条确认:① 是否存在SQL拼接;② 用户输入是否全部经过DOMPurify过滤;③ 敏感操作是否二次确认;④ 导出文件名是否强制添加时间戳前缀防止覆盖。”安全模块容不得半点含糊,必须如此白纸黑字地交底,才能规避常见漏洞风险。
避坑关键:三处不可省略的显式声明
① 技术栈必须精确到小版本号。只写“Vue3”可不行,AI会按最新RC版生成,而团队实际在用3.2.45,Composition API的语法很可能对不上号,导致代码无法直接运行。
② 目录路径记得带斜杠结尾。写“/src/api”和“/src/api/”在AI眼里是两个不同的约定,后者才意味着这是一个目录层级锚点,可别小看这个细节,否则AI可能把文件放错位置。
③ 禁止项要用“禁止”二字,别用“不要”。实测发现,“不要用any”会被AI理解为“建议尽量避免”,它仍可能输出any。换成“禁止使用any”之后,AI才会触发内置的类型检查强化逻辑,主动替换成unknown或具体的接口类型,从而提升代码质量。
