【普通人学AI】玩转 Prompt 提示词工程 (一)
引言
上节讨论了一下 普通人对待AI 应该保持怎样的心态,本节开始系统学习下「Prompt Engineering-提示词工程」,这是绝大部分普通人用得最多,也是必须掌握的 使用AI的核心技能。在讲解具体玩法前,先普及一些 “概念相关” 的常识,这有益于后面的深入学习。本节大纲:
😄 不要被本节的 “XXX 框架” 这样看似很高大上的名词吓到了,其实都很简单,只是「给AI下指令包含的要素单词首字母的拼接」,比如 “CRTF框架”,就是 Prompt指令 里要包含:背景 (Context)、角色 (Role)、任务 (Task) 和 **格式 **(Format),而 **RTF框架 **就是少个背景。不一定要硬套这些框架,你也可以自由发挥,只是遵循这些经典的框架能 提高AI输出的稳定性、准确性和质量。😀 另外,也别担心废话太多,现在 **AI模型的上下文容量 **动不动就几十k,上百万,你只要关心怎么 描述清楚你的Prompt指令 就完事了~
Prompt 是什么?Prompt工程又是什么?
用户输入的用于「指导AI生成特定类型内容」的「一段文字」,这段文字就是 Prompt,你可以把它看作是给AI的 “指令代码”,高速AI你需要什么信息,并设定回复的基本框架和方向。你的目标是 “精确、无歧义地传达指令”。「Prompt工程」是「设计和优化指令输入」,引导大型语言模型 (LLM) 产生期望输出的艺术和科学。
LLM如何工作 (高层次简单理解核心原理)
- Token (词元):在自然语言处理和文本分析中,文本通常会被分解成更小的基础单元 “词元”,这个过程类似于将一个句子拆分成单词、标点符号或其他有意义的部分。通过这种方式,复杂的文本信息能够被转换为一系列离散且易于计算机处理的数据点,从而使得机器学习模型和其他算法能够更好地理解和操作文本内容。
- 上下文窗口:模型一次能 “记住” 或处理的信息量大小,它定义了模型在同一时间点上可以参考的历史文本长度,用以生成接下来的文本或做出响应。较大的上下文窗口允许模型考虑到更多的背景信息,从而可能产生更加连贯和准确的回答。
- 概率性生成:AI的回答是基于 概率 预测下一个最可能的词元,而不是 “真正的思考” 或理解内容的意义来决定如何回应,而是根据已经学习到的数据模式,计算出给定上下文中各个可能后续词元的概率分布,并选择 概率最高 的那个作为输出。这也解释了为什么相同的问题,AI 却给出了不同的答案。
你与AI关系的最佳比喻——“导演” & “演员”
🤣 这是我想了很久的比喻,灵感来源于星爷《喜剧之王》中的一个片段:
- 导演 (愤怒地指着尹天仇):后边那个人干什么?你已经死了!
- 尹天仇 (辩解):因为我设计的角色性格呢,是比较调皮的,所以我内心的潜在台词是我不想死。
简直是 “烂Prompt” 导致 “烂结果” 的最生动写照:
- 烂导演 (烂 Prompt):只给一个模糊的指令——“演一个死人”。
- 戏精演员 (AI 的反应):开始自由发挥,加入自己对“死亡”的理解——“有层次感,从外到内,从肌肉的抽搐到内心的挣扎……”
- 最终结果 (AI 的输出): 一个完全不符合导演预期的、夸张且错误的表演 (NG!) 。
而一个好导演,会给出 “极其具体” 的指令:“你被一箭射中,瞬间毙命,身体因为惯性向前倒下,不要有任何多余的动作,表情定格在惊讶的那一刻。” —— 而这,就是一个 好的 Prompt!你手握剧本 (Prompt),你的演员是AI (一个天赋异禀、能驾驭万千角色、但有时会用力过猛的"戏精"),你的目标,就是成为一名 “能拍出理想镜头的金牌导演”。
💡** 谨记**:AI 不是人类,没有你的隐性知识,你的指令越清晰、越具体、效果越好。比如:
- 反例:告诉我关于苹果公司的信息。
- 正例:总结一下苹果公司从成立至今的三个最关键的里程碑事件。
😶 第二个 Prompt 往往能得到更优质、更结构化的回答。另外,Prompt工程没有 “绝对的正确答案”,最佳Prompt 往往来自不断的 测试和迭代,成为一个 Prompt实验者,怀着好奇心不断尝试吧!
基础 Prompt框架
😄 写 Prompt 看似自由,但循一些经典的框架和最佳实践,可以极大地提升你输出结果的稳定性、准确性和质量。这和写代码的有设计模式一样,Prompt工程也有它的 “设计模式”,框架各有侧重,你可以根据任务的复杂程度选择使用。
CRTF 框架 - 简洁高效
RTF 框架 - 闪电战
COSTAR 框架 - 全面细致
SPAR 框架 - 沟通导向
进阶 Prompt框架
😐 在往下讲其它框架前,得先说说几个 编写Prompt的高级策略~
Prompt 高级策略
① 思维链 (COT-Chain of Thought)
使用示例:
② 自我修正/反思 (Self-Correction / Reflection)
③ 检索增强生成 (RAG-Retrieval-Augmented Generation)
④ 提示连/工作流 (Prompt Chaining / Pipelines)
介绍完高级策略,接着说下对应的两个框架 (思维链 & 自我修正)~
COT 框架 - 思维链
APE 框架 - 迭代优化
终极最佳实践清单
💁♂️ 无论你使用哪个框架,或者只是自由发挥,在按下**"发送**"前,用下面这个清单检查一下你的 Prompt,这个清单融合了所有框架的精华和一些高级技巧。
样例 ①:市场营销内容创作
目标:为一款新产品写一篇小红书推广笔记。平庸的Prompt:“帮我写个小红书笔记,推广有机果蔬汁。”
应用了最佳实践的Prompt:
# 任务:撰写小红书推广笔记## 1. 角色 (Persona)你是一位顶级的小红书内容创作者,尤其擅长健康生活和美食领域的种草笔记。你的风格亲切、真实,像朋友一样分享好物。## 2. 背景 (Context)我是一家名为“鲜活Sip”的初创公司,我们刚刚推出了一款主打产品:每日冷压有机果蔬汁。我们的特色是“7天不重样”的订阅制,并且所有原料都来自有机农场。## 3. 任务指令 (Clear Instruction)请为“鲜活Sip”撰写一篇小红书推广笔记。## 4. 受众与目标 (Audience & Goal)- 受众:25-35岁的都市白领女性,她们注重健康、追求生活品质,但工作繁忙。
- 目标:让读者产生“我也想试试这种健康又方便的生活方式”的向往,并引导她们点击链接了解产品。## 5. 输出要求 (Define Output)
- 结构:- 1. 一个能抓住眼球的标题 (包含热门关键词,如“打工人续命”、“变美思路”) 。- 2. 正文 (约300-400字) ,内容需包含个人体验、产品亮点 (7天不重样、有机原料) 、以及它如何解决了“想健康但没时间”的痛点。3. 文末附上至少5个相关的热门标签 (如 #我的变美思路 #打工人早餐 #健康饮食 #有机生活 #果蔬汁) 。
- 风格与语气 (Style & Tone): 风格要自然、接地气,多用emoji来增加亲和力。语气要真诚,仿佛在分享自己的生活小确幸。## 6. 约束 (Constraints)- 请不要使用“最好”、“第一”等过于夸张的广告词。
- 文中至少要提到一次价格区间的暗示,例如“每天一杯咖啡的钱,就能投资健康”。
样例 ②:技术问题解释
目标: 向非技术人员解释一段代码。平庸的Prompt:“解释一下这段Python代码是干嘛的。”[…代码…]
应用了最佳实践的Prompt:
# 任务:向非技术人员解释Python代码## 1. 角色 (Persona)
你是一位经验丰富且极富耐心的编程导师,你最擅长用简单的比喻和生活中的例子来解释复杂的编程概念。## 2. 背景 (Context)
我是一名产品经理,完全没有编程背景。我的开发团队给了我下面这段Python代码,我需要理解它的核心功能,以便更好地规划下一步的产品需求。## 3. 任务指令 (Clear Instruction)
请用最通俗易懂的语言,向我解释下面这段Python代码的功能、工作流程和应用场景。```python
import requests
from bs4 import BeautifulSoupdef get_douban_top_movies(url):headers = {'User-Agent': 'Mozilla/5.0'}try:response = requests.get(url, headers=headers)response.raise_for_status()soup = BeautifulSoup(response.text, 'html.parser')movie_list = []for item in soup.find_all('div', class_='item'):title = item.find('span', class_='title').get_text()rating = item.find('span', class_='rating_num').get_text()movie_list.append({'title': title, 'rating': rating})return movie_listexcept requests.RequestException as e:return f"Error: {e}"
4. 输出要求 (Define Output)
请严格按照以下结构进行解释:
- 一句话总结: 用一个生动的比喻告诉我这个代码“机器人”是做什么的。
- 分步解说: 像讲故事一样,一步步拆解它的工作流程。例如,“第一步,它假扮成一个普通访客…”,“第二步,它拿到了整个网页的‘设计图’…”。
- 最终成果: 清楚地说明它最后会给我一个什么样的结果 (比如一个包含电影名和评分的清单) 。
- 应用场景: 举一个例子,说明这个“机器人”在实际工作中能帮我做什么。
5. 约束 (Constraints)
- 绝对禁止使用任何编程术语,如“函数库”、“HTTP请求”、“解析HTML”等。如果必须提及,请立刻用比喻解释。例如,“requests库就像一个能帮你送信和取信的快递员”。
- 整个解释过程要保持友好和鼓励的语气。
### 样例 ③:复杂问题分析与策略制定
**目标**:分析一个商业问题并提出解决方案。**平庸的Prompt**:如何提高咖啡店的收入?**应用了最佳实践的Prompt**:```markdown
# 任务:制定咖啡店营收提升策略## 1. 角色 (Persona)你是一位顶尖的商业战略顾问,专长于零售和餐饮行业。你的分析总是能一针见血,并且提出的策略兼具创意和可执行性。## 2. 背景 (Context)
我经营一家位于大学城附近的独立咖啡店,名为“研磨时光”。主要客户是学生和教职工。目前面临的问题是:- 客流量在工作日上下午高峰后断崖式下跌。
- 客户平均消费额 (客单价) 较低,大多只买一杯咖啡。
- 来自附近连锁品牌的竞争压力很大。## 3. 任务指令 (Clear Instruction) & 4. 关键技巧 (Chain of Thought)我需要你为我的咖啡店制定一个详细的营收提升计划。在给出最终方案前,请先进行逐步思考 (Let's think step by step) ,清晰地列出你的分析过程,然后再整合为最终建议。## 5. 输出要求 (Define Output)你的最终输出需要是一个结构化的报告,包含以下部分:
- 问题诊断 (Problem Diagnosis): 总结当前咖啡店面临的核心挑战。
- 三大战略支柱 (Strategic Pillars): 提出三个清晰的战略方向来解决这些问题。例如:“提升客单价”、“拓展非高峰时段收入”、“打造社区品牌”。
- 具体行动建议 (Actionable Initiatives): 在每个战略支柱下,提供3-5个具体、可落地的行动建议。例如,在“提升客单价”下,可以建议“推出‘咖啡+甜点’套餐”、“设置会员储值优惠”等。
- 优先级排序 (Prioritization): 最后,用一个简单的表格,将所有行动建议按照“实施难度” (低/中/高) 和“预期效果” (低/中/高) 进行排序,并给出你的首要推荐。## 6. 风格 (Style)分析要专业、有逻辑,但建议要具体、有创意,符合独立咖啡店的调性。
✨ 口诀助记
😄 也可以用故事流程来串联助记,读者可自行发挥,顺序不用固定:
让一位说书人 (角色) ,用生动的语气 (风格语气) ,给孩子们 (受众) 讲个故事 (指令) 。故事的开头 (上下文) 是…,结局 (目标) 要感人。故事的结构 (格式) 要像这样 (示例) ,但不要 (约束) 出现暴力情节。请先构思情节 (逐步思考) ,写完后再想想怎么能更精彩 (反思) 。
快速复制粘贴模板
😊 复制粘贴,根据具体需求对[]中的文字进行修改和替换,也可以根据任务复杂对指令进行增删。
# 任务:[一句话总结你的核心任务,例如:撰写一篇关于AI的博客文章]---## 1. 角色 (Persona)
你是一位 [**在这里填入AI需要扮演的专家角色,例如:顶级的科技专栏作家,拥有15年为《连线》杂志撰稿的经验**]。你的写作风格 [**描述风格,例如:既有深度又通俗易懂,擅长用生动的比喻来解释复杂的技术概念**]。## 2. 背景与目标 (Context & Objective)
* **背景 (Context):** [**提供完成任务所需的背景信息。例如:我正在运营一个面向产品经理的个人博客,本周的主题是“AI如何赋能产品设计”。**]
* **目标 (Objective):** [**明确你希望达成的最终结果。例如:我希望这篇文章能成为一篇爆款,获得大量分享,并让读者真正理解AI在产品设计中的应用价值,而不仅仅是空谈。**]
* **受众 (Audience):** [**描述你的目标读者。例如:读者是对AI感兴趣但技术背景不深的产品经理和设计师。**]## 3. 任务指令 (Instructions)
请根据以下要求,完成 [**重申核心任务**] 的撰写:[**在这里列出清晰、分步骤的指令。这是模板的核心,需要你根据具体任务详细填写。**]
* **第一步:** [**例如:头脑风暴5个吸引人的文章标题。**]
* **第二步:** [**例如:选择你认为最好的一个标题,并围绕它构建一个详细的文章大纲,包含引言、三个主要论点和一个结论。**]
* **第三步:** [**例如:根据大纲,撰写文章的全文初稿。**]
* **...**## 4. 输出要求 (Output Requirements)
* **格式 (Format):** 请以 [**指定输出格式,例如:Markdown格式**] 输出。
* **结构 (Structure):** [**描述输出的结构,例如:文章需要包含一个主标题、多个二级标题,并在关键部分使用项目符号列表。**]
* **长度 (Length):** [**指定长度要求,例如:全文约1500字。**]
* **语言与语气 (Tone & Language):** [**指定语气,例如:语气应专业、乐观且富有启发性。请使用简体中文。**]## 5. 示例 (Example - 可选)
为了让你更好地理解我想要的风格,这里有一个简短的例子:
* **输入风格:** “AI就像一个不知疲倦的实习生,可以帮你完成大量重复性工作。”
* **我想要的输出风格:** “AI如同一个拥有无限精力的创意伙伴,它不仅能将你从繁琐的重复劳动中解放出来,更能激发你前所未有的设计灵感。”## 6. 约束与限制 (Constraints)
* **禁止:** [**告诉AI不该做什么。例如:请不要使用过于深奥的技术术语。避免使用“革命性的”、“颠覆性的”等陈词滥调。**]
* **必须:** [**告诉AI必须包含什么。例如:文章中必须引用至少一个真实的AI产品设计案例,比如Adobe Firefly或Figma AI。**]## 7. 关键技巧应用 (Advanced Techniques)
* **思维链 (Chain of Thought):** [**如果任务复杂,取消这行注释**] **在开始执行任务前,请先逐步思考你的计划。**
* **自我反思 (Self-Correction):** [**如果需要高质量稿件,取消这行注释**] **完成初稿后,请扮演一位挑剔的编辑,审视你的作品,并提出三点改进建议,然后根据建议生成最终版本。**
修改示例:
# 任务:生成周末咖啡特价推广微博## 1. 角色 (Persona)
你是一位活泼有趣的咖啡店社交媒体运营。你的文案风格俏皮、有网感,喜欢用emoji。## 2. 背景与目标 (Context & Objective)
* **背景:** 我们是一家名为“醒神角落”的社区咖啡店。
* **目标:** 吸引顾客周末到店消费我们的新品“海盐焦糖拿铁”。
* **受众:** 周边社区的年轻人和大学生。## 3. 任务指令 (Instructions)
请撰写三条不同风格的微博文案,用于推广周末特价活动。## 4. 输出要求 (Output Requirements)
* **格式:** 无序列表,每条文案为一项。
* **长度:** 每条不超过140字。
* **语言与语气:** 俏皮、诱人。## 6. 约束与限制 (Constraints)
* **必须:** 每条文案都要带上 #周末去哪儿 和 #咖啡续命 两个话题标签。必须提到“第二杯半价”。