AIGC时代之 - 怎样更好的利用AI助手 - 指令工程

爆火的AIGC

2022年11月30日,OpenAI发布ChatGPT 3
2022年12月4 日,ChatGPT 3 已拥有超过一百万用户
2023年各种大语言模型开始火爆全球

GPT们,已经成为了我工作和学习的非常重要的工具。

ChatGPT也没那么神奇?

不知道大家有没有体验过OpenAI的ChatGPT,大家又是如何和ChatGPT对话的?有时候是不是也感觉他好像没那么神奇,有时候会答非所问,问题出在哪里?
答非所问

人与人是怎么沟通的

试想一下,当我们去咖啡店里买咖啡,假设我们是在柜台和服务员面对面点咖啡。
我:你好,我要一杯咖啡
店员:您要什么口味的?
我:拿铁吧
店员:您是要中杯,大杯,还是超大杯?
我:我要超大杯。
店员:您是要无糖,半糖,还是全糖?
我:半糖。
店员:您是要热的,去冰的,还是少冰的?
我:热的。
店员:好的,您稍等,马上为您制作。

我们在日常生活中,正常的人与人的沟通尚且如此,需要一步一步,循序渐进,最终才能达成一致,得到想要的结果,更何况我们与一个AI助手聊天?

也就是相处多年的朋友在简单说了几句话后,说出一句:你懂的,然后大家都明白是什么了。如果换作是一位不那么熟悉的朋友,丢出一句:你懂的,如果你们聊天的内容不是大家都熟悉的,如果大家不在一个语境之中,我相信,你肯定不懂。更何况一个AI助手。

所以当我们与AI助手聊天时,不要期待一句话就想得到你想要的结果。有时候AI助手返回的结果不是我们想要的,通常都是因为我们表述得不够清楚。AI助手无法根据我们的提示,猜测我们真正想要表达的是什么。

怎么样和AI助手聊天

  • 不要期待一句话就想得到你想要的结果
  • 别以为你已经讲清楚了,AI可能还没完全理解
  • 说得越多越好,提供越多的信息,可以帮助AI理解你的需求

什么是指令工程

所谓指令,就是我们给ChatGPT的输入,专业术语叫:Prompt,指令工程就是Prompt Engineering. ChatGPT会根据我们的输入,生成相应的输出。

Prompt的质量直接影响ChatGPT输出的质量。而指令工程,就是对Prompt进行调优,使ChatGPT返回符合我们预期结果的过程。

Prompt 的基本构成

提示:告诉GPT是一个什么角色,我们希望他做些什么
上下文:与任务有关的具体的描述
例子:告诉GPT一些加深他理解问题的例子
输入:提供一些与任务相关的输入信息
输出:告诉GPT输出的格式是怎样的

下面是一个比较详细的例子,大家复制下面的内容,将注释去掉,粘贴至ChatGPT的对话框,看看会输出怎样的结果。

#告诉GPT是什么角色,希望他帮助我们干什么?
你好,你是一位资深EXCEL用户,你非常善于使用编写VBA脚本来完成使用EXCEL来处理各种数据。

#提供一些关于任务的重要信息
我现在有一个sheet, sheet名称是:system_info,

我希望你写一段VBA程序,要求遍历整张表,计算出每一列的长度,并将结果写入名称为 column_length的sheet中

#说明怎么求列的列度,以及从哪里开始
请注意,
1. 列名为第1行,数据从第2行开始
2. 列的长度是该列中所有记录中最长的那条记录的长度值

#指定数据输出的格式
结果的输出格式为:
1. 第一行为列名
2. 第二行为每一列的长度
3. 第三行为每列最长的那一行的行号

以下是GPT的输出

