提示工程是一种与 AI 模型(如 ChatGPT、Claude、Gemini、Llama 等)交互的技巧,通过特定的方式,可以获得准确、可靠和有用的结果。本指南将带你了解要点,以便你今天就可以开始,并快速提高水平。
# 1. 什么是提示工程?
提示工程是指设计、测试和优化你提供给 AI 模型的指令,使其产生你实际想要的输出。
每当你进行以下操作时,你已经在进行提示工程了:
- 要求 ChatGPT 以不同的语气重写电子邮件
- 请求包含注释和测试的代码
- 要求提供逐步解释而不是摘要
你可以把它想象成给一个聪明但字面意思的助手提供指示。指示越清晰,结果就越好。
要稍后深入了解,你可以阅读:
# 2. 优秀提示的核心原则
这些是你在几乎所有情况下都会使用的基础:
# 2.1 清晰且具体
糟糕的提示:
解释 Kubernetes。
更好的提示:
向一位了解 Docker 但不熟悉分布式系统的初级后端开发人员解释 Kubernetes。使用简单的例子,避免使用术语,并将其控制在 400 字以内。
它为什么有效:
- 定义了受众(初级后端开发人员)
- 说明了先验知识(了解 Docker)
- 设置了风格和长度(简单的例子,<400 字)
# 2.2 提供角色 + 目标 + 上下文 + 约束
一个可靠的模式:
你是一位 [角色]。 你的目标是 [目标]。 这是 上下文:[上下文]。 遵循以下 约束:[约束]。
例子:
你是一位资深的 TypeScript 工程师。 你的目标是审查以下函数并提出具体的改进建议。 上下文:这运行在 Node.js 20 serverless 环境中,并且必须保持类型安全。 约束:
- 最多指出 5 个问题。
- 在一个 TypeScript 代码块中显示修改后的代码。
- 用 1-2 句话解释每个更改。
这种结构大大增加了获得你所需内容的机会。
# 2.3 要求逐步推理
如果任务涉及逻辑、决策或计划,请要求模型逐步思考。
例子:
- “在回答之前,先逐步思考。”
- “首先概述你的推理,然后清楚地标记最终答案。”
- “列出假设,然后推导出答案。”
这通常会产生更准确和透明的响应。
# 2.4 展示例子(少量样本提示)
模型从提示中的模式中学习。如果你展示你想要的格式和风格,你将获得更好的结果。
示例提示:
我将给你产品描述。返回一个简短的、以利益为中心的标语。
示例 1 描述:一款为日常训练设计的轻量级跑鞋。 标语:“跑得更远,感觉更轻。”
示例 2 描述:一款为远程工作者设计的降噪耳机。 标语:“静音世界,专注于你的工作。”
现在对以下描述做同样的事情: 描述:一款带有记忆预设和电缆管理的升降桌。
这被称为 少量样本提示(你提供了该任务的几个例子)。
# 2.5 迭代:提示 → 测试 → 优化
提示工程是实验性的。很少有第一个提示是最好的。
工作流程:
- 从一个清晰的提示开始。
- 查看输出:缺少什么?有什么错误?什么太模糊?
- 添加 约束 或 澄清。
- 重复直到你满意为止。
你可以明确地询问:
鉴于这些新的约束条件:[列表],改进你之前的答案。完全重写答案。
# 3. 你可以重用的简单提示模板
这里有一些你可以立即适应的复制粘贴模板。
# 3.1 学习一个新概念
你是一位有耐心的老师。 向一个了解 [我已知的知识] 的人解释 [主题]。
- 使用简单的、具体的例子。
- 除非你先定义它,否则避免使用术语。
- 将解释限制在 [X] 个字以内。
- 最后,给我 3 个实际练习来测试我的理解。
# 3.2 写作或重写文本
你是一位专业的文案撰稿人。 任务:将以下文本重写为 [语气:友好/专业/简洁/有说服力],为 [受众]。 约束:
- 保持所有关键事实准确。
- 保持在 [X] 个字以内。
- 使用简短的句子和清晰的语言。
文本:
[粘贴你的文本]
# 3.3 集思广益
充当创意顾问。 我需要 [项目/目标] 的想法。 约束:
- 目标受众:[受众]
- 预算:[预算或“低预算”]
- 时间范围:[时间] 输出:
- 至少 10 个想法的列表
- 对于每个想法,包括:1 句话描述 + 估计工作量(低/中/高)
# 3.4 编码和调试
你是一位资深的 [语言/框架] 开发人员。 任务:帮助我调试或改进以下代码。 环境:[版本,运行时,框架] 要求:
- 用简单的语言解释错误或问题。
- 建议一个修复或改进的版本。
- 添加注释,解释任何不明显的更改。
代码:
[你的代码在这里]
更多模式,请参阅:
# 4. 要避免的常见错误
# 4.1 太过模糊
糟糕:
帮助我启动我的创业公司。
更好:
我正在为小型健身房构建一个 SaaS,以管理会员资格。 当前阶段:验证需求。 帮助我:
- 列出 5 种找到并与我的前 10 位健身房老板交谈的方法。
- 为冷启动起草 3 个电子邮件模板。
- 建议 5 个面试问题,以了解他们最大的痛点。
# 4.2 一次提出多个不相关的问题
而不是:
解释 Kubernetes,并编写一个 Dockerfile,并建议要阅读的书籍。
分成单独的提示或清楚地分离任务:
任务 1:[详情] 任务 2:[详情] 任务 3:[详情]
在其自己的标题下回答每个任务。
# 4.3 未指定格式
当你关心结构时,说出来:
- “以有效的 JSON 格式返回答案。”
- “使用一个 markdown 表格,列为:功能、描述、优先级。”
- “将答案构造为:概述、优点、缺点、建议。”
例子:
比较 PostgreSQL 和 MongoDB 对于小型 SaaS 应用程序。 将答案格式化为 markdown 表格,列为:标准、PostgreSQL、MongoDB、建议。
# 5. 如何练习提示工程(逐步计划)
你不需要课程即可开始。这是你第一周的简单练习计划:
# 第 1-2 天:重写和改进
- 获取你已有的内容:电子邮件、简历、README、博客草稿。
- 要求模型:
- 提高清晰度
- 调整语气
- 缩短它/使其更详细
- 尝试不同的约束并比较输出。
# 第 3-4 天:教学和学习
- 选择你想学习的主题(例如,Docker、机器学习基础知识、SEO)。
- 使用“学习新概念”模板。
- 提出后续问题:
- “用一个不同的例子来解释一下。”
- “常见的误解是什么?”
- “给我一个 7 天的学习计划。”
# 第 5-7 天:构建一个小系统提示
“系统提示”是一个可重用的高级指令,用于定义 AI 应如何表现。
-
选择一个角色(例如,“我的个人编码导师”或“我的营销助理”)。
-
编写详细的角色描述:
你是我的个人 [领域] 助理。
- 在给出长答案之前,你总是会问 2-3 个澄清问题。
- 你喜欢例子胜过理论。
- 你将答案保持在 500 个字以内,除非我说“深入”。
- 当你不确定或某些内容可能已过时时,你会警告我。
-
在多个聊天中使用相同的系统提示并进行优化。
# 6. 高级提示思路(当你准备好时)
一旦你对基础知识感到满意,请探索:
# 6.1 思维链和多步骤提示
与其直接要求最终答案,不如要求模型:
- 将问题分解为子问题
- 解决每个子问题
- 合并为最终答案
提示:
让我们分阶段解决这个问题。
- 列出 [任务] 中涉及的子问题。
- 按顺序解决每个子问题。
- 最后,总结最终的整体解决方案,字数少于 200 个字。
# 6.2 工具和代码感知的提示(适用于开发人员)
如果你正在使用 LLM 构建应用程序,请查看:
要学习的概念:
- 函数调用/工具(让模型调用你自己的函数或 API)
- 检索增强生成 (RAG)(回答你自己的文档中的问题)
- 提示模板和防护(安全性、一致性、结构化输出)
# 6.3 评估提示
使用 AI 评估 AI:
这是一个问题和两个不同的答案。
- 问题:[Q]
- 答案 A:[A1]
- 答案 B:[A2]
充当严格的评估者。
- 哪个答案更好地满足了问题的要求?
- 列出 3 个具体原因。
- 在以下方面,为每个答案给出 1-10 的分数:准确性、清晰度、完整性。
如果你正在比较提示版本或不同的模型,这将非常有用。
# 7. 学习资源和后续步骤
要继续改进:
-
指南和文档
-
动手工具
- ChatGPT 或 OpenAI Playground
- Poe 用于测试多个模型
- Cursor 或 GitHub Copilot 用于以编码为中心的提示
-
社区和示例
# 8. 总结:如何立即开始
- 明确说明:定义角色、目标、受众和约束。
- 要求结构:指定格式(列表、表格、JSON、章节)。
- 引导思考:要求逐步推理和假设。
- 展示示例:演示你想要的风格/格式。
- 迭代:使用每次响应的反馈来优化提示。
如果你告诉我你想使用 AI 做什么(编码、写作、研究、学习、商业等),我可以帮助你制作一小组可重用的、定制的提示,以适应你的工作流程。