Prompt的万能公式和优化技巧

文章目录

  • 前言
  • 一、万能公式
  • 二、优化技巧
    • 1.设定角色
    • 2.设定目标和动机
    • 3.引导主观回答
    • 4.预设条件
    • 5.做强调
    • 6.思维链(COT)
    • 7.巧用定界符


前言

    随着LLM的发展,能给我们带来很多方便,但是又引出了一个新的问题就是我们该如何使用他们,我们怎么才能得到我们想到的信息。


一、万能公式

    本篇文章将带你系统了解一个好的Prompt的结构是什么样子,优质的Prompt有什么标准。在大多数的场景中,Prompt有一个万能公式,通过这个公式,可以保证你Prompt输出效果满足底线标准。
    你可能在网络上看到过很多这个万能公式的不同版本,每个公式的细节都不相同,但是这不重要,当你掌握了通用方法,自然可以根据不同的角色、场景等信息,设计出适合自己的万能公式。

Prompt = 角色 + 任务 + 要求 + 细节【步骤拆解、范例说明,技巧点拨等】

    这个公式用大白话解释就是你要告诉大模型:你是谁?要做什么?怎么做?
    举个例子,现在你告诉大模型:生成一篇小红书风格的口红种草文案,字数不少于100字,风格要俏皮一些。
    下面我们来拆解这个公式,看每个元素都代表什么意思。

  • 角色:就是你要生成这段信息的主体对象,比如“生成一篇小红书风格的口红种草文案”,“口红”就是角色。
  • 任务:就是需要大模型完成的任务类型,比如生成一张海报,在这个案例中就是生成一篇种草文案。
  • 要求:就是你希望模型完成某一项具体的要求,不少于100字就是具体的要求。
  • 细节:如果你想丰富模型最终生成的结果,可以增加一些细节,比如文案的风格等。
        接下来,我们来用文心一言的【新媒体文章创作】这个智能体来试一下这个万能公式的效果,下图中是我没有用万能公式,随便写的一个问题需求,相信很多人给大模型提问都是这样的风格,可以看到,模型给到的回答非常的冗余,内容分不清主次。

在这里插入图片描述
    但是如果我们用了万能公式来输出Prompt,效果明显提升了一个台阶,如下图所示,模型给到的回答更像是一个具体的人,且极具小红书的风格,你可以直接拿来去用,而不是冰冷的机器回答的文案。
在这里插入图片描述
优质Prompt标准:
    虽然不同的应用场景下对优质的Prompt定义有所区别,但是我们依然可以找到一些共性的特点。具体来说,一条优质的Prompt一般满足以下特点:

  • 明确和具体:提示词应当清晰明了,具体说明你希望获得的信息或答案。避免模糊和含糊不清的表达方式。
  • 简洁明了:保持简洁,避免使用冗长或复杂的句子。简单直接的表达方式更容易理解。
  • 具有上下文:在你的提示中包含相关的上下文信息,以便大模型更好地理解你的问题或需求。提供关键信息,而不是依赖于模糊的问题。
  • 避免歧义:在同类任务中,更换主题词后,Prompt依然可以取得好的效果,避免使用容易引起歧义的词语或短语。
  • 使用关键词:强调关键词,这有助于指导大模型需要关注的重点有哪些,可以通过加粗、斜体或其他方式来实现。

    这么讲可能还不够具象,下面我举几个例子来带你看一下优质的Prompt都长什么样子。

1.优质的Prompt对话题有足够的背景信息:
        优质: 请提供有关可控核聚变的最新研究进展和技术趋势的详细信息。
        反例: 可控核聚变是什么?
2. 具体的指令:
        优质: 以500字的篇幅解释人工智能在医学诊断中的应用,并列举相关的成功案例。
        反例: 写点关于人工智能的东西。
3. 引导性强,具体指明期望的回答形式:
        优质: 以比较分析的方式说明区时序数据库和传统关系型数据库的优劣,并指出在哪些场景下使用时序数据库更有优势。
        反例: 写点关于数据库相关的东西。

        来测试下第一个案例,通过下面截图我们可以看到,当你输入一条有足够背景信息的Prompt时,你可以从实验装置的进步、高温超导技术的突破、数值模拟和人工智能的应用、核聚变能源商业化等多个方面对可控核聚变有一个全面的认识。
在这里插入图片描述

二、优化技巧

1.设定角色

    设定角色可以是一种有趣且有效的方法,通过这种方式,你可以引导大模型生成更具特定性和一致性的回答,在提示词中你可以清晰地定义所设定的角色特征,包括身份、职业、背景等。这有助于大模型更好地理解并在回答中表现出相应的角色特性。

2.设定目标和动机

    除了设定角色以外,你还可以通过设定目标和动机的方式丰富角色的形象,以帮助智能体理解在回答中应该关注的方面。

3.引导主观回答

    如果你希望模型提供主观性的回答,可以通过提示中的角色设定来引导。表明你期望从设定的角色角度获取意见和观点。

