AI大模型系列:编写高质量提示(prompt)的实践技巧
AI大模型系列专栏
文章收录于AI大模型系列专栏
- 文明基石,文字与数字的起源与演变
- 自然语言处理,从规则到统计的演变
- AI魔法师,提示工程的力量
- 编写高质量提示(prompt)的小技巧
- 编写高质量提示(prompt)的实践技巧
编写高质量提示(prompt)的实践技巧
引言
在上一篇《编写高质量提示(prompt)的小技巧》篇章中,我们深入解析了构建高效提示的工艺流程,涵盖了需求拆解、模板化及流程化的艺术,借此揭示了如何打造出既高效又质量上乘的提示指令。这好比为利用人工智能(AI)大模型配备了精良的兵器库,但武器的威力还需恰当的运用方能显现。同样地,人际沟通中若信息模糊,需求表述不明,会令双方陷入困扰,影响情绪与效率。与AI大模型交互时,清晰精准的指示更是至关重要,它直接关乎到能否收获满意的结果。
在日常生活工作中,如果双方在交流过程时表达含糊、对需求描述不清不楚,那么彼此双方就会倍感痛苦。这样不仅会影响交流双方彼此的心情,还会影响对需求的理解和产出。我们在和AI大模型交流的过程如果表达含糊、不能清楚地描述需求,那么我们也无法在AI大模型那里得到满意的答案。
为了优化与AI的对话质量,确保其准确无误地理解并响应我们的需求,我们需遵循一套策略:明确背景、设定角色身份(立人设)、确立目标与关键成果(OKR)、以及回顾总结(复盘)。以下是这些步骤的详尽阐释:
明确背景
尽管AI模型具有强大的学习能力,它却无法直观理解我们的需求,如同人际沟通中的心理隔阂。为此,我们需明确告知其背景、目的,就像与新朋友建立信任一样。所以我们在与之对话之前,就得告诉他需求的背景如何、我们是谁和都有哪些参与方等等。澄清背景就是阐述需求的宏观背景和微观场景,让AI大模型得到充分的上下文和背景信息,帮助其更准确的理解我们的需求。
分析背景
要想弄清楚需求的背景是什么,是一个相当耗费精力的事情。我们可以借助《编写高质量提示(prompt)的小技巧》文章中拆解需求章节提到的使用动态规划的基本思路和分治法来拆分需求,首先将复杂需求划分为若干个子需求,每个子需求相对于整体需求来说都要简单一些并且相对独立;然后通过分析和处理这些子需求,逐步明确整个需求,最后再将已经解决处理的子需求重新合并最终澄清整个需求。
如果嫌自己按照上述过程来分析背景比较麻烦和耗费精力,那么我们不妨把这个分析背景的需求交给AI大模型,让他来帮助我们分析背景,提炼需求背后的本质。如下,让AI大模型帮助我们分析“我想去徒步”需求:
👧提问:
1、目标说明:
- 接下来,请根据以下目标,从不同方面拆解问题背景,并分析解决此问题所需的信息。
- 完成分析后,请提出一系列问题,以获取达成目标所需的背景信息。
2、任务要求:
- 目标:我要去户外徒步,需要做哪些准备?
- 请根据此目标,至少从以下方面进行问题拆解:徒步目的地和路线、徒步时间、天气条件、个人健康状况、徒步经验、装备和物资。
- 针对每个方面,提出至少3个具体问题,以便全面了解背景信息。
🤖回答:
1、徒步目的地和路线方面:
- 您计划去哪里徒步?是山区、森林、沙漠还是其他地形?
- 徒步的路线规划是什么?是否需要穿越某些特殊地形或地区?
- 徒步的预计总距离是多少?预计需要多长时间完成?2、徒步时间方面:
- 您计划在什么时间开始和结束徒步活动?
- 徒步活动预计持续多长时间?
- 您是否考虑过在当地进行的活动或景点,以及这些活动或景点的时间安排?3、天气条件方面:
- 您徒步期间当地的天气预报如何?是否有极端天气情况?
- 您是否了解该地区的气候特点,例如温度、湿度、降雨概率等?
- 您是否考虑过在不同天气条件下如何应对和保护自己?4、个人健康状况方面:
- 您目前的健康状况如何?是否有任何疾病或受伤?
- 您是否经常进行徒步活动?是否适应长时间徒步?
- 您是否对某些特定环境或物质有过敏反应?5、徒步经验方面:
- 您有多少徒步经验?是否曾经走过类似的路线?
- 您是否了解基本的野外生存技能,例如地图阅读、野外定位、急救等?
- 您是否熟悉徒步活动中的安全措施和注意事项?6、装备和物资方面:
- 您计划携带哪些装备和物资?是否满足徒步活动的需求?
- 您是否了解该地区的特殊要求或限制,例如露营设备、食物、水等?
- 您是否考虑过如何处理垃圾和废物,以及如何保护环境?通过以上问题,可以全面了解背景信息,从而为您提供更准确和全面的徒步准备建议。
通过上述示例可以发现,AI大模型可以通过提出问题来获取背景信息,这样一来我们就能专注于解决需求本身,而不用花费大量时间和精力去分析需求的背景。
丰富背景
无论是人为的拆分需求分析背景,还是使用AI大模型帮助分析需求背景,都只是粗糙未经过细化的点子,所以我们还需要进一步细化分析得到的背景。细化的过程中一来可以借助人类与生俱来的直觉、二来可以借助后天养成的经验,直觉和经验双管齐下一起丰富背景,提供一些参考意见:
- 需求的环境背景:提供环境背景,如行业、技术领域、业务范围等。
- 相关知识或信息:包括解决问题所需技能、概念、术语、已知限制或约束等。
- 我们的立场:明确身份和期望。
立人设
我们提到某个人在某个领域扮演的角色时,其实就是在表述他拥有怎样的能力和需要遵守怎样的规范等。例如,作为一个优秀的英语老师,那么他在教学时就应该深入浅出,培养学生学习英语的兴趣和激发其积极性。所以我们在澄清背景后,就需要针对需求再给AI大模型立个人设,让其在垂直领域中专心应答。
立人设的底层逻辑是让AI大模型扮演一位特定的角色,专注于提供对应专业领域内相关问题的解决方案,同时少胡话。我们可以通过提出你是谁、你能做什么和怎么做三个问题来明确人设:
- 你是谁,根据你想解决的问题,想一个合适的角色名称。比如你想解决“语言翻译”的问题,就可以赋予TA“高级翻译”或者“语言学习专家”这样的角色。
- 你能做什么,清晰地告诉AI大模型这个角色可以解决哪些问题和拥有哪些技能。
- 怎么做,指导AI大模型如何与用户进行有效的互动,如人为列出要求或者允许AI大模型提问。
制定OKR
OKR(Objectives and Key Results,目标与关键结果)是一种目标管理方法,起源于硅谷,被很多公司,包括Google、Intel等国际知名企业所采用。OKR的核心思想是通过设置明确的目标(Objectives)和与之对应的关键结果(Key Results),来确保团队和个人在工作和日常活动中保持一致的方向,并能够有效地衡量进度和成果。
定义目标是为了表达我们希望实现什么,而定义关键结果则是为了让AI大模型知道实现目标所需要可度量的内容。
设计目标
目标是对希望实现的具体成果的简洁描述,即告诉AI大模型需要生成怎样的内容。通常只要你清楚地知道你的需求和你想要的是什么,那么就可以很容易地制定出这个目标。既然有了目标那么就需要将其编码成AI大模型能读懂的文字,可以借助以下几个原则来进行编码:
- 清晰明确,需要清晰明确、有理有条的表述目标,只有清晰明确的目标才能让AI大模型更懂得如何做。比如,“写一篇文章”和“写一篇关于××的科幻剧本”,这两个目标相比明显后一个要比前一个更清晰明确。
- 合适的范围和难度,一个好的目标应该是简洁、易于理解,并且是力所能及能实现的。
- 简洁的文字,使用简洁的文字来描述目标,让AI大模型能抓住关键和直面核心。
设计关键结果
关键结果是一系列用于衡量目标实现程度的定量指标。关键结果应当是具体的、有时限的,并且是可度量的。甚至可在某些关键结果上设定数量或百分比要求,亦或为关键结果设定质量标准,如“回答中的理论需要是学术领域的共识,并有权威的来源”等。
复盘
我们在和AI大模型交流过程中,有时候他生成的答案并不是我们所期望的。为了得到满意的答案,我们就需要不断地复盘改进编写的提示。在使用AI大模型的过程中,我们可能会遇到三种情况:第一种是提示给得不够清楚;第二种是AI大模型做得不好或回答有错误;第三种是运气不好遇到糟糕的答案。
- 模糊的提示,可以从答案的不理想之处着手进行针对性地改进,但大致逃不出改进背景、角色、目标和修改关键结果这几个方向。
- 改进背景:检查提供给AI大模型的提示中的背景信息是否充足。
- 改进人设:检查人设信息是否合理,引导是否具体,必要时可考虑更换角色。
- 改进OKR:检查设计的目标和关键结果是否合理,可以针对性增删改关键结果。
- 错误的答案,在提示足够好的前提下,AI大模型依旧给出不理想的答案,那么我们可以尝试多和AI大模型交流几次,在交流的过程中补充不足和指出错误,引导其给出期望的答案。
- 糟糕的答案,多换几个AI大模型多问几次,让他们卷起来,我们优中选优。
小结
本文通过分析AI大模型的提示工程,从需求分析、背景澄清、人设构建、OKR设定到复盘等多个维度,提供了与AI有效交互的实用策略。通过这一系列策略,我们不仅能提升与AI交流的效率,还能确保需求被准确理解与满足,让智能工具发挥其最大潜能。
相关文章:

