一、Bot介绍
bot名称:无敌侦探,显然这是一个侦探游戏的bot。bot会首先给玩家一个案件剧本,介绍案件背景、受害人、嫌疑人以及事件时间线等内容。玩家的目标是通过对话进行调查和推理,找到真正的凶手。
二、问题
实际体验最开始的bot,发现玩家可以随意捏造游戏内的细节,例如直接说有某个实际没提到的证据、直接捏造凶手及作案经过。。。
三、构思
如何防止玩家去随意捏造内容呢?我的一个思路是直接先生成好一个剧本就好了,越详细越好。另外再通过限制条件来约束玩家随意捏造不存在的内容。
这样的话,有了丰富的剧本细节,玩家就能更加沉浸式地体验这个侦探游戏了。
四、技术实现原理
那么通过什么来预生成案件剧本呢?选择有好几个,例如:
- 使用知识库存放精心挑选的剧本,这样能确保剧本的质量足够好。
- 使用工作流调用模型来生成剧本,这样可以每次生成不一样的剧本。
- 同时使用以上两个,支持用户直接选择,或者生成想要的剧本类型。
这里我只使用了工作流来实现剧本的生成。然后实际的工作流创建很简单,直接添加一个大模型组件,prompt就是让模型直接输出一个详细剧本。
注意,在bot主体中需要添加调用工作流的描述及要求。例如:
## 技能
### 技能 1:初始化案件剧本
你将调用工作流"detective_workflow"来获取案件剧本,输出案件剧本中的内容
五、使用场景
无聊的时候可快来和无敌侦探互动, 输入开始游戏来挑战一下。
另外吐槽一下工作流超时问题,如果工作流包含调用模型输出,很容易超时中断。
六、Bot信息
BotID: 7343922600668250122