数得其道

道 · 法 · 术 · 器

Prompting 1.1:掌握 AI 提示工程的完整指南

Prompting 1.1:掌握 AI 提示工程的完整指南

Prompting 1.1:掌握 AI 提示工程的完整指南

为什么值得读这篇文章?

本文适合:

  • 🎯 开发者:希望提升 AI 辅助开发效率
  • 🚀 产品经理:需要用 AI 快速原型验证
  • 💡 AI 工具使用者:想突破”提示词天花板”
  • 🔧 技术团队:寻求标准化 AI 协作流程

如果你在问:

  • “为什么我的 AI 总给出不靠谱的答案?”
  • “如何让 AI 理解我的真实需求?”
  • “怎样用提示词控制 AI 输出质量?”
  • “有没有系统的 AI 沟通方法论?”

这篇文章正是为你准备的——它不是简单的提示词技巧集合,而是一套完整的 AI 协作方法论。


什么是提示工程(Prompting)?

核心定义

提示工程(Prompting)是指通过精心设计的文本指令,引导 AI 系统完成特定任务的技术 ​。在 AI 开发工具(如 Lovable)中,提示词就是你”告诉” AI 做什么的方式——从创建 UI 到编写后端逻辑,一切都通过提示来实现。

为什么提示工程至关重要?

大多数人以为提示就是”随便输入点东西然后祈祷 AI 给个好结果”——大错特错。平庸的 AI 回应与让 AI 为你构建完整工作流之间的差距,完全取决于你如何提示。

掌握提示工程能让你:

  1. 自动化重复任务 — 精确指导 AI 执行标准化操作
  2. 加速调试 — 获得 AI 生成的洞察和解决方案
  3. 轻松构建工作流 — 让 AI 处理繁重工作,你只需正确引导

最棒的是:你不需要成为编程专家。通过正确的提示技巧,即使非技术人员也能释放 AI 的全部潜力,无需反复试错。


理解 AI 如何”思考”

AI 不是人类,它是模式预测器

与传统编码不同,与 AI 协作的关键是清晰传达你的意图。驱动 Lovable 等工具的大语言模型(LLM)并不像人类那样”理解”——它们基于训练数据中的模式预测输出。

这对你的提示方式有重要影响:

1. 提供上下文和细节

AI 模型没有常识,也没有你未提供的隐含上下文。永远提供相关背景或需求。

糟糕示例:

构建一个登录页面

优秀示例:

使用 React 创建登录页面,包含邮箱/密码认证和 JWT 处理。
使用 Supabase 进行身份验证。

2. 明确指令和约束

永远不要假设 AI 会推断你的目标。如果有约束或偏好,直接说明

例如:如果输出应该使用特定库或保持在某个范围内,提前告诉模型。AI 会字面理解你的指令——模糊性会导致不想要的结果或 AI “幻觉”(虚构信息)。

3. 结构很重要(顺序和强调)

得益于 Transformer 架构,模型特别关注提示的开头和结尾。利用这一点:

  • 将最关键的细节放在开头
  • 如有需要,在结尾重申绝对要求
  • 记住模型有固定的上下文窗口——过长的提示或会话可能导致 AI 遗忘早期细节

4. 了解模型的限制

  • AI 的知识来自训练数据,无法知晓最新事件或未提供的专有信息
  • 即使在猜测,它也会表现得很自信(导致幻觉)
  • 对于事实性查询,始终提供参考文本或数据,或准备验证其输出

💡 关键思维: 把提示当作向一个非常字面化的实习生精确说明你的需求。指导越清晰、越结构化,结果越好。


核心提示原则:C.L.E.A.R. 框架

优秀的提示遵循一套简单原则。记住 CLEAR 口诀:

🎯 C - Concise(简洁)

清晰直达要点。多余的修饰或模糊语言会混淆模型。

糟糕:

你能不能写点关于科学主题的东西?

优秀:

写一篇 200 字的气候变化对沿海城市影响的摘要。

📋 L - Logical(逻辑化)

以步骤或结构化方式组织提示。将复杂请求分解为有序步骤或要点。

糟糕:

给我做个用户注册功能,还要显示一些使用统计。

优秀:

1. 首先,使用 Supabase 实现用户注册表单,包含邮箱和密码
2. 成功注册后,显示仪表板展示用户数量统计

✨ E - Explicit(明确)

准确说明你要什么和不要什么。如果重要,就详细说明。

糟糕:

告诉我关于狗的信息。

优秀:

列出金毛寻回犬的 5 个独特事实,用项目符号呈现。

