提示词库/填空即用的框架/如何写好结构化 Prompt ? 如何写好结构化 Prompt ?
中文exp-2729未验证
当我们在谈 Prompt 的结构的时候,我们在谈什么?
当我们构建结构化 Prompt 的时候,我们在构建什么?什么是真正重要的事情?
### 构建全局思维链
对大模型的 Prompt 应用CoT 思维链方法的有效性是被研究和实践广泛证明了的。
**一个好的结构化 Prompt 模板,某种意义上是构建了一个好的全局思维链。** 如 LangGPT 中展示的模板设计时就考虑了如下思维链:
> Role (角色) -> Profile(角色简介)—> Profile 下的 skill (角色技能) -> Rules (角色要遵守的规则) -> Workflow (满足上述条件的角色的工作流程) -> Initialization (进行正式开始工作的初始化准备) -> 开始实际使用
一个好的 Prompt ,内容结构上最好也是逻辑清晰连贯的。**结构化 prompt 方法将久经考验的逻辑思维链路融入了结构中,大大降低了思维链路的构建难度。**
构建 Prompt 时,不妨参考优质模板的全局思维链路,熟练掌握后,完全可以对其进行增删改留调整得到一个适合自己使用的模板。例如当你需要控制输出格式,尤其是需要格式化输出时,完全可以增加 `Ouput` 或者 `OutputFormat` 这样的模块(可参考附录中的 AutoGPT 模板)。例如即友 [李继刚](https://web.okjike.com/u/752D3103-1107-43A0-BA49-20EC29D09E36) 就构建了很多结构化 Prompt,其他修改同理。
### 保持上下文语义一致性
包含两个方面,一个是**格式语义一致性**,一个是**内容语义一致性**。
**格式语义一致性是指标识符的标识功能前后一致。** 最好不要混用,比如 `#` 既用于标识标题,又用于标识变量这种行为就造成了前后不一致,这会对模型识别 Prompt 的层级结构造成干扰。
**内容语义一致性是指思维链路上的属性词语义合适。** 例如 LangGPT 中的 `Profile` 属性词,原来是 Features,但实践+思考后我更换为了 `Profile`,使之功能更加明确:即角色的简历。结构化 Prompt 思想被诸多朋友广泛使用后衍生出了许许多多的模板,但基本都保留了 `Profile` 的诸多设计,说明其设计是成功有效的。
为什么前期会用 Features 呢?因为 LangGPT 的结构化思想有受到 [AI-Tutor](https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor) 项目很大启发,而 AI-Tutor 项目中并无 `Profile` 一说,与之功能近似的是 `Features`。但 AI-Tutor 项目中的提示词过于复杂,并不通用。为形成一套简单有效且通用的 Prompt 构建方法,我参考 AutoGPT 中的提示词,结合自己对 Prompt 的理解,提出了 LangGPT 中的结构化思想,重新设计了并构建了 LangGPT 中的结构化模板。
**内容语义一致性还包括属性词和相应模块内容的语义一致。** 例如 `Rules` 部分是角色需要遵守规则,则不宜将角色技能、描述大量堆砌在此。
### 有机结合其他 Prompt 技巧
结构化 Prompt 编写思想是一种方法,与其他例如 CoT, ToT, Think step by step 等技巧和方法并不冲突,构建高质量 Prompt 时,将这些方法结合使用,结构化方式能够更便于各个技巧间的协同组织,例如 [刘海同学](https://ywh1bkansf.feishu.cn/wiki/Dor2wc2FviY3q3kgSuScJrkhngg) 就将 CoT 方法融合到结构化 Prompt 中编写提示词。
从 prompting 的角度有哪些方法可以提高大模型在复杂任务上的性能表现呢?
汇总现有的一些方法:
1. 细节法:给出更清晰的指令,包含更多具体的细节
2. 分解法:将复杂的任务分解为更简单的子任务 (Let's think step by step, CoT,LangChain等思想)
3. 记忆法:构建指令使模型时刻记住任务,确保不偏离任务解决路径(system 级 prompt)
4. 解释法:让模型在回答之前进行解释,说明理由 (CoT 等方法)
5. 投票法:让模型给出多个结果,然后使用模型选择最佳结果 (ToT 等方法)
6. 示例法:提供一个或多个具体例子,提供输入输出示例 (one-shot, few-shot 等方法)
上面这些方法最好结合使用,以实现在复杂任务中实现使用不可靠工具(LLMs)构建可靠系统的目标。
> 原文: https://www.zhihu.com/pin/1661516375779852288
复制后粘贴到 AI 对话框发送,本次对话全程生效
出处:LangGPT(结构化提示词方法论) · github.com/langgptai/LangGPT · 可信度 B · 标签:中文 / 提示词工程 / 长上下文 / 角色扮演 / 框架 怎么用(对话型)复制后粘贴到对话框发送,本次对话全程生效。想长期用:支持自定义指令的产品(设置→个性化)可设为默认。