admin管理员组

文章数量:1031232

99%的普通人不会用的AI沟通术:揭秘我与AI对话的沟通技巧

本篇文章来源于Google,作者Lee Boonstra,排版编辑绛烨。

Prompt Engineering(提示工程)作为与 LLM 交互的关键技术,正逐渐成为连接人类需求与模型能力的桥梁。

本文将深入探讨 Prompt Engineering 的奥秘,通过丰富的示例,帮助读者快速掌握这一技术,解锁 LLM 的无限潜能。

本篇文章来源于Google,作者Lee Boonstra。

一、Prompt Engineering 简介

Prompt Engineering 是一门专注于设计和优化输入提示(prompt),以引导大型语言模型生成高质量输出的学问。它并非高不可攀的黑科技,而是每个人都可以掌握的技能。无论是初学者还是资深开发者,都能通过精心设计的提示,让 LLM 为各种任务提供精准、高效的解决方案。

二、LLM 输出配置:掌控生成结果的关键

在深入探讨提示工程之前,我们先要了解 LLM 的输出配置,这些配置选项如同调节器,能够精细地控制模型的输出行为。

(一)输出长度:平衡成本与效率

输出长度决定了模型生成文本的长短。较短的输出虽然能快速响应,但可能无法满足复杂任务的需求;而过长的输出则会增加计算成本和响应时间。

例如,在进行文本摘要任务时,我们只需设置较短的输出长度,让模型提炼出关键信息;而在撰写长篇报告时,则需要适当增加输出长度,以确保内容的完整性和详细性。

(二)采样控制:调节随机性与确定性

采样控制涉及温度(temperature)、top-K 和 top-P 三个参数,它们共同决定了模型生成文本的随机性和多样性。

  • 温度:温度值越低,模型生成的结果越确定,适合那些有唯一正确答案的任务,如数学计算;而较高的温度则会使输出更具随机性和创造性,适用于创意写作等场景。
  • top-K 和 top-P:top-K 限制了模型在生成下一个词时考虑的候选词数量,较高的 top-K 值使输出更丰富多样;top-P 则根据候选词的概率分布来选择,较低的 top-P 值倾向于选择高概率的词,使输出更稳定。

三、Prompting Techniques:多样化的提示策略

为了更好地利用 LLM,研究者们开发了多种提示技巧,这些技巧能够针对不同的任务和需求,引导模型生成更准确、更有针对性的输出。

(一)零样本提示(Zero-shot Prompting)

零样本提示是最基础的提示方式,它仅向模型提供任务描述和相关文本,而不提供任何示例。这种方法简单直接,适用于那些模型已经具备相关知识的任务。

例如,我们可以让模型对电影评论进行情感分类,只需给出分类任务的描述和评论文本,模型就能根据其训练数据生成情感标签。

(二)单样本与多样本提示(One-shot & Few-shot Prompting)

当零样本提示无法满足需求时,我们可以引入单样本或多个样本作为示例。单样本提示提供一个示例,帮助模型理解任务的结构和期望的输出格式;而多样本提示则通过多个示例,让模型学习到任务的模式和规律。

例如,在解析披萨订单的任务中,通过提供几个不同格式的订单示例及其对应的 JSON 格式输出,模型能够学习到如何将新的订单文本转换为正确的 JSON 格式。

(三)常见提示词技巧

系统提示(System Prompting)

系统提示用于设定模型的整体任务和目标,为模型提供宏观的指导。

例如,我们可以要求模型以 JSON 格式返回电影评论的情感分类结果,这样不仅使输出更加结构化,还能减少模型的“幻觉”现象。

角色提示(Role Prompting)

通过为模型分配特定的角色,如旅行指南、教师等,使其生成符合该角色风格和知识背景的文本。

比如,当模型扮演旅行指南时,它会根据用户的位置和兴趣,推荐相应的旅游景点,并以幽默、风趣的风格呈现。

上下文提示(Contextual Prompting)

上下文提示则为模型提供了当前任务的具体背景信息,帮助模型更准确地理解用户的需求。