Sub CalculateColumnLength()
    Dim wsData As Worksheet
    Dim wsResult As Worksheet
    Dim lastRow As Long
    Dim lastCol As Long
    Dim i As Long, j As Long
    Dim maxLength() As Long
    Dim maxRow() As Long
    
    ' 获取数据所在的sheet
    Set wsData = ThisWorkbook.Sheets("system_info")
    
    ' 创建结果存储的sheet
    Set wsResult = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
    wsResult.Name = "column_length"
    
    ' 获取数据范围
    lastRow = wsData.Cells(wsData.Rows.Count, 1).End(xlUp).Row
    lastCol = wsData.Cells(1, wsData.Columns.Count).End(xlToLeft).Column
    
    ' 初始化数组
    ReDim maxLength(1 To lastCol)
    ReDim maxRow(1 To lastCol)
    
    ' 遍历每一列,计算长度和最长行号
    For j = 1 To lastCol
        maxLength(j) = 0
        maxRow(j) = 0
        For i = 2 To lastRow
            If Len(wsData.Cells(i, j).Value) > maxLength(j) Then
                maxLength(j) = Len(wsData.Cells(i, j).Value)
                maxRow(j) = i
            End If
        Next i
    Next j
    
    ' 将结果写入结果sheet
    For j = 1 To lastCol
        wsResult.Cells(1, j).Value = wsData.Cells(1, j).Value ' 列名
        wsResult.Cells(2, j).Value = maxLength(j) ' 列长度
        wsResult.Cells(3, j).Value = maxRow(j) ' 最长行号
    Next j
    
    ' 调整列宽
    wsResult.Columns.AutoFit
    
    MsgBox "计算完成,结果已写入 column_length sheet。"
End Sub

通过上面的例子,我们就已经基本了解了如何去编写一个好用的提示词,让ChatGPT来帮助实现想要的结果。

实际上,编辑提示词,就好你我们编辑代码一样,也是需要经过一轮一轮的迭代,不断的调整,不断的增加新的逻辑,最终才能让ChatGPT输出满足我们需求的结果。

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

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

相关文章

web--验证码识别,找回密码

验证码前端回显 当我不知道验证码 查看数据包就可以知道验证吗在数据包之中 burp爆破 (前提是没有次数限制) 更改返回数据 将成功的回显值更改 验证码更改脚本(智能识别) 错误的:只要输入一次对了,在bp…

OFDM-OCDM雷达通信一体化信号模糊函数对比研究【附MATLAB代码】

文章来源:微信公众号:EW Frontier 1.引言 为提高频谱利用率并实现系统小型化、集成化,近年来雷达通信一体化系统成为重要研究方向。正交线性调频波分复用(OCDM)信号是利用菲涅尔变换形成的一组正交线性啁啾(chirp)信号,基于OCDM 的雷达通信一体化信号不…

【重要】Heygen订阅指南和用法详解!让照片学说话?一张照片变演讲?Heygen订阅值得吗?

常见问题 Q:Heygen是什么?Heygen是什么玩意? A:Heygen是一款由AI视频工具,创作者只需要上传视频并选择要翻译的语言,该工具可实现自动翻译、调整音色、匹配嘴型。为了方便理解,笔者利用Heygen制作了一个AI视…

C语言中字符串函数以及内存函数的使用和注意事项

目录 0. 前言 1、求字符串长度函数 1.1、strlen 模拟实现 2.长度不受限制的字符串函数 2.1 strcpy 模拟实现 2.2strcat 模拟实现 2.3strcmp 模拟实现 3.长度受限制的字符串函数 3.1strncpy 3.2strncat 3.3strncmp 4、字符串查找函数 4.1strstr 模拟实现 3.2strt…

【C/C++笔试练习】线程作用、磁盘的固定块、多进程、进行调度、cache、内存抖动、非抢占CPU调度、inode描述、文件操作、进制、最难的问题、因子个数

文章目录 C/C笔试练习选择部分(1)线程作用(2)磁盘的固定块(3)多进程(4)进行调度(5)cache(6)内存抖动(7)非抢占…

一台服务器同时启动两个版本jdk

之前Java项目都是1.8的jdk,在服务器部署正常使用,服务器配置环境变量jdk1.8版本。最近一次我用了jdk17版本,部署服务器后,遇见了jdk版本不一致报错 报错内容: 52指向jdk1.8,61指向jdk17,大概就是jdk版本不…

第十六届“华中杯”B 题使用行车轨迹估计交通信号灯周期问题

某电子地图服务商希望获取城市路网中所有交通信号灯的红绿周期,以便为司机提供更好的导航服务。由于许多信号灯未接入网络,无法直接从交通管理部门获取所有信号灯的数据,也不可能在所有路口安排人工读取信号灯周期信息。所以,该公司计划使用大量客户的行车轨迹数据估计交通…

