目录:

  • 1、提示工程简介
  • 2、如何写好提示词
    • 2.1 描述清晰
    • 2.2 角色扮演
    • 2.3 提供示例
    • 2.4 复杂任务分解
    • 2.5 使用格式符区分语义
    • 2.6 情感和物质激励
    • 2.7 使用英语
    • 2.8 结构化提示词

1、提示工程简介


1.1 什么是Prompt 提示词?

  • 不论是文生图应用,还是 GPT文生文的应用,都是 prompt 输入模型,模型给出结果。所以我们今天谈的所谓 prompt,就是指模型的输入
  • Prompt:为模型提供输入,用以引导AI模型其生成特定的输出。

1.2 什么是Prompt Engineering提示工程?

  • Prompt Engineering:是一种人工智能(AI)技术,它通过设计和改进 AI 的 prompt 来提高 AI 的表现。
  • Prompt Engineering 的目标是创建高度有效和可控的 AI 系统,使其能够准确、可靠地执行特定任务。
  • 因为人类的语言从根本上说是不精确的,目前机器还没法很好地理解人类说的话,所以才会出现 PE 这个技术。

  • 另外,受制于目前大语言模型 AI 的实现原理,部分逻辑运算问题,需要额外对 AI 进行提示。

  • 另外,目前的 AI 产品还比较早期,因为各种原因,产品设置了很多限制,如果你想要绕过一些限制,或者更好地发挥 AI 的能力,也需要用到 Prompt Engineering 技术。

  • 如下:左图右图 prompt 基本是一样的,差别只在提示工程这个词是否用中英文表达。我们看到,一词之差,回答质量天壤之别。为了获得理想的模型结果,我们需要调整设计提示词,这也就是所谓的提示工程

所以,总的来说,Prompt Engineering 是一种重要的 AI 技术:

  • 如果你是 AI 产品用户,可以通过这个技术,充分发挥 AI 产品的能力,获得更好的体验,从而提高工作效率。
  • 如果你是产品设计师,或者研发人员,你可以通过它来设计和改进 AI 系统的提示,从而提高 AI 系统的性能和准确性,为用户带来更好的 AI 体验。

1.3 Prompt 再理解 

  • 一个广泛的理解误区就是将 prompt 简单理解为自己精心设计的那一小段提示词,而忽略了prompt 的其他来源 。
  • 我们用输入法做个类比,第一张图片中的 “春眠” 是我们的输入,“不觉晓” 是模型输出,所以 “春眠” 是 Prompt。
  • 到了第二张图片, “春眠不觉晓” 是模型输入(“不觉晓”是模型前一轮的输出),“处处闻啼鸟” 是模型输出,所以 “春眠不觉晓” 是 Prompt。
  • prompt 的来源可以是我们的预设 prompt,也可以是用户的输入,甚至模型自己之前的输出也是 prompt。
  • 所以,要用好大模型能力,我们应意识到:“所有会被模型用于预测输出结果的内容,都是 Prompt”。

1.4 为什么提示工程很重要?提示词是调用大模型能力的接口

  • 从模型原理出发去理解 prompt, 它无处不在,Prompt 是调用大模型能力的接口,是用好大模型能力的核心,所以非常重要。
  • 在 LLM 应用的开发和性能优化过程中,我们可以看到提示工程贯穿始终。

  • 一切 LLM 应用推荐先从 prompt 工程着手建立原型,作为我们性能优化的基石。
  • 若 prompt 工程无法满足实际需求,再分析性能瓶颈原因,采取进一步策略。比如通过 RAG 构造更好的模型输入,所以 RAG 本质上也是一种 prompt 工程。
  • 如果要使用微调,通过 prompt 工程构造高质量的微调数据更是微调成功的关键。
  • 很多朋友希望做垂直领域大模型,也需要通过 prompt 工程(或结合 RAG )先获取第一批高质量输入输出数据,然后微调模型。
  • 模型性能提升后,数据质量进一步提升,将更优质的数据用于模型训练,然后更好的模型产出更好的数据,如此构建正向迭代循环(也称数据飞轮),其中每个环节都离不开好的提示工程。

2、如何写好提示词


