如何用结构化写好GPT的Prompt提示词

背景

最早接触 Prompt engineering 时, 学到的 Prompt 技巧都是:

  • 你是一个 XX 角色…
  • 你是一个有着 X 年经验的 XX 角色…
  • 你会 XX, 不要 YY…
  • 对于你不会的东西, 不要瞎说!

  • 对比什么技巧都不用, 直接像使用搜索引擎一样提问, 上面的技巧对于回复的效果确实有着 明显提升. 在看了 N 多的所谓 “必看的 Prompt 10 大技巧” “价值 2 万元的珍藏 Prompt” 后, 发现大家都在上面这些技巧上打转. 直到有一天, 在 Github 上看到了 JushBJJ/Mr.-Ranedeer-AI-Tutor , 才发现原来 Prompt 还可以这样写: 原来可以在运行中 调整各种变量并立即生效, 原来对话语言可以随时更改, 原来可以像编程一样, 提前预置好 命令供用户调用…
    看到了优秀的榜样, 剩下的就是拆解学习了, 从中学到的第一个 Prompt engineering 技巧 就是: 结构化 Prompt .
    什么是结构化?
    结构化: 对信息进行组织, 使其遵循特定的模式和规则, 从而方便有效理解信息.
    – by GPT 4
    从上面的 Prompt 中最直观的感受就是 结构化 , 将各种想要的, 不想要的, 都清晰明确地 表述在设计好的框架结构中:
  • 语法 这个结构支持 Markdown 语法, 也支持 YAML 语法, 甚至纯文本手动敲空格和回车都可以.
  • 结构 结构中的信息, 可以根据自己需要进行增减, 从中总结的常用模块包括:

常用模块包括

 - # Role: <name> : 指定角色会让 GPT 聚焦在对应领域进行信息输出- ## Profile author/version/description : Credit 和 迭代版本记录- ## Goals: 一句话描述 Prompt 目标, 让 GPT Attention 聚焦起来- ## Constrains: 描述限制条件, 其实是在帮 GPT 进行剪枝, 减少不必要分支的计算- ## Skills: 描述技能项, 强化对应领域的信息权重- ## Workflow: 重点中的重点, 你希望 Prompt 按什么方式来对话和输出- # Initialization: 冷启动时的对白, 也是一个强调需注意重点的机会

用来生成prompt的meta prompt


----------------## Role : [请填写你想定义的角色名称]## Background : [请描述角色的背景信息,例如其历史、来源或特定的知识背景]## Preferences : [请描述角色的偏好或特定风格,例如对某种设计或文化的偏好]## Profile :- author: Arthur
- VX ID: nqbt45182
- version: 0.2
- language: 中文
- description: [请简短描述该角色的主要功能,50 字以内]## Goals :
[请列出该角色的主要目标 1]
[请列出该角色的主要目标 2]
...## Constrains :
[请列出该角色在互动中必须遵循的限制条件 1]
[请列出该角色在互动中必须遵循的限制条件 2]
...## Skills :[为了在限制条件下实现目标,该角色需要拥有的技能 1]
[为了在限制条件下实现目标,该角色需要拥有的技能 2]
...## Examples :[提供一个输出示例 1,展示角色的可能回答或行为]
[提供一个输出示例 2]
...## OutputFormat :[请描述该角色的工作流程的第一步]
[请描述该角色的工作流程的第二步]
...## Initialization : 作为 [角色名称], 拥有 [列举技能], 严格遵守 [列举限制条件], 使用默认 [选择语言] 与用户对话,友好的欢迎用户。然后介绍自己,并提示用户输入.

样本范例

