在制造 Dr. Know 的时分我就感触到了,Coze给Bot创作者提供了很强的灵活性和可定制性。所以便有了一个主意:我想试试Coze的上限在哪里,试一下用Coze究竟能够做出多杂乱的Bot?

经过了一个多周的折腾,最后我运用Coze的Multiagent形式搓出了一个AI推理游戏,它的全名叫《谁是卧底~我绝不或许被AI骗到!》,下文简称《卧底》。这个游戏在玩法上与经典的《谁是卧底》无差异,但玩家不一样了,它不是一群人一同玩,而是一个人和一群AI Bots一同玩。

下面是我自己试玩的一个录屏,这个体会进程还是比较有意思的,你能够要点看看1号AI玩家和3号AI玩家的体现。看完视频你应该能够感触得到,AI玩家还是有两把刷子的~

我运用Coze的多Agent形式规划了一款由AI驱动的《谁是卧底》游戏(这应该是现在Coze平台上最杂乱的一个Bot)

你也能够亲自去体会一下,下面是体会地址(需要):

www.coze.com/store/bot/7…

关于《卧底》这个游戏

《卧底》承载了多少杂乱性?

我运用Coze的多Agent形式规划了一款由AI驱动的《谁是卧底》游戏(这应该是现在Coze平台上最杂乱的一个Bot)

这个游戏是在Multiagent形式下制造的,总共有7个Agent,它们各自分管不同的游戏环节。

Multiagent形式其实首要担任串起整个游戏的交互进程,游戏的中心事务逻辑在Workflow里,首要的Workflow有12个。提示词有接近6000字,代码有300多行,不过只有几十行逻辑代码,其余都是粘合剂代码。提示词和代码的配比差不多是一比一,这是一个很有意思的现象。

此外,整个游戏没有运用任何插件和知识库,只用到了LLM、CODE、Condition、Variable这些根底组块。

AI在《卧底》里都承当了哪些功用?

我运用Coze的多Agent形式规划了一款由AI驱动的《谁是卧底》游戏(这应该是现在Coze平台上最杂乱的一个Bot)

首要,游戏主持人这个角色是由AI担当的。它要担任介绍游戏规则,操控游戏流程,安排人类玩家和AI玩家进行讲话和投票,报告游戏成果等等。

游戏中运用的题目,也便是平民和卧底的词语对,是由AI生成的。假如你在体会游戏的时分,碰到一些奇怪的词对,或许是由于模型太发散了~

游戏最中心的部分,即AI玩家的讲话和投票,是由AI完结的。我运用Workflow完结了一套讲话战略和一套投票战略,战略不是很杂乱,但作用不错。详细可见上面的体会视频,1号AI玩家在第一轮的讲话是真的骗到我了。

从这儿就能够看出来,《卧底》这个Bot跟那些套壳的AI应用的差异了,《卧底》更加AI-native一些,由于AI已经深入到它的中心事务逻辑里面了。

《卧底》的共同之处在哪里?

现在市面上已经有一些基于AI的文字冒险类游戏,Coze上就有不少这类Bot。《卧底》跟这类游戏相比的差异应该是它支撑多个智能体(包括人类和AI智能体)作为玩家参加游戏。

我运用Coze的多Agent形式规划了一款由AI驱动的《谁是卧底》游戏(这应该是现在Coze平台上最杂乱的一个Bot)

此外,大家或许也听说过像“斯坦福Agent小镇”这样的多智能体试验。其实这个试验模拟出的多智能体的日常活动和日常沟通并不需要多少智力,由于这些智能体并不是在解决什么问题。反而像《谁是卧底》这种游戏情境对智能体的智力要求更高,由于在游戏里AI玩家要进行相对杂乱的推理,而且它们既要考虑自己的身份,考虑自己怎么讲话和投票,一起也要把其他玩家(包括人类玩家和AI玩家)的身份以及讲话和投票状况纳入考虑。

我觉得类似于《谁是卧底》这样的多人参加的、言语类的推理游戏很合适作为多智能体研讨的场景。理论上,你能够为每个AI玩家都赋予不同的名字和人设,甚至让他们采用完全不同的讲话和投票战略,可玩性很高。

我制造《卧底》的经历、难点以及痛点

经历:怎么理解Multiagent形式?