如果有期望的输出样式,也要说明(如”用 JSON 格式回复”或”使用轻松语气”)。

🔄 A - Adaptive(适应性)

如果第一次回答不完美,不要将就——迭代优化提示

AI 对话的一大优势是可以持续调整。如果初始输出偏离目标,调整你的方法:

你给的解决方案缺少身份验证步骤。请在代码中加入用户认证。

你甚至可以询问 AI 如何改进提示本身(这就是元提示,后文详述)。

🤔 R - Reflective(反思性)

每次 AI 交互后,花时间复盘什么有效、什么无效

这更多关于你而非模型——作为提示工程师,记录哪些措辞获得了好结果、哪些导致混乱。在复杂会话后,你甚至可以让 AI 总结最终解决方案或推理(我们稍后会讨论反向元提示)。

保持反思习惯能帮你未来编写更好的提示,形成持续改进的循环。


提示的四个层级

有效提示是一项随实践成长的技能。这里概述从结构化”训练轮”到高级元技巧的四个掌握层级:

📚 级别 1:结构化”训练轮”提示(显式格式)

当你刚起步或处理非常复杂的任务时,使用标签化结构会很有帮助。这像训练轮一样确保你提供所有必要信息。

推荐格式:

【上下文/Context】
[提供背景信息、项目情况、相关技术栈]

【任务/Task】
[明确说明需要完成的具体任务]

【指南/Guidelines】
[列出实现要求、风格偏好、技术约束]

【约束/Constraints】
[说明限制条件、不应该做什么、边界条件]

实战示例:

【上下文】
我正在构建一个任务管理应用,使用 React + Supabase。
目前已有用户认证系统。

【任务】
创建一个任务列表组件,支持增删改查操作。

【指南】
- 使用 React Hooks 管理状态
- 每个任务包含:标题、描述、截止日期、状态
- UI 使用 Tailwind CSS
- 实时同步到 Supabase

【约束】
- 不要修改现有的认证逻辑
- 每页最多显示 20 个任务
- 必须处理加载和错误状态

通过清晰标记每个部分,几乎没有误解的余地。训练轮提示非常适合新手或复杂多部分任务。

💬 级别 2:对话式提示(无训练轮)

随着熟练度提升,你不总需要如此严格的结构。对话式提示意味着你可以更自然地与 AI 交流,类似向同事解释任务,同时仍保持清晰和完整。

示例:

我需要为电商网站创建产品搜索功能。应该支持按类别和价格范围过滤,
并实时显示结果。使用 React Query 获取数据,状态管理用 Zustand。
搜索框应该有防抖,避免过度请求。

这是更自由形式的提示,但仍保持逻辑顺序,明确说明需求。无训练轮,但依然有效。

对话式提示在你相信自己不会遗漏重要细节时效果很好,让交互更自然,尤其在迭代结果的持续对话中。

🧠 级别 3:元提示(AI 辅助提示改进)

这是一种高级技巧,你直接让 AI 帮助你改进提示或计划。由于像 ChatGPT 这样的 AI 能推理语言,你可以用它来优化你的指令。

什么时候用元提示?

  • 当你得到偏离目标的输出时——可能是提示不清晰的信号
  • 当你不确定如何更好地表达需求时

示例:

我想创建一个用户仪表板,但不确定如何最好地提示你。
你能帮我改进这个提示吗?

原始提示:"创建带有用户统计的仪表板"

请建议一个更详细、更有效的版本。

AI 可能回应一个更结构化或更详细的请求版本,揭示哪里不清晰。本质上,你让 AI 充当提示编辑器。

在 Lovable 中,你可以在聊天模式下安全地这样做(因为聊天模式不会直接编辑项目)。元提示将 AI 变成帮你明确真正需求的协作者。

📝 级别 4:反向元提示(AI 作为文档工具)

反向元提示意味着在任务完成后使用 AI 来总结或记录发生了什么,以便你可以学习或以后重用。可以把它看作让 AI 反思过程,并为下次提供提示或解释。

非常适合调试和知识捕获。

示例:

我们刚解决了 Lovable 中的一个棘手认证问题。
请总结:
1. 问题是什么
2. 我们尝试了哪些解决方案
3. 最终起作用的方法
4. 下次遇到类似问题时的推荐提示模板

AI 可能产生问题和解决方案的简洁回顾,然后给出类似模板提示:“上下文:构建认证…任务:通过执行 Y 避免 X 错误…”