# Role:知识探索专家## Profile:
- author: Arthur
- version: 0.8
- language: 中文
- description: 我是一个专门用于提问并解答有关特定知识点的 AI 角色。## Goals:
提出并尝试解答有关用户指定知识点的三个关键问题:其来源、其本质、其发展。## Constrains:
1. 对于不在你知识库中的信息, 明确告知用户你不知道
2. 你不擅长客套, 不会进行没有意义的夸奖和客气对话
3. 解释完概念即结束对话, 不会询问是否有其它问题## Skills:
1. 具有强大的知识获取和整合能力
2. 拥有广泛的知识库, 掌握提问和回答的技巧
3. 拥有排版审美, 会利用序号, 缩进, 分隔线和换行符等等来美化信息排版
4. 擅长使用比喻的方式来让用户理解知识
5. 惜字如金, 不说废话## Workflows:
你会按下面的框架来扩展用户提供的概念, 并通过分隔符, 序号, 缩进, 换行符等进行排版美化1.它从哪里来?
━━━━━━━━━━━━━━━━━━
- 讲解清楚该知识的起源, 它是为了解决什么问题而诞生。
- 然后对比解释一下: 它出现之前是什么状态, 它出现之后又是什么状态?2.它是什么?
━━━━━━━━━━━━━━━━━━
- 讲解清楚该知识本身,它是如何解决相关问题的?
- 再说明一下: 应用该知识时最重要的三条原则是什么?
- 接下来举一个现实案例方便用户直观理解:
- 案例背景情况(遇到的问题)
- 使用该知识如何解决的问题
- optional: 真实代码片断样例3.它到哪里去?
━━━━━━━━━━━━━━━━━━
- 它的局限性是什么?
- 当前行业对它的优化方向是什么?
- 未来可能的发展方向是什么?# Initialization:
作为知识探索专家,我拥有广泛的知识库和问题提问及回答的技巧,严格遵守尊重用户和提供准确信息的原则。我会使用默认的中文与您进行对话,首先我会友好地欢迎您,然后会向您介绍我自己以及我的工作流程。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

统一终端管理解决方案有哪些?必须收藏的统一终端管理软件

统一终端管理解决方案&#xff0c;是一种综合性的管理策略&#xff0c;旨在通过集中化的方式&#xff0c;对企业或组织的各种终端设备进行统一的管理、监控、保护和优化。以下是对统一终端管理解决方案的详细介绍。 一、方案概述 统一终端管理解决方案涵盖了从硬件到软件、从网…

[Linux系统编程]文件重定向dup和dup2

一.dup和dup2 实现重定向 1.文件描述符表 操作系统在管理文件时&#xff0c;会管理一张文件描述符表&#xff0c;根据打开的文件&#xff0c;分配一个文件描述符(int)&#xff0c;根据该文件描述符&#xff0c;锁定指向该文件的指针&#xff0c;从而索取文件。 2.重定向 在li…

svg使用 element plus 使用外部下载的svg,使用或作为背景图片的使用方式,svg背景填充自适应父级宽高

friger.vue 注意:引入路径后加#svgView(preserveAspectRatio(none)),可解决宽高设置无效的问题 代码上就这两句就行,它去这个路径下去找@/assets/svgs/login-bg.svg,往这个目录下放svg文件就行<template><div class="parent-container"><el-row…

Python实现连连看6

3.2 生成图片地图 图2所示的界面实际上可以看成是一个1010的二维数组,数组中的每个国旗图片对应一个0-24中的一个值,所以每个值应该有1010(1+24)=4个,也就是该100个国旗中有25种国旗,每种国旗有4个。这种二维数组我们把它叫做图片地图,如图7所示。 图7 图片地图 要生成…

颜色分类 ---- 分治-快排

题目链接 题目: 分析: 运用将"数组分成三块"的思想: 需要定义三个指针: left指向最左侧的区域的最右边, 所以left起始为-1 right指向最右侧色区域的最左边, 所以right起始为nums.length i用来遍历数组这三个指针就将数组分成了四块 [0,left] 为0 [left 1, i] 为1 …

【工具】Vmware17 安装mac(13.6.7)虚拟机

目录 0.简介 1.环境 2.详细步骤 2.1下载mac镜像&#xff08;可以选择你所需要的&#xff09; 2.2 VMware安装 1&#xff09;创建新的虚拟机 2&#xff09;选择【典型】&#xff0c;点击下一步 3&#xff09;选择【安装程序光盘映像文件】&#xff0c;点击浏览&#xff…

【代码随想录算法训练Day28】LeetCode 93. 复原 IP 地址、LeetCode 78.子集、LeetCode 90.子集II

Day28 回溯第四天 LeetCode 93. 复原 IP 地址 这道题目的难点同样是题意&#xff0c;有了回文串的前车之鉴&#xff0c;这道题的分割倒是有迹可循&#xff0c;但这道题判断是否合理同样也有很多细节。 class Solution { public:vector<string> res;bool isValid(const…

服务器的初始化

服务器的初始化 新的服务器到手&#xff0c;部署服务器的初始化。 1、配置ip地址 网关 dns解析&#xff08;static&#xff09;内网和外网 2、安装源&#xff0c;外网&#xff08;在线即可&#xff09;内网&#xff08;只能用源码包编译安装&#xff09; 3、磁盘分区&#…

【python】成功解决“TypeError: ‘method’ object is not subscriptable”错误的全面指南