例如,在撰写关于复古游戏的博客文章时,通过提供复古游戏的相关背景,模型能够生成更贴合主题的文章主题和内容描述。

后退提示(Step-back Prompting):

后退提示是一种先让模型思考与具体任务相关的更广泛问题,再将答案作为上下文输入到具体任务提示中的方法。这种方法能够激活模型的相关背景知识和推理过程,从而生成更准确、深入的结果。

例如,在创作一款第一人称射击游戏的关卡剧情时,先让模型思考哪些主题可以使游戏更具挑战性和吸引力,再将这些主题作为背景,让模型创作具体的剧情。

链式思考(Chain of Thought, CoT)

链式思考通过引导模型生成中间推理步骤,提高其推理能力。

例如,在解决数学问题时,让模型逐步解释每个步骤的计算过程,而不是直接给出答案。这种方法不仅能够提高模型的准确性,还能让我们更好地理解模型的思考过程。

自我一致性(Self-consistency)

自我一致性通过多次生成不同的推理路径,并选择出现频率最高的答案,提高模型输出的准确性和一致性。

例如,在对电子邮件进行分类时,通过多次运行模型并比较不同输出,选择最一致的分类结果。

树状思考(Tree of Thoughts, ToT)

树状思考进一步扩展了链式思考,允许模型同时探索多个不同的推理路径,形成一个推理树。这种方法特别适合复杂的任务,能够更全面地考虑问题的各种可能性。

反应式提示(ReAct)

反应式提示结合了推理和行动,使模型能够通过调用外部工具(如搜索、代码解释器等)来获取信息并解决问题。

例如,让模型查询 Metallica 乐队成员的孩子数量,模型会通过搜索获取相关信息,并逐步推理出最终答案。

四、代码提示:编程开发的得力助手

除了文本生成任务,LLM 还能在代码编写方面提供强大的支持。我们可以通过设计合适的提示,让模型帮助我们编写代码、解释代码、翻译代码以及调试和审查代码。

(一)编写代码

当需要快速生成一段代码来完成特定任务时,如批量重命名文件夹中的文件,我们可以向模型提供任务描述和相关要求,模型就能生成相应的代码片段。

例如,使用 Bash 脚本实现文件重命名的功能,模型生成的代码不仅逻辑清晰,还包含了必要的注释,方便我们理解和使用。

(二)解释代码

在团队开发中,理解他人编写的代码是一项常见任务。我们可以将代码片段提供给模型,并要求其解释代码的功能和实现过程。

模型能够详细地分析代码的每一部分,帮助我们快速掌握代码的逻辑。

(三)翻译代码

在某些情况下,我们需要将代码从一种编程语言转换为另一种语言。模型能够理解不同编程语言的语法和逻辑,将给定的代码翻译成目标语言的代码片段。

例如,将 Bash 脚本翻译为 Python 脚本,模型生成的 Python 代码能够实现与原 Bash 脚本相同的功能。

(四)调试和审查代码

当代码出现错误或需要优化时,我们可以将有问题的代码和错误信息提供给模型,让其帮助我们定位问题并提出解决方案。

模型不仅能够指出错误所在,还能提供改进代码的建议,使代码更加健壮和高效。

五、Best Practices:提示工程的最佳实践

为了更好地掌握提示工程,提高模型的输出质量,以下是一些经过验证的最佳实践:

(一)提供示例

在提示中提供示例是提高模型准确性的关键。示例能够为模型提供明确的参考,使其更好地理解任务的要求和期望的输出格式。

(二)保持简洁

提示应该简洁明了,避免使用复杂的语言和不必要的信息。清晰的提示更容易被模型理解和处理,从而生成更准确的结果。

(三)明确指定输出

明确指定期望的输出格式和内容,能够帮助模型更准确地聚焦于任务的关键点,减少无关信息的生成。

(四)使用指令而非约束

尽量使用积极的指令来引导模型,而不是过多地限制其输出。指令能够直接传达我们的需求,而约束可能会使模型感到困惑,限制其创造力。

