思维链(CoT)提示是在 Wei 等人(2022)中引入的,它通过中间推理步骤实现了复杂的推理能力。您可以将其与少样本提示相结合,以获得更好的结果,以便在回答之前进行推理的更复杂的任务。
写提示词时,结构化框架具有层级清晰、可读性好、结构可扩展性强、格式和语义一致性便于迭代、debug 和维护等优势。但更重要的是它的思维链,包括 Role(角色)、Profile(角色简介)、Profile 下的 skill(角色技能)、Rules(角色要遵守的规则)、Workflow(满足上述条件的角色的工作流程)、Initialization(进行正式开始工作的初始化准备)等模块。
在使用结构化框架时,要明白每个模块存在的意义,根据实际需求扩展特定结构模块,避免硬凑语句。同时,要注重 Prompt 性能的提升,确保清晰、简明、有效、统一。
此外,了解 Transformers 的原理,如自注意力机制等,有助于根据原理优化 Prompt。您可以参考刘海的「思维链 COT」Prompt 技巧教程,详细阅读如何优化 Prompt。
图片来源:[Wei等人(2022)(opens in a new tab)](https://arxiv.org/abs/2201.11903)在[Wei等人(2022)(opens in a new tab)](https://arxiv.org/abs/2201.11903)中引入的链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力。您可以将其与少样本提示相结合,以获得更好的结果,以便在回答之前进行推理的更复杂的任务。提示:输出:哇!我们可以看到在提供推理步骤时得到了完美的结果。实际上,我们可以通过提供更少的示例来解决此任务,即仅一个示例似乎就足够了:提示:输出:请记住,作者声称这是足够大的语言模型才会出现的新兴能力。
最近的确看到很多朋友发布了大量的结构化提示词。在我看来,结构化提示词有它明确的优势:层级清晰,不论是对用户还是对大模型,它的可读性都更好一些结构可扩展性强,可以随时根据自己整体Prompt的需求扩展自己的特定结构模块格式和语义的一致性,便于迭代、debug和维护但结构化更重要的是它的思维链:Role(角色)-> Profile(角色简介)—> Profile下的skill(角色技能)-> Rules(角色要遵守的规则)-> Workflow(满足上述条件的角色的工作流程)-> Initialization(进行正式开始工作的初始化准备)->开始实际使用在这个认知前提下,首先要明白每个模块必须存在的意义,如果不需要增设新的模块,就不必增设,更不提倡看到别人的框架中出现一个新的模块名称就强行加入自己的模板,为此硬凑语句进去。要知道结构化框架的提出,最大的意义在于对Prompt性能的提升作用,核心是清晰、简明、有效、统一。我见过只有Role+ skills + constrains三个模块但是运行非常稳定,生成内容准确的Prompt我也见过同时具备:Role + Profile + Background + Goals + Skills + Constrains + Workflow + Definition + OutputFormat + Example + Suggestions + Initialization
简而言之,就是ChatGPT这类大语言模型是怎么一个字一个字的预测并输出的。具体搜一下B站了解下,例如:https://www.bilibili.com/video/BV1uu4y1m7ak/大概能说得上来就好,像什么自注意力机制,过程怎么计算,最好还能根据Transformers的原理来优化你的Prompt,这在我的「思维链COT」Prompt技巧教程中有针对性的设计,你可以详细阅读参考下怎么去优化你的Prompt:[刘海:HaiPro の Prompt](https://waytoagi.feishu.cn/wiki/Dor2wc2FviY3q3kgSuScJrkhngg?create_from=create_doc_to_wiki)