2.0 六大原则(OpenAI官方)

  • 最为推荐的是阅读 OpenAI 官方的提示工程文档,这里我也总结成了思维导图,一共六大原则,下面还有不少的小点,就不展开细讲了。
  • 只讲一点,给模型“思考” 时间,是大家很容易误解的原则。它不是真的指让模型慢慢思考,给出答案,实际上侧重点在于让模型一步步思考,给出过程,最终得到答案,就像我们做数学题一样,给出计算过程后再给结果,能够提高结果的正确度。
  • OpenAI 文档:https://platform.openai.com/docs

2.1  描述清晰

那么怎么写好提示词,我们的答案是实践。

  • 第一点,清晰地描述是最重要的,能做到这一点,能够解决 80% 的问题。

  • 上图展示了一个我们与华硕校园的合作案例,当你第一次接触 GPT 的时候,不妨让 GPT 给你写一首诗吧,试着调整格式,调整诗歌体裁,再到提高内容质量,在这个过程中体会到对大模型的掌控感。

2.2 角色扮演

  • 对当前的基于角色的模型而言十分有效,能够明显提高内容质量。在网上铺天盖地的基于角色的提示词被编写出来用于大模型训练以后,又加强了这一技巧的有效性。

2.3 提供示例

  • 提供示例,尤其是在需要复刻文案结构和风格的场景下,多提供几个高质量示例

2.4 复杂任务分解

  • 复杂任务分解。分为人去分解和使用模型分解两个方面。如果有成熟的 sop 或者你有自己的思路,就复用 sop 你自己分解 。如果没有,让模型自动分解,给出过程。 CoT 思维链也是一种模型自动分解的方法。

2.5 使用格式符区分语义

  • 使用良好的格式,能大大避免由于语义歧义、冲突的导致的性能问题,markdown格式为我们的推荐格式。
  • 测试:文心一言效果最好

2.6 情感和物质激励

  • 情感和物质激励。情感激励有点类似情感 PUA那一套,物质激励则指给AI 小费这类技巧。一句话,对人的高情商那一套,对 AI 也很有效。示例可以参考前面的提供示例部分的内容。

2.7 使用英语

  • 仅仅是将一个词使用了英文代替,前后的回答就天差地别。

2.8 结构化提示词

  • 相比一般提示词,将提示词这一作文题变为填空题,编写门槛降低的同时,更加清晰和强大

2.9 小结

结合我们的探索和思考,我们认为提示词具有无限可能。

这里借用 Transformer 论文的一个句式, Prompt is All You Need!原因主要为以下三点:

  • 1. 提示工程本质是人机沟通的艺术,只要我们人类自己仍在学习怎么高情商表达交流,人机如何更好的交互就会继续存在。
  • 2. 从调用大模型能力的接口,提示工程转变为调用**大模型生态能力**的接口。我们现在已经从调用单个大模型能力转为调用多个大模型能力(如 GPT+ DALLE), 从调用 AI 模型能力转为调用 AI+工具的能力(如 GPT+代码环境),随着未来 Agents 的生态进一步完善,我们可以使用提示词调用以 LLM 为大脑的 Agents 生态。
  • 3、提示工程的局限性,它的天花板,会随着大模型能力的进化,各种工具的接入,如 GPTs 等被 OpenAI 这些大模型公司不断拉高,具备更多更大的可能性。也许始于提示工程、终于提示工程是对大模型应用最好的答案,唯一的局限性在于我们对提示词的理解和实践是否足够深刻。

需要学习 PE 吗?

  • 现在 AI 的发展还比较早期,了解和学习 PE 价值相对比较大,但长远来看可能会被淘汰。这个「长远」可能是 3 年,亦或者 1 年。
  • 从用户的角度看,我认为学习 prompt 可以让你更好地使用 ChatGPT 等产品。
  • 从产品的角度看,对于用户来说,我认为 prompt 会是个短期过度形态,未来肯定会有更友好的交互形式,或者理解能力更强的 AI 产品。

思考


Markdown格式的长文本Prompt提示词并不适用于生产环境,因为消耗了过多的Tokens,这对于成本计算来说无异于是一个很现实的问题。目前我也在研究通过关键词提炼,去大篇幅优化不必要的词汇,达到预期效果,共同去探索Prompt的进阶优化。

参考资料