4.预设条件

    在Prompt提示中可以清晰地定义你的预设条件,包括任何特定的环境、情境或约束。这可以帮助大模型理解问题的上下文,并生成更符合你期望的回答。比如当我们希望了解人工智能在医疗领域的应用时,模型的答案往往具有科幻色彩,但如果加入现代科技这个前提,模型给到的回答就靠谱了很多。
同时,你还可以在提示中加入约束条件,这样可以限定模型的回答范围,使其在特定框架内生成回答。

    在预算有限的情况下,建议如何开展一项科学研究项目,强调资源的有效利用。

    当然,你还可以通过引入预设条件,可以引导大模型进行比较与对比。明确提出你希望模型探讨的不同条件下的影响或差异。

    比较在自然环境和人工环境中培养植物的影响,考虑生长速度、生态系统互动等方面的不同。

    除此之外,你甚至可以通过假设条件来减少大模型回复不准确的概率,比如你可以告诉大模型,如果你的数据存在问题,例如数据不准确、缺乏时效性等,那么可以给出否定答复,例如:对不起,目前没有相关数据可供参考。

5.做强调

    大模型训练的预料长度不是固定字数,所以往往越往后的需求描述权重越低,对模型的输出结果造成影响。这个时候,除了将对应需求靠前排外,还可以通过增加强调词,告诉模型自己非常看中的内容,比如增加“非常”、”强调”、“必须”等词汇。你还可以通过加粗、斜体或其他方式使关键词更为明显。

6.思维链(COT)

    思维链是一种将思考过程分解为一系列逻辑步骤或关键点的方法,有助于大模型更系统地处理复杂任务。在撰写复杂任务的提示时,通过构建清晰的思维链,拆解复杂任务步骤,可以帮助大模型明确任务的要求、限制和目标。

例如大语言模型在数学推理方面的表现不是太好,但是如果你在提问的时候,加入思维链的关键词,比如告诉模型,你需要逐步进行计算,或者一步一步进行计算等关键词,或者给出实现的步骤和逻辑,这往往可以极大的提高模型答案的准确率。比如,我们使用灵境矩阵平台的智能体【数学解题助手】来测试一道常见的小学数学题。

这组数中的奇数加起来是多少:4、8、9、15、12、2、1

7.巧用定界符

    在Prompt提示词中,定界符是用来标记或定义文本边界的一种特殊符号或格式。它们用于告诉模型或系统在哪里开始和结束生成文本,定界可以使用任何符号,例如:、‘’‘’‘’、< >等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/771611.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络编程:UDP编程笔记

1.字节序的概念和转换 小端格式: 低位字节数据存储在低地址 大端格式: 高位字节数据存储在低地址 在主机上时为小端存储,在网络上时为大端,所以接收到数据时,要转为小端口 如下图: #include <arpa/inet.h> 发送者调用的函数: uint32_t htonl(uint32_t hostlong); //转…

复分析——第8章——共形映射(E.M. Stein R. Shakarchi)

第8章 共形映射(Conformal Mappings) The results I found for polygons can be extended under very general assumptions. I have undertaken this research because it is a step towards a deeper understanding of the mapping problem, for which not much has hap…

SpringBoot 启动流程二

SpringBoot启动流程二 我们首先查看构造方法 SpringApplication 我们发现这个构造方法还是在SpringApplication类里面 这个构造方法还是调用了自身的构造方法 传入了两个参数 第一个参数叫resourceLoader 传入的是一个资源加载器 要从外部读入东西 这个方法通过this关键字…

PhpStorm 2024 for Mac PHP集成开发工具

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件&#xff08;适合自己的M芯片版或Intel芯片版&#xff09;&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功3、打开访达&#xff0c;点击【文…

嵌入式底层系统了解

当裸机功能不复杂的时候&#xff0c;即类似与点亮一个LED灯&#xff0c;驱动LCD和OLED这样的模块&#xff0c;以及各位大学生的搭积木式的毕业设计(狗头保命&#xff09;&#xff0c;此时可以简单地分为硬件和软件层&#xff08;应用层),以及以中间层作为中间联系。 当需要实现…

音视频入门基础:H.264专题(7)——FFmpeg源码中 指数哥伦布编码的解码实现

音视频入门基础&#xff1a;H.264专题系列文章&#xff1a; 音视频入门基础&#xff1a;H.264专题&#xff08;1&#xff09;——H.264官方文档下载 音视频入门基础&#xff1a;H.264专题&#xff08;2&#xff09;——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

【SpringCloud】Ribbon源码解析

ribbon是一个负载均衡组件&#xff0c;它可以将请求分散到多个服务提供者实例中&#xff0c;提高系统的性能和可用性。本章分析ribbon是如何实现负载均衡的 1、LoadBalanced 消费者在引入ribbon组件后&#xff0c;给http客户端添加LoadBalanced注解就可以启用负载均衡功能。Lo…

MATLAB贝叶斯线性回归模型案例