(五)控制最大令牌长度

根据任务需求合理设置最大令牌长度,既能保证输出的完整性,又能避免不必要的计算成本。

(六)使用变量

在提示中使用变量可以使提示更具动态性和通用性,方便我们在不同场景下重复使用提示。

(七)实验不同的输入格式和写作风格

不同的模型和配置可能会对提示的格式和写作风格产生不同的反应。因此,我们需要不断尝试和调整提示的格式、词汇选择和写作风格,以找到最适合当前任务和模型的组合。

(八)混合分类任务中的类别

在进行分类任务时,确保在示例中混合不同类别的样本,避免模型过度依赖样本的顺序,从而提高模型的泛化能力。

(九)适应模型更新

随着模型的不断更新和改进,我们需要及时调整和优化提示,以充分利用新模型的特性和能力。

(十)实验不同的输出格式

尝试使用结构化的输出格式(如 JSON 或 XML)来组织模型的输出,这不仅能够提高数据的可读性和可用性,还能减少模型的“幻觉”现象。

(十一)修复 JSON

当使用 JSON 格式作为输出时,可能会遇到由于令牌限制而导致的 JSON 截断问题。这时,可以使用专门的工具(如 json-repair 库)来修复不完整的 JSON 数据,确保输出的完整性和可用性。

(十二)使用模式

为模型提供 JSON 模式(Schema),能够帮助模型更好地理解输入数据的结构和类型,从而生成更准确、更有针对性的输出。

(十三)与其他提示工程师合作

与其他提示工程师合作,共同探讨和实验不同的提示策略,可以激发更多的创意和灵感,提高提示的效果。

(十四)记录提示尝试

详细记录每次提示的尝试,包括提示的内容、模型的配置、输出结果等,这有助于我们分析和总结经验教训,不断优化提示策略。

六、总结

Prompt Engineering 作为与大型语言模型交互的重要技术,为我们提供了一种强大的工具,能够充分发挥模型的潜力,解决各种复杂的问题。通过深入了解 LLM 的输出配置,掌握多样化的提示技巧,并遵循最佳实践,我们能够设计出高质量的提示,引导模型生成准确、有用的结果。

无论是在文本生成、代码编写还是其他领域,Prompt Engineering 都将为我们带来更多的可能性和创新。

参考:

1. Google, 2023, Gemini at Google. Available at: .

2. Google, 2024, Gemini for Google Workspace Prompt Guide. Available at:

.html.

3. Google Cloud, 2023, Introduction to Prompting. Available at:

.

4. Google Cloud, 2023, Text Model Request Body: Top-P & top-K sampling methods. Available at:

.

5. Wei, J., et al., 2023, Zero Shot - Fine Tuned language models are zero shot learners. Available at: .01852.pdf.

6. Google Cloud, 2023, Google Cloud Model Garden. Available at:

.

7. Brown, T., et al., 2023, Few Shot - Language Models are Few Shot learners. Available at:

.11165.pdf.

8. Zheng, L., et al., 2023, Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models. Available at: .

9. Wei, J., et al., 2023, Chain of Thought Prompting. Available at:

.11903.pdf.

10. Google Cloud Platform, 2023, Chain of Thought and React. Available at:

.ipynb.

11. Wang, X., et al., 2023, Self Consistency Improves Chain of Thought reasoning in language models. Available at: .11711.pdf.

12. Yao, S., et al., 2023, Tree of Thoughts: Deliberate Problem Solving with Large Language Models. Available at: .10661.pdf.

13. Wei, S., et al., 2023, React: Synergizing Reasoning and Acting in Language Models. Available at: .03629.pdf.

14. Google Cloud Platform, 2023, Advance Prompting: Chain of Thought and React. Available at:

.ipynb.

15. Zhou, C., et al., 2023, Automatic Prompt Engineering - Large Language Models are Human-Level Prompt Engineers. Available at: .0910.pdf.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-11,如有侵权请联系 cloudcommunity@tencent 删除配置优化技巧脚本模型

