拿一堆由 ChatGPT 操控的村民组成一个虚拟的村庄,让这个村庄运作两天,看看会发生什么样的事情
由 ChatGPT 操控的 NPC
一共有 25 个村民,每个村民都有自己的人设
如何操控 ChatGPT 来做出复杂的行为
AI 自己规划一天
为什么需要规划?难道不可以直接让 AI 根据环境做出行为吗?
答案是不行的,如果没有规划,仅仅根据环境做出行为可能会发生:
- 12:00 吃午饭
- 12:30 吃午饭
- 13:00 吃午饭
如何让 AI 进行规划?
是通过每个村民的人设给 AI 下 Prompt:
这样 AI 就给出了规划,当然还需要对每一点让它继续进行更详细的规划
这样 NPC 确实可以按这个规划执行,但是如果完全按规程进行,那么他是一个非常无聊、非常死板的 NPC 了 —— 每天的行为都会一模一样
来自外界的刺激
在这个游戏里面,外界的刺激就是 NPC 所在的地方会隔一段时间,在它身边的东西(包括 NPC 自己)都会把它们自己的状态传给 NPC,就仿佛 NPC 能真的看到这些东西一样
反思 (Reflect):对记忆的诠释
要来将这些琐碎消息的消息做摘要,抽取出真正重要的讯息
- 何时反思?当有足够多重要的记忆时
交给 AI 决定讯息的重要性
- 要反思些什么?
例如:看到 2 个 NPC 经常在一起这个讯息问出“它俩的关系如何?”这个问题
之后就要回答这个问题
- 如何回答?用上述问题检索记忆(根据重要性、即时性、关联性进行检索)
检索出记忆之后再让它根据这些记忆提出 5 个高优先级的见解
再将这些见解(反思的结果)放入记忆中
下图是某个 NPC 的记忆:
有自己的规划、有从外部观察的讯息、有根据自己的规划或从外部观察的讯息或其他反思而反思出来的结果
根据外界的刺激改变规划
- 每当 NPC 受到外界刺激的时候(如观察到什么东西)就会问自己两个问题:
- 观察者(NPC 自己)和观察到的东西是什么关系?
- 观察到的东西的动作和状态是怎么样的?
- 根据这两个问题会检索记忆以得出两个答案
- 依据答案写一个总结报告
- 问自己一个问题:需不需要根据这个这个报告改变自己的规划
- 然后决定是否改变规划,如果改变就会产生一个新的计划
情人节活动讯息散布
- IR 的人设资料里写了需要在情人节举办一个活动
- 情人节的时候 IR 就告诉了它遇到的几个 NPC 这个消息
- 这些 NPC 会将这个消息传播给其他 NPC
- 其中 ABigall 还向 IR 确认了这个讯息