提示词工程入门-使用文心一言4.0-通义千问-GPT4-Claude3通用提示技巧测试
提示词工程基础🚀
在了解完了大语模型的基本知识,例如API的使用多轮对话,流式输出,微调,知识向量库等知识之后,接下来需要进一步补足的一个大块就是提示词工程,学习和了解提示词工程除了基本的提示词类型之外,不同的大模型对于提示词工程润色之后的提示词的反应如何,也是比较值得关注的一点,因此本文使用文心一言4.0,通义千问,ChatGPT4, Claude3,四种模型来实验一下各类的提示词。
文章目录
- 提示词工程基础🚀
- 1.什么是提示词工程
- 2.提示词要素
- 3.提示词的通用技巧
- 3.1 在提示词中明确指令
- 3.1.1 输入基础和改进之后的提示词模型的输出
- 3.1.2 结果对比分析
- 3.2 具体描述输出所要的格式
- 3.2.1 输入基础和改进之后的提示词模型的输出
- 3.2.2 结果对比分析
- 3.3精确描述想要的内容不要概括
- 3.3.1 输入基础和改进之后的提示词模型的输出
- 3.3.2 结果对比分析
- 3.4 以鼓励的方式向大模型提问
- 3.4.1 输入基础和改进之后的提示词模型的输出
- 3.4.2 结果对比分析
- 4.整体结果分析
- 结束
https://www.promptingguide.ai/zh

首先分享一个网站这是我在谷歌上搜索到的,一个非常好的提示词学习网站,不但由简单到难的总结了提示词工程中的各种概念要素和提示词的各类技术,后面还包括了一些工具,笔记,还有一些提示词领域的优秀的论文,并不断的对论文进行更新,根据这个网站的逻辑,这篇文章首先测试一下其中的通用提示词技巧,最如果有什么错误或者不完善的非常欢迎沟通交流。
1.什么是提示词工程
这里先引用上面的提示词指南中对提示词工程的介绍:
提示工程(Prompt Engineering)是一门较新的学科,关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。 掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。
我个人的感觉的话就是针对不同类型的问题然后找出一些通用的提示结构从而让回答的正确率和质量更高。
2.提示词要素
这里我认为提示词指南网站里的解释非常好,我就直接给粘过来,然后补充点自己的理解。

提示词的四要素:
指令:想要模型执行的特定任务或指令。
上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。
输入数据:用户输入的内容或问题。
输出指示:指定输出的类型或格式。
一般来说我们在使用大模型的时候,都是直接输入指令和数据,但是如果能有效的提供上下文和输出格式,则一般而言回答的质量会更高。
3.提示词的通用技巧
3.1 在提示词中明确指令

明确指令的过程中的要点如下:
- 使用例如“写入”、“分类”、“总结”、“翻译”、“排序”等明确的提示词
- 将“###指令###”放在开头
接下来我们分别测试三种
将“hello!”翻译成西班牙语
将以下文本翻译成西班牙语:
文本:“hello!”
### 指令 ###
将以下文本翻译成西班牙语:
文本:“hello!”
为了避免多轮对话的记忆,因此每次实验都新开一个会话
3.1.1 输入基础和改进之后的提示词模型的输出












3.1.2 结果对比分析
下面是我自我感受的一个测试结果,纯个人感受,文心一言的基础效果给差是因为,只有文心一言的基础结果输出时候,翻译出的西班牙语少了开头的一个符号(但我不知道重要不重要不太懂西班牙语),剩下的情况翻译的情况都基本是正确的,虽然额外的表示方式或是信息不同。
| 模型名称 | 基础效果 | 使用提示技巧效果 | 特点 | 相关任务推荐建议 |
|---|---|---|---|---|
| 文心一言4.0 | 差 | 良好 | 无 | 不是很推荐 |
| 通义千问 | 良好 | 良好 | 只输出结果 | 需要精简回答时推荐 |
| GPT4 | 良好 | 良好 | 结果前会铺垫一句描述 | 对话场景推荐 |
| Claude3 | 良好 | 良好 | 会自动切换回答语言 | 需自动切换语言时推荐 |
3.2 具体描述输出所要的格式

接下来测试两种文本:
提取以下文本中的地名。
输入:“虽然这些发展对研究人员来说是令人鼓舞的,但仍有许多谜团。里斯本未知的香帕利莫德中心的神经免疫学家 Henrique Veiga-Fernandes 说:“我们经常在大脑和我们在周围看到的效果之间有一个黑匣子。”“如果我们想在治疗背景下使用它,我们实际上需要了解机制。”
提取以下文本中的地名。
所需格式:
地点:<逗号分隔的公司名称列表>
输入:“虽然这些发展对研究人员来说是令人鼓舞的,但仍有许多谜团。里斯本未知的香帕利莫德中心的神经免疫学家 Henrique Veiga-Fernandes 说:“我们经常在大脑和我们在周围看到的效果之间有一个黑匣子。”“如果我们想在治疗背景下使用它,我们实际上需要了解机制。”
3.2.1 输入基础和改进之后的提示词模型的输出