99%的普通人不会用的AI沟通术:揭秘我与AI对话的沟通技巧

本篇文章来源于Google,作者Lee Boonstra,排版编辑绛烨。

Prompt Engineering(提示工程)作为与 LLM 交互的关键技术,正逐渐成为连接人类需求与模型能力的桥梁。

本文将深入探讨 Prompt Engineering 的奥秘,通过丰富的示例,帮助读者快速掌握这一技术,解锁 LLM 的无限潜能。

本篇文章来源于Google,作者Lee Boonstra。

一、Prompt Engineering 简介

Prompt Engineering 是一门专注于设计和优化输入提示(prompt),以引导大型语言模型生成高质量输出的学问。它并非高不可攀的黑科技,而是每个人都可以掌握的技能。无论是初学者还是资深开发者,都能通过精心设计的提示,让 LLM 为各种任务提供精准、高效的解决方案。

二、LLM 输出配置:掌控生成结果的关键

在深入探讨提示工程之前,我们先要了解 LLM 的输出配置,这些配置选项如同调节器,能够精细地控制模型的输出行为。

(一)输出长度:平衡成本与效率

输出长度决定了模型生成文本的长短。较短的输出虽然能快速响应,但可能无法满足复杂任务的需求;而过长的输出则会增加计算成本和响应时间。

例如,在进行文本摘要任务时,我们只需设置较短的输出长度,让模型提炼出关键信息;而在撰写长篇报告时,则需要适当增加输出长度,以确保内容的完整性和详细性。

(二)采样控制:调节随机性与确定性

采样控制涉及温度(temperature)、top-K 和 top-P 三个参数,它们共同决定了模型生成文本的随机性和多样性。

  • 温度:温度值越低,模型生成的结果越确定,适合那些有唯一正确答案的任务,如数学计算;而较高的温度则会使输出更具随机性和创造性,适用于创意写作等场景。
  • top-K 和 top-P:top-K 限制了模型在生成下一个词时考虑的候选词数量,较高的 top-K 值使输出更丰富多样;top-P 则根据候选词的概率分布来选择,较低的 top-P 值倾向于选择高概率的词,使输出更稳定。

三、Prompting Techniques:多样化的提示策略

为了更好地利用 LLM,研究者们开发了多种提示技巧,这些技巧能够针对不同的任务和需求,引导模型生成更准确、更有针对性的输出。

(一)零样本提示(Zero-shot Prompting)

零样本提示是最基础的提示方式,它仅向模型提供任务描述和相关文本,而不提供任何示例。这种方法简单直接,适用于那些模型已经具备相关知识的任务。

例如,我们可以让模型对电影评论进行情感分类,只需给出分类任务的描述和评论文本,模型就能根据其训练数据生成情感标签。

(二)单样本与多样本提示(One-shot & Few-shot Prompting)

当零样本提示无法满足需求时,我们可以引入单样本或多个样本作为示例。单样本提示提供一个示例,帮助模型理解任务的结构和期望的输出格式;而多样本提示则通过多个示例,让模型学习到任务的模式和规律。

例如,在解析披萨订单的任务中,通过提供几个不同格式的订单示例及其对应的 JSON 格式输出,模型能够学习到如何将新的订单文本转换为正确的 JSON 格式。

(三)常见提示词技巧

系统提示(System Prompting)

系统提示用于设定模型的整体任务和目标,为模型提供宏观的指导。

例如,我们可以要求模型以 JSON 格式返回电影评论的情感分类结果,这样不仅使输出更加结构化,还能减少模型的“幻觉”现象。

角色提示(Role Prompting)

通过为模型分配特定的角色,如旅行指南、教师等,使其生成符合该角色风格和知识背景的文本。

比如,当模型扮演旅行指南时,它会根据用户的位置和兴趣,推荐相应的旅游景点,并以幽默、风趣的风格呈现。

上下文提示(Contextual Prompting)

上下文提示则为模型提供了当前任务的具体背景信息,帮助模型更准确地理解用户的需求。