成功解决“TypeError: ‘method’ object is not subscriptable”错误的全面指南 一、引言 在Python编程中&#xff0c;TypeError: method object is not subscriptable错误是一个常见的陷阱&#xff0c;特别是对于初学者来说。这个错误通常意味着你尝试像访问列表、元组、字典…

2024蓝桥杯初赛决赛pwn题全解

蓝桥杯初赛决赛pwn题解 初赛第一题第二题 决赛getting_startedbabyheap 初赛 第一题 有system函数&#xff0c;并且能在bss上读入字符 而且存在栈溢出&#xff0c;只要过掉check函数即可 check函数中&#xff0c;主要是对system常规获取权限的参数&#xff0c;进行了过滤&…

upload-labs-第一关和第二关

目录 第一关 思路&#xff1a; 1、上传一个php文件 2、查看源码 3、查看文件上传地址 4、BP抓包&#xff0c;修改文件后缀名 5、使用蚁剑连接 第二关 1、这一关也可以跟第一关一样的方法进行绕过 2、上传一个一句话木马文件 第一关 原理&#xff1a; 思路&#xff1a…

Spark中广播的使用

前言 在PySpark中&#xff0c;"/* broadcast(a) */"是一种注释语法&#xff0c;用于提示Spark优化器在执行查询计划时使用广播变量。广播变量是将数据广播到集群中的所有节点&#xff0c;以便在计算过程中能够更高效地访问数据。 在Spark中&#xff0c;默认情况下&a…

高精度滚珠丝杆在自动化生产中的关键因素!

如今&#xff0c;自动化技术正以前所未有的速度改变着人们的生活和工作方式&#xff0c;特别是在高精度精密设备的制造与应用领域&#xff0c;提高生产效率和优化生产流程正变得越来越重要。在自动化生产中&#xff0c;滚珠丝杆的优化应用对于提高生产效率、保证产品质量至关重…

MedSAM 学习笔记(续):利用训练好的权重进行gui的推理

1、介绍 MedSAM 代码复现参考&#xff1a;第一章&#xff1a;MedSAM 视觉大模型介绍_medsam 系统简介-CSDN博客 利用MedSAM迁移学习训练自定义数据集介绍&#xff1a;MedSAM 学习笔记&#xff08;续&#xff09;&#xff1a;训练自定义数据集_sam训练自定义数据-CSDN博客 本文…

leetcode第867题:转置矩阵

matrix[i][j]需要放在转置矩阵的(j,i)位置 public class Solution {public int[][] Transpose(int[][] matrix) {int rows matrix.Length; int columns matrix[0].Length; int[][] array2 new int[columns][];// 初始化内部数组&#xff08;列数&#xff09;for (int i 0…

数据库加密系统设计与实现的设计与开发

数据库加密系统设计与实现的设计与开发 Design and Development of a Database Encryption System: Design and Implementation 完整下载链接:数据库加密系统设计与实现的设计与开发 文章目录 数据库加密系统设计与实现的设计与开发摘要第一章 绪论1.1 引言1.2 研究目的与内容…

通过仪器分类方式修订看监测仪器发展新趋势

随着科技的进步和监测需求的不断升级&#xff0c;监测仪器的分类方式亟需与时俱进。本文旨在探讨《混凝土坝监测仪器系列型谱》中对现有仪器分类方式的修订&#xff0c;以及监测仪器发展的新趋势相关内容。 一、仪器分类方式的修订 传统的仪器分类方式往往基于功能、原理或应用…

Linux文本处理三剑客之awk命令

官方文档&#xff1a;https://www.gnu.org/software/gawk/manual/gawk.html 什么是awk&#xff1f; Awk是一种文本处理工具&#xff0c;它的名字是由其三位创始人&#xff08;Aho、Weinberger和Kernighan&#xff09;的姓氏首字母组成的。Awk的设计初衷是用于处理结构化文本数…

项目雅景临居---模块1 支付功能

一、查询全部支付方式列表 由于数据库中所有表均采用逻辑删除策略&#xff0c;所以查询数据时均需要增加过滤条件is_deleted0。 上述操作虽不难实现&#xff0c;但是每个查询接口都要考虑到&#xff0c;也显得有些繁琐。为简化上述操作&#xff0c;可以使用Mybatis-Plus提供的…

漏洞发现协议代理池GobyAWVSXray

Awvs漏扫-Sadedog-白名单-内置 加入白名单扫描&#xff0c;防Safedog拉黑IP Awws漏扫-BT&Aliyun-代理池-内置 Xray漏扫-BT&Aliyun-Proxifier-.进程 proxifier添加代理服务器 Goby漏扫-BT&Aliyun-Socket5-内置 对于不通过https对网站或操作系统进行信息收集的程…