提示词工程:如何发挥大模型的最大潜能?

提示词工程(Prompt Engineering)是实现“人模交互”的关键。随着生成式人工智能(Generative AI)工具的兴起,与AI进行有效沟通已成为一项日益重要的技能。或许大家都知道这一点,但真正掌握提示词技巧,或者愿意去学提示词工程的,其实少之又少。很多人都在等着大模型足够优秀,甚至不需要你开口,就能够体察入微,满足你的需要。我在这里可以负责任地说:这恐怕永远是天方夜谭。虽然有人说提示词工程可能会退居幕后,但懂不懂提示词工程,仍然像是否有独立的生存技能一样重要。

通常提示词可以被视为与您的AI助理进行对话的开端。通过精心设计的输入,即“提示词”(prompt),您可以改进大语言模型的响应并获得所需的结果

有效提示词的关键要素 

撰写有效的提示词,考虑以下四个主要方面是最重要的:

  • 角色 (Persona):为AI指定一个角色有助于指导其生成具有特定视角或风格的响应。您可以让AI扮演旅行指南者、广告公司创意部门负责人等角色。
  • 任务 (Task):清晰地说明您希望AI执行的具体任务。例如,撰写电子邮件、创建摘要、生成列表或起草文档。
  • 上下文 (Context):提供必要的背景信息,以便AI更好地理解您的需求并生成相关且准确的输出。上下文可以包括相关文件(通过 @ 文件名引用)、用户反馈 或特定场景描述。
  • 格式 (Format):指定您期望的输出格式,例如电子邮件、列表、表格、段落、特定字符数限制或文本风格。

撰写有效提示词的技巧 

除了以上四个核心要素,还有一些实用的提示词撰写技巧很有帮助:

  • 直接了当:清楚地表达您需要什么,而不仅仅是最终目标,还包括生成结果所需的“氛围”。
  • 使用指令而非约束:明确地指导模型应该做什么或产生什么,而不是列出它不应该做什么。这更符合人类偏好积极指令的方式。
  • 控制最大Token长度:通过指定输出的字符数或长度限制来控制模型生成的内容量,这在有字符限制的场景中非常有用。
  • 使用变量:在提示词中识别并使用变量部分,以实现更广泛的应用范围。
  • 实验不同的输入格式和写作风格:尝试将提示词表达为问题、陈述或指令,并实验不同的风格、词汇选择和提示词类型(如零样本、少样本)。
  • 分解复杂任务:如果您希望AI执行多个相关任务,最好将其分解为一系列更简单的提示词。
  • 要求反馈:在与AI对话时,可以要求AI提出问题,以帮助其提供最佳输出。
  • 考虑语气:根据目标受众调整提示词,并要求输出具有特定的语气,如正式、非正式、技术性、创意或随意。
  • 迭代和改进:如果初次结果不符合预期,可以通过修改提示词(例如,换一种说法、重复关键词、指定格式、探索同义词)进行多次迭代和优化。迭代审查和改进通常能带来更好的结果。
  • 记录尝试:记录您尝试过的各种提示词,特别是对于构建检索增强生成(RAG)系统等复杂应用时。

提示词类型和技术 