AI大模型系列:编写高质量提示(prompt)的实践技巧
AI大模型系列专栏 文章收录于AI大模型系列专栏 文明基石,文字与数字的起源与演变自然语言处理,从规则到统计的演变AI魔法师,提示工程的力量编写高质量提示(prompt)的小技巧编写高质量提示(prompt…...

汽车EDI:安通林Antolin EDI 项目案例
安通林(Antolin)是一家全球性的汽车零部件制造商,专注于汽车内饰系统和零部件的生产,致力于创新和采用先进的技术。近年来 安通林Antolin 推动其供应商部署EDI系统,使得双方能够通过EDI传输业务单据,极大提…...

今日arXiv最热NLP大模型论文:揭露大语言模型短板,北京大学提出事件推理测试基准
人工智能领域又一里程碑时刻!北京大学、北京智源人工智能研究院等机构联合推出大型事件推理评测基准 。这是首个同时在知识和推理层面全面评估大模型事件推理能力的数据集。 总所周知,事件推理需要丰富的事件知识和强大的推理能力,涉及多种推…...

windows系统安装Ubuntu子系统
安装前先在 控制面板 中打开 程序与功能选项 ,点击 启用或关闭Windows功能: 勾选 适用于 Linux的Windows子系统 和 虚拟机平台 、 Hyper-v 。 重启电脑后再 Microsoft Store Windows应用商店 中下载合适的Ubuntu版本。 运行Ubuntu程序,如出现…...

电脑复制和粘贴的时候会出现Hello!
电脑不管是Microsoft Excel还是Microsoft Word复制之后粘贴过来就出现HELLO,当复制粘贴文件的时候就会出现WINFILE; 具体现象看下面两个图片: 这是因为winfile 文件病毒(幽灵蠕虫病毒),每月的28号发作; 症状…...

AI新视界:探索Baidu Comate的前沿科技
前言 Baidu Comate(智能代码助手)是基于文心大模型,结合百度积累多年的编程现场大数据和外部优秀开源数据,打造的新一代编码辅助工具。拥有代码智能、场景丰富、创造价值、广泛应用等多重产品优势,可实现“帮你想、帮…...

唐山知识付费系统搭建教程,女性创业难吗?2017十佳女性创业故事:黑科技创业“女神”
女性创业难吗?2017十佳女性创业故事:黑科技创业“女神”!创业似乎一直是一个比较热门的话题,女性创业也是一个很有争议的问题。女性创业难吗?看看2017十佳女性创业故事:黑科技创业“女神”。 阿里研究院、中国企业家木兰汇、阿里巴巴创新中…...

Hotcoin Research | 模块化将是大势所趋:拆解模块化区块链的现状和未来
关于模块化区块链叙事的讨论源于Celestia和其代币TIA的亮眼表现。实际上,模块化是未来区块链设计的主要发展方向和大势所趋。模块化区块链就像乐高积木一样,将区块链系统拆分为可重用的模块,通过定制组合可实现不同功能的区块链网络。这种灵活…...

Unity VR在编辑器下开启Quest3透视(PassThrough)功能
现在有个需求是PC端串流在某些特定时候需要开启透视。我研究了两天发现一些坑,记录一下方便查阅,也给没踩坑的朋友一些思路方案。 先说结论,如果要打PC端或者在Unity编辑器中开启,那么OpenXR当前是不行的可能还需要一个长期的过程,必须需要切换到Oculus。当然Unity官方指…...

使用 git rebase 还是 git merge,优缺点
在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? - 知乎 看一下gerrit的模式 永远rebase 绝对禁用merge 每一个commit都是一个完整的功能 保持清晰直观的提交历史 所以,main 分支是万万不能使用 rebase 的!&#…...

李飞飞团队 AI4S 最新洞察:16 项创新技术汇总,覆盖生物/材料/医疗/问诊……
不久前,斯坦福大学 Human-Center Artificial Intelligence (HAI) 研究中心重磅发布了《2024年人工智能指数报告》。 作为斯坦福 HAI 的第七部力作,这份报告长达 502 页,全面追踪了 2023 年全球人工智能的发展趋势。相比往年,扩大了…...

springboot整合rabbitmq的不同工作模式理解
前提是已经安装并启动了rabbitmq,并且项目已经引入rabbitmq,完成了配置。 不同模式所需参数不同,生产者可以根据参数不同使用重载的convertAndSend方法。而消费者均是直接监听某个队列。 不同的交换机是实现不同工作模式的关键组件.每种交换…...

Ansible(二)
一、Playbook基础 1.1 Playbook定义 Playbook其实是Ansible服务的一个配置文件,Ansible使用Playbook的YAML语言配置编写成操作需求,实现对远端主机或策略部署,实现对远端主机的控制与管理。 1.2 Playbook组成 Tasks:任务&…...

【linux】linux工具使用
这一章完全可以和前两篇文件归类在一起,可以选择放一起看哦 http://t.csdnimg.cn/aNaAg http://t.csdnimg.cn/gkJx7 拖更好久了,抱歉,让我偷了会懒 1. 自动化构建工具 make , makefile make 是一个命令,makefile 是一个文件&…...

Docker需要代理下载镜像
systemctl status docker查看docker的状态和配置文件是/usr/lib/systemd/system/docker.service vi /usr/lib/systemd/system/docker.service, 增加如下配置项 [Service] Environment"HTTP_PROXYhttp://proxy.example.com:8080" "HTTPS_PROXYhttp:…...

Debian操作系统简史
一,起源和初衷 Debian项目始于1993年,由Ian Murdock发起,他当时是普渡大学的一名学生。Debian的名字来源于Ian Murdock和他的妻子Debra的组合。Debian的核心理念是创建一个完全自由的操作系统,它遵循严格的自由软件指导原则。 二…...

课堂练习——路由策略
需求:将1.1.1.0/24网段重发布到网络中,不允许出现次优路径,实现全网可达。 在R1上重发布1.1.1.0/24网段,但是需要过滤192.168.12.0/24和192.168.13.0/24在R2和R3上执行双向重发布 因为R1引入的域外路由信息的优先级为150ÿ…...

Agent AI智能体:未来社会的角色、发展与挑战
Agent AI智能体在未来社会中的角色、发展路径以及可能带来的挑战是一个非常值得关注的话题。让我们来深入探讨一下这些方面。 1. 角色与应用场景 Agent AI智能体是指具有自主决策能力和执行能力的人工智能系统,它们可以代表个人或组织执行各种任务和活动。在未来社…...

mybatis-plus使用指南(1)
快速开始 首先 我们 在创建了一个基本的springboot的基础框架以后,在 pom文件中 引入 mybatisplus的相关依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5…...

python自定义x坐标名称
在画完图后加上 x[0.1,0.5,1.0,2.0,4.0,6.0,8.0] plt.xticks(x) import matplotlib.pyplot as pltx [1, 2, 3, 4, 5] y [2, 4, 6, 8, 10]plt.plot(x, y) plt.xticks(x, [A, B, C, D, E]) # 设置x轴坐标位置和标签 plt.show()要自定义x坐标名称,你可以使用matplo…...

图论专题训练
leecode 547 并查集 class Solution { public:int findCircleNum(vector<vector<int>>& isConnected) {ini();int len isConnected.size();for(int i0;i<len;i){for(int j0;j<len;j)if(isConnected[i][j]){unio(i,j);}}int ans 0;for(int i0;i<len;…...

持续总结中!2024年面试必问 100 道 Java基础面试题(四十二)
上一篇地址:持续总结中!2024年面试必问 100 道 Java基础面试题(四十一)-CSDN博客 八十三、如何判断一个对象是否应该被垃圾回收? 在Java中,判断一个对象是否应该被垃圾回收的关键在于对象的引用状态。垃圾…...

Linux 之 tail 命令
一、基本语法 tail [option] [file] 其中 option 是可选参数,用于定制命令的行为,file 则是要处理的目标文件名。 二、常用参数 几个常用的 option 选项: -n:显示文件的最后 n 行,默认为 10 行。-f:实…...

【Android学习】简单的登录页面和业务逻辑实现
实现功能 1 登录页:密码登录和验证码登录 2 忘记密码页:修改密码 3 页面基础逻辑 java代码 基础页面 XML login_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.and…...

Mysql数据库的基础学习
为什么使用数据库? 1.持久化:将数据保存到可掉电式存储设备中以供使用。 数据库相关概念: DB:数据库(Databass)即存储数据的仓库,本质是一个文件系统,保存了一系列有组织的数据DBMS:数据库管…...

CentOS7 安装 Kamailio
https://www.kamailio.org/wiki/packages/rpms 官方文档说 yum -y install yum-utils yum-config-manager --add-repo https://rpm.kamailio.org/centos/kamailio.repo 但目前这样其实行不通 需要这样做: yum install --disablerepokamailio --enablerepokamai…...

Tomcat启动闪退问题解决办法
本文将通过一系列诊断步骤帮助您找出原因,并提供相应的解决办法。 诊断步骤 查看日志文件 Tomcat的日志文件是解决启动问题的第一线工具。查看logs目录下的catalina.out和其他日志文件,这些文件经常记录了错误信息和系统崩溃的线索。 cat /path/to/to…...

单元测试之JUnit5知识点总结及代码示例
单元测试是软件开发过程中的一种验证手段,它针对最小的可测试部分(通常是函数或方法)进行检查和验证。其实单元测试还是挺重要的,不过国内很多公司的项目其实并没有做好单元测试,或者根本就没做单元测试,原…...

什么是数据平台——企业构建Data+AI的基础数据底座需要的决策参考
什么是数据平台 标准的解释是这样的 Wikipedia A data platform usually refers to a software platform used for collecting and managing data, and acting as a data delivery point for application and reporting software. 数据平台是指将各类数据进行整合、存储、处…...

Oracle 流stream数据的复制
Oracle 流stream数据的复制 --实验的目的是捕获scott.emp1表的变化,将变化应用到远程数据库scott.emp1表中。 --设置初始化参数 AQ_TM_PROCESSES1 COMPATIBLE9.2.0 LOG_PARALLELISM1 GLOBAL_NAMEStrue JOB_QUEUE_PROCESSES2 --查看数据库的名称,我的为o…...