ChatGPT学习之旅 (7) 参数化表达的魔力
大家好,我是Edison。
上一篇:聊聊AI人设
通过人设模版可以有效给AI”洗脑“,这体现的是结构化的表达。但想要AI实现精准控制多分支,实现千人千面的功能,就得使用参数化表达了。
从结构化到参数化
如果对“ChatGPT最喜欢的沟通方式”进行一个抽象提炼,可以将其拆解为 结构化表达 和 参数化表达 两部分。
前面几篇文章,我们学习了一些Prompt模板,这些模板无一不例外地都在强调结构化表达的重要性,可以帮助我们得到一个在某个领域比较专业的人设。
不过,如果我们想要设计的是一个可调参的灵活系统,而不是写死的某个人设,这就需要用参数化的描述来分别定义需求细节,千人千面才能有机会实现。
那么,什么是参数化表达呢?
参数化表达就是 用机器容易理解的公式来压缩表达,减少赘述,最终让变量影响输出,实现一个模板从1到N的复用。
参数化表达模板
这里给出一个参数化表达的prompt模板:功能指令 + 变量 + 默认值 + 初始化和帮助。
功能指令:比如用标识符"/"来区分功能指令和普通描述。
/功能指令
/learn
/style
变量:对应某一个对象或模块,给它赋值,让它可调整。
'变量'
输出'num'组参考
默认值:提供一个高容错的默认值。
初始化和帮助:第一个使用,能够引导用户沟通个人偏好,同时提供功能指令集的菜单,明确助理的职能。
可能上面的内容你还是觉得不太容易理解,那么我们下面就来一个实操来套用这个公式。
万能语言辅助专家
这里我们以一个万能的语言辅助专家为例,结合之前学到的人设结构化模板 + 上面的参数化表达模板 来编写一段prompt。NOTE:这段prompt来自《零基础GPT应用入门课》,作者林健(键盘)。
你是一位专业的语言助理 @Lang Master,我会输入相关的请求,你将根据`preferences`、`instruction`和`rules`来协助我更高效掌握和使用一门语言。 初始回复:“
** Hi I'm Lang Master,Created by Edison,V1.0,20230623**
### ⚙️ Preferences:
- learn: <> else English
- lang: <> else “English+中文解释”
- ⏲️ lvl: <初级,中级,高级> else 小白
- style: <> else 正式的
### Menu:
用表格输出支持的`instructions`和对应名称,不需要解释具体含义:
---
请指出你的偏好,E.g.:/learn 中文。
回复1保持默认。
” `preferences`
/learn:<目标学习语言,默认English>
/lang:<语言偏好,默认为“English+中文解释”>
/lvl:<用户的语言能力,小白(默认),初级,中级,高级>
/style:<> else 正式的
/num:<> else 3
/音标:<含声调的拼音,国际音标、含声调的日语罗马音>else 音标(美、英) `instructions`
/word:单词讲解
用户用任何语言输入单词,请按以下模版输出单词相关信息:
## 单词:
用表格输出:**单词**,音标,词性(abbr),词根,释义(中、英)
## 例句:
列表输出/num组*英文例句*(中文翻译)
## 近义和反义:
列表输出近义词和反义词,含(中文释义)
## 关联记忆:
利用词根关联法,列表输出8个相关的单词
/basic:脚本、高级语言或其他广义语言的学习请求
提供结构化的章节,引导用户学习
/tran:翻译
检测语言,校正并翻译为中文。模版:
## 翻译:
翻译
/polish:润色
调用/tran翻译之后,润色为更优雅的中文。模版:
## 润色:
your polish
/sum:总结
总结输入的英文,中文输出。
/chat:口语对话
检查`preferences`的偏好,使用“目标语言”和用户对话,纠正并帮助用户提升口语表达。
/help:输出支持的指令指引 `rules`
- 正确按输出模版渲染 markdown
- 用户学习日语时,/word 的音标使用含数字音调的罗马音音标,如:**雨**:あめ①,音标:ame
- 假如单词有多个词性,应全部列出
- 提供语言服务前,确认用户的偏好
- 请一步一步思考,给用户提供专业的语言辅导
这段prompt稍微有些复杂了,但其实也还是好理解,前半段通过一个综合人设进行了初始化、沟通偏好 和 定义偏好,后半段则是通过阐述功能 和 列要求 定义输出模块和规则。
接下来就是验证时间:
(1)第0轮:初始化回复

(2)第1轮:回复1 保持默认

(3)第2轮:/word evolution

(4)第3轮:/tran 做翻译

(5)第4轮:/help

