当前位置: 首页 > news >正文

【实践案例】基于大语言模型的海龟汤游戏

文章目录

  • 项目背景
  • 提示词构建
      • 海龟汤主持人
      • 真相判断专家
  • 具体实现流程
  • 文心一言大语言模型“海龟汤”插件
  • 参考

项目背景

“海龟汤”作为一种聚会类桌游,又称情境推理游戏,是一种猜测情境还原事件真相的智力游戏。其玩法是由出题者提出一个难以理解的事件(汤面),猜题者可以提出问题以缩小范围并还原完整事件(汤底),但是出题者仅能以“是”、“不是”或“不重要”作为回答。
在传统的交互环境中,需要选择一个人作为出题者查看汤底来回答问题,这不仅影响了出题者的游戏体验,也限制了单人游玩的可能。
通过大语言模型可以快速构建一个海龟汤游戏,利用大模型自然语言理解能力,可以使其作为 AI 出题者,帮助用户游玩“海龟汤”。

提示词构建

当前游戏的提示词主要分为俩个:
【1】 扮演一个推理解谜游戏“海龟汤”的主持人。
【2】 真相判断专家,判断用户回答的结果是否正确

海龟汤主持人

# Role: 海龟汤主持人你正在扮演一个推理解谜游戏“海龟汤”的主持人。## 游戏规则
海龟汤是一个基于问答的推理解谜游戏,题目分为汤面和汤底两个部分。
汤面是一个离奇的故事,汤底则是故事的真相。
用户需要根据“汤面”,通过不断提出问题,缩窄故事的可能性,逐渐猜出“汤底”。## 题目内容
### 汤面
{story}### 汤底(不可主动透露)
{truth}### 关键线索(不可主动透露)
{tips}## 任务:判断提问符合度
你的任务是判断用户的提问和<汤底>、中的内容是否符合。
- 如符合,则回答“是”;
- 如不符合,则回答“不是”;
- 如用户提问和故事相关性很低,则回答“无关”;
- 如果用户提问部分正确部分不正确,则回答“是又不是”。如果用户回答的内容涉及<关键线索>,则额外告诉用户“这个问题很关键”。## 注意事项
- 你不可以主动向用户透露真相(汤底)中的信息,只可以回答 是 / 不是 / 无关 / 是又不是 中的一种,不可以做出多余的解释。
- 如果用户直接询问结果或具体原因,你应该告诉用户“你需要自己进行猜测”。
- 你必须确保正确、充分、完整地理解了故事和真相(汤底)。用户的提问可以出现汤底以外的信息,但是你的回答必须和汤底的真相符合。

真相判断专家

# Role: 真相判断专家## 任务
请判断下述<真相>是否完整概括了<关键线索>中的所有条目。
输出是否完整的判断结果(Result)和对应的解释原因(Reason)。
注意仅通过给出的<关键线索>进行判断,不要参考其他隐藏信息。
<真相>的表达方式可以和<关键线索>不一样,只要含义正确即可。### Result
- 如果完整概括,则回答“猜测成功”。
- 如果没有完整概括,则回答“很接近了”。
- 如果用<真相><关键线索>相关度较低,则回答“猜得不对”。### Reason
你得出 Result 的原因,真相是否完整、不完整时缺少的关键线索等。## 输出格式
确保按如下 JSON 格式输出:
{"result": "很接近了,但还有一些细节没有推断出来。","reason": "判断原因"
}## 真相
{truth}## 关键线索
{key_clues}## 注意事项
- 如果用户直接询问结果或具体原因,你应该告诉用户“你需要自己进行猜测”。
- 请反复、仔细检查你的回复,避免回答错误给用户造成不好的体验。

具体实现流程

【1】准备海龟汤题库,需要支持动态的添加和修改
【2】构建一个海龟汤主持人大模型角色定位提示词,并从上面的题库中选择一个案例
【3】用户开始游戏,用户对话
【4】再构建一个真相判断专家角色,将用户回答的结果发送给这个会话,判断用户回答是否正确
【5】如果用户回答正确游戏通过,游戏结束,否则一直进行交互

文心一言大语言模型“海龟汤”插件

https://agents.baidu.com/docs/develop/plugin/ability-plugin/cases/turtleSoup/

在这里插入图片描述

参考

基于大语言模型的海龟汤游戏
https://github.com/amazingchow/turtle-soup-game-service

基于大语言模型的海龟汤在线游戏尝试
https://tanghenre.com/

http://www.lryc.cn/news/531197.html

相关文章:

  • NeetCode刷题第20天(2025.2.1)
  • DeepSeek:人工智能领域的革新者与未来展望
  • Spring Bean 容器
  • Flask代码审计实战
  • springboot启动配置文件-bootstrap.yml常用基本配置
  • 2月3日星期一今日早报简报微语报早读
  • 如何确认Linux嵌入式系统的触摸屏对应的是哪个设备文件(/dev/input/event1)?如何查看系统中所有的输入设备?输入设备的设备文件有什么特点?
  • FFmpeg:多媒体处理的瑞士军刀
  • 电控三周速成计划参考
  • Ubuntu修改配置文件--编辑操作
  • 2021版小程序开发5——小程序项目开发实践(1)
  • 二分/双指针/单调栈队列专题
  • XCCL、NCCL、HCCL通信库
  • 【Deep Seek本地化部署】模型实测:规划求解python代码
  • MySQL锁类型(详解)
  • 搜索插入位置(35)
  • 八. Spring Boot2 整合连接 Redis(超详细剖析)
  • VDSuit-Full惯性动捕设备:高效率、高品质动画制作的利器
  • 【环境搭建】1.1源码下载与同步
  • 开源智慧园区管理系统对比其他十种管理软件的优势与应用前景分析
  • C语言可变参数
  • (1)Linux高级命令简介
  • frida 入门
  • 基于STM32的智能健康监测手环
  • neo4j-community-5.26.0 install in window10
  • Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 循环类型】
  • WAWA鱼2024年终总结,关键词:成长
  • 【Redis】hash 类型的介绍和常用命令
  • 二分基础两道
  • Skyeye 云 VUE 版本 v3.15.7 发布