条件编译 #和##运算符

目录 1. #运算符2. ##运算符3. 条件编译4. 题目分享总结 正文开始 前言: 本章为C语言语法完结撒花, 下文将进行C语言中#和##操作符以及条件编译的讲解, 来进一步让我们了解C语言. 作者主页: 酷酷学!!! 1. #运算符 #运算符将宏的⼀个参数转换为字符串字⾯量。它仅允许出现在带…

牛客社区所有的表和SQL语句

文章目录 1 帖子表 discuss_post1.1 字段描述1.2 相关功能描述1.2.1 分页查询帖子1.2.2 查询帖子总数量1.2.3 插入一条帖子记录1.2.4 根据帖子ID查询某条帖子1.2.5 更新帖子评论数量1.2.6 更新帖子类型1.2.6 更新帖子状态1.2.7 更新帖子分数 2 用户表 user2.1 字段描述2.2 相关…

cesium primitive 移动 缩放 旋转 矩阵

旋转参考:cesium 指定点旋转rectangle Primitive方式 矩阵篇-CSDN博客 平移参考:cesium 调整3dtiles的位置 世界坐标下 相对坐标下 平移矩阵-CSDN博客 一、primitive方式添加polygon let polygonInstance new Cesium.GeometryInstance({geometry: Ce…

陆金所控股一季报到底是利好还是利空?

3月底,陆金所控股(LU.N;06623.HK)因其特别分红方案受到市场高度关注。但在4月23日发布的2024年一季度财报中,陆金所控股营收同比下降30.9%,净亏损8.3亿元。 两者对比,外界不由得对公司的经营状况产生疑惑。…

ROS 话题订阅模型之自定义消息类型 C++实现

ROS 话题订阅模型之自定义消息类型 1.自定义消息类型好处 ROS提供了许多标准的消息类型,如 std_msgs/String、sensor_msgs/Image 等,涵盖了很多常见的数据类型和传感器数据。但是,在实际的开发中,我们经常会遇到需要传输的数据类…

【Image captioning】论文阅读九—Self-Distillation for Few-Shot Image Captioning_2022

摘要 大规模图像字幕数据集的开发成本高昂,而大量未配对的图像和文本语料库可能有助于减少手动注释的工作。在本文中,我们研究了只需要少量带注释的图像标题对的少样本图像标题问题。我们提出了一种基于集成的自蒸馏方法,允许使用不成对的图像和字幕来训练图像字幕模型。该…

springcloud alibaba 整合seata的TCC

一、seata服务端搭建同上篇。 Seata的AT模式客户端两阶段提交流程源码分析 二、seata客户端的结构 1.示例DEMO工程 下单,扣余额, 减库存。 2. MAVEN配置。 父工程:由于spring-cloud-starter-alibaba-seata依赖的seata-spring-boot-starter…

C语言(static和extern)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

Python写个二维码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、进入官网下载二、下载一下三.输入代码 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、进入官网下载 官网 pip insta…

FR-E840-0120-4-60 三菱变频器5.5KW型

FR-E840-0120-4-60 三菱变频器替换FR-E740-5.5K FR-E840用户手册,FR-E840-0120-4-60价格,FR-E840-5.5K价格,FR-E840-0120-4-60外部连接图,FR-E740-5.5K替换产品。 FR-E740-5.5K-CHT逐渐开始停产,现在用新型号FR-E840-0120-4-60替换。 FR-E840-0120-4-60参数说明&…

2024年前端技术发展趋势

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

anaconda安装python 3.8环境

打开anaconda命令行窗口 在命令行窗口中,输入命令:conda create -n py38 python3.8 执行命令后,显示conda版本、安装路径和安装的包 然后提醒是否安装,输入y 等待安装完成。然后进入python3.8,执行命令:con…

全网最全的平行坐标图(parallel coordinates plot)的绘制攻略

早上起来拥抱太阳,写小论文,看到人家的图怎么那么好看!!?? 这不得赶紧抄下来,我也发一个顶刊?于是开始思考如何解决绘制这个问题,目前现有的大部分解决方案都是直接调库…