我给同一个AI赋予了6种不同人格,让它们打了100场扑克。

Reddit r/singularity 新闻

摘要

一项实验给同一个1.2B语言模型赋予六种不同人格,并让它们进行100场扑克锦标赛,结果揭示了剧烈的行为差异:‘Grinder’从不赢但也从不输,‘Tilter’要么大赢要么破产,‘Shark’则占据统治地位。这些结果凸显了人格提示如何深刻影响LLM的决策。

几天前!我让不同的AI模型互相打扑克。这次我想知道:如果给完全相同的AI赋予六种不同人格,它们真的会以不同方式打牌吗? 我在Mac上本地运行了一个1.2B语言模型,将其放在扑克桌的所有六个座位上,并为每个座位赋予了不同的人格:Shark、Maniac、Gambler、Tilter、Grinder和Rock。相同的模型,相同的牌,相同的规则。唯一改变的是告诉每个副本‘你是谁’的一段文字。然后我进行了100场锦标赛(我知道这不能说明什么,至少需要1万场……但即便如此也花了好几个小时!)。**结果:** |人格|胜场|淘汰率|平均排名| |:-|:-|:-|:-| |Shark (耐心、算计)|45|32%|2.3| |Maniac (无畏、无情)|24|50%|3.0| |Gambler (乐观、固执)|21|51%|3.6| |Tilter (情绪化、复仇驱动)|10|80%|5.1| |Grinder (谨慎、有条理)|0|0%|2.7| |Rock (自律、保守)|0|63%|4.3| **最让我着迷的角色是Grinder(真的)。** 零胜场。在100场锦标赛中。但也零淘汰——它每一局都幸存下来。每次它都获得第2或第3名。从未第一,从未最后……它被指示为:‘通过承担最小风险,比其他人存活更久。’它确实做到了。它选择过牌和跟注,从不加注,从不诈唬,从不冒险。其他玩家在它周围互相淘汰。Grinder只是……忍受。但存活不等于胜利。它积累了零筹码,因为它从未下注足够赢得底池。它完美地服从了人格指令,而这正是它永远无法获胜的原因。 **Tilter则相反。** 被指示为‘绝不让一次坏牌不受回应’,Tilter赢了10场锦标赛,但在其中80场中被淘汰。当它赢时,它大赢。当它输时,它螺旋式下滑:输一手牌,下一手加注,输得更大,直到破产。复仇驱动的人格创造了死亡螺旋。大起或大落,没有中间地带。 **Shark只是安静地统治了比赛。** 100场中45胜,接近一半。与桌上其他玩家相同的模型。唯一的区别是一段文字说‘耐心、算计、掠食性’。它选择时机,惩罚较弱玩家,避免不必要的风险。模型实际上理解了‘积极进攻’(Maniac:24胜)和‘选择性进攻’(Shark:45胜)之间的细微差别。 **令我惊讶的是:** 一段大约50个单词的人格文字,在最佳和最差人格之间创造了45比0的胜场差。模型是相同的。牌是随机的。唯一的变量是*AI认为它自己是谁*。这是一个1.2B参数模型。不是GPT-4,不是Claude——一个运行在笔记本电脑上的小型模型。而且人格文本不是一个建议。Grinder幸存是因为我们告诉它要幸存。Tilter自我毁灭是因为我们告诉它要复仇。Shark获胜是因为我们告诉它要耐心。 **如果你想亲自尝试:** 一切都是开源的,且本地运行: * [Hive](https://github.com/chiruu12/Hive) : 智能体框架(`pip install hive-agent`) * [Hive Arena](https://github.com/chiruu12/hive-arena) : 带人格配置文件的实验运行器 * [PokerTable](https://github.com/chiruu12/pokertable) : 扑克引擎(`pip install pokertable`) 人格配置文件是仓库中的YAML文件。你只需要通过LM Studio或Ollama运行一个本地模型。 **TL;DR:** 相同的AI。相同的牌。六段不同的人格文字。一个从未输但也从未赢。一个获胜近半。人格提示不是点缀文本——它们改变了AI的打牌方式。
查看原文

相似文章

大型语言模型捕捉人类性格的效果如何?

arXiv cs.AI

本文系统评估了关于LLM角色提示的假设,并识别出'角色流形坍缩'现象,即更丰富的角色描述会降低行为多样性和模拟逼真度。研究结果发现,简单的年龄-性别角色通常比更详细的档案表现更好。