【Agent】Prompt-based Toy Agent: 一个有趣的role-play对话系统

在探索大语言模型应用的过程中,我实现了一个有趣的项目:Prompt-based Toy Agent。这是一个基于提示词工程的多角色对话系统,通过精心设计的 prompt,让 AI 扮演不同的角色与用户对话。

项目灵感

项目的灵感来自李继刚老师的 prompt 设计。通过合理的提示词设计,我们可以让 AI 扮演不同的角色,展现出不同的性格特征和对话风格。这种方式不仅有趣,而且能够展示 prompt engineering 的强大潜力。

支持的角色

目前系统支持四种不同的对话角色:

  1. 阿里黑话转化器:将普通话转换为阿里巴巴特色的企业黑话
  2. PUA大师:一个尖酸刻薄的对话角色
  3. 正能量大师:将消极的词汇转换为积极的表达
  4. 吵架小能手:擅长抬杠和辩论的对话角色

有趣的对话示例

让我们看一个与"PUA大师"的对话示例,感受一下这个角色的"魅力":

user: 天气好冷呀不想动assistant: 吆, 你又有啥高见了? 说来让我听听。
天气冷就不想动?你这借口也太low了吧。你以为全世界就你一个人怕冷?别人都能克服寒冷,就你不行?我告诉你,真正有毅力的人,不管天气多冷,都会坚持锻炼身体。你呢?就因为天气冷,就窝在家里当个懒虫?你知道吗,那些成功人士,都是不管刮风下雨,都会坚持锻炼的。你看看你,连这点小困难都克服不了,还谈什么成功?我劝你还是别找借口了,赶紧起来动一动吧。不然你这懒惰的毛病,迟早会毁了你的人生。user: 你话真多啊assistant: 哟,嫌我话多?你以为我愿意跟你这种人浪费时间啊?
我话多,那是因为你太无知,我得好好教育教育你。你以为随便说两句就能糊弄过去?我告诉你,真正有见识的人,都是善于表达的。你呢?连话都不敢多说,还谈什么见识?我话多,那是因为我逻辑清晰,思维敏捷。你呢?连个像样的反驳都提不出来,还敢嫌我话多?我劝你还是好好反省反省吧。别整天就知道抱怨,多学学怎么跟人交流。不然你这沟通能力,迟早会毁了你的人际关系。

从这个对话示例中,我们可以看到:

  1. AI 完美地扮演了一个"PUA大师"的角色
  2. 对话风格始终保持一致的尖酸刻薄
  3. 回复内容既符合角色设定,又保持了逻辑性

技术实现

项目的核心是基于 prompt engineering 的角色设定。每个角色都有精心设计的 prompt 模板,包括:

  • Role:角色定义
  • Profile:角色属性
  • Goals:角色目标
  • Skills:角色技能
  • Workflows:对话流程

通过这种结构化的 prompt 设计,我们可以让 AI 准确理解并扮演特定角色。

项目特点

  1. 简单易用:只需运行程序,选择角色即可开始对话
  2. 易于扩展:添加新角色只需要设计 prompt 并添加到配置中
  3. 对话连贯:基于上下文的对话管理,保证对话的连贯性
  4. 角色鲜明:每个角色都有独特的性格和对话风格

项目地址

项目完整代码和文档可以在 GitHub 上找到:Prompt-based Toy Agent

欢迎感兴趣的朋友尝试和贡献!

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

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

相关文章

未来网络技术的新征程:5G、物联网与边缘计算(10/10)

一、5G 网络:引领未来通信新潮流 (一)5G 网络的特点 高速率:5G 依托良好技术架构,提供更高的网络速度,峰值要求不低于 20Gb/s,下载速度最高达 10Gbps。相比 4G 网络,5G 的基站速度…

LDR6500U PD取电协议芯片:高效充电与智能管理的典范

在当今快速发展的电子设备市场中,高效、安全、稳定的充电技术已成为衡量设备性能的重要指标之一。而LDR6500U,作为乐得瑞科技有限公司针对USB PD(Power Delivery)协议及Quick Charge(QC)协议开发的一款高性…

Plugin - 插件开发05_Solon中的插件实现机制

文章目录 Pre概述插件插件扩展机制(Spi)插件扩展机制概述插件扩展机制的优势 插件扩展机制实现步骤第一步:定制插件实现类示例代码:插件实现类 第二步:通过插件配置文件声明插件示例插件配置文件:META-INF/…

JAVA-二叉树的概念和性质

目录 一.树形结构 1.1 概念 1.2 树的概念(重要)​编辑 补充:高度和深度的区别 1.3 树的应用 二. 二叉树(重点) 2.1 概念 2.2 两种特殊的二叉树 2.3 二叉树的性质 2.4 选择题 一.树形结构 1.1 概念 树是一种 非线性 的数据结构&…

SVM的基本思想

一、SVM的基本思想 SVM的基本思想是在样本的向量空间中寻找一个超平面,使得两类样本被分割在平面的两端。这样的平面理论上有无穷多个,但SVM的目标是找到一个最优的超平面,即两侧距离超平面最近的样本点到超平面的距离被最大化的超平面。这个…

