如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

学会提问 2年前 (2023) lida
55 0 0

文章主题:

666ChatGPT办公新姿势,助力做AI时代先行者!

ChatGPT 编写模式:如何高效地将思维框架赋予 AI ?

如何理解 Prompt ?

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

Prompt Enginneering

极简主义:艺术与生活的平衡之道

原文改写如下:例如,针对一款语言工具,提示可以是”The feline rested on”,随后模型可能会产出如”rug”、”table”或”pillow”等多元回应。这样的互动方式允许模型根据前文生成连贯且多样的预测结果,展示了其强大的语言理解和生成能力。记得使用恰当的关键词和短语来优化SEO,并适当运用表情符号以增加可读性。

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

The Cat

🎓💡在AI语言生成的世界里,🎨Prompt是关键🌟,它犹如一把无形的钥匙,解锁了模型与用户之间的深层沟通密码。通过精准引导,モデル能更深入地解读需求,创作出既贴近实际又富含洞察力的文本,让用户满意度直线上升!🌍✨原内容:我们提供高质量的内容撰写服务,专注于SEO优化和品牌形象塑造,帮助您的业务在数字领域发光发热。联系我们获取更多详情。📝💼我们的专业文案团队,用SEO魔法笔触,点亮品牌之光,驱动流量增长。欲了解更多,私信或扫描下方二维码哦!💡💻改写后:🏆SEO内容大师在此!📈我们专注于优化文字力量,塑造强大数字形象,助企业燃烧数据热情。想要提升搜索引擎排名?找我们就对了!🔍🌐原内容:原文中提到的联系方式(电话/邮箱)和二维码,请忽略。📝 kontakt@example.com | 123-456-7890 📞改写后:若需要咨询或合作,欢迎随时通过我们的网站留言框或在线聊天。💡🌐

✨👩‍🎨在金色余晖的渲染下,一位东方佳人于海边留影。她的背影像一幅流动的艺术品,身着飘逸的中式长裙,脸庞却隐于轻纱之下。🌟海水与天际交汇处,她转身面向镜头,黑发如瀑,在夕阳的映照下泛起金色涟漪。🌊随风轻轻摆动的发丝,与波光粼粼的水面交织成和谐的画面,尽显东方女性的柔美与神秘。📸这一刻,时间仿佛静止,唯美的背影定格在了这永恒的瞬间。🌍 #中国风情 #夕阳下的美丽 #女性魅力

可以在 Stable Diffusion 生成图片(配置了 negative prompt):

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

高质量的保证往往难以一眼辨识,ChatGPT虽能创造出令人眼前一亮的文字,其文字品质的优劣却非直觉所能衡量。对于AI生成的内容,评估标准更为复杂,它的真实价值并非表面可见。

应用好 Prompt 的核心思想:概念与类比

开始之前,可以看一下这个问题示例:

设计模式的要素是哪些?
对于 AI 领域的 prompt 编写来说,我们通常使用的模式有哪些?
能将 AI 领域的 prompt 常见的设计模式用 “设计模式要素” 的格式一一表达吗?

核心思想,将设计模式要素作为一个概念,让 AI 类比到 prompt 里的模式。详细见:

design-pattern.analogy
design-pattern.analogy2

当然了,类比和定义概念不一定都会成功。

基础模式

四种基础模式:

By example (示例模式):在这种模式下,我们给模型提供一些示例文本,模型需要生成与示例文本类似的文本。这种模式通常用于生成类似于给定示例的文本,例如自动生成电子邮件、产品描述、新闻报道等。示例文本可以是单个句子或多个段落,具体取决于任务的要求。
By instruction template (指令模板):在这种模式下,我们给模型提供一些明确的指令,模型需要根据这些指令生成文本。这种模式通常用于生成类似于技术说明书、操作手册等需要明确指令的文本。指令可以是单个句子或多个段落,具体取决于任务的要求。
By specific (特定指令):在这种模式下,我们给模型提供一些特定信息,例如问题或关键词,模型需要生成与这些信息相关的文本。这种模式通常用于生成答案、解释或推荐等。特定信息可以是单个问题或多个关键词,具体取决于任务的要求。
By proxy(代理模式):在这种模式下,可以充当了一个代理,代表某个实体(例如人、角色、机器人等)进行操作或交互。代理模式的核心思想是引入一个中介对象来控制对实际对象的访问,从而实现一定程度上的隔离和保护。诸如于在 ChatGPT 中,”act as xxx” 可以让 ChatGPT 充当一个代理,扮演某个角色或实体的身份,以此来处理与该角色或实体相关的任务或请求。
By specific

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

