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对话的沟通技巧
版权声明:本文标题:99%的普通人不会用的AI沟通术:揭秘我与AI对话的沟通技巧 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747711918a2207424.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论