例如,在撰写关于复古游戏的博客文章时,通过提供复古游戏的相关背景,模型能够生成更贴合主题的文章主题和内容描述。

后退提示(Step-back Prompting):

后退提示是一种先让模型思考与具体任务相关的更广泛问题,再将答案作为上下文输入到具体任务提示中的方法。这种方法能够激活模型的相关背景知识和推理过程,从而生成更准确、深入的结果。

例如,在创作一款第一人称射击游戏的关卡剧情时,先让模型思考哪些主题可以使游戏更具挑战性和吸引力,再将这些主题作为背景,让模型创作具体的剧情。

链式思考(Chain of Thought, CoT)

链式思考通过引导模型生成中间推理步骤,提高其推理能力。

例如,在解决数学问题时,让模型逐步解释每个步骤的计算过程,而不是直接给出答案。这种方法不仅能够提高模型的准确性,还能让我们更好地理解模型的思考过程。

自我一致性(Self-consistency)

自我一致性通过多次生成不同的推理路径,并选择出现频率最高的答案,提高模型输出的准确性和一致性。

例如,在对电子邮件进行分类时,通过多次运行模型并比较不同输出,选择最一致的分类结果。

树状思考(Tree of Thoughts, ToT)

树状思考进一步扩展了链式思考,允许模型同时探索多个不同的推理路径,形成一个推理树。这种方法特别适合复杂的任务,能够更全面地考虑问题的各种可能性。

反应式提示(ReAct)

反应式提示结合了推理和行动,使模型能够通过调用外部工具(如搜索、代码解释器等)来获取信息并解决问题。

例如,让模型查询 Metallica 乐队成员的孩子数量,模型会通过搜索获取相关信息,并逐步推理出最终答案。

四、代码提示:编程开发的得力助手

除了文本生成任务,LLM 还能在代码编写方面提供强大的支持。我们可以通过设计合适的提示,让模型帮助我们编写代码、解释代码、翻译代码以及调试和审查代码。

(一)编写代码

当需要快速生成一段代码来完成特定任务时,如批量重命名文件夹中的文件,我们可以向模型提供任务描述和相关要求,模型就能生成相应的代码片段。

例如,使用 Bash 脚本实现文件重命名的功能,模型生成的代码不仅逻辑清晰,还包含了必要的注释,方便我们理解和使用。

(二)解释代码

在团队开发中,理解他人编写的代码是一项常见任务。我们可以将代码片段提供给模型,并要求其解释代码的功能和实现过程。

模型能够详细地分析代码的每一部分,帮助我们快速掌握代码的逻辑。

(三)翻译代码

在某些情况下,我们需要将代码从一种编程语言转换为另一种语言。模型能够理解不同编程语言的语法和逻辑,将给定的代码翻译成目标语言的代码片段。

例如,将 Bash 脚本翻译为 Python 脚本,模型生成的 Python 代码能够实现与原 Bash 脚本相同的功能。

(四)调试和审查代码

当代码出现错误或需要优化时,我们可以将有问题的代码和错误信息提供给模型,让其帮助我们定位问题并提出解决方案。

模型不仅能够指出错误所在,还能提供改进代码的建议,使代码更加健壮和高效。

五、Best Practices:提示工程的最佳实践

为了更好地掌握提示工程,提高模型的输出质量,以下是一些经过验证的最佳实践:

(一)提供示例

在提示中提供示例是提高模型准确性的关键。示例能够为模型提供明确的参考,使其更好地理解任务的要求和期望的输出格式。

(二)保持简洁

提示应该简洁明了,避免使用复杂的语言和不必要的信息。清晰的提示更容易被模型理解和处理,从而生成更准确的结果。

(三)明确指定输出

明确指定期望的输出格式和内容,能够帮助模型更准确地聚焦于任务的关键点,减少无关信息的生成。

(四)使用指令而非约束

尽量使用积极的指令来引导模型,而不是过多地限制其输出。指令能够直接传达我们的需求,而约束可能会使模型感到困惑,限制其创造力。

(五)控制最大令牌长度