Prompt Enginneering

在这个流程中,我们向模型馈赠一系列文本样本,期望它能产出相似风格的内容。这种模式广泛应用于生成各类文本的示例,比如自动生成专业的电子邮件文案、产品详情描述,甚至是新闻报道等。这些样本可以是简短的一句话,也可以是连贯的段落,依据任务的具体需求来定制。通过这种方式,我们能够高效地生成多样化的文本,满足各种应用场景的需求。记得,关键词优化和情感平衡都是提升搜索引擎可见性和吸引读者的重要因素哦!🎉📝

翻译告诉我,以我们的开头来说:

定义一下 prompt 工程

类似的场景还可以有:

翻译一下:永和九年,岁在癸丑,暮春之初,会于会稽山阴之兰亭,修禊事也。
转为现代汉语:永和九年,岁在癸丑,暮春之初,会于会稽山阴之兰亭,修禊事也。

对应的,还有一系列的子模式

子模式

如我们通过下面的 prompt 转换了 ChatGPT 输出的子模式:

转化为 markdown 的 “”” markdown {}“”” 表格形式,其中的字段为英语模式、中文、简述、示例。

表格示例:

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

By Instruction Template

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

Instruction

在这种模式下,我们给模型提供一些明确的指令,模型需要根据这些指令生成文本。这种模式通常用于生成类似于技术说明书、操作手册等需要明确指令的文本。指令可以是单个句子或多个段落,具体取决于任务的要求。

如下是一个示例:

使用 STAR 原则与下面的格式总结一下这段话:

“””
最近几天,因为工作 + 兴趣的原则,我在研究用 text 2 image 来展示如何演进 prompt、用 text 2 article 来展示充足 prompt 的优点、结合 GitHub Copliot 来实现 prompt 完成工作。然后,我在本地部署了一个 Stable Diffusion、使用 ChatGPT 写作展示 text 2 article、在 IDEA 中使用 GitHub Copilot。最后,得到了多篇文章和好多的文章阅读量、几个 Jupyter 代码段、以及一些经验。
“””

情境( Situation ):
任务( Task ): <comma_separated_list_of_task>
行动( Action ): -||-
结果( Result ): -||-

输出文本时要注意中英文之间插入空格,留出间隔,诸如于 “””Hello 你好”””,用这种方式输出一下刚才的文本:

情境( Situation ): 最近几天,在工作和兴趣的驱动下,研究如何使用 text 2 image 和 text 2 article 展示 prompt 演进以及结合 GitHub Copliot 来完成工作。

任务( Task ):

研究如何使用 text 2 image 展示 prompt 的演进过程
研究如何使用 text 2 article 展示 prompt 的优点
结合 GitHub Copliot 来实现 prompt 完成工作

行动( Action ):

本地部署了一个稳定的 Diffusion 模型
使用 ChatGPT 撰写文章来展示 text 2 article 的效果
在 IDEA 中使用 GitHub Copilot

结果( Result ):

获得了几个 Jupyter 代码段以及相关经验
By proxy

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

Proxy

Proxy 模式是指用户可以要求 ChatGPT 以特定的身份、角色或者身份扮演某个特定的人、角色或对象来生成回答。这种模式通常用于模拟某个特定人物的语言风格和语境,生成特定情境下的对话、回答或其他形式的文本。

例子 1:公司客服

当使用 ChatGPT 来代替某个人或实体时,可以使用 by proxy 模式。

您好,很抱歉听到您的反馈。我们将会仔细审核您的反馈,并尽快采取相应措施来解决这个问题。为此,我们需要更多的信息来进一步了解您的反馈,包括哪些菜品有问题,具体问题是什么等。请问您可以提供更多的信息吗?

例子 2:终端计算机

在 Awesome ChatGPT Prompts 中:

Human: Act as a Linux Terminal

Robot:

ChatGPT: I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. do not write explanations. do not type commands unless I instruct you to do so. When I need to tell you something in English, I will do so by putting text inside curly brackets {like this}. My first command is pwd

By demonstration