3.2.2 结果对比分析
在通用提示词中明确指令前文测试结果,这里两个地名都识别出来了我认为是正确,然后识别出来一个的我就给了差。然后较好是有时候正确有时候错误我就给了较好。
| 模型名称 | 基础效果 | 使用提示技巧效果 | 特点 | 相关任务推荐建议 |
|---|---|---|---|---|
| 文心一言4.0 | 差 | 差 | 无 | 不是很推荐 |
| 通义千问 | 良好 | 较好 | 不改进提示词前正确,改进有时正确有时错误 | 推荐不改进提示词使用 |
| GPT4 | 差 | 差 | 无 | 不是很推荐 |
| Claude3 | 差 | 良好 | 不改进之前错误,改进之后正确 | 推荐改进提示词之后使用 |
3.3精确描述想要的内容不要概括

向高中学生解释提示工程的概念。
使用 2-3 句话向高中学生解释提示工程的概念。
3.3.1 输入基础和改进之后的提示词模型的输出








3.3.2 结果对比分析
然后由于这是一个开放性问题没有正确答案,大家总结的也都不错但是有个明显的区别。
- 国内的两个模型文心一言和通义千文把提示工程认为是一种提示作用的行为然后讲述出来
- 国外的两个模型把提示工程认为提示工程是大模型中的提示词工程而进行输出描述。
我个人认为在这方面国外的两个模型的表现要更好或者更符合当前科技背景一些。
3.4 以鼓励的方式向大模型提问

测试的两个文本如下
以下是向客户推荐电影的代理程序。不要询问兴趣。不要询问个人信息。客户:请根据我的兴趣推荐电影。
代理:
以下是向客户推荐电影的代理程序。代理负责从全球热门电影中推荐电影。它应该避免询问用户的偏好并避免询问个人信息。如果代理没有电影推荐,它应该回答“抱歉,今天找不到电影推荐。”
顾客:请根据我的兴趣推荐一部电影。
客服:
3.4.1 输入基础和改进之后的提示词模型的输出