采用辛烷值数据集“spectra_data.mat”(任意数据集均可),介绍贝叶斯线性回归模型的构建和使用流程。 运行结果如下: 训练集预测精度指标如下: 训练集数据的R2为: 1 训练集数据的MAE为: 0.00067884 训练集数据的RMSE为: 0.00088939 测试集预测精度指标如下: 测试集数据的R2…

Python学习之小游戏--坦克大作战

今天跟视频学习了Python实现坦克大作战小游戏&#xff0c;挺有意思的&#xff0c;一起来玩吧~ 按空格发射子弹&#xff0c;上下左右键实现移动&#xff0c;ESC键无限复活。 import pygame,time,random from pygame.sprite import Sprite SCREEN_WIDTH800 SCREEN_HEIGHT500 BG…

如何改善提示词,让 GPT-4 更高效准确地把视频内容整体转换成文章?

&#xff08;注&#xff1a;本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费&#xff09; 让我们来讨论一下大语言模型应用中的一个重要原则 ——「欲速则不达」。 作为一个自认为懒惰的人&#xff0c;我一直有一个愿望&#xff1a;完成视频制作…

typescript2-类的类型

/* 输出 吃饭 游泳 */ []( )继承与多态------------------------------------------------------------------------1. 子类继承父类特征子类 extends 父类2. 当需要父类参数传递时&#xff0c;用子类也可以&#xff0c;这就是多态/* 继承&#xff1a;子类继承父类 多态…

集团型企业组织架构复杂,业务线多,如何进行高效费用管控?

企业管理中流行这样一句话&#xff1a;“企业转型&#xff0c;财务先行”。对集团型企业而言&#xff0c;当今的发展形势下&#xff0c;通过财务战略全面转型、最终撬动企业价值提升&#xff0c;是一件难而正确的事情。 集团企业具有经营规模大、产业链多、分支机构多、地域跨度…

容器部署rabbitmq集群迁移

1、场景&#xff1a; 因业务需要&#xff0c;要求把rabbitmq-A集群上的数据迁移到rabbitmq-B集群上&#xff0c;rabbitmq的数据包括元数据&#xff08;RabbitMQ用户、vhost、队列、交换和绑定&#xff09;和消息数据&#xff0c;而消息数据存储在单独的消息存储库中。 2、迁移要…

中国算力网络市场发展分析

中国算力网络市场发展现状 算力涵盖计算、内存、存储等全方位能力&#xff0c;广泛分布于网络边缘、云计算中心、联网设备及转发节点。随着数字化技术革新&#xff0c;算力与网络正深度融合&#xff0c;推动“算网一体化”的演进。这一新型基础设施日渐凸显其重要性&#xff0c…

番外篇 | YOLOv8改进之即插即用全维度动态卷积ODConv + 更换Neck网络为GFPN

前言:Hello大家好,我是小哥谈。本文所做出的改进是在YOLOv8中引入即插即用全维度动态卷积ODConv和更换Neck网络为GFPN,希望大家学习之后能够有所收获~!🌈 目录 🚀1.基础概念 🚀2.网络结构 🚀3.添加步骤 🚀4.改进方法 🍀🍀步骤1:block.py文件修改…

Kamailio-Web管理页面Siremis的安装与部署

siremis 是针对于 Kamailio 的web管理接口&#xff0c;使用PHP书写&#xff0c;更新至2020年&#xff0c;相对不是太新但是是官方友链的 以下就采用 Ubuntu 22.04Siremis 5.8.0apache http server 2.4php7.0 如有疑问请参看官方指南 以下开始介绍操作步骤 安装apache2.4 we…

一文读懂什么是“GPU算力”

在数字化转型的浪潮中&#xff0c;各行业对算力的需求日益激增&#xff0c;GPU&#xff08;图形处理单元&#xff09;算力作为推动科技进步的重要力量&#xff0c;正逐步从传统的图形渲染领域扩展到人工智能、大数据分析、高性能计算等多个前沿领域。通过本文&#xff0c;深入剖…

亮相2024世界人工智能大会,扫描全能王AIGC“黑科技”助力敦煌遗书数字化修复

7月4日&#xff0c;2024年世界人工智能大会&#xff08;简称“大会”&#xff09;在上海举行。这次这场科技与创新的盛会上&#xff0c;一张古朴、典雅的卷轴吸引了众人的目光。这张被修复的卷轴脱胎于敦煌遗书系列古籍&#xff0c;在被机器拍摄扫描后&#xff0c;卷轴上脏污、…

Airflow: 大数据调度工具详解

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 欢迎关注微信公众号&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&a…

SalesForce集成案例-获取联系人信息

SalesForce本身比较复杂&#xff0c;涉及的东西比较多&#xff0c;下面以使用REST API接口为例&#xff0c;介绍与SalesForce集成的过程&#xff0c;集成案例&#xff1a;获取联系人信息。 首先需要注册一个免费的开发者帐号&#xff0c;具有完全操作SalesForce的权限。 1、注…