https://mp.weixin.qq.com/s/Tm3EpOi7QvXkipgT_FG1zg

原则 | 描述 | 示例(坏 vs. 好) |
|---|---|---|
简洁 (Concise) | 直奔主题,避免废话和填充词。 | 坏: “你能写一些关于科学主题的内容吗?” 好: “写一篇200字摘要,阐述气候变化对沿海城市的影响。” |
逻辑性 (Logical) | 按步骤或要点组织,分解复杂请求。 | 坏: “构建用户注册并显示统计。” 好: “1. 用 Supabase 实现注册表单。2. 注册后显示用户统计仪表板。” |
明确 (Explicit) | 指定想要/不想要的内容,提供格式示例。 | 坏: “跟我说说狗的事。” 好: “用项目符号列出金毛猎犬的5个独特之处。” |
适应性 (Adaptive) | 迭代改进:基于输出调整提示。 | 示例: “上个解决方案缺少验证。请添加用户身份验证。” |
反思 (Reflective) | 交互后回顾有效/无效部分,甚至让 AI 总结。 | 示例: “总结我们解决 JWT 认证错误的步骤,并起草未来避免的提示模板。” |

背景:你是 Lovable 全栈开发者专家。
任务:用 React + Supabase 创建登录页面。
指南:UI 简洁,用 Tailwind CSS;添加代码注释。
约束:仅修改 LoginPage 组件,确保兼容移动端。预期效果:AI会一步步输出结构化的代码,不会偏题。
像和朋友聊天一样,自然说出来,不用分栏分块,但还是要逻辑清楚(先说什么后做什么)。适合已经熟悉AI的人,聊天式迭代。就像打电话给同事,边说边改。

预期效果:AI直接生成代码,你可以接着说“按钮再大点”来调整,像实时对话。
让AI当你的“编辑器”,帮你检查和优化原提示。发现问题(如太模糊),AI帮你重写。适合输出不对劲时用。就像写邮件前,让秘书帮你润色。

先写个粗糙提示:“做一个登录页面,用React和Supabase。” 然后元提示:“看看我这个提示‘做一个登录页面,用React和Supabase。’哪里不够清楚?帮我重写成更详细、更精确的版本,确保AI不会乱加功能。”
任务做完后,让AI“复盘”整个过程,总结经验或写个模板,方便下次复用。像事后写会议纪要。适合调试或学习,积累“秘籍”。

预期效果:你得到一个“防坑模板”,下个项目直接抄。
3,高级技巧
– 零次提示 vs. 少样本提示(Zero-Shot vs. Few-Shot Prompting)
零次提示像直接命令AI“干活,不用示范”;少样本提示像先给AI看1-2个“样板”,教它模仿格式或风格。零次快但靠AI“天赋”;少样本准但稍长。简单任务用零次,复杂或特定风格用少样本——就像教小孩画画,先示范再让他画。
零次提示(无示范,直接下令):

少样本提示(给2个示范):

示例1:输入“创建按钮” → 输出:一个蓝色按钮组件,用Tailwind class="bg-blue-500 px-4 py-2 rounded",带onClick事件。
示例2:输入“创建输入框” → 输出:一个邮箱输入框,用,加required验证。
现在:创建登录页面,包括邮箱/密码输入+提交按钮,连接Supabase认证。用类似格式输出代码。预期效果:AI会模仿示例,输出整齐的组件代码,不会乱加东西。适合你想统一代码风格时用。
何时选哪个:零次试水简单活;少样本调格式(如代码注释要特定方式)。
– 控制幻觉并确保准确性(Managing Hallucinations and Ensuring Accuracy)
AI有时“脑补”假东西(幻觉),比如编不存在的函数,导致代码崩。高级招:给AI“锚点”数据(真实上下文)、让它一步步想(Chain-of-Thought)、要求它老实说不确定、最后验证。就像审稿人检查文章,别让作者瞎编。
基础问题:

你用零次提示建登录页,AI突然加了个“SupabaseMagicAuth”函数(其实不存在),代码跑不起来。
高级控制幻觉的提示(结合锚点 + 逐步推理 + 诚实指令):

基于这个Supabase文档片段:[贴真实API示例,如 supabase.auth.signInWithPassword({email, password}) ]。
任务:用React建登录页面,连接Supabase。
先一步步解释你的思路(Chain-of-Thought):1. 怎么验证输入?2. 怎么调用API?3. 怎么处理错误?
如果不确定任何部分,别编造——说“我需要更多细节”。
最后,输出代码前,确认它匹配文档。
预期效果:AI先输出推理(如“步骤1:用useState存email/password”),然后代码准准的,不会幻觉。加验证:“检查代码是否用真实Supabase方法?如果不对,解释为什么。”
迭代验证(事后检查):
“上个代码好,但Supabase调用可能错。重新审一遍,确保没幻觉,并列出潜在问题。”
预期效果:AI自查,帮你抓bug。
– 利用模型洞察(Leveraging Model Insights:了解你的AI工具)
AI 不是万能的,知道它的“脾气”能事半功倍。比如AI 工具基本上都有的聊天模式(脑暴不改代码)和默认模式( Build模式,直接编代码);注意输出长度(别一次要太多);指定格式让AI适应你的习惯。就像用手机App,知道切换模式才高效。
聊天模式 vs. 默认模式:

聊天模式(先脑暴,不动代码):
“在聊天里讨论:建登录页用Supabase,潜在坑有哪些?列3个风险和解法。”
预期效果:AI输出列表(如“风险1:API密钥漏——解:用环境变量”),你学到东西,再决定建。
默认模式(执行建页):
“现在默认模式:基于上面讨论,用React + Supabase建登录页。输出完整组件。”
预期效果:直接改项目文件,安全高效。
注意令牌/格式(防输出卡壳):

“输出登录页代码,用Markdown格式包起来。分两个部分:先HTML结构,后JS逻辑。别超500行。”预期效果:AI不会中途断,格式整齐,便于你抄。
试用风格:

“代码用我的风格:变量名camelCase,加JSDoc注释。像这个示例:[贴小代码片]。”
预期效果:AI模仿,输出跟你项目一致,不会乱。
4,其他补充:
– 在项目设置里,先塞满“背景资料”(如产品需求文档PRD、用户流程图、技术栈列表),让AI有“锚点”不瞎猜。AI没你的脑子,所以知识库像它的“记忆卡”,防它编故事。

比如,先在项目知识库加:PRD(“App是简单待办工具,支持登录后加任务”)、用户流(“登录→首页→加任务”)、技术栈(“React + Supabase + Tailwind”)。
– 别说“建个表单”,要列清字段;加限额如“最多3个任务”,防AI无限放大。模糊=AI脑补,具体=直击目标。

坏: “建个用户输入表单。”
好: “建注册表单,字段:用户名(文本,必填)、邮箱(email,必填)、密码(password,8位以上)。最多显示3个字段,别加验证码。
预期效果:AI输出精确表单,不会多出“生日”字段。
– 别一口吃胖App,一步步来(如先搭数据库,再接API)。像搭积木,先基础再细节,AI不容易崩。

第一步: “先设Supabase数据库,表:users(id, email, password)。”
第二步: “基于上步,建API端点:POST /login,验证邮箱密码。”
第三步: “接上API,建React登录页。”
预期效果:每步小,易纠错,不会一次全砸。
– 直说“必须/别做啥”,如优化时锁UI。像给装修工说“别动墙,只刷漆”。

“优化登录页代码,提高加载速度,但UI布局和登录功能不变。最多用2个新hook。”
预期效果:AI只调性能,不会改按钮颜色。
– 加“请”或明确“别碰X”,不光礼貌,还塞细节,让AI听懂边界。不是哄AI,是多加一层保险。

“请勿修改首页,只焦点仪表板组件:加个任务计数器。”
预期效果:AI乖乖只动仪表板,不会波及首页。
– 用编号/列表写提示,AI会模仿输出格式。像教舞步,示范姿势它就跟。

“建登录流程:输入邮箱密码。
验证Supabase。
成功跳转首页。
输出用同样编号格式解释代码。”
预期效果:AI回复也编号,易读。
– 给代码片段或上传图像+描述,让AI抄作业。别光说“简洁”,秀个样。

上传Tailwind按钮图像 + “像这个蓝色按钮,建登录提交按钮。参考代码:。”
预期效果:AI输出匹配风格的按钮。
– AI输出后,别重头来,点出“好坏”迭代。像厨师试菜,“咸了点,加糖”。

“生成登录组件,支持ARIA标签(label for输入框)和键盘导航(Tab切换焦点)。”
预期效果:代码带alt文本和role属性。
– 指定用啥库,保持一致。像指定“用乐高这套砖”建城堡。 具体例子:

“用shadcn/ui库 + Tailwind创建导航栏:带logo、登录链接、响应式折叠。”
预期效果:AI直接用库,风格统一。
– 指定注释/文档语言,团队协作友好。AI懂多语,但要点明。 具体例子:

“生成Fibonacci序列Python脚本,注释用法语(如# Ceci est une boucle pour…)。”
预期效果:代码注释法语,便于法国队友。
– 说清文件路径/名,防乱放。像整理抽屉,标签清楚。

具体例子: “创建UserProfile组件,保存为components/user-profile.tsx:含头像、用户名、简介。”
预期效果:AI放对地方,不乱套。
– 点名改啥组件/文件,防AI全盘改。用Lovable的“Select”高亮更好。 具体例子:

“在Header组件中,将signup按钮文本改为‘Get Started’,移到左侧。勿改其他逻辑。”
预期效果:只动按钮,零副作用。
– 反复说“别碰X文件”,模拟锁。防AI好奇心作祟。

“建新功能,但勿改变authentication.js文件。”
预期效果:核心文件安全。
– 改视觉时锁功能。描述+约束,防逻辑崩。

“使登录按钮蓝色+20%大(class加scale-110),但onClick不变。”
预期效果:好看不坏事。
– 优化前要计划,锁行为。分步防大改。

“重构utils文件夹,提高效率,但行为不变。先列计划:1. 合并重复函数;2. 加缓存。”
预期效果:AI先脑暴,再动手。
– 扔错误日志给AI,用聊天模式聊bug。迭代修,像找医生问诊。

“分析此错误日志[贴日志] + 代码,找出原因并修复。用聊天模式一步步说。”
预期效果:AI列因果,给你补丁。
– 何时(以及何时不)让AI参与:复杂/新活用AI(省时);小改手动(快)。别让AI抢你饭碗。
用AI: “建新支付集成。”
手动: 改个文本标签,直接编辑器点两下。
最后,需要注意的是:这些原则不只Lovable,跨工具用。像通用遥控器,换频道一样调。
原文地址:
https://docs.lovable.dev/prompting/prompting-one