3.4.2 结果对比分析
这里除了GPT4,其他模型都没有完成拒绝推荐的指令,因此GPT在理解复杂指令方面还是表现出了领先的优势。
4.整体结果分析
- 随着大模型的发展,提示词工程的通用技巧之后的模型绝大多数情况下都好于改善了之前,但也有更差的情况,个人认为随着大模型的发展,提示词工程的作用在不断的降低。如果把上述四种提示词基础功能分别对应四种任务的话我粗略的给每个模型排个名仅供参考。
| 模型名称 | 明确指令任务 | 中实体识别任务 | 精确内容任务 | 附加条件任务 | 综合排名(求和) |
|---|---|---|---|---|---|
| 文心一言4.0 | 4 | 3 | 3 | 2 | 4 |
| 通义千问 | 1 | 1 | 3 | 2 | 3 |
| GPT4 | 1 | 3 | 1 | 1 | 1 |
| Claude3 | 1 | 2 | 1 | 2 | 1 |
- GPT在中文实体识别任务中不如通义千问和Claude3其他任务中全处在最优水平,而且在理解复杂逻辑方面遥遥领先
- Claude各方面能力相当均衡没有明显的短板
- 国产模型在整体能力上距离世界领先水平还有一段空间,加油我们自己大模型一定会越来越好。
结束
这个对比就到这,毕竟花了好多钱开了这这些大模型,争取把能测试都测试一遍,后面从零样本提示开始做实验,进一步看一下各个模型在面对复杂情况下表现和提示词能起到的作用。
相关文章:
提示词工程入门-使用文心一言4.0-通义千问-GPT4-Claude3通用提示技巧测试
提示词工程基础🚀 在了解完了大语模型的基本知识,例如API的使用多轮对话,流式输出,微调,知识向量库等知识之后,接下来需要进一步补足的一个大块就是提示词工程,学习和了解提示词工程除了基本的提…...
损失函数详解
1.损失函数 是一种衡量模型与数据吻合程度的算法。损失函数测量实际测量值和预测值之间差距的一种方式。损失函数的值越高预测就越错误,损失函数值越低则预测越接近真实值。对每个单独的观测(数据点)计算损失函数。将所有损失函数(loss function…...
算法提高之树的中心
算法提高之树的中心 核心思想:树形dp 换根dp 每个点作为根节点 找其子树的最大距离和父节点的最大距离 dfs1:求子树对于当前根节点的最大距离和次大距离 求次大距离原因:如果当前节点是其父节点子树的最大路径上的点,最大距离不…...
【Java基础】面向对象是什么
面向对象和面向过程的对比 类和对象 class Car{} 是描述对象(车)的类,属于引用数据类型用来描述对象具有的属性(变量)和行为(函数),属于概念模型 Car baomanew Car(); 对象需要由类来创建对象具备了类中定义的属性和行为 对象…...
家用洗地机应该怎么选?哪个牌子好?市场上主流洗地机品牌推荐
洗地机的出现,让越来越多的家庭享受清洁的过程,给人们腾出来更多的时间陪伴家人和休息。但是在选购一台洗地机前,大家多多少少肯定有些疑问,洗地机到底实不实用?好不好用?能扫干净吗?还有哪些好…...
python Django REST framework允许你根据API的版本提供不同的行为或数据
在Django REST framework中,版本控制是一个重要的功能,它允许你根据API的版本提供不同的行为或数据。以下是如何在Django REST framework中设置API版本控制的几种方法: 1. 使用URL路径参数 你可以通过URL路径中的参数来指定API的版本。例如: python复制 # urls.py from …...
unity给物体添加可以包裹所有子物体的BoxCollider
代码如下可直接调用 MeshTool.SpawnCollider(mode);using UnityEngine;public class MeshTool {public static Bounds SpawnCollider(Transform target){Vector3 pMax Vector3.zero;Vector3 pMin Vector3.zero;Vector3 center Vector3.zero;Vector3 oldPos target.transfor…...
2024五一数学建模A题思路代码与论文分析
2024五一数学建模A题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/gyoz9ou5upvkv6nx?singleDoc# 2024五一数学建模A题钢板最优切割路径问题需要建立的模型和算法: 图论 最短路径算法(Dijkstra算法、Floyd算法等) 动态规划 网格化离散建模 …...
ICode国际青少年编程竞赛- Python-1级训练场-基础训练2
ICode国际青少年编程竞赛- Python-1级训练场-基础训练2 1、 a 4 # 变量a存储的数字是4 Dev.step(a) # 因为变量a的值是4,所以Dev.step(a)就相当于Dev.step(4)2、 a 1 # 变量a的值为1 for i in range(4):Dev.step(a)Dev.turnLeft()a a 1 # 变量a的值变为…...
科技控必看!让你轻松成为机器人领域达人
科技控们注意了!你是不是经常对机器人技术充满无限的好奇,却又因为缺乏合适的渠道而难以深入了解和亲身体验呢?别担心,BFT机器人,正是你探索机器人世界的绝佳之地! 在这里,你将发现一个充满惊喜…...
Linux进程——Linux下常见的进程状态
前言:在进程学习这一块,我们主要学习的就是PCB这个进程控制块,而PBC就是用来描述进程的结构体,而进程状态就是PCB结构体中的一个变量。 本篇主要内容: 操作系统中的进程状态Linux下的进程状态 在开始之前,我…...
TCP长连接短链接
1、短连接 短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。 2、长连接 长连接是指在一个连接上可以连续发送多个数据包,在连接保持期间,…...
代码随想录35期Day33-Java
Day33题目 LeetCode1005:K 次取反后最大化的数组和 核心思想:每次取反都取反最小的。如果有负数,则一直取反最小的负数,如果没有就取反正数。取反次数只需要看是奇数还是偶数。偶数则正数序列不变,奇数则最小的变成负数 class …...
PMP考试没过怎么办?如何补考?(附复核流程)
最近刷小红书,看很多人都在晒PMP通过的成绩截图,一方面为大家开心,终于拿到了期盼已久的PMP,但同时也有宝子发挥失常没通过考试,所以这期针对没考过的宝子们,出一期复盘文章,无论结果如何&#…...
自主实现Telnet流量抓取
自主实现Telnet流量抓取 根据测试需求,需要抓取Telnet流量包,使用wireshark Python(socket、telnetlib库)实现 实现代码 主要此处有坑, 根据协议规则,wireshark 默认端口为23 的是Telnet协议࿰…...
以瓦片地图为底图添加图表,保留拖拽功能
1、问题1 在地图上覆盖一个容器层,容器层上的内容显示不出来如何解决? 原因:堆叠指数问题 解决方案:绝对定位后,提升其z-index值即可 2、问题2 在地图上覆盖一个容器层,影响了地图拖拽,如何…...
Windows cmd bat之特殊符号及变量
cmd 常用变量 bat批处理常用命令 %1~%9表示拖入文件(%0以外的输入文件),%0表示批处理文件本身 %0~%1字母意思基本相同,不区分大小写 ::打印当前窗口地址 echo “%cd%” %0 获取当前文件路径 %~d0 …...
用python写个控制MicroSIP自动拨号和定时呼叫功能(可用在小型酒店叫醒服务)
首先直接上结果吧,MicroSIP 助手,控制MicroSIP自动拨号,定时呼叫的非常实用小工具! 在使用MicroSIP 助手之前,我们需要了解MicroSIP是什么,MicroSIP是一个SIP拨号软件,支持注册任意SIP平台实现拨…...
axios 取消token 模糊搜索
import axios from ‘axios’; // 创建一个取消令牌源(cancel token source) const CancelToken axios.CancelToken; const source CancelToken.source(); // 下拉框搜索函数 function search() { // 获取输入值 const inputValue document.getElem…...
【OTS4WORD】“精简并行过程”——容易剪裁的“软件过程改进方法和规范”模板
附件资源是作者针对SPP采用模板重新格式化打包制作,原模板具有格式不受控的缺点,导致文档编制过程中引起不必要的排版麻烦。 附件资源适用于希望改进工作流程,适配CMMI质量管理体系的公司或个人使用,质量改进管理组织、项目管理组…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