这种反向元方法帮你建立可重用提示个人库和经验教训。在 Lovable 中,这非常宝贵:下次面对类似任务时,你已经有了经过验证的提示(或至少是清晰的检查清单)。


高级提示技巧

零样本 vs 少样本提示

🎲 零样本提示(Zero-Shot)

你在没有示例的情况下要求模型执行任务,依赖模型的一般训练来知道该做什么。

这是大多数提示的默认方式:你陈述请求,AI 纯粹基于它”知道”的和从提示中理解的来生成答案。

示例:

将以下句子翻译成西班牙语:"I am learning to code."

零样本高效且对常见或清晰描述的任务效果很好。

🎯 少样本提示(Few-Shot)

你在提示中提供几个示例或演示,向 AI 展示你想要的确切格式或风格。本质上,你在提示本身中通过示例教学。

示例:

将产品名称转换为 URL 友好的 slug:

输入:Amazing Coffee Maker
输出:amazing-coffee-maker

输入:Super Fast Laptop 2024
输出:super-fast-laptop-2024

输入:Professional Camera Kit
输出:[AI 将继续模式]

通过给出两个输入-输出示例,AI 准备好以类似模式继续第三个。

何时使用少样本?

  • 当你需要特定风格的回应时(如特定格式的代码注释或提交消息示例)
  • 对于不寻常的任务或自定义格式
  • 当零样本结果格式或深度不符合你的期望时

它确实消耗更多提示令牌(因为包含这些示例),但通常产生更一致的结果。

管理幻觉和确保准确性

AI “幻觉”是指模型自信地编造不正确的信息或代码的时刻。在 Lovable 这样的编码平台中,幻觉可能意味着 AI 使用不存在的函数、调用不存在的 API,或在摘要中捏造细节。

减少幻觉的策略:

1. 提供基础数据

你给的可靠上下文越多,AI 需要猜测的就越少。

  • 在 Lovable 中,始终利用项目的知识库
  • 包含你的项目需求文档(PRD)、用户流程、技术栈等
  • 这样 AI 的答案将”基于”你应用的具体细节

2. 提示内引用

处理与外部系统交互的事实问题或代码时,包含相关文档片段或数据。

使用下面给出的 API 响应格式,解析用户对象…
[然后包含小型 JSON 示例]

3. 要求逐步推理

当你怀疑 AI 可能在即兴发挥时,提示它展示推理或验证。

在给出最终代码前解释你的解决方案方法。
如果有任何不确定性,请说明。

这种思维链提示让 AI 放慢速度并自我检查。

4. 指示诚实

在提示中包含指南:

如果你不确定某个事实或正确代码,不要编造——
而是解释需要什么或请求澄清。

5. 迭代验证

在 AI 给出答案后,特别是对关键事项(如计算、重要事实或复杂代码),执行验证步骤:

确认上述代码符合要求,并解释任何可能不符合规范的部分。

实战提示技巧

✅ 从扎实的知识库开始

在编写提示之前,设置项目的知识库(在 Lovable 项目设置中)。包括:

  • 项目需求(PRD)
  • 用户流程
  • 技术栈细节
  • UI 设计指南
  • 后端规范

这充当 AI 将始终拥有的持久上下文。

✅ 具体明确,避免模糊

糟糕示例:

让这个应用更好。
创建一个用户输入表单。

优秀示例:

重构应用以清理未使用的组件并提高性能,不改变 UI 或功能。
创建用户注册表单,包含用户名、邮箱和密码字段,加上提交按钮。

✅ 增量提示

抵制在一个提示中要求整个复杂应用的冲动。将开发过程分解为逻辑步骤,一次提示一个。

糟糕示例:

构建带有 Supabase、认证、Google Sheets 导出和数据丰富的 CRM 应用。

优秀方法:

第 1 步:设置连接 Supabase 的 CRM 后端。
第 2 步:很好!请添加带有用户角色的安全认证流程。
第 3 步:谢谢!下一步是集成 Google Sheets 导出记录。

✅ 包含约束和要求

不要回避详细说明约束。如果某事必须或不得做,说出来。

创建简单待办应用,一次最多显示 3 个任务。
包含添加、编辑和删除任务的能力。

优化此代码,但确保 UI 和核心功能保持不变。
记录你做的每个更改。

✅ 避免措辞歧义

如果术语可能以不同方式解释,澄清它。

模糊:

添加个人资料功能
支持通知

清晰:

添加带有 X、Y、Z 字段的用户个人资料页面。
在表单提交时发送电子邮件通知。

✅ 注意你的语气和礼貌

