关注我~第一时间学习如何更好地使用AI。
重要的不是我们是否会被AI替代,
而是我们要比被替代的人更懂AI。
大家好,今天给大家分享的是我关于提示词(Prompt)设计的最新学习心得。
毋庸置疑,好的提示词能让我们更精准地引导AI生成我们想要的内容,提升AI完成任务的效率和表现。
那么,如何才能编写出好的提示词呢,其实核心就在于准确,清晰地表达自己的需求 。
这又分为两个层次。
- • 1、准确地表达需求
这要求我们必须能够在面对特定的任务、问题时,确定自己真实的需求、目的是什么。如果一开始就把解决问题的方向搞错了,那必然会南辕北辙。
鉴于需求分析是一个非常复杂的主题,本人还没有找到特别好的分析框架来处理,因此本篇文章不会涉及需求确定的相关内容,考虑后续再做专项总结。
- • 2、清晰地表达需求
此点为本篇的主题,我将从细节确定、语义区分、语义压缩三个环节来说明如何让prompt的表达更清晰。
一、完整确定需求实现的必要细节
清晰表达的基础在于细节的完整。
prompt编写的过程,其实就是一个将存在于自己脑海中的想法,以文字指令的形式具现化的过程。而在此过程中,我们很容易丢失细节,导致实际写出来的与我们内心所想的存在或多或少的差异。而对于大模型来说,prompt中一个字词的改变或缺失,都可能对所生成的内容产生重要影响。
为了尽可能地减少细节丢失,提高需求表达的完整性,我们需要一个分析框架,来帮助我们理清思路。
在之前的文章里,我已经向大家介绍了一个由指令、上下文、输出控制 三个部分组成的prompt内容框架。(详见:不会Prompt还敢说自己会用DeepSeek?别怕!10分钟让你成为提示大神!)
下面,我将继续使用这个框架来向大家说明如何挖掘需求实现所必要的细节元素。大家在编写prompt时,可以顺着下面的框架,逐一判断要实现自己的需求,是否需要相关的构成元素来丰富提示细节即可。
(一)指令(Instruction)
正如我在《打工人看了流泪的Prompt设计原理,如何用老板思维让AI一次听懂需求?》中所述,指令(Instruction) 就是用户要求AI具体执行的动作,是Prompt的核心,不可缺少的部分。
显然,你向AI寻求帮助,一定是需要它完成一个具体的动作,要么是解答问题,要么是写点文字,要么是陪你聊天,等等。因此,Prompt一定是围绕着“指令”来构造的。
一般来说,指令又可以分为两种类型:
1、简单动作
“简单动作”,就是指不可再分解的。可独立执行的最小指令单元。我们在使用AI的过程中,最常用的就是“简单动作”类的指令,例如:
| 需求类型 | 指令示例 | | 信息检索 | 列出2023年诺贝尔经济学奖得主 | | 文本转换 | 将这段英文翻译为中文 | | 文本生成 | 写一首关于夏天的诗歌 | | 数据计算 | 计算37的平方根 |
2、工作流
“工作流”是由多个简单动作构成的“指令序列”。工作流中的每一个简单动作之间存在时序关系。复杂的工作流还可以包含条件判断、循环、并行等控制结构。
常见的工作流范式包括:
| 工作流范式 | 指令示例 | | 分析-综合 | 先分析这首诗的意象,然后基于分析结果创作相同风格的新诗 | | 迭代-优化 | 帮我设计一个简约风格的科技公司Logo,首轮生成3个方案。然后针对我最喜欢的方案进行两轮优化:第一轮调整配色,第二轮优化字体。每次优化后都提供对比说明。 | | 分治-聚合 | 分别从经济、社会、技术角度分析5G影响,最后整合成综合报告 |
(二)上下文(Context)
上下文(Context) ,就是为执行“指令”提供所需要的主题、背景、处理对象等相关信息。在编写prompt时,你必须为AI提供尽可能多的上下文信息,以使AI能更正确地执行你下达的指令。
常见的上下文构成要素包括:
| 构成要素 | 解释 | 示例 | | 背景 | 为任务执行提供环境信息,包括时空背景、问题起源、相关历史等 | 在2023年全球AI监管政策收紧的背景下,作为资深科技行业分析师,针对 OpenAI 的 GPT-4 模型,结合欧盟《AI法案》的最新要求,分析其在欧洲市场的合规风险及应对策略。 | | 主题与对象 | 明确指令动作的作用域、要操作的对象 | 在2023年全球AI监管政策收紧的背景下,作为资深科技行业分析师,针对 OpenAI 的 GPT-4 模型,结合欧盟《AI法案》的最新要求,分析其在欧洲市场的合规风险及应对策略。 | | 角色与知识 | 明确实施指令动作所需要的角色身份、技能、知识等 | 在2023年全球AI监管政策收紧的背景下,作为资深科技行业分析师,针对 OpenAI 的 GPT-4 模型,结合欧盟《AI法案》的最新要求,分析其在欧洲市场的合规风险及应对策略。 |
(三)输出控制(Control)
输出控制(Control) ,就是明确AI在执行”指令“所要求的动作时,应该受到的形式、内容方面的限制或应遵守的要求。
常见的输出控制构成要素包括:
| 构成要素 | 解释 | 示例 | | 示例及参考 | 提供具体样本或模板,要求AI模仿其核心特征 | 按照这个产品说明书的格式(附样例),为新款蓝牙耳机撰写技术参数部分 | | 约束 | 明确禁止或限制的内容边界 | 解释量子纠缠现象,禁止使用任何数学公式和专业术语 | | 风格 | 规定语言表达的特有气质或修辞特征 | 用《人类简史》作者赫拉利的叙事风格分析人工智能的社会影响 | | 结构、格式与可视化 | 强制要求输出内容的信息组织形式 | 用三级标题+项目符号呈现内容,关键数据必须用表格对比 | | 验证 | 设定结果正确性检查机制 | 生成Python代码后,需附带3个测试用例验证其正确性 |
再次说明,以上框架可以理解成一个为尽可能保证prompt细节完整性的checklist。大家在编写prompt时,可以顺着文章内容,逐一判断要实现自己的需求,是否需要相关的构成元素来丰富提示细节即可。
二、用合适的符号、结构进行语义区分
(一)利用符号来组织、区分提示词内部的语义结构
随着我们的提示词内容的增加,我们有时需要使用符号,将提示中具有独立语义、功能的部分,与其他不相干的部分区分开,以便模型能更清晰地理解我的指令。
常见的使用场景例如:
1.使用符号区分主题与对象 类元素的内容
例如,当你需要模型帮你优化一段prompt的时候,你可以使用特定符号将待优化的prompt包裹起来,避免模型错误地去执行这个待优化的prompt的内容。
你是一个提示词优化专家。请帮我优化以下用`{{}}`包裹的prompt,使其更清晰、简洁且易于模型理解:
{{请写一篇关于人工智能未来发展的文章,字数不少于500字,涵盖技术、伦理和社会影响}}
2.使用符号区分示例及参考 类元素的内容
如前所述,我们向模型提供示例的目的主要在于向其展示我们所需要的风格、结构等,至于示例本身的内容并没有那么重要。
但如果我们不使用特定符号将属于示例的内容独立区分出来的,模型可能会将示例所描述的内容也一并视为我们对其提出的指令,从而产生错误的输出。
(二)对Prompt进行整体结构化
所谓的对prompt进行整体的结构化,就是指通过利用特定的格式标记、符号系统,将自然语言形式的prompt,按一定的逻辑框架,转化为分层、模块化的,有利于大模型解析、阅读的标准化形式。
整体结构化有两个层次:
1.逻辑框架的结构化
即对前面我们已挖掘出的指令、上下文、输出控制三个部分中我们需要用到的各种元素,按照一定的逻辑进行层级划分。
例如,按照以下的结构对元素内容进行组织:
<角色>
<技能>
<规则>
<工作流>
<输出要求>
我们平时经常会看到很多所谓的提示词框架,就是这个意义上的结构化。
2.表现形式的结构化
即针对我们梳理出的逻辑框架,选择合适的方式,从形式上对其进行组织和搭建。
常用的结构化方式包括:
| 方式 | 说明 | | markdown | 使用 # 标题、- 列表、代码块 等语法进行分层 | | XML/HTML | 通过 `
定义结构,如
,
`
| | JSON/YAML | 以键值对形式组织内容,如 {"task": "...", "constraints": {...}} | | 伪代码 | 混合自然语言与代码逻辑(如 if...then) |
以下就是一段典型的markdown风格的结构化prompt:
# [AI角色设定] 数据科学导师
## 角色定位
- **核心职能**:指导数据科学初学者掌握核心技能
- **人格特质**:耐心细致/鼓励式教学/化繁为简
- **知识领域**:Python编程/机器学习/统计分析
## 核心技能
### 概念解析能力
- 将复杂算法转化为生活化比喻
- 识别常见认知误区(如过拟合误解)
- 建立知识图谱连接(统计学与ML关系)
### 实战指导
- 提供Kaggle竞赛分级训练方案
- 调试代码时的分层提问技巧
- 数据可视化最佳实践框架
## 工作流程
### 学习诊断
1. 通过3个基准问题评估学员水平
2. 分析GitHub代码仓库的典型问题模式
3. 建立个性化成长路线图
### 教学实施
- 采用「概念→代码→优化」三阶教学法
- 每周设置里程碑项目(如泰坦尼克号预测)
- 实施「20分钟主动思考」原则
## 约束条件
### 内容边界
- 不涉及超出scikit-learn范围的深度学习
- 数学推导不超过多元微积分难度
- 代码示例必须通过PEP8校验
### 交互规范
- 每次指导不超过3个核心知识点
- 使用「三明治反馈法」(肯定→建议→鼓励)
- 强制每45分钟休息提醒
三、利用关键词、术语进行语义压缩
虽然完成前面两步之后,我们已经能够获得一个比较优质的结构化提示词了。但要尽量地实现“需求的清晰表达”,我们还需要学会利用关键词、术语,对我们的prompt进行语义压缩。
语义压缩说难也不难,说简单也不简单,它指的是我们在编写Prompt的过程中,对于一些特定要求的表述,应该尽量使用专业术语、通用概念进行。
道理很简单,跟专家聊天的时候,你用专业术语,专家就能秒懂你的意思,并且不会有任何的理解偏差。这比你用自己的大白话去描述一个概念要有效太多太多了。
请看下面的示例:
| 原Prompt | 语义压缩后 | | 请帮我写一段代码,这个代码要能接收用户输入的文字,然后把这些文字拆分成一个个单独的词语,接着统计每个词语出现的次数,最后把统计结果按照从多到少的顺序排列显示出来。 | 请实现一个基于哈希表的词频统计程序,要求支持输入文本的分词处理,输出按词频降序排列的统计结果。 |
上例中实施的语义压缩包括:
1、"哈希表" - 替代了"统计每个词语出现次数"的具体实现描述;
2、"分词处理" - 专业术语概括了"把文字拆分成单独词语"的过程;
3、"词频统计" - 准确表达了统计词语出现次数的核心功能;
4、"降序排列" - 专业表述替代了"从多到少的顺序"。
语义压缩虽然很强大,但其难点在于,非常考验我们的知识储备。如果我们不知道有专门的术语、概念,可能就根本没法这么去优化我们的prompt。因此,当我们想要尝试对给定的prompt进行语义压缩时,不妨让AI来帮忙分析,是否有哪些内容,可以直接使用专业术语、概念来进行替代。
好了,以上就是本期的主要内容。祝大家玩得开心~!
—— END——
往期精华:
1.Workflow编排
Coze工作流编排指南6:聊天陪伴类智能体基本工作流详解-快来和玛奇玛小姐姐谈心吧~
Agent | 工作流编排指南5:长文扩写自由 — Coze循环节点用法详解
Agent | 工作流编排指南4:萌新友好的Coze选择器节点原理及配置教程
AI工作流编排手把手指南之二:Coze智能体的插件添加与调用
AI工作流编排手把手指南之一:Coze智能体的创建与基本设置
2.MCP使用
markitdown-mcp联动Obsidian-mcp | 一个极简知识管理工作流
Excel-MCP应用 | 自动提取图片数据到Excel的极简工作流手把手教程
【15合1神器】不会代码也能做高级图表!这个MCP工具让我工作效率翻了不止三倍!
萌新靠MCP实现RPA、爬虫自由?playwright-mcp实操案例分享!
想玩玩极简版AI Agent?MCP就够了!手把手教你用Cherry Studio整活~