大模型_2:Prompt Engineering的更多相关文章

  1. Java 内存模型_2

    title: Java 内存模型_2 date: 2017-01-28 02:04:06 tags: [JMM] categories: [Programming,Java] --- Why 理解 J ...

  2. 华为高级研究员谢凌曦:下一代AI将走向何方?盘古大模型探路之旅

    摘要:为了更深入理解千亿参数的盘古大模型,华为云社区采访到了华为云EI盘古团队高级研究员谢凌曦.谢博士以非常通俗的方式为我们娓娓道来了盘古大模型研发的"前世今生",以及它背后的艰难 ...

  3. 文心大模型api使用

    文心大模型api使用 首先,我们要获取硅谷社区的连个key 复制两个api备用 获取Access Token 获取access_token示例代码 之后就会输出 作文创作 作文创作:作文创作接口基于文 ...

  4. 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00

    武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...

  5. PowerDesigner 学习:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  6. PowerDesigner 15学习笔记:十大模型及五大分类

    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...

  7. AI大模型学习了解

    # 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...

  8. 千亿参数开源大模型 BLOOM 背后的技术

    假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...

  9. DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

    DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍 1. 概述 近日来,ChatGPT及类似模型引发了人工智能(AI)领域的一场风潮. 这场风潮对数字世 ...

  10. 图神经网络之预训练大模型结合:ERNIESage在链接预测任务应用

    1.ERNIESage运行实例介绍(1.8x版本) 本项目原链接:https://aistudio.baidu.com/aistudio/projectdetail/5097085?contribut ...

随机推荐

  1. quartus中的时序约束常用方法

    quartus中的时序约束常用方法 一.约束操作 quartus中有三种时序约束方法: 1️⃣Timing Setting 2️⃣Wizards/Timing Wizard 3️⃣Assignment ...

  2. KingbaseES Insert On Conflict 功能

    针对数据写入时有主键冲突的情况,INSERT ON CONFLICT语法可以将冲突主键的INSERT行为转换为UPDATE行为,从而实现冲突主键的覆盖写入.该特性又称UPSERT覆盖写,与MySQL的 ...

  3. 优先队列(PriorityQueue)

    > 此代码是在最大堆的基础上二次封装,请先阅读底层代码MaxHeap 优先队列 普通队列:先进先出:后进后出 优先队列:出队顺序和⼊入队顺序无关:和优先级相关: 为什么使用堆 代码清单 Queu ...

  4. 今晚战码先锋润和赛道第2期直播丨如何参与OpenHarmony代码贡献

    「OpenHarmony 开源贡献者计划 2022」战"码"先锋 PR 征集,"润和赛道"已于6月15日正式开启.套件在手.先机在握,更有润和软件的超多赋能和专 ...

  5. 华为终端云服务牵手Likee,助力其用户与变现双增长

    如今,社交媒体越来越深入人们的生活,改变了人们沟通方式的同时,也塑造着全新的人际关系和品牌形象.为了迎合用户多样化的需求和提升用户体验, 社交媒体行业的新老企业不断追逐着新技术和新功能.据调查机构Da ...

  6. 一图读懂HUAWEI HiAI Foundation

    作为华为端侧AI的创新开放平台,HMS Core的HUAWEI HiAI Foundation开放AI算力,助力AI应用高效开发,同时联合多领域打造AI生态,实现日调用600亿次的突破,助力AI生态繁 ...

  7. failed to push some refs to xxxx

    ***************ssh  秘钥上传远程仓库 1. 添加远程仓库ssh 命令   git remote add origin  git@github.com:ThreeNut/zou.gi ...

  8. 记一次 .NET某炉膛锅炉检测系统 崩溃分析

    一:背景 1. 讲故事 上个月有个朋友在微信上找到我,说他们的软件在客户那边隔几天就要崩溃一次,一直都没有找到原因,让我帮忙看下怎么回事,确实工控类的软件环境复杂难搞,朋友手上有一个崩溃的dump,刚 ...

  9. Qt 从 QTransform 逆向解出 Translate/Scale/Rotate(平移/缩放/旋转)分析

    QTransform 用于图形绘制,它定义了如何平移(translate).缩放(scale).切变(shear).旋转(rotate)或投射(project)坐标系.注意:QTransform 是作 ...

  10. Windows代理配合Burp抓取客户端+小程序数据包

    "感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!"  在渗透测 ...