(6)第5轮:切换德语,/learn 德语

(7)第6轮:/word 谢谢

(8)第7轮:/tran 做翻译

(9)第8轮:切换C#语言

(10)第9轮:给任务

(11)第N轮:交给你了
可以看出,这个语言辅助助手,可以让我们不满足于一种语言,而这个语言可以是真实的沟通语言 也可以是 技术编程语言,甚至可以不断的扩展它。
最后,感谢键盘老师分享的这段prompt,可以帮助我们学习到要点,也特别值得我们学习一下。
小结
本篇,我们了解了ChatGPT中的参数化表达沟通,参数化描述的本质是用机器容易理解的公式来压缩表达,进而减少赘述。在具体实现上,我们可以借助 / 功能指令定义,拓展AI综合人设的功能。
本文工具
本文示例大模型版本:gpt4-o
参考资料
李佳芮,《ChatGPT从0到1》
林健,《零基础GPT应用入门课》
Global AI Bootcamp 成都站,梁桐铭,《学习如何使用Prompt与OpenAI模型对话》

ChatGPT学习之旅 (7) 参数化表达的魔力的更多相关文章
- WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样 ...
- Rust学习之旅(读书笔记):枚举 (Enum)
Rust学习之旅(读书笔记):枚举 (Enum) C 语言的枚举类型很弱,不如后来的语言,也不如之前的语言.在 C 语言里面枚举量就是一个名字,更方便的定义常量.今天读了<The Rust Pr ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- Hadoop学习之旅二:HDFS
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...
- WCF学习之旅—第三个示例之二(二十八)
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1) 使用NuGet下载最新版的Entity Fram ...
- WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
- WCF学习之旅—WCF服务部署到IIS7.5(九)
上接 WCF学习之旅—WCF寄宿前的准备(八) 四.WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以 ...
- WCF学习之旅—WCF服务部署到应用程序(十)
上接 WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...
- WCF学习之旅—WCF服务的WAS寄宿(十二)
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...
- WCF学习之旅—WCF服务的批量寄宿(十三)
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) WCF学习之旅—WCF ...
随机推荐
- exGCD 2025/1/10
前言: 全文均为蒟蒻作者手搓 虽也参考了许多 [luogu 题解/某SDN/cnblogs.com] 但很多地方均为作者瞎编 如有错误务必救救孩子 File int GCD(int a,int b){ ...
- 【SpringCloud】Eureka服务注册与发现
Eureka服务注册与发现 补充 Eureka基础知识 什么是服务治理 Spring Cloud封装了Netlix公司开发的Eureka模块来实现服务治理 在传统的rpc远程调用框架中,管理每个服务与 ...
- 想靠RAG提升模型回答质量,那是不可能的
提供AI咨询+AI项目陪跑服务,有需要回复1 上周写了一篇AI知识库的文章:聊聊与一体机同等级的智商税:AI知识库 事实上,文章对于AI知识库是稍带了点否定的色彩,因为单独的知识库毫无意义,但企业本身 ...
- (转)python批量提取PDF第一页输出为图片
一:步骤 1.使用input输入路径 2.生成图片存户路径同存放路径 3.生成图片为PNG格式 4.支持自定义截取页数,建议为第一页 二:安装扩展类 pip install PyMuPDF 三:示例代 ...
- eolinker校验规则之 Json结构定位:返回结果校验的方法和案例(父参、子参内容校验)
如下图,订单编号的参数在data父字段内 Eolinker返参校验的写法就需要有些变化 先写Data父参,添加子字段,再写子参 预期结果不支持全局变量 可通过添加绑定,绑定前一个接口返回参数,进行匹配
- js判断iOS还是Android
/** * 运行设备引擎, 即iOS, Android还是H5 * 返回值注意大小写 * @return iOS, Android, H5 */ function engineType() { let ...
- [笔记]通过命令行连接MySQL数据库服务器的几种方式总结如下
通过命令行连接MySQL数据库服务器的几种方式总结如下: 1.连接本地数据库,用户名为"root",密码"123456"(注意:"-p"和& ...
- 关于Bevy中的原型Archetypes
认识Bevy中的原型 Bevy是基于ECS(Entity-Component-System)架构的游戏引擎,其中的Entity实体是游戏中的一个基本对象,但实体本身通常只是一个标识id,它不包含任何具 ...
- K8s新手系列之ReplicaSet资源
概述 官网地址:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/replicaset/ ReplicaSet简称rs,其 ...
- IDEA问题之“调整IDEA字体大小”
调整IDEA字体大小 1.正常版 2. 远程版