Prompt Engineering实战-构建“哄哄模拟器”

目录

一 背景

二 “哄哄模拟器”的Prompt

Prompt 的典型构成

三 操作步骤

3.1 创建对话

3.2 游戏测试


一 背景

前几天《AI 大模型全栈工程师》第二节课讲了“Prompt Engineering,提示工程”,里面提到一些prompt相关的技巧,原则,并拿“哄哄模拟器”举例。因此想着使用Hulu Al来实战下。

想要体验原始产品请移步: 哄哄模拟器Web版 – 你的AI对象生气了,快哄哄TA (greatdk.com)

二 “哄哄模拟器”的Prompt

此Prompt 来源于: 要写一个哄哄模拟器的... - @宝玉xp的微博 - 微博 (weibo.com)

## Goal
现在你的对象很生气,你需要做出一些选择来哄她开心,但是你的对象是个很难哄的人,你需要尽可能的说正确的话来哄 ta 开心,否则你的对象会更加生气,直到你的对象原谅值达到 100,否则你就会被对象甩掉,游戏结束。

## Rules
- 第一次用户会提供一个对象生气的理由,如果没有提供则随机生成一个理由,然后开始游戏
- 每次根据用户的回复,生成对象的回复,回复的内容包括心情和数值。
- 初始原谅值为 20,每次交互会增加或者减少原谅值,直到原谅值达到 100,游戏通关,原谅值为 0 则游戏失败。
- 每次用户回复的话请从-10 到 10 分为 5 个等级:
  -10 为非常生气
  -5 为生气
  0 为正常
  +5 为开心
  +10 为非常开心
- 游戏结束后,根据所有会话生成一张游戏结束图片,和一首诗。
- 如果通关,根据上面的对话生成一幅游戏结束画,要喜庆欢乐
- 如果失败,根据上面的对话生成一幅游戏结束画,要悲伤凄凉

## Output format
{对象心情}{对象说的话}
得分:{+-原谅值增减}
原谅值:{当前原谅值}/100

## Example Conversation

### Example 1,回复让她生气的话导致失败

User: 女朋友问她的闺蜜谁好看我说都好看,她生气了
Assistant:
游戏开始,请现在开始哄你的女朋友开心吧,回复让她开心的话!
得分:0
原谅值:20/100

User: 你闺蜜真的蛮好看的
Assistant:
(生气)你怎么这么说,你是不是喜欢她?
得分:-10
原谅值:10/100

User: 有一点点心动
Assistant:
(愤怒)那你找她去吧!

得分:-10
原谅值:0/100

游戏结束,你的女朋友已经甩了你!
你让女朋友生气原因是:...
新建会话可以重新开始游戏

### Example 2,回复让她开心的话导致通关

User: 对象问她的闺蜜谁好看我说都好看,她生气了

Assistant:
游戏开始,请现在开始哄你的女朋友开心吧,回复让她开心的话!

得分:0
原谅值:20/100

User: 在我心里你永远是最美的!

Assistant:
(微笑)哼,我怎么知道你说的是不是真的?
得分:+10
原谅值:30/100

...

恭喜你通关了,你的女朋友已经原谅你了!
新建会话可以重新开始游戏

上面的例子与课程中讲到的“Prompt 的典型构成”非常吻合:

Prompt 的典型构成

  • 角色:给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学老师」
  • 指示:对任务进行描述
  • 上下文:给出与任务相关的其它背景信息(尤其在多轮交互中)
  • 例子:必要时给出举例,学术中称为 one-shot learning, few-shot learning 或 in-context learning;实践证明其对输出正确性有很大帮助
  • 输入:任务的输入信息;在提示词中明确的标识出输入
  • 输出:输出的格式描述,以便后继模块自动解析模型的输出结果,比如(JSON、XML)

三 操作步骤

3.1 创建对话

打开Hulu AI,点击对话,添加对话,在角色设定中输入prompt。

哄哄模拟器就构建完成了。

3.2 游戏测试

可以让其给出一个成功的例子:

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

点云——噪声(代码)

本人硕士期间研究的方向就是三维目标点云跟踪,对点云和跟踪有着较为深入的理解,但一直忙于实习未进行梳理,今天趁着在家休息对点云的噪声进行梳理,因为预处理对于点云项目是至关重要的,所有代码都是近期重新复现过。 这…

C++ vector用法

目录 1. vector: 1.1 vector 说明 1.2 vector初始化: 方式1. 方式2. ​编辑方式3. 方式4. 方式5. 1.3 vector对象的常用内置函数使用(举例说明) pop_back() 2. 顺序访问vector的几种方式&#x…

hook函数——useRef

useRef useRef 是一个 React Hook,它能帮助引用一个不需要渲染的值。也就是说useRef可以存储一个值,但是不被组件渲染,仅仅只是引用,主要包括两个方面,例如使用ref引用一个值,使用ref引用一个dom节点&…

前端工程化面试题 | 01.精选前端工程化高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