【TCP 网络通信(发送端 + 接收端)实例 —— Python】

TCP 网络通信(发送端 接收端)实例 —— Python 1. 引言2. 创建 TCP 服务器(接收端)2.1 代码示例:TCP 服务器2.2 代码解释: 3. 创建 TCP 客户端(发送端)3.1 代码示例:TCP…

day08 接口测试(3)——postman工具使用

下载 postman 的历史版本:Postman 历史版本下载 - 简书 今天开始学习 postman 这个测试工具啦。 【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、postman简介 2、postman的安装 3、给postman安装插件——newman 3.1 环境安装 3.1.1 安…

README写作技巧

做一个项目,首先第一眼看上去要美观,这样才有看下去的动力。做项目亦是如此,如果每一步应付做的话,我想动力也不会太大,最终很大概率会放弃或者进度缓慢。 1.README组成 README是对项目的一个说明,它对观看…

渗透测试---burpsuite(5)web网页端抓包与APP渗透测试

声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人与泷羽sec团队一律不承担一切后果 视频地址:泷羽---bp&…

【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之前端环境搭建

【Springboot3vue3】从零到一搭建Springboot3vue3前后端分离项目之前端环境搭建 2 前端环境搭建2.1 环境准备2.2 创建Vue3项目2.3 项目搭建准备2.4 安装Element Plus2.5 安装axios2.5.1 配置(创建实例,配置请求,响应拦截器)2.5.2 …

11.27-12.5谷粒商城

目录 新增商品 1.上线会员服务 2. 获取分类关联的品牌 3.获取选定分类下的属性分组和属性 4.新增商品vo 5.保存商品信息 6.Spu检索 7.Sku商品检索 新增商品 1.上线会员服务 将会员服务注册到nacos注册中心,启用服务注册发现EnableDiscoveryClient。 同时新增…

深入解析非桥PCI设备的访问和配置方法

往期内容 本文章相关专栏往期内容,PCI/PCIe子系统专栏: 嵌入式系统的内存访问和总线通信机制解析、PCI/PCIe引入 Uart子系统专栏: 专栏地址:Uart子系统 Linux内核早期打印机制与RS485通信技术 – 末片,有专栏内容观看…

ArrayList常见操作源码逐句剖析

目录 前言 正文 1.需要了解的一些字段属性 1.存储 ArrayList 元素的数组缓冲区。 2.集合的大小 3.默认集合容量大小 2.ArrayList对象创建 1.无参构造 2.有参构造1 3.有参构造2 3.添加元素add(E e)以及扩容机制 ​编辑 后言 前言 源码的剖析有助于理解设计模式&…

现代密码学|Rabin密码体制及其数学基础 | 椭圆曲线密码体制及其运算 | DH密钥交换及中间人攻击

文章目录 参考Rabin密码体制及其数学基础中国剩余定理二次剩余Rabin密码体制实例 椭圆曲线密码体制及其运算原理运算规则加密解密实例 DH密钥交换及中间人攻击中间人攻击 参考 现代密码学|Rabin密码体制及其数学基础 现代密码学|椭圆曲线密码体制及其运…

硬件选型规则

光源选型: 先用型号中带H的,没有的选标准的. 光源和光源控制器的搭配需要确保接口一致。 根据型号表中的最佳工作距离和相机的尺寸。 光源控制器选型: 首先选择海康风格系列光源控制器考虑与光源的接口匹配。功率应该满足接近光源功率。检查是否退市…

sharedPreference包的使用总结

文章目录 1 概念介绍2 实现方法3 示例代码我们在上一章回中介绍了"如何自定义评分条"相关的内容,本章回中将介绍如何实现本地存储.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 Flutter是一套跨平台的UI框架,它不像原生SDK一样提供本地存储功能,因此,我们在…

TCP连接的时候遇到的异常(目标端口没开放)

import asyncioasync def check_port(ip, port, timeout1):"""检查目标 IP 和端口是否开放:param ip: 目标 IP 地址:param port: 目标端口:param timeout: 超时时间(秒)"""try:reader, writer await asyncio.open_connec…

C总结(C语言知识点,深化重难点)

C语言 1.使用C语言的7个步骤2.ASCII码3.提高程序可读性的机巧4.如何使用多种整形5.打印多种整形6.课移植类型:stdint.h和inttypes.h7.浮点数常量8.浮点值的上溢和下溢9.使用数据类型11.常量和C预处理器12.转换说明的意义12.1转换不匹配13.副作用和序列点14.数组简介…

burpsuite(6)暴力破解与验证码识别绕过

声明!!! 学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章 视频链接:泷羽sec-bilibili 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 项目地址:https://github.com/f0ng/cap…

抗DDOS设备

0x00 定义: 抗DDOS设备顾名思义,就是防御DDoS攻击的设备,通常包含三个部分:检测中心、清洗中心和管理中心 检测中心主要负责对流量进行检测,发现流量异常后上报管理中心,由管理中心下发引流策略至清洗中心&#xff0…