常见的提示词类型和技术包括:

  • 零样本提示词 (Zero-shot Prompting):这是最简单的提示词类型,不向模型提供任何示例,只提供指令和一些上下文。您可以将指令表达为问题或赋予模型一个“角色”。
  • 带示例提示词 (Prompting with examples)
  • 单样本提示词 (One-shot Prompting):向模型展示一个清晰、具有描述性的示例,让模型模仿。这有助于模型捕捉结果的特征。
  • 少样本提示词 (Few-shot Prompting):向模型展示多个示例。对于需要复制模式或输出需要特定结构的复杂任务,少样本提示词效果更好。在进行分类任务时,最好将示例中的类别混合排列,而不是固定顺序,以避免模型学习到不正确的模式。
  • 多样本提示词 (Multi-shot Prompting):提供比少样本更多的示例,适用于更复杂的提示词。
  • 思维链提示词 (Chain-of-Thought, CoT):鼓励大语言模型解释其推理过程。将其与少样本提示词结合使用,可以提高在需要推理的复杂任务上的结果。对于只有标准答案的问题,可以将温度设置为0。
  • 零样本思维链 (Zero-shot CoT):在零样本提示词中加入“让我们一步一步思考”(Let's think step by step)的指令。这可以让模型生成推理链,通常也能得到更准确的答案。
  • 回退提示词 (Iterative Prompting):这是一种通过逐步与模型对话来细化结果的技术。首先使用一个通用提示词获得初步结果,然后将该结果作为上下文或基础,进一步与模型对话,逐步缩小范围,直至获得想要的精确结果。
  • 自我一致性 (Self-Consistency):一种推理用法,可能涉及让模型从多个推理路径中选择最一致的结果,有助于处理主观判断或易出错的任务。
  • 思维树 (Tree of Thoughts, KOT):一种理论概念,模型探索多个分支的推理路径以找到最优结果。
  • 推理和行动 (React):主要用于涉及编码和行动的场景。
  • 自动提示词工程:利用自动化技术来生成或优化提示词。
  • 控制输出参数 

    大语言模型的输出可以通过一些参数进行控制,特别是在通过API交互时。重要的参数包括:

    • 温度 (Temperature):控制输出的创造性或随机性。它的值介于0到1之间。值越大,模型的联想范围越广,创造性越强,但也可能导致输出不够连贯。将值设置在中间(如0.5)可以让结果更温和,不至于过于发散。
    • Top K (Top K):限制模型只从概率最高的 K 个Token 中进行采样。
    • Top P (Top P):从概率最高的 Token 集合中进行采样,直到它们的累积概率达到 P。

    温度、Top K 和 Top P 可以组合使用,它们之间的相互影响比较复杂,需要不断测试和调整才能获得最佳结果。

    值得注意的是,Google Bard 曾提及一些实验性的“flags”(如 –size, –temperature, –format 等)可以在提示词末尾使用来设置参数,但这并不是公开宣称的功能。

    举例:在Google Workspace中的应用 

    本文主要参考谷歌的提示词白皮书(链接在文末),因此以下以谷歌的应用作为例子进行案例介绍。

    Gemini for Google Workspace 将生成式AI集成到您常用的工具中。这使得在 Docs、Sheets、Gmail、Slides 等应用中直接利用提示词提高效率成为可能。例如,您可以使用提示词来:

    • 起草电子邮件。
    • 撰写文档内容(如备忘录、新闻稿、博客文章)。
    • 总结信息。
    • 整理数据(如创建表格、清理电子表格)。
    • 生成创意(如标志想法、营销活动标语、博客主题、社交媒体帖子)。
    • 创建模板(如客户沟通、面试问题、项目状态更新)。
    • 进行研究(如客户市场策略、热门话题、用户反馈)。
    • 辅助会议(如自动笔记)。
    • 创建演示文稿图片。

    不同角色的用户(如客服、高管、人力资源、市场、项目管理、销售、小型企业主、创业领导者)都可以利用提示词来简化日常工作并提升效率。

    审查AI的输出 

    尽管生成式AI功能强大且令人兴奋,但它仍然是新事物,有时可能会产生不可预测的响应。在使用 Gemini for Workspace 的输出之前,务必审查其清晰度、相关性和准确性。请记住,生成式AI是为了帮助人类,但最终的输出责任在于您。Gemini for Workspace 可能会犯错,包括关于人的错误。

    提示词工程是通用的吗? 

    严格说来:不是。即不同能力的大模型对提示词的敏感度是不一样的。但是当今大模型已经发展到一个接近成熟的状态,因此提示词工程(Prompt Engineering)既具有通用性,也与特定的大模型密切相关。通过精心设计的输入提示,可议引导大多数大型语言模型(LLM)生成期望输出的技术。虽然许多提示技巧在不同模型间具有一定的适用性,但由于各模型的架构、训练数据和能力差异,提示词工程在实践中往往需要针对具体模型进行调整和优化。

    提示词工程的核心原则在多个大模型之间是通用的,主要包括:

    1. 角色设定(Role Prompting):通过赋予模型特定的身份或角色,如“你是一位资深法律顾问”,可以引导模型生成更符合预期的回答。
    2. 思维链提示(Chain-of-Thought Prompting):鼓励模型逐步推理,例如使用“让我们一步步思考”,有助于提高复杂任务的解答质量。
    3. 少样本学习(Few-Shot Prompting):提供少量示例,帮助模型理解任务格式和预期输出。
    4. 明确指令与约束:通过清晰的指令和限制条件,如“请用不超过100字的语言总结以下内容”,可以提高模型响应的准确性和相关性。

    这些方法在多个模型中均表现出良好的效果,体现了提示词工程的通用性。

    与特定大模型的关联性 

    尽管存在通用原则,提示词工程在实际应用中仍需考虑特定模型的特性:

    • 模型架构差异:不同模型(如GPT-4、Claude、Gemini等)在理解能力、上下文处理和输出风格上存在差异,导致相同的提示在不同模型上可能产生不同的结果。
    • 接口和输入格式:某些模型支持系统消息、函数调用等特定功能,提示设计需适应这些接口特性。
    • 训练数据和知识范围:模型的训练数据决定了其知识覆盖范围,提示词需考虑模型可能的知识盲区。

    因此,提示词工程在实践中需要针对具体模型进行调整,以发挥模型的最佳性能。

    提示词工程的未来趋势 

    随着大模型能力的提升,提示词工程也在不断演进:

    • 自动提示生成:大模型的意图识别和理解力已经有很大提升,因此模型自身通常能够生成或优化相当好的提示词,尽可能减少人工干预。未来的各类大模型应用,特别是智能体应用,提示词更无需人工操作,通常都是根据上下文环境自动生成的,
    • 多模态提示:随着模型处理多种数据类型的能力增强,提示词工程将扩展到图像、音频等多模态输入。
    • 提示词模板化和模块化:开发通用的提示词模板,便于在不同任务和模型间复用和调整。

    这些趋势表明,提示词工程将继续在提升大模型应用效果方面发挥关键作用。

    正因为有这样的趋势,很多人认为提示词工程将不再重要,甚至消失,但正像我们需要对大模型的透明度、可解释性和可靠性进行监控审计一样,提示词工程永远是“人模交互“的重要手段,掌握它就等于掌握了开启大模型的钥匙,还是无比重要的。

    总结 

    提示词工程既有通用的方法论,也需针对特定大模型进行定制化设计。掌握提示词工程的核心原则,并结合具体模型的特点进行优化,是有效利用大模型的关键。随着技术的发展,提示词工程将继续演进,为大模型的应用提供更强有力的支持。

    提示词工程是一项正在不断发展的技能。学习如何撰写有效的提示词可以帮助您更好地与AI协作,事半功倍地获得想要的结果。它正逐渐成为在AI领域工作和生活中所需的一项基本技能,也是未来AI素养重要组成甚至主要内容。多加实践、不断尝试和改进提示词,您将能够充分释放AI的潜力,做到”人模合体“,真正成为AI时代与”狼“共舞之人,占领先机,无往而不胜。

    本文主要参考《谷歌官方提示词工程白皮书》:https://www.gptaiflow.tech/assets/files/2025-01-18-pdf-1-TechAI-Goolge-whitepaper_Prompt%20Engineering_v4-af36dcc7a49bb7269a58b1c9b89a8ae1.pdf



    留下评论