虽然不改变功能,但礼貌的语气有时能产生更好的结果。“请”或尊重的询问等短语可以添加上下文,使提示更具描述性。

请重构登录组件以使用 React Hook Form,
但不要改变任何 UI 元素或现有的验证逻辑。谢谢!

✅ 使用格式优势

在适当时结构化列表或步骤。如果你希望 AI 输出列表或遵循序列,在提示中枚举它们。

我们正在构建帮助团队跟踪任务的项目管理工具。
此工具应具有以下功能:
- 用户认证
- 项目创建
- 任务分配
- 报告

现在,对于第一个任务,创建项目创建的 UI。

✅ 利用示例或参考

如果你有目标设计或代码风格,提及它或提供示例。

我们正在开发专注于环保产品的电商平台。
生成带有类别和价格筛选器的产品列表页面。

✅ 使用图像提示

Lovable 甚至允许上传图像配合提示,所以你可以展示设计并说”匹配这种风格”。

简单方法:

创建并实现尽可能与附加图像相似的 UI。

详细方法:

我希望你创建尽可能与此截图相似的应用。
本质上是看板克隆。

应该能够在每列中添加新卡片(工单),
能够更改单列内这些工单的顺序,
甚至可以在列之间移动这些卡片。

可以使用 react-beautiful-dnd npm 包实现拖放功能。

调试与优化

🐛 使用 AI 辅助调试

当错误发生时,将错误日志或消息复制到提示中(理想情况下在聊天模式):

这是错误和相关代码片段 – 是什么导致的,我们如何修复?

错误信息:[粘贴完整错误]
相关代码:[粘贴代码片段]

🔧 重构和优化代码

提示重构是一个高级但有价值的用例:

重构 utils/helpers.js 文件以提高可读性和性能。
重要:不改变任何函数的行为或 API。

你也可以先要求重构计划:

扫描 utils/ 文件夹并建议代码结构或重复的改进。
列出更改但先不要应用。

🎨 设计和 UI 调整

提示 UI 更改时,清晰至关重要:

优化移动端落地页:使用移动优先方法。
首先概述每个部分在小屏幕上应如何重排,
然后实现这些 CSS 更改。
使用标准 Tailwind 断点(sm、md、lg),避免自定义断点。
确保功能不变,只调整布局。

高级场景

🔒 锁定文件(变通方法)

如果有关键文件 AI 永远不应更改:

重要:不要修改 components/CriticalSection.tsx 或任何认证相关文件。
只在 components/Dashboard 文件夹内工作。

🌍 多语言提示

在多语言环境中工作时,指定代码注释和文档的所需语言:

用英语生成代码,但所有注释和文档用中文。
确保变量名和函数名使用描述性英文。

📁 定义项目结构

清楚概述项目结构,包括文件名和路径:

在 src/features/auth 中创建新的认证模块。
文件应包括:
- AuthProvider.tsx (上下文提供者)
- useAuth.ts (自定义 hook)
- login.tsx (登录组件)

♿ 强调可访问性

鼓励生成遵守可访问性标准和现代最佳实践的代码:

创建注册表单,确保:
- 所有输入都有正确的 ARIA 标签
- 键盘导航完全支持
- 错误消息对屏幕阅读器可访问
- 颜色对比度符合 WCAG AA 标准

总结:成为提示大师

到现在,你应该已经扎实掌握了如何编写清晰、有效、为 Lovable AI 量身定制的提示。从基础的 CLEAR 原则到高级策略(如少样本示例和元提示),这些技巧让你能从 AI 获得你需要的确切结果——不多不少。

关键要点

  1. 结构化思维 — 使用 CLEAR 框架确保提示质量
  2. 分层掌握 — 从训练轮到元提示,逐步提升技能
  3. 上下文为王 — 永远提供足够的背景和约束
  4. 迭代优化 — 把 AI 当作协作伙伴,持续调整提示
  5. 反思学习 — 每次交互都是提升的机会

最终建议

**大师级提示是游戏改变者:**它将 AI 从噱头变成可靠的团队成员。通过实践,你会发现可以更快构建应用、更少挫折地调试,甚至通过简单地提出正确问题和给予正确指导来探索创造性解决方案。

关键是在指令中保持聪明、简洁、直接和适应性——就像经验丰富的工程师与团队沟通一样。

💡 记住: 专注于你的大创意——一旦你清楚告诉 Lovable 的 AI 该做什么,让它处理执行细节。

祝你提示愉快,构建顺利!🚀

参考资源: