Gooale官方提示工程(PromptEnqineering)白皮书作者:LeeBoonstra翻译:宝玉(https://baoyuic)提示工程(PromptEngineering)2024年9月(September2024)致谢(Acknowledaements)审阅者与贡献者(ReviewersandContributorsMichaelShermanYuanCaoErickArmbrustAnant NawalqariaAntonioGulliSimoneCamme策划者与编辑(Curators andEditors)AntonioGulliAnantNawalgariaGraceMollison技术作者(TechnicalWriter)Joey Haymaker设计师(Designer)MichaelLanning这份白皮书的完成得益于众多专家的协作和贡献。审阅者、贡献者、策划者、编辑、技术作者和设计师等不同角色的参与,体现了在人工智能领域创建高质量技术文档所涉及的多方面努力和严谨的开发审查流程。这表明,尽管提示工程的概念相对容易理解但其有效实践和知识传播仍需结构化的方法和清晰的呈现,反映了该领域日益增长的重要性和复杂性。目录(Table ofcontents)引言(Introduction)提示工程(Promptengineering)LLM输出配置(LLM output configuration)o输出长度(Outputlength),o(#采样控制-sampling-controls)(#温度-temperature)(#top-k-和-top-p-top-k-and-top-p)
0综合运用(Puttingit all together)提示技巧(Prompting techniques)10通用提示/雾样本(Generalprompting/zeroshot,单样本&少样本(One-shot&few-shot(#系统上下文和角色提示-system-contextual-and-role-prompting?(#系统提示-system-prompting)(#角色提示-role-prompting)上下文提示(Contextualprompting)(#回退提示-steo-back-promptina(#思维链-chain-of-thought-cot)(#自我一致性-self-consistency),(#思维树-tree-of-thouahts---foty(#react-推理与行动--reason-act)0自动提示工程(AutomaticPrompt Engineering-APE,代码提示(Codeoromotina)编写代码的提示(Promotsforwritinacodel解释代码的提示(Prompts for explaining code)翻译代码的提示(Promptsfortranslatingcode)调试和审查代码的提示(Promotsfordebuaging and reviewing code)那么,多模态提示呢?(What aboutmultimodal promptina?,(#最佳实践-best-practices)提供示例(Provideexamoles)简洁设计(Design with simplicity)(#具体说明输出-be-specific-about-the-output使用指令而非约束(Use Instructions over Constraints,控制最大令牌长度(Controlthe max tokenlength,在提示中使用变量(Usevariablesin prompts尝试不同的输入格式和写作风格(Experiment with input formats and writingstvles对于带分类任务的少样本提示,混合类别(Forfew-shotoromotina withclassification tasks, mixuothe classest适应模型更新(Adapt tomodel updates尝试不同的输出格式(Experiment with output formats)与其他提示工程师一起实验(Experiment together with otherpromptenqineers(#cot一最佳实践-cot-best-practices)记录各种提示尝试(Documentthe various prompt attempts(#总结-summary)尾注(Endnotes)
这份目录清晰地展示了白皮书的结构:从基础概念(引言、基础知识)入手,深入探讨具体技术(从雾样本到ReAct),酒盖关键应用(代码),提及未来方向(多模态),并以实用建议(最佳实践)收尾。这种教学式的结构有助于读者理解信息的流向和内容的组织方式。从基础配置和零样本提示,到复杂的推理技术如CoT、ToT和ReAct.这种递进关系表明,要实现高级LLM应用,需要掌握越来越复杂的技巧。将"代码提示"作为一个主要部分,突显了LLM在软件开发中的重要性。"最佳实践"占有相当大的篇幅,则强调了该领域的经验性和迭代性特点!引言(Introduction)在探讨大型语言模型(LLM)的输入与输出时,文本提示(有时伴随图像等其他模本|是档型用于预测特定输出的输入形式"。编写提示并非数据科学家或机器学习工程师的专利任何人都可以进行。然而,构建最高效的提示可能相当复杂。提示的有效性受到诸多因素的影响:所使用的模型、模型的训练数据、模型配置、措辞选择、风格语调、结构以及上下文都至关重要。因此,提示工程是一个迭代的过程。不恰当的提示可能导致模糊、不准确的响应,并阻碍模型提供有意义输出的能力...