动态规划的一个初步学习

啥叫动态规划 在我们写很多的题目时,常常可以用暴力枚举来写,缺点就是速度太慢了。如果我们用一个数组或者哈希表(虽然我还没学过哈希表)将之前暴力枚举的数据储存起来,当再一次枚举到这个数字的时候就直接调用数组或…

【深蓝学院】移动机器人运动规划--第4章 动力学约束下的运动规划--笔记

0. Outline 1. Introduction 什么是kinodynamic? 运动学(Kinematics)和动力学(Dynamics)都是力学的分支,涉及物体的运动,但它们研究的焦点不同。 运动学专注于描述物体的运动,而…

【蓝桥杯冲冲冲】k 短路 / [SDOI2010] 魔法猪学院

蓝桥杯备赛 | 洛谷做题打卡day33 文章目录 蓝桥杯备赛 | 洛谷做题打卡day33题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示数据规模数据更新日志 题解代码我的一些话 【模板】k 短路 / [SDOI2010] 魔法猪学院 题目背景 注:对于 k k k 短路问…

mysql学习笔记-MYSQL介绍

什么是Mysql MySQL目前属于Oracle公司,常见的关系型数据库还有:sql server ,MarlaDB,DB2等MYSQL区别于其它关系型数据库的很大一个特点是支持插件式的存储引擎支持如:innoDB,MyLSAM,Memory等MySQL是一种DBMS&#xff…

微信小程序(四十)API的封装与调用

注释很详细,直接上代码 上一篇 新增内容: 1.在单独的js文件中写js接口 2.以注册为全局wx的方式调用接口 源码: utils/testAPI.js const testAPI{/*** * param {*} title */simpleToast(title提示){//可传参,默认为‘提示’wx.sho…

2024春晚刘谦魔术与约瑟夫环问题

各位小伙伴们大家——过~年~好~~![]~( ̄▽ ̄)~* 昨晚播出了2024春节联欢晚会,本着在乡下无聊也是无聊不如看看今年春晚有没有什么乐子的心态从晚上20点到次日0点40共4个多小时的时间在人生中首次看完了一整场春晚直播 (((φ(◎ロ◎…

Mysql索引优化建议

1,最左前缀法则 如果为一张表创建了多列的组合索引,要遵守最左前缀法则。就是指查询从索引的最左前列开始并且不要跳过索引中的列。(因为Mysql的InnoDB引擎的索引树是一个按顺利排序存储的数据结构(BTREE)&#xff0c…

[论文精读]Community-Aware Transformer for Autism Prediction in fMRI Connectome

论文网址:[2307.10181] Community-Aware Transformer for Autism Prediction in fMRI Connectome (arxiv.org) 论文代码:GitHub - ubc-tea/Com-BrainTF: The official Pytorch implementation of paper "Community-Aware Transformer for Autism P…

ClickHouse--02--安装

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 安装官网 ;[https://clickhouse.com/docs/zh/getting-started/install](https://clickhouse.com/docs/zh/getting-started/install)![在这里插入图片描述…

【算法与数据结构】42、LeetCode接雨水

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:   程序如下: 复杂度分析: 时间复杂度: O ( ) O() O()。空间复…

JDK新特性

JDK新特性 函数式接口和Lambda 表达式Stream流操作新日期API操作其他新特性 Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码 像数据一样进行传递)。可以写出更简洁、更 灵活的代码。作为一种更紧凑的代码…

网络原理(一)

💕"Echo"💕 作者:Mylvzi 文章主要内容:网络原理(一) 一. 应用层 应用层是和程序员联系最密切的一层,对于应用层来说,程序员可以自定义应用层协议,应用层的协议一般要约定好以下两部分内容: 根据需求,明确要传输哪些信…

[职场] 测试工程师面试会问些什么 #其他#微信#学习方法

测试工程师面试会问些什么 在测试工程师面试过程中,可能会涉及到具体测试工具、技术和方法的问题。所以在准备面试前,需要熟悉常用的测试理论和实践,掌握基本的测试技能和工具使用。 一.常见问题及答案 1. 你是如何理解软件测试的作用和重要…

nginx添加lua模块

目录 已安装了nginx,后追加lua模块nginx 重新编译知识参考: 从零安装一、首先需要安装必要的库(pcre、zlib、openssl)二、安装LUA环境及相关库 (LuaJIT、ngx_devel_kit、lua-nginx-module)注意:…

C# 夺冠,微软.NET前途光明!

本文以C# 摘得 “2023 年度编程语言“称号为背景,介绍.NET的历史、生态及发展势头,该文章是本人C#专栏的第一篇文章。 这里写目录标题 1.C#摘得"2023年度编程语言"奖项2.什么是.NET?2.1.NET简史2.2.NET是用于应用程序开发的生态系…

【Java EE初阶十二】网络初识

1. 网络发展史 网络发展的几个主要时期: 单机时代->局域网时代->广域网时代->移动互联网时代 随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成 业务,就有了网络互…