根据任务需求合理设置最大令牌长度,既能保证输出的完整性,又能避免不必要的计算成本。

(六)使用变量

在提示中使用变量可以使提示更具动态性和通用性,方便我们在不同场景下重复使用提示。

(七)实验不同的输入格式和写作风格

不同的模型和配置可能会对提示的格式和写作风格产生不同的反应。因此,我们需要不断尝试和调整提示的格式、词汇选择和写作风格,以找到最适合当前任务和模型的组合。

(八)混合分类任务中的类别

在进行分类任务时,确保在示例中混合不同类别的样本,避免模型过度依赖样本的顺序,从而提高模型的泛化能力。

(九)适应模型更新

随着模型的不断更新和改进,我们需要及时调整和优化提示,以充分利用新模型的特性和能力。

(十)实验不同的输出格式

尝试使用结构化的输出格式(如 JSON 或 XML)来组织模型的输出,这不仅能够提高数据的可读性和可用性,还能减少模型的“幻觉”现象。

(十一)修复 JSON

当使用 JSON 格式作为输出时,可能会遇到由于令牌限制而导致的 JSON 截断问题。这时,可以使用专门的工具(如 json-repair 库)来修复不完整的 JSON 数据,确保输出的完整性和可用性。

(十二)使用模式

为模型提供 JSON 模式(Schema),能够帮助模型更好地理解输入数据的结构和类型,从而生成更准确、更有针对性的输出。

(十三)与其他提示工程师合作

与其他提示工程师合作,共同探讨和实验不同的提示策略,可以激发更多的创意和灵感,提高提示的效果。

(十四)记录提示尝试

详细记录每次提示的尝试,包括提示的内容、模型的配置、输出结果等,这有助于我们分析和总结经验教训,不断优化提示策略。

六、总结

Prompt Engineering 作为与大型语言模型交互的重要技术,为我们提供了一种强大的工具,能够充分发挥模型的潜力,解决各种复杂的问题。通过深入了解 LLM 的输出配置,掌握多样化的提示技巧,并遵循最佳实践,我们能够设计出高质量的提示,引导模型生成准确、有用的结果。

无论是在文本生成、代码编写还是其他领域,Prompt Engineering 都将为我们带来更多的可能性和创新。

参考:

1. Google, 2023, Gemini at Google. Available at: .

2. Google, 2024, Gemini for Google Workspace Prompt Guide. Available at:

.html.

3. Google Cloud, 2023, Introduction to Prompting. Available at:

.

4. Google Cloud, 2023, Text Model Request Body: Top-P & top-K sampling methods. Available at:

.

5. Wei, J., et al., 2023, Zero Shot - Fine Tuned language models are zero shot learners. Available at: .01852.pdf.

6. Google Cloud, 2023, Google Cloud Model Garden. Available at:

.

7. Brown, T., et al., 2023, Few Shot - Language Models are Few Shot learners. Available at:

.11165.pdf.

8. Zheng, L., et al., 2023, Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models. Available at: .

9. Wei, J., et al., 2023, Chain of Thought Prompting. Available at:

.11903.pdf.

10. Google Cloud Platform, 2023, Chain of Thought and React. Available at:

.ipynb.

11. Wang, X., et al., 2023, Self Consistency Improves Chain of Thought reasoning in language models. Available at: .11711.pdf.

12. Yao, S., et al., 2023, Tree of Thoughts: Deliberate Problem Solving with Large Language Models. Available at: .10661.pdf.

13. Wei, S., et al., 2023, React: Synergizing Reasoning and Acting in Language Models. Available at: .03629.pdf.

14. Google Cloud Platform, 2023, Advance Prompting: Chain of Thought and React. Available at:

.ipynb.

15. Zhou, C., et al., 2023, Automatic Prompt Engineering - Large Language Models are Human-Level Prompt Engineers. Available at: .0910.pdf.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-11,如有侵权请联系 cloudcommunity@tencent 删除配置优化技巧脚本模型

本文标签: 99的普通人不会用的AI沟通术揭秘我与AI对话的沟通技巧