|
最近一直在研究 Agent 智能体的相关东西,看到有网友分享用多Agent开发了《谁是卧底》的游戏。 
我特别感兴趣,想研究一下。但比较遗憾,作者并没有开放 Agent 的配置。所以,老渡就自己做了一个,实现了完整的功能,今天给朋友们分享一下。 使用多Agent模式的核心原因,可以让AI模拟多位玩家,游戏可玩性更强,游戏过程更可控。 Agent是用扣子(coze)实现的,所用到的大模型以Kimi为主。下面是整体的配置 
这里面大部分 Agent 都要调用工作流,完成更复杂的任务。 还不熟悉 Agent 开发的朋友,可以看我之前的文章。 下面简单介绍下每个Agent。 游戏初始化Agent,用来随机生成卧底,同时生成卧底和平民的词语。 
这是 Agent 调用的工作流——undercover_init,这个工作流的节点一共有三类 
来运行一下试试

人类玩家发言Agent,接收用户对词语的描述,并将描述存入变量。

AI玩家发言Agent,调用工作流,用AI模拟两位玩家进行发言。 每一位AI玩家发言之前,都要参考之前的玩家,即保证发言不重复,同时又能隐藏自己的身份。 

人类玩家投票Agent,对卧底投票,并保存投票结果。 
AI玩家投票Agent,AI玩家对卧底投票,并显示最终的投票结果。 
游戏结果Agent,根据投票结果,判定胜负

这里只有3个用户,是最基础版本,所以一轮定胜负。 这个完成后,我们就很容易扩展出多名玩家。若第一轮投票,卧底未出局,则踢出被投的玩家,然后跳转到前面的 Agent 继续游戏。
这个游戏看似简单,但从构思到实现,断断续续也花了老渡一周的时间。 开发这个游戏,老渡最想跟朋友们分享的是,AI输出的结果是有不确定性的,要根据实际情况用不同模型,调参数。 |