单个Agent能承载的杂乱性很有限。大模型具有一定的东西调度能力,可是当单个Agent的提示词变得很长、运用的插件和Workflow变得许多的时分,就会呈现各种不安稳的状况。Multiagent形式便是为了让你在规划杂乱的Bot时,能够将不同功用拆分隔,安排给不同的Agent来处理(www.coze.com/docs/zh_cn/…软件工程的术语说便是能够让你进行更好的模块化规划,更好的操控杂乱度。

假如你在Coze的单Agent形式下搓过简略的Bot,那么Multiagent形式就很好理解了。所谓Multiagent形式便是通过一个Flow把多个Agent串了起来。Multiagent的Flow装备起来比Workflow要简略,由于现在你能装备的东西就只有那些跳转条件。当条件满足时,就会主动触发跳转,跳转到下一个Agent。这儿面有坑,我后边再讲。

在Workflow里面你无法让程序停下来跟用户交互,但在Multiagent的Flow里能够,由于Flow里的每个Agent都具有跟用户进行对话的能力。所以Multiagent合适用来规划那种需要跟用户进行杂乱互动的游戏或许应用。

我运用Coze的多Agent形式规划了一款由AI驱动的《谁是卧底》游戏(这应该是现在Coze平台上最杂乱的一个Bot)

《卧底》便是把Workflow、Agent、Multiagent Flow这三者结合起来的一种最佳实践,事实证明运用好这三者,就能够规划出具有相当杂乱度的Bot。

难点:怎么让Agent安排多名AI玩家进行讲话和投票?

AI玩家讲话和AI玩家投票这两个模块是整个游戏最难的部分,在这两个环节中Agent要担任安排多名AI玩家进行讲话/投票,并且要能一起满足以下条件:

  1. 它有必要要能按照正确的顺序调用Workflow,不能遗漏,不能乱序;
  2. 它需要在某个AI玩家讲话/投票的时分,才去即时地调用对应的Workflow,而不是在一开始就把一切Workflow都调用一遍,由于这样用户需要等很长时间才能看到输出。
  3. 在后边的轮次中,它需要把已出局的玩家排除去,由于已出局的玩家不能讲话/投票。
  4. 它需要在一次回复中完结一切进程,而不是报告完一位AI玩家的讲话内容/投票成果就停下来了,等用户交互。
  5. 它能正确地触发跳转条件,进入到下一个环节。

我来来回回调整了许多遍提示词,试了各种办法,现在这个版别大概率能满足上面的条件,但偶有会呈现各种不安稳的状况。理想状态下,输出的进程和成果应该是下面视频中这样的作用:

我运用Coze的多Agent形式规划了一款由AI驱动的《谁是卧底》游戏(这应该是现在Coze平台上最杂乱的一个Bot)

痛点:跳转条件!

先叠个甲:Coze的Multiagent形式刚上线不久,还处于迭代进程中,所以现在的问题未来应该都会被修正。

我体会下来,Multiagent形式有两个让我感觉“不爽”的地方,都随从一个Agent跳转到另一个Agent有关。第一个是,Agent跳转有必要要用户输入东西后才能触发,而不能由Agent自己触发,或许当Agent完结任务后主动跳转到下一个Agent。假如能够直接跳转,就能够避免一些不必要的跟用户的交互。我觉得在Multiagent形式下,Bot规划者应该有自由度去操控Bot什么时分主动执行流程,什么时分停下来跟用户交互。否则交互许多、流程杂乱的程序就很难规划。

还有第二点,在Multiagent形式,你能够运用自然言语来装备Agent的跳转条件。我不知道Coze的体系提示词是怎么写得,横竖我体会下来,这个跳转的判别逻辑十分得不安稳。经常呈现跳不出去的状况,即便我的跳转条件中很清晰的写了假如用户输入了“持续”也不行,还有偶尔也会呈现连续跳许多个Agent的状况。用自然言语描述跳转条件,再运用LLM判别下一步跳转到哪里,这个规划主意很好,但前提是它安稳可用。

《卧底》当前的版别仍然或许呈现跳转犯错的状况,请多担待。假如呈现这种状况,请输入“重新开始”,重开一局吧。

附录:另一场有意思的人机Play

猜猜我(人类玩家)是什么身份~

我运用Coze的多Agent形式规划了一款由AI驱动的《谁是卧底》游戏(这应该是现在Coze平台上最杂乱的一个Bot)