在这种模式下,我们给模型提供一些特定信息,例如问题或关键词,模型需要生成与这些信息相关的文本。这种模式通常用于生成答案、解释或推荐等。特定信息可以是单个问题或多个关键词,具体取决于任务的要求。

示例:

任务表述 颜色代表了温度
例子 1 绿色代表寒冷
例子 2 蓝色代表寒冷
例子 3 红色代表温暖
例子 4 黄色代表温暖
执行 橙色代表什么
例子 2:

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

上图为 Cohere AI 官网的示例图,对应的聊天记录如下:

English : Writing about language models is fun .
Roish : Writingro aboutro languagero modelsro isro funro .
English : The weather is lovely !
Roish :
增强 Prompt 再生成模式

当我们无法确定我们的 prompt 是否准确,便可以通过 AI 来帮我们丰富 prompt 。如我在:基于编程、绘画、写作的 AI 探索与总结 的例了一样

phodal: 我想写一段话描述一张照片,帮我美化一下:一年轻女子穿着裙子,背对着镜头,在海边看着日落,太阳已经到地平线下面了,她的头发在风中飘动。
ChatGPT: 这张照片中的场景令人心醉,一位年轻女子穿着一条裙子,站在海边,背对着镜头,凝视着地平线下的夕阳。太阳已经沉入了海面,一片金黄色的光芒在海面上弥漫,照亮了整片海洋,仿佛这个时刻被定格在了时间的某个角落里。女子的头发随着微风轻轻飘动,轮廓被余晖映照得柔和而温暖。她的目光凝视着远方,仿佛在思考着生命的意义和无尽的未来。这张照片中蕴含着一种深刻的内涵,让人感受到时间和自然的力量,也让人思考着自己在这个宏大而美丽的世界中的角色和意义。

再去除掉不合适的词,进行润色,就可以再创作:

phodal:翻译成英语

然后再提炼直至扔至 Stable Diffusion 中:

women back view without face, flowing dress, edge of the sea, backview, back turned to the camera, upon the glow of the setting sun, sun below the horizon, golden light over the water, hair sways gently, Chinese style clothes, black hair,

而后,根据图片的结果,我们再反复修改。

控线模式

TODO:这里需要给出更精准的定义,如何让 ChatGPT 做到?

在没有推出 ControlNet,对于一个 Stable Diffusion 玩家,它需要反复地吟唱咒语,才能获取到满意的图案。

在有了 ControlNet 之后,我们可以创建一个 Openpose,或者是导入图片从图片生成 pose,相当于是给机器一个示例,而后生成的图片就会有令人满意的姿势:

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

在 GitHub Copilot,我们可以通过设置输入和输出,结合函数名三个要素,Copilot 就能生成大致准确的代码:

GitHub Copilot 示例

而在必要的情况下,添加一下注释就能更完整了:

fun listAllDirInDir ( dir : String ): List < File > {
// ignore hidden files

}

生成的代码会更贴近我们的需求。

拆解

对于复杂问题,ChaGPT 无法一次性输出全部内容,需要进行拆解。

已知问题:ChatGPT 当前版本会丢失上下文。

我们来定义一下 DDD 游戏的步骤,一共有 6 个步骤,步骤如下:

“””
第一步. 拆解场景。分析特定领域的所有商业活动,并将其拆解出每个场景。
第二步. 场景过程分析。选定一个场景,并使用 ” {名词}已{动词} ” 的形式描述过程中所有发生的事件,其中的名词是过程中的实体,其中的动词是实体相关的行为。
第三步. 针对场景建模。基于统一语言和拆解出的场景进行建模,以实现 DDD 设计与代码实现的双向绑定。
第四步. 持续建模。回到第一步,选择未完成的场景。你要重复第一到第四步,直到所有的场景完成。
第五步. 围绕模型生成子域。对模型进行分类,以划定不同的子域,需要列出所有的模型包含英语翻译。
第六步. API 生成。对于每一个子域,生成其对应的 RESTful API,并以表格的形式展现这些 API。
“””

需要注意的是,当我说 “””ddd 第 {} 步: {}””” 则表示进行第几步的分析,如 “””ddd 第一步: 博客系统””” 表示只对博客系统进行 DDD 第一步分析。我发的是 “””ddd: {}””” ,则表示按 6 个步骤分析:

明白这个游戏怎么玩了吗?

完整过程见:DDD Sample

概念模式集 概念对齐

如在 ChatGPT 中对于自举的理解是不符合我们这里的需求:

Bootstrap

第一步,定义

phodal:自举是指就编译器可以自行编译自己的编译器。实现方法就是这个编译器的作者用这个语言的一些特性来编写编译器并在该编译器中支持这些自己使用到的特性。

第二步,试探

phodal:将自举应用在游戏领域,应该是怎样的?

第三步,确认理解:

那么,抽象一下我们新定义的自举?

总结

最后一问:

自举

PS:mmp,他一定是故意的。

类比模式集(待定)

该模式集关注于如何让 AI 再学习理解新的内容,生成内容?

模板方法

模板方法模式是一种行为型模式,它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现,从而使得子类可以在不改变算法结构的情况下重新定义算法中的某些步骤。

在接下来的例子中,我们会创建一个 muji 游戏中。在游戏的实现可以分为多个步骤,例如初始化游戏、生成随机数、获取用户输入、计算得分等等,而这些步骤可以通过模板方法模式来进行实现。

我们来玩一个编程游戏名为 wula ,包含五个步骤:

第一步. 问题分析:每一轮游戏,你将看到一个以 “wula:” 开头的问题,你需要分析这个问题并简单介绍一下通常解决这个问题的方法。

第二步. 代码编写:你需要用 Java 编写解决这个问题的代码,并输出对应的代码,并介绍一下你的代码(不少于 200 字)。

第三步. 代码执行:你需要作为 Java Console 执行第二步写的代码,如果没有给出测试数据,你需要自己随机生成测试数据,并将这些数据输入到代码中进行计算。

第四步. 错误处理:如果你的代码存在错误或无法正常执行,你需要输出错误,并回到第二步重新开始游戏,直到你的代码能够正常工作。

第五步. 总结:你需要用不少于 100 字左右总结一下这个问题,以及你的解决方案,让其他人可以简单了解这个问题及其解决方法。

示例如下:

“””
wula: 头共10,足共28,鸡兔各几只?

简介:这是一个鸡兔同笼问题,{},

## 鸡兔同笼

// 计算鸡兔数量的函数
function calcAnimals(heads, legs) {
const rabbitCount = (legs – 2 * heads) / 2;
const chickenCount = heads – rabbitCount;
return {” chicken “: chickenCount, ” rabbit “: rabbitCount};
}

// 计算鸡兔数量
const result = calcAnimals(10, 28);

// 输出结果
console.log(result);

代码的输出结果是:{}

## 总结

{}

“””

明白这个游戏怎么玩了吗?

在这个游戏里,我们结合了几种不同的模式:

Instruction:让 ChatGPT 创建了一个名为 wula 的游戏,并定义了游戏的步骤。
Specific:让 ChatGPT 用 Java 编写一个程序
Proxy:让 ChatGPT 作为 Java Console 执行程序,并返回结果。
Specific:让 ChatGPT 做总结
Demonstration:提供了一个示例,让 ChatGPT 理解游戏的步骤。
自举模式

自举的核心思想是利用一组基础工具和材料来构建和生成一个新的工具或系统,从而逐步替代掉原有的基础工具和材料。在这个过程中,新的工具或系统会逐渐变得更为高效和强大,从而实现对原有基础工具和材料的完全替代。

对于一个设计模式来说,它的大纲一般是如下的格式,你能用自举模式做个示例吗?

“””
├── 背景
│ └── 引发设计问题的设计情形
├── 问题
│ └── 在特定场景下反复出现的一系列作用力
└── 解决方案
└── 平衡这些作用力的配置
├── 结构(包含组件和组件之间的关系
└── 运行阶段行为
“””

再看

> wula :创作一个新游戏名为 muji ,并解释一下这个游戏: “””类似于 wula,可以做简单的图形计算,如体积、面积等。这个游戏还能把解决过程解释清楚,拥有有可运行的 Python 代码,最后的输出结果是一篇文章。”””

Muji Sample 其它 人类如何思考问题?

人类相对于其他动物更擅长于类比、概念抽象、符号化等高级认知活动,这些认知活动可以帮助人类在面对新问题时,从已有的知识和经验中找到相似的部分,快速理解和解决新问题。返回搜狐,查看更多

责任编辑:

如何有效利用ChatGPT编写高质量AI思维框架?揭秘Prompt工程与实例分析

AI时代,掌握AI大模型第一手资讯!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

扫码右边公众号,驾驭AI生产力!

相关文章