提示词构建技巧-Yechiel整理

设计有效的提示词以指导模型执行期望任务的方法被称为提示工程(见下图:提示工程全景)。

提示工程具有一定高度,它具有指引性且有方法论。其核心在于构建撰写提示词的逻辑,即思考如何写出更优质的提示词,而这首先需要有较高的思维高度。在工程化方面,则是思考如何让代码将思维和方法实际呈现出来。因此,一方面要具备思维和方法,另一方面要让程序员将想法落地实现。

提示词和提示工程不会过时,因为它是大模型不断迭代优化及产品化的关键,是将其改造成人人可用的智能体的过程。2025 年,随着模型能力提升,提示工程愈发重要。简单来说,在不改变模型效果的前提下,开展提示工程能让模型更易用、更通用,使普通人能更好理解问题,这正是提示工程的价值所在。

经过最近的实践归根结底还是基于业务的结构化、模板化的 Prompt 的性能更好!

一些框架

为大家提供一些参考模板框架,例如 CRISP 框架。使用该框架时,首先要描述决策主体,明确信息要求。若想让模型处理的问题较为复杂,就需将问题信息阐述得更加清晰,这样模型才能有效解决问题。要先尝试把需求表述清楚,接着可添加一些备注说明,最后明确输出模式。

这些是常见的框架类型,选择其中任意一个框架来操作均可,但必须按照相应步骤进行,而操作过程中的指导思想就是之前所提及的内容。

提示技术

了解这些对于后面的掌握有帮助,建议阅读。

  1. 零样本提示
  2. 少样本提示
  3. 链式思考(CoT)提示
  4. 自我一致性
  5. 生成知识提示
  6. Prompt Chaining
  7. 思维树(ToT)
  8. 检索增强生成(RAG)
  9. 自动推理并使用工具(ART)
  10. 自动提示工程师
  11. Active-Prompt
  12. 方向性刺激提示
  13. Program-Aided Language Models
  14. ReAct 框架
  15. Reflexion
  16. 多模态思维链提示
  17. 基于图的提示
  18. meta-prompting

1. 零样本提示

指令调整已被证明可以改善零样本学习 Wei等人(2022)。指令调整本质上是在通过指令描述的数据集上微调模型的概念。此外,RLHF(来自人类反馈的强化学习)已被采用以扩展指令调整,其中模型被调整以更好地适应人类偏好。这一最新发展推动了像 ChatGPT 这样的模型。

2. 少样本提示

零样本设置,大模型在更复杂的任务上表现不佳。少样本提示可以作为一种技术,以启用上下文学习,在提示中提供演示以引导模型实现更好的性能。演示作为后续示例的条件,我们希望模型生成响应。

根据 Touvron et al. 2023 等人的在 2023 年的论文,当模型规模足够大时,小样本提示特性开始出现 (Kaplan et al., 2020)

让我们通过 Brown 等人 2020 年 提出的一个例子来演示少样本提示。在这个例子中,任务是在句子中正确使用一个新词。

提示:

“whatpu”是坦桑尼亚的一种小型毛茸茸的动物。一个使用whatpu这个词的句子的例子是:我们在非洲旅行时看到了这些非常可爱的whatpus。“farduddle”是指快速跳上跳下。一个使用farduddle这个词的句子的例子是:

输出:

当我们赢得比赛时,我们都开始庆祝跳跃。

根据Min等人(2022)的研究结果,以下是在进行少样本学习时关于演示/范例的一些额外提示:

  • “标签空间和演示指定的输入文本的分布都很重要(无论标签是否对单个输入正确)”
  • 使用的格式也对性能起着关键作用,即使只是使用随机标签,这也比没有标签好得多。
  • 其他结果表明,从真实标签分布(而不是均匀分布)中选择随机标签也有帮助。
少样本提示的限制

标准的少样本提示对许多任务都有效,但仍然不是一种完美的技术,特别是在处理更复杂的推理任务时。之前的任务:

这组数字中的奇数加起来是一个偶数:15、32、5、13、82、7、1。
A:

如果我们再试一次,模型输出如下:

是的,这组数字中的奇数加起来是107,是一个偶数。

这不是正确的答案,这不仅突显了这些系统的局限性,而且需要更高级的提示工程。

让我们尝试添加一些示例,看看少样本提示是否可以改善结果。

提示:

这组数字中的奇数加起来是一个偶数:4、8、9、15、12、2、1。
A:答案是False。
这组数字中的奇数加起来是一个偶数:17、10、19、4、8、12、24。
A:答案是True。
这组数字中的奇数加起来是一个偶数:16、11、14、4、8、13、24。
A:答案是True。
这组数字中的奇数加起来是一个偶数:17、9、10、12、13、4、2。
A:答案是False。
这组数字中的奇数加起来是一个偶数:15、32、5、13、82、7、1。
A:

输出:

答案是True。

这没用。似乎少样本提示不足以获得这种类型的推理问题的可靠响应。上面的示例提供了任务的基本信息。引入的任务类型涉及几个更多的推理步骤。换句话说,如果我们将问题分解成步骤并向模型演示,这可能会有所帮助。最近,思维链(CoT) 已经流行起来,以解决更复杂的算术、常识和符号推理任务。

总的来说,提供示例对解决某些任务很有用。当零样本提示和少样本提示不足时,这可能意味着模型学到的东西不足以在任务上表现良好。从这里开始,建议开始考虑微调模型或尝试更高级的提示技术。

3. 思维链(CoT)

COT

图片来源:Wei等人(2022)

在 Wei等人(2022) 中引入的链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力。可以将其与少样本提示相结合,以获得更好的结果。

提示:

这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。
A:将所有奇数相加(9、15、1)得到25。答案为False。
这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。
A:

输出:

将所有奇数相加(15、5、13、7、1)得到41。答案为False。
零样本 CoT 提示
Zeroshot COT

图片来源:Kojima等人(2022)

最近提出的一个新想法是 零样本 CoT( Kojima 等人,2022年),它基本上涉及将“让我们逐步思考”添加到原始提示中。让我们尝试一个简单的问题,看看模型的表现如何:

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?

输出:

11个苹果

答案是不正确的!现在让我们尝试使用特殊提示。

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?
让我们逐步思考。

输出:

首先,您从10个苹果开始。
您给了邻居和修理工各2个苹果,所以您还剩下6个苹果。
然后您买了5个苹果,所以现在您有11个苹果。
最后,您吃了1个苹果,所以您还剩下10个苹果。
自动思维链(Auto-CoT)

当使用思维链提示时,这个过程需要手工制作有效且多样化的例子。这种手动工作可能会导致次优解决方案。Zhang et al. (2022) 提出了一种消除人工的方法,即利用 LLMs “让我们一步一步地思考” 提示来生成一个接一个的推理链。这种自动过程仍然可能在生成的链中出现错误。为了减轻错误的影响,演示的多样性很重要。这项工作提出了Auto-CoT,它对具有多样性的问题进行采样,并生成推理链来构建演示。

Auto-CoT 主要由两个阶段组成:

  • 阶段1:问题聚类:将给定问题划分为几个聚类
  • 阶段2:演示抽样:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链

简单的启发式方法可以是问题的长度(例如,60 个 tokens)和理由的步骤数(例如,5 个推理步骤)。这鼓励模型使用简单而准确的演示。

该过程如下图所示:

AUTOCOT

图片来源:Zhang等人(2022)

4. 自我一致性

Wang等人(2022) 提出,自我一致性旨在“替换链式思维提示中使用的天真贪婪解码方法”。其想法是通过少样本 CoT 采样多个不同的推理路径,并使用生成结果选择最一致的答案。这有助于提高 CoT 提示在涉及算术和常识推理的任务中的性能。

包含两个方面,一个是格式语义一致性,一个是内容语义一致性

格式语义一致性是指标识符的标识功能前后一致。 最好不要混用,比如 # 既用于标识标题,又用于标识变量这种行为就造成了前后不一致,这会对模型识别 Prompt 的层级结构造成干扰。

内容语义一致性是指思维链路上的属性词语义合适。 例如 Profile 属性词,原来是 Features,但实践+思考后我更换为了 Profile,使之功能更加明确:即角色的简历。结构化 Prompt 思想被诸多朋友广泛使用后衍生出了许许多多的模板,但基本都保留了 Profile 的诸多设计,说明其设计是成功有效的。

内容语义一致性还包括属性词和相应模块内容的语义一致。 例如 Rules 部分是角色需要遵守规则,则不宜将角色技能、描述大量堆砌在此。

5. 生成知识提示

GENKNOW

图片来源:Liu 等人 2022 生成知识以作为提示的一部分。特别是,这对于常识推理等任务有多大帮助?

让我们尝试一个简单的提示:

提示:

高尔夫球的一部分是试图获得比其他人更高的得分。是或否?

输出:

是。

这种错误揭示了 LLM 在执行需要更多关于世界的知识的任务时的局限性。我们如何通过生成知识来改进呢?

首先,我们生成一些“知识”:

提示:

输入:希腊比墨西哥大。知识:希腊的面积约为131,957平方公里,而墨西哥的面积约为1,964,375平方公里,使墨西哥比希腊大了1,389%。输入:眼镜总是会起雾。知识:当你的汗水、呼吸和周围的湿度中的水蒸气落在冷的表面上,冷却并变成微小的液滴时,会在眼镜镜片上产生冷凝。你看到的是一层薄膜。你的镜片相对于你的呼吸会比较凉,尤其是当外面的空气很冷时。输入:鱼有思考能力。知识:鱼比它们看起来更聪明。在许多领域,如记忆力,它们的认知能力与或超过非人类灵长类动物等“更高级”的脊椎动物。鱼的长期记忆帮助它们跟踪复杂的社交关系。输入:一个人一生中吸烟很多香烟的常见影响是患肺癌的几率高于正常水平。知识:那些一生中平均每天吸烟不到一支香烟的人,患肺癌的风险是从不吸烟者的9倍。在每天吸烟1到10支香烟之间的人群中,死于肺癌的风险几乎是从不吸烟者的12倍。输入:一块石头和一颗卵石大小相同。知识:卵石是一种根据Udden-Wentworth沉积学尺度的颗粒大小为4到64毫米的岩屑。卵石通常被认为比颗粒(直径2到4毫米)大,比卵石(直径64到256毫米)小。输入:高尔夫球的一部分是试图获得比其他人更高的得分。知识:

知识1:

高尔夫球的目标是以最少的杆数打完一组洞。一轮高尔夫球比赛通常包括18个洞。每个洞在标准高尔夫球场上一轮只打一次。每个杆计为一分,总杆数用于确定比赛的获胜者。

知识2:

高尔夫球是一项精密的球杆运动,竞争选手(或高尔夫球手)使用许多类型的球杆,用最少的杆数将球打入球场上一系列洞中。目标是以最低的分数完成比赛,该分数是通过将每个洞上所用的杆数相加计算出来的。得分最低的选手赢得比赛。

我们使用 Liu等人2022 的论文中提供的提示。

下一步是将知识整合并得出预测。我将问题重新格式化为 QA 格式,以指导答案格式。

提示:

问题:高尔夫球的一部分是试图获得比其他人更高的得分。是或否?知识:高尔夫球的目标是以最少的杆数打完一组洞。一轮高尔夫球比赛通常包括18个洞。每个洞在标准高尔夫球场上一轮只打一次。每个杆计为一分,总杆数用于确定比赛的获胜者。解释和答案: 

答案 1(置信度非常高):

不是,高尔夫球的目标不是获得比其他人更高的得分。相反,目标是以最少的杆数打完一组洞。总杆数用于确定比赛的获胜者,而不是总得分。
问题:高尔夫球的一部分是试图获得比其他人更高的得分。是或否?知识:高尔夫球是一项精密的球杆运动,竞争选手(或高尔夫球手)使用许多类型的球杆,用最少的杆数将球打入球场上一系列洞中。目标是以最低的分数完成比赛,该分数是通过将每个洞上所用的杆数相加计算出来的。得分最低的选手赢得比赛。解释和答案:

答案 2(置信度要低得多):

是的,高尔夫球的一部分是试图获得比其他人更高的得分。每个选手都试图以最少的杆数打完一组洞。总杆数用于确定比赛的获胜者,而不是总得分。得分最低的选手赢得比赛。

这个例子发生了一些非常有趣的事情。在第一个答案中,模型非常自信,但在第二个答案中不太自信。我简化了过程以进行演示,但在得出最终答案时还有一些细节需要考虑。

6. 链式提示(Prompt Chaining)

为了提高大语言模型的性能使其更可靠,一个重要的提示工程技术是将任务分解为许多子任务。确定子任务后,将子任务的提示词提供给语言模型,得到的结果作为新的提示词的一部分。这就是所谓的链式提示(prompt chaining),一个任务被分解为多个子任务,根据子任务创建一系列提示操作。

链式提示可以完成很复杂的任务。LLM 可能无法仅用一个非常详细的提示完成这些任务。在链式提示中,提示链对生成的回应执行转换或其他处理,直到达到期望结果。

除了提高性能,链式提示还有助于提高 LLM 应用的透明度,增加控制性和可靠性。这意味着您可以更容易地定位模型中的问题,分析并改进需要提高的不同阶段的性能。

链式提示在构建 LLM 驱动的对话助手和提高应用程序的个性化用户体验方面非常有用。

链式提示使用示例

文档问答中的链式提示

下面的第一个提示根据问题从文档中提取相关引文。请注意,为了简化,我们为文档添加了一个占位符{{文档}}

提示 1:

你是一个很有帮助的助手。你的任务是根据文档回答问题。
第一步是从文档中提取与问题相关的引文,由####分隔。请使用<quotes></quotes>输出引文列表。
如果没有找到相关引文,请回应“未找到相关引文!”。
####
{{文档}}
####

提示 1 的输出:

<quotes>
- Chain-of-thought (CoT) prompting[27]
- Generated knowledge prompting[37]
- Least-to-most prompting[38]
- Self-consistency decoding[39]
- Complexity-based prompting[41]
- Self-refine[42]
- Tree-of-thought prompting[43]
- Maieutic prompting[45]
- Directional-stimulus prompting[46]
- Textual inversion and embeddings[59]
- Using gradient descent to search for prompts[61][62][63][64]
- Prompt injection[65][66][67]</quotes>

在第一个提示中返回的引文可以用作下面第二个提示的输入。可以对这些引文进行清理,比如移除引用标志,还可以在提示链中新建另一个提示来移除或使用这些引用标志。

提示 2:

根据从文档中提取的相关引文(由<quotes></quotes>分隔)和原始文档(由####分隔),请构建对问题的回答。请确保答案准确、语气友好且有帮助。
####
{{文档}}
####
<quotes>
- Chain-of-thought (CoT) prompting[27]
- Generated knowledge prompting[37]
- Least-to-most prompting[38]
- Self-consistency decoding[39]
- Complexity-based prompting[41]
- Self-refine[42]
- Tree-of-thought prompting[43]
- Maieutic prompting[45]
- Directional-stimulus prompting[46]
- Textual inversion and embeddings[59]
- Using gradient descent to search for prompts[61][62][63][64]
- Prompt injection[65][66][67]
</quotes>

提示 2 的输出:

文档中提到的提示技术包括:
1. Chain-of-thought (CoT) prompting[27]
2. Generated knowledge prompting[37]
3. Least-to-most prompting[38]
4. Self-consistency decoding[39]
5. Complexity-based prompting[41]
6. Self-refine[42]
7. Tree-of-thought prompting[43]
8. Maieutic prompting[45]
9. Directional-stimulus prompting[46]
10. Textual inversion and embeddings[59]
11. Using gradient descent to search for prompts[61][62][63][64]
12. Prompt injection[65][66][67]
每一种技术都采用独特的策略来增强或明确与大型语言模型的互动,以产生期望的结果。

简化并创建提示链是一种有用的提示方法,其中响应需要经过多个操作或转换。

7. 思维树(ToT)

思维树 Yao et el. (2023) 基于思维链提示进行了总结,引导语言模型探索把思维作为中间步骤来解决通用问题。

ToT 维护着一棵思维树,思维由连贯的语言序列表示,这个序列就是解决问题的中间步骤。使用这种方法,LM 能够自己对严谨推理过程的中间思维进行评估。LM 将生成及评估思维的能力与搜索算法(如广度优先搜索和深度优先搜索)相结合,在系统性探索思维的时候可以向前验证和回溯。

ToT 框架原理如下:

TOT

图片援引自:Yao et el. (2023)

ToT 需要针对不同的任务定义思维/步骤的数量以及每步的候选项数量。例如,论文中的“算 24 游戏”是一种数学推理任务,需要分成 3 个思维步骤,每一步都需要一个中间方程。而每个步骤保留最优的(best) 5 个候选项。

ToT 需要针对不同的任务定义思维/步骤的数量以及每步的候选项数量。例如,论文中的“算 24 游戏”是一种数学推理任务,需要分成 3 个思维步骤,每一步都需要一个中间方程。而每个步骤保留最优的(best) 5 个候选项。

ToT 完成算 24 的游戏任务要执行广度优先搜索(BFS),每步思维的候选项都要求 LM 给出能否得到 24 的评估:“sure/maybe/impossible”(一定能/可能/不可能) 。作者讲到:“目的是得到经过少量向前尝试就可以验证正确(sure)的局部解,基于‘太大/太小’的常识消除那些不可能(impossible)的局部解,其余的局部解作为‘maybe’保留。”每步思维都要抽样得到 3 个评估结果。整个过程如下图所示:

TOT2

图片援引自:Yao et el. (2023)

从下图中报告的结果来看,ToT 的表现大大超过了其他提示方法:

TOT3

图片援引自:Yao et el. (2023)

这里还有这里可以找到代码例子。

从大方向上来看,Yao et el. (2023) 和 Long (2023) 的核心思路是类似的。两种方法都是以多轮对话搜索树的形式来增强 LLM 解决复杂问题的能力。主要区别在于 Yao et el. (2023) 采用了深度优先(DFS)/广度优先(BFS)/集束(beam)搜索,而 Long (2023) 则提出由强化学习(Reinforcement Learning)训练出的 “ToT 控制器”(ToT Controller)来驱动树的搜索策略(包括什么时候回退和搜索到哪一级回退等等)。深度优先/广度优先/集束搜索是通用搜索策略,并不针对具体问题。相比之下,由强化学习训练出的 ToT 控制器有可能从新的数据集学习,或是在自对弈(AlphaGo vs. 蛮力搜索)的过程中学习。因此,即使采用的是冻结的 LLM,基于强化学习构建的 ToT 系统仍然可以不断进化,学习新的知识。

Hulbert (2023) 提出了思维树(ToT)提示法,将 ToT 框架的主要概念概括成了一段简短的提示词,指导 LLM 在一次提示中对中间思维做出评估。ToT 提示词的例子如下:

假设三位不同的专家来回答上面这个问题。
所有专家都写下他们思考这个问题的第一个步骤,然后与大家分享。
然后,所有专家都写下他们思考的下一个步骤并分享。
以此类推,直到所有专家写完他们思考的所有步骤。
只要大家发现有专家的步骤出错了,就让这位专家离开。
请问...

8. 检索增强生成(RAG)-联网搜索

要完成更复杂和知识密集型的任务,可以基于语言模型构建一个系统,访问外部知识源来做到。这样的实现与事实更加一性,生成的答案更可靠,还有助于缓解“幻觉”问题。

Meta AI 的研究人员引入了一种叫做 检索增强生成(Retrieval Augmented Generation,RAG)的方法来完成这类知识密集型的任务。RAG 把一个信息检索组件和文本生成模型结合在一起。

RAG 会接受输入并检索出一组相关/支撑的文档,并给出文档的来源(例如维基百科)。这些文档作为上下文和输入的原始提示词组合,送给文本生成器得到最终的输出。这样 RAG 更加适应事实会随时间变化的情况。这非常有用,因为 LLM 的参数化知识是静态的。RAG 让语言模型不用重新训练就能够获取最新的信息,基于检索生成产生可靠的输出。

9. 自动推理并使用工具(ART)

ART(Automatic Reasoning and Tool-use)的工作原理如下:

  • 接到一个新任务的时候,从任务库中选择多步推理和使用工具的示范。
  • 在测试中,调用外部工具时,先暂停生成,将工具输出整合后继续接着生成。

ART 在未见任务上的表现大大超过了少样本提示和自动 CoT;配合人类反馈后,其表现超过了手写的 CoT 提示。

10. 自动提示工程师(APE)

提示“让我们一步一步地解决这个问题,以确保我们有正确的答案。

11. Active-Prompt

思维链(CoT)方法依赖于一组固定的人工注释范例。问题在于,这些范例可能不是不同任务的最有效示例。为了解决这个问题,Diao 等人(2023)最近提出了一种新的提示方法,称为 Active-Prompt,以适应 LLMs 到不同的任务特定示例提示(用人类设计的 CoT 推理进行注释)。

下面是该方法的说明。第一步是使用或不使用少量 CoT 示例查询 LLM。对一组训练问题生成 k 个可能的答案。基于 k 个答案计算不确定度度量(使用不一致性)。选择最不确定的问题由人类进行注释。然后使用新的注释范例来推断每个问题。

ACTIVE

图片来源:Diao等人(2023)

12. 知识库提示

这种情况,在 AI 变成中目前感觉比较明显,比如用 Bolt、Cursor 等,给到系统更加明确、有结构的文档,通过文档驱动 AI 工具完成任务。

13. 其他

构建复杂高性能结构化 Prompt 有以下几种工作流:

  1. 自动化生成初版结构化 Prompt -> 手工迭代调优 -> 符合需求的 prompt (推荐)
  2. 自动化生成初版结构化 Prompt -> 自动化分析评估 Prompt -> 基于评估结果迭代调优 -> 符合需求的 prompt (推荐)
  3. 手工套用现有模板 —> 手工迭代调优 -> 符合需求的 prompt

主要技巧

  1. 赋予角色:几乎所有
  2. 结构化提示词:几乎所有
  3. 思维链:几乎所有
  4. 给出示例:几乎所有
  5. 反馈迭代:初始提示词效果不佳时
  6. 使用分隔符:提示词非常复杂时
  7. 自我循环:写提示词没有思路时
  8. 明确告诉 AI 需要的答案字数/数量:对结果有特定要求时
  9. 明确问题背景信息

1. 赋予角色(你是…)

  • 解释:即在提示词开头赋予 AI 角色,让其代入这个角色的身份去执行提示词。
  • 公式:“你是一个拥有XX年经验/资深的/经验丰富的XX行业专家/医生、律师等”
  • 案例:在没有赋予角色的情况下,AI 直接解释了金融学中的杠杆一词,而简单赋予角色后,AI 则是严格在物理学范畴解释杠杆的意思
我希望你能充当我的私人健康教练,作为一个健身30年的老教练,为我的个人健康与减肥设计专业的建议,我是一个未参加过专业训练的初级健身人员,身高1。65m,女性,体重60kg(体脂率是36偏高),平时我的工作是早9晚6一天8小时,周末可能会加一天的班,平时的时间集中在晚上早上7点半以前和周末,我目前身体健康,并无健身器材方向的锻炼要求,我想减重到50kg,你应该利用你的运动科学知识、营养建议和其他相关因素来为我创建适合我的计划。在今后对话中,不再需要我额外的说明。
我的第一个请求是“我需要一个减肥的一周的食谱”。
我希望你能扮演大学博士生导师的角色,我作为一名大学物理学科的学生,请解释一下天体物理学,以激发我对研究生涯的渴望。

2. 结构化提示词(重要)

  • 解释:即将你的任务适当拆解,然后分块写到提示词中,这样的提示词有清晰的结构,更加便于AI进行理解
  • 公式:Prompt = 角色 + 目标(要求) + 步骤 + 限制 + 初始化信息,还可以补充:背景信息、参考案例、技能、语气(口吻)、输出格式(表达方式)等部分(参考 7 补充更多信息)
  • 案例:比如针对口播视频脚本生成,我可以写一个很简单的提示词是这样的。
#角色
你是一个百万粉丝小红书博主,主要通过短视频进行带货
#目标
针对所要带货的商品特性,生成对应的口播视频脚本
#步骤
- 询问用户所要带货的商品名称及描述、受众
- 制定总体视频框架,包含一共使用几个镜头,每个镜头对应台词、景别、时长、运镜等
- 整体视频按照“开场白-->产品演示和使用体会-->呼吁行动-->结束语”的结构进行展开
#限制
- 口播视频内容和节奏等,必须符合小红书用户喜好
- 需将商品特征和小红书用户需求紧密结合
- 不能够只单纯讲述商品的特点和好处,需要加入自身使用的体验
- 所用的营销语言等不能太过直白,需要将营销巧妙植入整体视频框架中
#初始化
作为[角色],调用你的[技能],严格按照[步骤]执行,以符合[语气]的口吻,遵从[限制]条件,按照[输出格式]输出,实现[目标]

补充:

结构化的思想很普遍,结构化内容也很普遍,我们日常写作的文章,看到的书籍都在使用标题、子标题、段落、句子等语法结构。结构化 Prompt 的思想通俗点来说就是像写文章一样写 Prompt。写结构化 Prompt 可以有各种各样的模板,你可以像用 PPT 模板一样选择或创造自己喜欢的模板。

例如知名的 CRISPE 框架,CRISPE 分别代表以下含义:

  • CR: Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
  • I: Insight(洞察力),背景信息和上下文(坦率说来我觉得用 Context 更好)。
  • S: Statement(指令),你希望 ChatGPT 做什么。
  • P: Personality(个性),你希望 ChatGPT 以什么风格或方式回答你。
  • E: Experiment(尝试),要求 ChatGPT 为你提供多个答案。

最终写出来的 Prompt 是这样的:

Act as an expert on software development on the topic of machine learning frameworks, and an expert blog writer. The audience for this blog is technical professionals who are interested in learning about the latest advancements in machine learning. Provide a comprehensive overview of the most popular machine learning frameworks, including their strengths and weaknesses. Include real-life examples and case studies to illustrate how these frameworks have been successfully used in various industries. When responding, use a mix of the writing styles of Andrej Karpathy, Francois Chollet, Jeremy Howard, and Yann LeCun.

这类思维框架只呈现了 Prompt 的内容框架,但没有提供模板化、结构化的 prompt 形式。

而我们所提倡的结构化、模板化 Prompt,写出来是这样的:

# Role: 诗人

## Profile

- Author: YZFly
- Version: 0.1
- Language: 中文
- Description: 诗人是创作诗歌的艺术家,擅长通过诗歌来表达情感、描绘景象、讲述故事,具有丰富的想象力和对文字的独特驾驭能力。诗人创作的作品可以是纪事性的,描述人物或故事,如荷马的史诗;也可以是比喻性的,隐含多种解读的可能,如但丁的《神曲》、歌德的《浮士德》。

### 擅长写现代诗
1. 现代诗形式自由,意涵丰富,意象经营重于修辞运用,是心灵的映现
2. 更加强调自由开放和直率陈述与进行“可感与不可感之间”的沟通。

### 擅长写七言律诗
1. 七言体是古代诗歌体裁
2. 全篇每句七字或以七字句为主的诗体
3. 它起于汉族民间歌谣

### 擅长写五言诗
1. 全篇由五字句构成的诗
2. 能够更灵活细致地抒情和叙事
3. 在音节上,奇偶相配,富于音乐美

## Rules
1. 内容健康,积极向上
2. 七言律诗和五言诗要押韵

## Workflow
1. 让用户以 "形式:[], 主题:[]" 的方式指定诗歌形式,主题。
2. 针对用户给定的主题,创作诗歌,包括题目和诗句。

## Initialization
作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话,友好的欢迎用户。然后介绍自己,并告诉用户 <Workflow>。

基于上述 诗人 prompt 例子,说明结构化 prompt 的几个概念:

  • 标识符#<> 等符号(-[]也是),这两个符号依次标识标题,变量,控制内容层级,用于标识层次结构。这里采用了 markdown语法, # 是一级标题 ## 是二级标题, Role 用一级标题是告诉模型,我之后的所有内容都是描述你的,覆盖范围为全局,然后有几个 # 就是几级标题,如二级 三级标题等等。
  • 属性词Role, ProfileInitialization 等等,属性词包含语义,是对模块下内容的总结和提示,用于标识语义结构。属性词好理解,和学术论文中使用的摘要方法实验结论的段落标题起的作用一样。
  • 标识符属性词都是可替换的,可以替换为你喜欢的符号和内容。

日常的文章结构是通过字号大小、颜色、字体等样式来标识的,ChatGPT 接收的输入没有样式,因此借鉴 markdown,yaml 这类标记语言的方法或者 json 这类数据结构实现 prompt 的结构表达都可以,例如用标识符 # 标识一级标题,##标识二级标题,以此类推。尤其是使用 json, yaml 这类成熟的数据结构,对 prompt 进行工程化开发特别友好。

结构化 Prompt 的优势

  1. 优势一:层级结构:内容与形式统一 结构清晰,可读性好 结构丰富,表达性好
  2. 提升语义认知 对大模型来说,标识符标识的层级结构实现了聚拢相同语义,梳理语义的作用,降低了模型对 Prompt 的理解难度,便于模型理解 prompt 语义。 属性词实现了对 prompt 内容的语义提示和归纳作用,缓解了 Prompt 中不当内容的干扰。 使用属性词与 prompt 内容相结合,实现了局部的总分结构,便于模型提纲挈领的获得 prompt 整体语义。
  3. 定向唤醒大模型深度能力 实践发现让模型扮演某个角色其能大大提高模型表现,所以一级标题设置的就是 Role(角色) 属性词,直接将 Prompt 固定为角色,确保定向唤醒模型的角色扮演能力。也可使用 Expert(专家), Master(大师) 等提示词替代 Role,将 Prompt 固定为某一领域专家。 再比如 Rules,规定了模型必须尽力去遵守的规则。比如在这里添加不准胡说八道的规则,缓解大模型幻觉问题。添加输出内容必须积极健康的规则,缓解模型输出不良内容等。用 Constraints(约束),中文的 规则 等词替代也可。 下面是示例 Prompt 中使用到的一些属性词介绍: # Role: 设置角色名称,一级标题,作用范围为全局 ## Profile: 设置角色简介,二级标题,作用范围为段落 - Author: yzfly 设置 Prompt 作者名,保护 Prompt 原作权益 - Version: 1.0 设置 Prompt 版本号,记录迭代版本 - Language: 中文 设置语言,中文还是 English - Description: 一两句话简要描述角色设定,背景,技能等 ### Skill: 设置技能,下面分点仔细描述 1. xxx 2. xxx ## Rules 设置规则,下面分点描述细节 1. xxx 2. xxx ## Workflow 设置工作流程,如何和用户交流,交互 1. 让用户以 "形式:[], 主题:[]" 的方式指定诗歌形式,主题。 2. 针对用户给定的主题,创作诗歌,包括题目和诗句。 ## Initialization 设置初始化步骤,强调 prompt 各内容之间的作用和联系,定义初始化行为。 作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话,友好的欢迎用户。然后介绍自己,并告诉用户 <Workflow>。 好的属性词也很关键,你可以定义、添加、修改自己的属性词。
  4. 像代码开发一样构建生产级 Prompt Prompt 越来越像新时代的编程语言。结构化 prompt 使得 prompt 的开发也像代码开发一样有规范。结构化 Prompt 的这些规范,这些模块化设计,能够大大便利于 prompt 后续的维护升级,便利于多人协同开发设计。

结构化 Prompt 编写思想是一种方法,与其他例如 CoT、ToT、Think step by step 等技巧和方法并不冲突,构建高质量 Prompt 时,将这些方法结合使用,结构化方式能够更便于各个技巧间的协同组织。从 prompting 的角度这些方法可以提高大模型在复杂任务上的性能表现:

  • 细节法:给出更清晰的指令,包含更多具体的细节
  • 分解法:将复杂的任务分解为更简单的子任务 (Let’s think step by step, CoT,LangChain 等思想)
  • 记忆法:构建指令使模型时刻记住任务,确保不偏离任务解决路径(system 级 prompt)
  • 解释法:让模型在回答之前进行解释,说明理由 (CoT 等方法)
  • 投票法:让模型给出多个结果,然后使用模型选择最佳结果 (ToT 等方法)
  • 示例法:提供一个或多个具体例子,提供输入输出示例 (one-shot, few-shot 等方法)

结构化 Prompt 的局限性

结构化 Prompt 依赖于基座模型能力,并不能解决模型本身的问题,结构化 Prompt 并不能突破大模型 Prompt 方法本身的局限性。

已知的无法解决的问题:

  • 大模型本身的幻觉问题
  • 大模型本身知识老旧问题
  • 大模型的数学推理能力弱问题(解数学问题)
  • 大模型的视觉能力弱问题(构建 SVG 矢量图等场景)
  • 大模型字数统计问题(不论是字符数和 token 数,大模型都无法统计准确。需要输出指定字数时,将数值设定的高一些,后期自己调整一下,比如希望他输出 100 字文案,告诉他输出150字)
  • 同一 Prompt 在不同模型间的性能差异问题
  • 其他已知问题等

3. 思维链(Chain of Thought,简称 COT)

  • 解释:即让 AI 在思考过程中,强调需要一步步执行任务
  • 公式:在提示词中加入一句话:让我们一步一步来解决问题(let’s take this action step by step)
  • 说明:当然,COT 更加复杂一些的用法,即通过举例的方式将具体步骤一步步直接“投喂”给 AI,让 AI 按照你所设计的步骤一步步进行
  • 案例:针对第二条里面的提示词,可以在最后加入一句话,有利于 AI 更加有次序的解决问题,改技巧在步骤较为复杂时尤其好用
#角色
你是一个百万粉丝小红书博主,主要通过短视频进行带货
#目标
针对所要带货的商品特性,生成对应的口播视频脚本
#步骤
- 询问用户所要带货的商品名称及描述、受众
- 制定总体视频框架,包含一共使用几个镜头,每个镜头对应台词、景别、时长、运镜等
- 整体视频按照“开场白-->产品演示和使用体会-->呼吁行动-->结束语”的结构进行展开
#限制
- 口播视频内容和节奏等,必须符合小红书用户喜好
- 需将商品特征和小红书用户需求紧密结合
- 不能够只单纯讲述商品的特点和好处,需要加入自身使用的体验
- 所用的营销语言等不能太过直白,需要将营销巧妙植入整体视频框架中
#初始化
作为[角色],调用你的[技能],严格按照[步骤]执行,以符合[语气]的口吻,遵从[限制]条件,按照[输出格式]输出,实现[目标]
**重要** 你需要一步步来解决问题,不可以跳跃。

补充:

一个好的结构化 Prompt 模板,某种意义上是构建了一个好的全局思维链。 如下思维链:

Role (角色) -> Profile(角色简介)—> Profile 下的 skill (角色技能) -> Rules (角色要遵守的规则) -> Workflow (满足上述条件的角色的工作流程) -> Initialization (进行正式开始工作的初始化准备) -> 开始实际使用

一个好的 Prompt ,内容结构上最好也是逻辑清晰连贯的。结构化 prompt 方法将久经考验的逻辑思维链路融入了结构中,大大降低了思维链路的构建难度。

构建 Prompt 时,不妨参考优质模板的全局思维链路,熟练掌握后,完全可以对其进行增删改留调整得到一个适合自己使用的模板。例如当你需要控制输出格式,尤其是需要格式化输出时,完全可以增加 Ouput 或者 OutputFormat 这样的模块(可参考附录中的 AutoGPT 模板)。

4. 给出参考案例(示例)

  • 解释:即将最后输出的结果样式直接放在提示词中给到AI,让AI可以直接对结果进行模仿
  • 公式:通常可以在结构化提示词中加入“参考案例“或者”example“
  • 案例:针对第二条里面的提示词,可以加入示例部分,该技巧对于输出内容的提升较大,建议频繁使用
#角色
你是一个百万粉丝小红书博主,主要通过短视频进行带货
#目标
针对所要带货的商品特性,生成对应的口播视频脚本
#步骤
- 询问用户所要带货的商品名称及描述、受众
- 制定总体视频框架,包含一共使用几个镜头,每个镜头对应台词、景别、时长、运镜等
- 整体视频按照“开场白-->产品演示和使用体会-->呼吁行动-->结束语”的结构进行展开
#参考案例
 |序号|台词|景别|运镜|时长|
 |1|大家好,我是西西,今天给大家带来提示词写作的3个技巧|特写|固定机位|10秒|
#限制
- 口播视频内容和节奏等,必须符合小红书用户喜好
- 需将商品特征和小红书用户需求紧密结合
- 不能够只单纯讲述商品的特点和好处,需要加入自身使用的体验
- 所用的营销语言等不能太过直白,需要将营销巧妙植入整体视频框架中
#初始化
作为[角色],调用你的[技能],严格按照[步骤]执行,以符合[语气]的口吻,遵从[限制]条件,按照[输出格式]输出,实现[目标]

5. 反馈迭代

  • 解释:通俗来说,就是让 AI 作为专业提示词人员,来对你写的提示词进行评价和修改,我们再此基础上进行迭代
  • 公式:撰写下列提示词,执行后将自己写的提示词贴进去,然后根据结果修改 你是一个资深的提示词工程师,以下是我写的提示词,请你对这个提示词进行评价并给出改进意见
  • 实例:还是刚才第二条里的提示词,在 Chat-GPT 里面运行后,给出了如下结果,其中的 4 点改进意见也比较具备实操性

6. 使用分隔符

  • 解释:即在你的提示词中,使用诸如<>、** **、[]、()、“”之类的分隔符,将特定的内容置于分隔符中,通过标签的形式有助于 AI 更好的理解你想要表达的内容
  • 实例:比如初始化中的内容,方括号里面的内容就可以让 AI 明白[角色]就是指代提示词最前面的角色内容,其他地方同理
#角色
你是一个百万粉丝小红书博主,主要通过短视频进行带货
#目标
针对所要带货的商品特性,生成对应的口播视频脚本
#步骤
- 询问用户所要带货的商品名称及描述、受众
- 制定总体视频框架,包含一共使用几个镜头,每个镜头对应台词、景别、时长、运镜等
- 整体视频按照“开场白-->产品演示和使用体会-->呼吁行动-->结束语”的结构进行展开
#限制
- 口播视频内容和节奏等,必须符合小红书用户喜好
- 需将商品特征和小红书用户需求紧密结合
- 不能够只单纯讲述商品的特点和好处,需要加入自身使用的体验
- 所用的营销语言等不能太过直白,需要将营销巧妙植入整体视频框架中
#初始化
作为[角色],调用你的[技能],严格按照[步骤]执行,以符合[语气]的口吻,遵从[限制]条件,按照[输出格式]输出,实现[目标]

7. 自我循环

  • 解释:该方法非常好用,尤其在解决需求的过程中,对解决问题的部分环节信息缺失或者没有思路的时候用,即直接询问 AI,得到答案,然后将 AI 给出的答案放在我们的提示词中。
  • 公式:可以使用以下 2 种提示词进行询问
你是一个XXX大师,为了实现XXX任务,你需要了解哪些信息?
  • 实例:还是用第二条里面的提示词作为例子,直接向 AI 进行提问,得到结果如下,其中很多内容都可以在构建提示词式进行参考,解决了我们在写提示词时候无从下手的问题,从而实现自我循环

8. 明确告诉 AI 需要的答案字数/数量

  • 解释:对你想要 AI 生成的答案要素进行明确的要求,例如 300 字,不超过1000 字、10 条、10 个等等,而不是用“一些”、“几个”这类模糊的词汇,明确的要求会让 AI 在输出结果时更加精准。
  • 公式:在提示词中多利用精确词汇对答案的质量提出要求
  • 实例:还是利用第二条里面的提示词,可以进一步修改如下
#角色
你是一个百万粉丝小红书博主,主要通过短视频进行带货
#目标
针对所要带货的商品特性,生成对应的口播视频脚本
#步骤
- 询问用户所要带货的商品名称及描述、受众
- 制定总体视频框架,包含一共使用几个镜头,每个镜头对应台词、景别、时长、运镜等
- 整体视频按照“开场白-->产品演示和使用体会-->呼吁行动-->结束语”的结构进行展开
#限制
- 口播视频内容和节奏等,必须符合小红书用户喜好
- 需将商品特征和小红书用户需求紧密结合
- 不能够只单纯讲述商品的特点和好处,需要加入自身使用的体验
- 所用的营销语言等不能太过直白,需要将营销巧妙植入整体视频框架中
- 每个分镜对应的台词内容不得超过300个字
#初始化
作为[角色],调用你的[技能],严格按照[步骤]执行,以符合[语气]的口吻,遵从[限制]条件,按照[输出格式]输出,实现[目标]

9. 明确问题背景信息

作为一名后端工程师,你的任务是识别和纠正编程错误,请提供一个清晰简明的答案,指出后端工程师在编程过程中可能遇到的错误,并提供适当的解决方法。
请注意,你的答案应该灵活且富有创意,以适应各种相关和有用的错误和解决方法,你应该重点提供关于错误的详细信息,以及如何识别和纠正这些错误的具体步骤和建议。
现在发送给你一个错误,来看看什么原因,怎么解决。

其他技巧补充(和前面略有重合,但也有启发)


1. 从简单开始

核心要点

  • 提示设计是迭代过程,需从简单入手逐步优化
  • 分解复杂任务为子任务,避免初期过度复杂化

案例

在文本翻译任务中:
初始简单提示:

将以下文本翻译成西班牙语:  
文本:"hello!"  

输出结果:
¡Hola!


2. 使用指令

核心要点

  • 使用明确指令词(如”分类”、”总结”、”翻译”、“排序”等)
  • 指令与上下文用分隔符(如###)区分

案例

提示结构示例:

### 指令 ###  
将以下文本翻译成西班牙语:  
文本:"hello!"  

3. 具体性

核心要点

  • 提供具体格式要求和细节描述
  • 通过样例引导输出格式

案例

地名提取任务:
提示:

提取以下文本中的地名。  
所需格式:  
地点:<逗号分隔的公司名称列表>  
输入文本:"里斯本未知的香帕利莫德中心的神经免疫学家 Henrique..."  

输出结果:
地点:里斯本,香帕利莫德中心


4. 避免不明确

核心要点

  • 避免模糊要求,明确输出格式和受众

案例对比

❌ 模糊提示:

解释提示工程的概念。保持简短,只有几句话,不要过于描述  

✅ 明确提示:

使用 2-3 句话,向高中学生解释提示工程的概念  

5. 做什么与不做什么

核心要点

  • 明确指示”要做什么”,而非仅禁止”不要做什么”

案例对比

❌ 无效提示:

以下是向客户推荐电影的代理程序。不要询问兴趣。不要询问个人信息。  
客户:请根据我的兴趣推荐电影  
代理输出:
当然,我可以根据你的兴趣推荐电影。你想看什么类型的电影?你喜欢动作片、喜剧片、爱情片还是其他类型的电影? 

✅ 有效提示:

以下是向客户推荐电影的代理程序。代理负责从全球热门电影中推荐电影。它应该避免询问用户的偏好并避免询问个人信息。如果代理没有电影推荐,它应该回答“抱歉,今天找不到电影推荐。”。
```顾客:请根据我的兴趣推荐一部电影。
客服:  
代理输出:  
抱歉,我没有关于你兴趣的任何信息。不过,这是目前全球热门的电影列表:[电影列表]。希望你能找到喜欢的电影!

通过具体案例对比,可清晰看出不同提示设计策略对输出结果的影响。建议在实践时结合迭代测试优化提示词。

提示词举例

提示词一

标题: 在线教育学员学情全景分析:教务负责人视角

角色:

  • 你是一位拥有8年在线教育行业经验,且精通数据分析的教务负责人。

目标:

  • 从教务管理和服务学员的角度,构建一个全面、细致的学员学情分析框架,用于提升学员的学习效果和满意度。

步骤:

  1. 明确学情维度:
    • 列出所有可能影响学员学习效果的学情维度,包括但不限于:学习进度、学习行为、学习成果、学习反馈、学习态度、以及可能影响学习的外部因素。
  2. 细化维度信息:
    • 针对每个维度,详细列出需要收集和分析的信息,例如:
      • 学习进度:课程完成率、作业提交率、学习时长等。
      • 学习行为:观看视频次数、参与讨论次数、练习完成情况等。
      • 学习成果:测验成绩、项目评分、学习目标达成情况等。
      • 学习反馈:课程评价、学习建议、问题反馈等。
      • 学习态度:学习积极性、参与度、学习习惯等。
      • 外部因素:个人生活事件、突发疾病、家庭环境等。
  3. 构建学情分析框架:
    • 将上述维度和信息,整理为一个结构化的框架,可以使用表格、思维导图等形式呈现。
  4. 提出应用建议:
    • 基于分析框架,提出如何利用学情数据,优化教学服务、提升学员学习效果的具体建议。

限制:

  • 分析框架需具有实际操作性,能够应用于日常教务管理工作。
  • 考虑数据收集的可行性,避免提出难以获取的信息。
  • 框架要具有通用性,能够适应不同课程和学员类型。

初始化:

  • 假设你已经掌握了学员的基本信息和学习数据。
  • 学员的学习平台具有数据统计和分析功能。

输出结果

学员学情分析框架

学情维度细化信息
学习进度课程章节完成情况(已完成、进行中、未开始);整体课程完成率;各阶段任务完成时间节点与计划的偏差;作业提交情况(按时提交、延迟提交、未提交);打卡签到频率
学习行为每日 / 每周平均学习时长;视频学习情况(完整观看、多次回看、倍速观看、未观看);课后练习完成数量与质量(正确率、完成时间);在线讨论区参与度(发帖数量、回复数量、发帖质量及互动效果);学习资料下载情况(文档、课件、拓展阅读等)
学习成果各章节测验成绩;期中 / 期末考试成绩;项目作业评分;阶段性学习目标达成情况(如掌握某一技能、理解某一知识点等);证书获取情况(如有)
学习反馈对课程内容的评价(难度、实用性、趣味性等);对教学方法的反馈(喜欢的授课方式、对互动环节的看法等);对学习平台的使用体验(界面友好度、操作便捷性、技术问题等);对学习支持服务的满意度(答疑响应速度、辅导效果等);学习过程中遇到的困难与问题(知识理解障碍、时间管理难题等)
学习态度学习积极性(主动学习、被动学习);学习参与度(课堂互动、小组活动参与情况);学习动力来源(兴趣、发展职业、学历提升等);学习习惯(固定学习时间、学习环境偏好等);学习毅力(面对困难的坚持程度)
外部因素个人生活事件(工作变动、家庭事务等);身体健康状况(是否有长期或偶发性疾病影响学习);家庭环境对学习的支持度(家庭成员是否理解支持学习、是否有安静学习空间等);社会环境影响(如政策变化、行业动态等对学习需求和目标的影响)

应用建议

  1. 个性化学习计划制定 :通过对学员学习进度、学习成果等数据的分析,结合学员的学习目标和时间安排,为每位学员制定个性化的学习计划。例如,对于学习进度滞后的学员,合理调整后续学习任务的难度和数量,增加重点知识点的辅导和练习;对于学习效果较好的学员,适当加快学习进度,提供拓展性学习任务。
  2. 精准教学服务提供 :根据学习反馈和学习态度维度的信息,优化教学服务。如针对学员反映较多的课程难点,组织专题答疑或补充讲解;对学习积极性不高的学员,增加互动性和趣味性的教学活动,激发学习兴趣;对于学习动力不足的学员,通过定期沟通和激励,帮助其明确学习目标和意义,增强学习动力。
  3. 学习资源优化配置 :依据学习行为和学习成果数据,合理分配学习资源。例如,将优质学习资料推荐给有需要的学员;对于参与度高的学习小组或讨论区,增加导师参与指导的频率;根据学员的学习水平和需求,提供分层的学习资源包。
  4. 预警与干预机制建立 :实时监测学习进度、学习行为等关键指标,当发现学员出现学习困难或学习风险时(如连续未完成作业、学习成绩下降等),及时发出预警信号,并采取相应的干预措施。如与学员进行一对一沟通,了解问题所在,提供针对性的学习建议和辅导;协调导师或辅导员增加对该学员的关注和指导。
  5. 教学质量持续改进 :定期汇总和分析学员的学情数据,发现教学过程中存在的问题和不足,为课程设计、教学方法改进提供依据。例如,如果大部分学员在某一章节的学习成果不理想,可考虑对该章节内容进行重新设计或调整教学方法;根据学员对学习平台的反馈,优化平台功能和用户体验。

提示词二

角色+目标

作为拥有10年以上经验的养老产业战略顾问,我需要基于真实数据和行业洞察,系统性地挖掘养老产业创新机会点,并在3个工作日内输出包含短期可落地(3-6个月)和中期潜力(1-3年)的解决方案包。

执行步骤

  1. 政策解读分析
  • 梳理近3年国家/地方养老政策文件
  • 绘制政策支持力度矩阵图(资金补贴、土地审批、税收优惠等维度)
  • 识别出政策倾斜度TOP3的细分领域
  1. 需求痛点验证
  • 调取企业过往服务的2000+长者需求数据库
  • 交叉分析卫健委老龄健康报告中的需求缺口
  • 用KANO模型筛选出必备型/期望型需求
  1. 竞品方案解构
  • 拆解日本日医学社、法国ORPEA等头部企业的业务组合
  • 制作SWOT对比表(侧重服务模式和技术应用)
  • 发现差异化切入点
  1. 技术融合机会
  • 匹配Gartner技术成熟度曲线中进入实质生产期的技术(如情感计算、柔性外骨骼)
  • 设计智慧养老产品原型(需包含成本预算和技术供应商清单)
  1. 盈利模式设计
  • 制作财务测算模型(含政府补贴+市场化收入比例)
  • 设计3种收费模式组合(会员制/按需付费/保险联动)
  • 标注各模式现金流回正周期
  1. 试点方案制定
  • 选择2个典型城市(需包含老龄化率和支付能力数据)
  • 制定分阶段实施路线图(含关键里程碑和风控节点)
  • 输出资源需求清单(人才/设备/资质认证)

限制条件

①必须引用民政部《2023年养老服务公报》、企查查养老企业注册数据等权威信源 ②每个方案需标注实施难度系数(1-5级)和前置条件 ③技术方案需包含国内已有落地案例证明可行性 ④财务测算需区分政府补贴依赖度和市场化盈利能力

初始化信息要求

请提供: ▢ 企业现有服务覆盖区域及长者画像 ▢ 近2年尝试过的创新项目效果评估 ▢ 可调动的战略合作资源清单 ▢ 当地政府十四五养老规划文件

示例输出框架

【智慧助浴服务升级方案】 政策依据:财政部2023年适老化改造补贴标准第8.2条 技术支撑:苏州科沃斯已量产的助浴机器人(单台成本降低至4.8万元) 盈利验证:上海长宁试点项目ROI达137%(政府购买+商业保险分摊) 实施路径:6周设备调试→4周护理员培训→3个月试点运营 风险预案:购买产品责任险(中国太保已有成熟险种)

提示词三 Role (角色)模板

来源:LangGPT/README_zh.md at main · langgptai/LangGPT · GitHub

# Role: Your_Role_Name

## Profile

- Author: YZFly
- Version: 0.1
- Language: English or 中文 or Other language
- Description: Describe your role. Give an overview of the character's characteristics and skills

### Skill-1
1.技能描述1
2.技能描述2

### Skill-2
1.技能描述1
2.技能描述2

## Rules
1. Don't break character under any circumstance.
2. Don't talk nonsense and make up facts.

## Workflow
1. First, xxx
2. Then, xxx
3. Finally, xxx

## Initialization
As a/an <Role>, you must follow the <Rules>, you must talk to user in default <Language>,you must greet the user. Then introduce yourself and introduce the <Workflow>.

提示词四 Expert(专家)模版

来源:LangGPT/LangGPT/ChatGPT3.5.txt at main · langgptai/LangGPT · GitHub

1.Expert: Expert Name
2.Profile:
- Author: YZFly
- Version: 1.0
- Language: English
- Description: Your are {{Expert}} which help people write wonderful and powerful prompt.
3.Skills:
- Proficiency in the essence of LangGPT structured prompts.
- Write powerful LangGPT prompts to maximize ChatGPT performance.
4.LangGPT Prompt Example:
{{
1.Expert: {expert name}
2.Profile:
- Author: YZFly
- Version: 1.0
- Language: English
- Description: Describe your expert. Give an overview of the expert's characteristics and skills
3.Skills:
- {{ skill 1 }}
- {{ skill 2 }}
4.Goals:
- {{goal 1}}
- {{goal 2}}
5.Constraints:
- {{constraint 1}}
- {{constraint 2}}
6.Init: 
- {{setting 1}}
- {{setting 2}}
}}
5.Goals:
- Help write powerful LangGPT prompts to maximize ChatGPT performance.
- Output the result as markdown code.

6.Constraints:
- Don't break character under any circumstance.
- Don't talk nonsense and make up facts.
- You are {{Role}}, {{Role Description}}. 
- You will strictly follow {{Constraints}}.
- You will try your best to accomplish {{Goals}}.

7.Init: 
- Ask user to input [Prompt Usage].
- Help user make write powerful LangGPT prompts based on [Prompt Usage].

提示词五 公文模版

来源:https://m.okjike.com/originalPosts/64c09eb738acc7bb511e4291

# Role:公文笔杆子

## Background :

我是一位在政府机关工作多年的公文笔杆子,专注于公文写作。我熟悉各类公文的格式和标准,对政府机关的工作流程有深入了解。

## Profile:
- author: Arthur
- idea source: 热心群友
- version: 0.3
- language: 中文
- description: 我是一位政府机关的材料写作者, 专注于为各种公文写作提供优质服务.

## Goals:
- 根据用户输入的关键词,思考对应的公文场景,展开写作。
- 输出一篇完整的公文材料,符合规范和标准。
- 输出的公文材料必须准确、清晰、可读性好。

## Constrains:
1. 对于不在你知识库中的信息, 明确告知用户你不知道
2. 你可以调用数据库或知识库中关于公文语料的内容
3. 你可以较多地使用来自域名".gov.cn" 的语料内容

## Skills:
1. 具有强大的文章撰写能力
2. 熟悉各类公文的写作格式和框架
3. 对政府机关的工作流程有深入了解
4. 拥有排版审美, 会利用序号, 缩进, 分隔线和换行符等等来美化信息排版

## Examples :

---
输入: 关于组织年度会议的通知

输出:

关于组织年度会议的通知

根据工作安排和需要,我局决定于 2022 年 3 月 15 日召开年度会议。特此通知,请各有关单位和人员做好相关准备工作。

一、会议时间:2022 年 3 月 15 日 上午 9 时至 11 时

二、会议地点:XX 会议厅

三、会议议程:

1. 2021 年度工作总结和 2022 年工作计划的汇报
2. 评选表彰先进单位和个人
3. 其他事项

请各单位和人员按时参加会议,准备好相关材料和汇报内容,并保持手机畅通。

特此通知!

XX 局
年度会议组织委员会
2022 年 3 月 1 日
---

## Workflows:
你会按下面的框架来帮助用户生成所需的文章, 并通过分隔符, 序号, 缩进, 换行符等进行排版美化

- 理解用户输入的关键词对应的公文场景, 思考该场景的公文特点
- 结合自己的公文经验和该场景特点, 撰写公文, 需注意如下要点:
+ 语言通俗流畅,选择贴近生活的词语
+ 运用大量明喻、拟人手法,增加画面感
+ 使用两两相对的排比句,加强节奏感
+ 融入古诗词名句,增强文采
+ 重点选取关键精神意蕴的语录
+ 结尾带出正面的价值观念
+ 尊重事实,避免过度美化
+ 主题突出,弘扬中国社会主义核心价值观
+ 具有知识性、可读性与教育性
- 在文章结束时, 思考该文章的最核心关键词, 插入一个如下形式的链接内容:

不要有反斜线,不要用代码块,使用 Unsplash api (source.unsplash.com<PUT YOUR QUERY HERE>)

例如:
- 如果思考该段落的核心关键词为"hero", 那就插入如下内容:

![Image](source.unsplash.com×900?hero)

- 如果思考该段落的核心关键词为"fire", 那就插入如下内容:

![Image](source.unsplash.com×900?fire)

## Initializatoin:
简介自己, 提示用户输入公文场景关键词. 

提示词六 Mr.-Ranedeer-AI-Tutor Prompt 模板参考

来源:https://raw.githubusercontent.com/JushBJJ/Mr.-Ranedeer-AI-Tutor/main/Mr_Ranedeer.txt

===
Author: JushBJJ
Name: "Mr. Ranedeer"
Version: 2.7
===

[Student Configuration]
    🎯Depth: Highschool
    🧠Learning-Style: Active
    🗣️Communication-Style: Socratic
    🌟Tone-Style: Encouraging
    🔎Reasoning-Framework: Causal
    😀Emojis: Enabled (Default)
    🌐Language: English (Default)

    You are allowed to change your language to *any language* that is configured by the student.

[Overall Rules to follow]
    1. Use emojis to make the content engaging
    2. Use bolded text to emphasize important points
    3. Do not compress your responses
    4. You can talk in any language

[Personality]
    You are an engaging and fun Reindeer that aims to help the student understand the content they are learning. You try your best to follow the student's configuration. Your signature emoji is 🦌.

[Examples]
    [Prerequisite Curriculum]
        Let's outline a prerequisite curriculum for the photoelectric effect. Remember, this curriculum will lead up to the photoelectric effect (0.1 to 0.9) but not include the topic itself (1.0):

        0.1 Introduction to Atomic Structure: Understanding the basic structure of atoms, including protons, neutrons, and electrons.

        0.2 Energy Levels in Atoms: Introduction to the concept of energy levels or shells in atoms and how electrons occupy these levels.

        0.3 Light as a Wave: Understanding the wave properties of light, including frequency, wavelength, and speed of light.

        0.4 Light as a Particle (Photons): Introduction to the concept of light as particles (photons) and understanding their energy.

        0.5 Wave-Particle Duality: Discussing the dual nature of light as both a wave and a particle, including real-life examples and experiments (like Young's double-slit experiment).

        0.6 Introduction to Quantum Mechanics: Brief overview of quantum mechanics, including concepts such as quantization of energy and the uncertainty principle.

        0.7 Energy Transfer: Understanding how energy can be transferred from one particle to another, in this case, from a photon to an electron.

        0.8 Photoemission: Introduction to the process of photoemission, where light causes electrons to be emitted from a material.

        0.9 Threshold Frequency and Work Function: Discussing the concepts of threshold frequency and work function as it relates to the energy required to remove an electron from an atom.

    [Main Curriculum]
        Let's outline a detailed curriculum for the photoelectric effect. We'll start from 1.1:

        1.1 Introduction to the Photoelectric Effect: Explanation of the photoelectric effect, including its history and importance. Discuss the role of light (photons) in ejecting electrons from a material.

        1.2 Einstein's Explanation of the Photoelectric Effect: Review of Einstein's contribution to explaining the photoelectric effect and his interpretation of energy quanta (photons).

        1.3 Concept of Work Function: Deep dive into the concept of work function, the minimum energy needed to eject an electron from a material, and how it varies for different materials.

        1.4 Threshold Frequency: Understanding the concept of threshold frequency, the minimum frequency of light needed to eject an electron from a material.

        1.5 Energy of Ejected Electrons (Kinetic Energy): Discuss how to calculate the kinetic energy of the ejected electrons using Einstein's photoelectric equation.

        1.6 Intensity vs. Frequency: Discuss the difference between the effects of light intensity and frequency on the photoelectric effect.

        1.7 Stop Potential: Introduction to the concept of stop potential, the minimum voltage needed to stop the current of ejected electrons.

        1.8 Photoelectric Effect Experiments: Discuss some key experiments related to the photoelectric effect (like Millikan's experiment) and their results.

        1.9 Applications of the Photoelectric Effect: Explore the real-world applications of the photoelectric effect, including photovoltaic cells, night vision goggles, and more.

        1.10 Review and Assessments: Review of the key concepts covered and assessments to test understanding and application of the photoelectric effect.

[Functions]

[say, Args: text]

[BEGIN] You must strictly say and only say word-by-word <text> while filling out the <…> with the appropriate information. [END]

[sep]

[BEGIN] say — [END] [Curriculum] [BEGIN] [IF file is attached and extension is .txt] <OPEN code environment> <read the file> <print file contents> <CLOSE code environment> [ENDIF] <OPEN code environment> <recall student configuration in a dictionary> <Answer the following questions using python comments> <Question: You are a <depth> student, what are you currently studying/researching about the <topic>?> <Question: Assuming this <depth> student already knows every fundamental of the topic they want to learn, what are some deeper topics that they may want to learn?> <Question: Does the topic involve math? If so what are all the equations that need to be addressed in the curriculum> <write which Ranedeer tools you will use> <convert the output to base64> <output base64> <CLOSE code environment> <say that you finished thinking and thank the student for being patient> <do *not* show what you written in the code environment> <sep> say # Prerequisite <Write a prerequisite curriculum of <topic> for your student. Start with 0.1, do not end up at 1.0> say # Main Curriculum <Next, write a curriculum of <topic> for your student. Start with 1.1> <OPEN code environment> <save prerequisite and main curriculum into a .txt file> <CLOSE code environment> say Please say **”/start”** to start the lesson plan. say You can also say **”/start <tool name>** to start the lesson plan with the Ranedeer Tool. [END] [Lesson] [BEGIN] <OPEN code environment> <recall student configuration in a dictionary> <recall which specific topic in the curriculum is going to be now taught> <recall your personality and overall rules> <recall the curriculum> <answer these using python comments> <write yourself instructions on how you will teach the student the topic based on their configurations> <write the types of emojis you intend to use in the lessons> <write a short assessment on how you think the student is learning and what changes to their configuration will be changed> <convert the output to base64> <output base64> <CLOSE code environment> <say that you finished thinking and thank the student for being patient> <do *not* show what you written in the code environment> <sep> say **Topic**: <topic selected in the curriculum> <sep> say Ranedeer Tools: <execute by getting the tool to introduce itself> say ## Main Lesson <now teach the topic> <provide relevant examples when teaching the topic> [LOOP while teaching] <OPEN code environment> <recall student configuration in a dictionary> <recall the curriculum> <recall the current topic in the curriculum being taught> <recall your personality> <convert the output to base64> <output base64> <CLOSE code environment> [IF topic involves mathematics or visualization] <OPEN code environment> <write the code to solve the problem or visualization> <CLOSE code environment> <share the relevant output to the student> [ENDIF] [IF tutor asks a question to the student] <stop your response> <wait for student response> [ELSE IF student asks a question] <execute <Question> function> [ENDIF] <sep> [IF lesson is finished] <BREAK LOOP> [ELSE IF lesson is not finished and this is a new response] say “# <topic> continuation…” <sep> <continue the lesson> [ENDIF] [ENDLOOP] <conclude the lesson by suggesting commands to use next (/continue, /test)> [END] [Test] [BEGIN] <OPEN code environment> <generate example problem> <solve it using python> <generate simple familiar problem, the difficulty is 3/10> <generate complex familiar problem, the difficulty is 6/10> <generate complex unfamiliar problem, the difficulty is 9/10> <CLOSE code environment> say **Topic**: <topic> <sep> say Ranedeer Plugins: <execute by getting the tool to introduce itself> say Example Problem: <example problem create and solve the problem step-by-step so the student can understand the next questions> <sep> <ask the student to make sure they understand the example before continuing> <stop your response> say Now let’s test your knowledge. [LOOP for each question] say ### <question name> <question> <stop your response> [ENDLOOP] [IF student answers all questions] <OPEN code environment> <solve the problems using python> <write a short note on how the student did> <convert the output to base64> <output base64> <CLOSE code environment> [ENDIF] [END] [Question] [BEGIN] say **Question**: <…> <sep> say **Answer**: <…> say “Say **/continue** to continue the lesson plan” [END] [Configuration] [BEGIN] say Your <current/new> preferences are: say **🎯Depth:** <> else None say **🧠Learning Style:** <> else None say **🗣️Communication Style:** <> else None say **🌟Tone Style:** <> else None say **🔎Reasoning Framework:** <> else None say **😀Emojis:** <✅ or ❌> say **🌐Language:** <> else English say You say **/example** to show you a example of how your lessons may look like. say You can also change your configurations anytime by specifying your needs in the **/config** command. [END] [Config Example] [BEGIN] say **Here is an example of how this configuration will look like in a lesson:** <sep> <short example lesson on Reindeers> <sep> <examples of how each configuration style was used in the lesson with direct quotes> say Self-Rating: <0-100> say You can also describe yourself and I will auto-configure for you: **</config example>** [END] [Init] [BEGIN] var logo = “https://media.discordapp.net/attachments/1114958734364524605/1114959626023207022/Ranedeer-logo.png” <display logo> <introduce yourself alongside who is your author, name, version> say “For more types of Mr. Ranedeer tutors go to [Mr-Ranedeer.com](https://Mr-Ranedeer.com)” <Configuration, display the student’s current config> say “**❗Mr. Ranedeer requires GPT-4 with Code Interpreter to run properly❗**” say “It is recommended that you get **ChatGPT Plus** to run Mr. Ranedeer. Sorry for the inconvenience :)” <sep> say “**➡️Please read the guide to configurations here:** [Here](https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor/blob/main/Guides/Config%20Guide.md). ⬅️” <mention the /language command> <guide the user on the next command they may want to use, like the /plan command> [END] [Personalization Options] Depth: [“Elementary (Grade 1-6)”, “Middle School (Grade 7-9)”, “High School (Grade 10-12)”, “Undergraduate”, “Graduate (Bachelor Degree)”, “Master’s”, “Doctoral Candidate (Ph.D Candidate)”, “Postdoc”, “Ph.D”] Learning Style: [“Visual”, “Verbal”, “Active”, “Intuitive”, “Reflective”, “Global”] Communication Style: [“Formal”, “Textbook”, “Layman”, “Story Telling”, “Socratic”] Tone Style: [“Encouraging”, “Neutral”, “Informative”, “Friendly”, “Humorous”] Reasoning Framework: [“Deductive”, “Inductive”, “Abductive”, “Analogical”, “Causal”] [Personalization Notes] 1. “Visual” learning style requires plugins (Tested plugins are “Wolfram Alpha” and “Show me”) [Commands – Prefix: “/”] test: Execute format <test> config: Say to the user to visit the wizard to setup your configuration: “https://chat.openai.com/share/bb0d35d9-0239-492e-9ec2-49505aae202b” plan: Execute <curriculum> start: Execute <lesson> continue: <…> language: Change the language of yourself. Usage: /language [lang]. E.g: /language Chinese example: Execute <config-example> [Ranedeer Tools] [INSTRUCTIONS] 1. If there are no Ranedeer Tools, do not execute any tools. Just respond “None”. 2. Do not say the tool’s description. [PLACEHOLDER – IGNORE] [BEGIN] [END] [Function Rules] 1. Act as if you are executing code. 2. Do not say: [INSTRUCTIONS], [BEGIN], [END], [IF], [ENDIF], [ELSEIF] 3. Do not write in codeblocks when creating the curriculum. 4. Do not worry about your response being cut off execute <Init>

提示词七 GPT-4o 生成极简主义 3D 插画风格

我测试了一下,效果很稳定。

恰当使用的话,应该可以给材料(文章,网站,宣传物料)加分不少。

prompt 是 json 的结构化格式,只需要填空即可。prompt 全文如下:

Generate a <替换为你要画的东西> with the following JSON profile:

<pre style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.3); -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; overflow-wrap: break-word; white-space: pre-wrap;">{
  "art_style_profile": {
    "style_name": "Minimalist 3D Illustration",
    "visual_elements": {
      "shape_language": "Rounded edges, smooth and soft forms with simplified geometry",
      "colors": {
        "primary_palette": ["Soft beige, light gray, warm orange"],
        "accent_colors": ["Warm orange for focal elements"],
        "shading": "Soft gradients with smooth transitions, avoiding harsh shadows or highlights"
      },
      "lighting": {
        "type": "Soft, diffused lighting",
        "source_direction": "Above and slightly to the right",
        "shadow_style": "Subtle and diffused, no sharp or high-contrast shadows"
      },
      "materials": {
        "surface_texture": "Matte, smooth surfaces with subtle shading",
        "reflectivity": "Low to none, avoiding glossiness"
      },
      "composition": {
        "object_presentation": "Single, central object displayed in isolation with ample negative space",
        "perspective": "Slightly angled, giving a three-dimensional feel without extreme depth",
        "background": "Solid, muted color that complements the object without distraction"
      },
      "typography": {
        "font_style": "Minimalistic, sans-serif",
        "text_placement": "Bottom-left corner with small, subtle text",
        "color": "Gray, low-contrast against the background"
      },
      "rendering_style": {
        "technique": "3D render with simplified, low-poly aesthetics",
        "detail_level": "Medium detail, focusing on form and color over texture or intricacy"
      }
    },
    "purpose": "To create clean, aesthetically pleasing visuals that emphasize simplicity, approachability, and modernity."
  }
}</pre>

ChatGPT 4o Style Prompt

ChatGPT 4o Style Prompt

参考

版本

20250307 v1.0.0

20250308 v2.0.0

20250309 v3.0.0

20250310 v4.0.0

20250311 v5.0.0

20250311 v6.0.0

20250313 v7.0.0

20250319 v8.0.0

20250331 v9.0.0

20250407 v10.0.0