Generative Agents(论文)

按原文结构转述 Park 等 2023:可信的人类行为模拟。

Joon Sung Park, Joseph C. O’Brien, Carrie J. Cai, Meredith Ringel Morris, Percy Liang, Michael S. Bernstein. Generative Agents: Interactive Simulacra of Human Behavior。Stanford University、Google Research / DeepMind。arXiv 2023-04。arXiv:2304.03442。UIST 2023。

中文译本:全文翻译 + 导读。


摘要

可信的人类行为代理可以支撑沉浸式环境、人际沟通演练、原型工具。本文引入 generative agents:用计算软件模拟可信人类行为的 agent。它们起床、做早餐、去上班;画家画画,作者写作;形成观点、注意到彼此、发起对话;记住并反思过去的日子,再计划下一天。

架构把大语言模型接上三块:用自然语言存下完整经历(记忆流),随时间把记忆合成更高层的反思,再动态检索来规划行为。作者把 25 个这样的 agent 放进一个类似《模拟人生》的沙盒小镇。终端用户可用自然语言观察和干预。评测显示它们能产生可信的个体行为与涌现的社会行为。例如:用户只指定一名 agent 想办情人节派对,两天内邀请会自己扩散,有人新结识、有人约着去派对,并在正确时间到场。消融表明观察、计划、反思各自都对可信度有贡献。

架构

实现用当时的 gpt-3.5-turbo(ChatGPT)。文中写明:写作时 GPT-4 API 仍是邀请制。

记忆流是一份按时间排列的自然语言记录。每条有描述、创建时间、最近访问时间。最基本的条目是观察:自己做了什么,看见别人或物体做了什么。检索按三项打分再加权:近因(距上次取出的游戏小时数,指数衰减)、重要性(让模型打 1–10 分)、相关性(嵌入向量与当前查询的余弦相似度)。取出能装进窗口的顶部记忆,再交给语言模型。

反思是更高层、更抽象的想法,也作为记忆存回去。当最近事件的重要性分数之和超过阈值(实现里是 150),大约每天两三次生成反思:先从最近 100 条里问「三个最显著的高层问题」,再检索、抽取洞察并引用证据。反思可以再反思,形成树:叶子是观察,越往上越抽象。

计划把结论和环境译成高层日程,再递归拆成更细的动作(先一天的几大块,再小时,再 5–15 分钟)。计划和反思都写回记忆流。每一步感知世界后,模型决定是继续原计划还是反应;需要互动时再生成对话。没有计划时,模型会为「当下可信」在短时间内重复吃饭一类动作。

环境用树表示空间包含关系,再译成自然语言。agent 只记住自己见过的子图,不是全知。动作再映射回沙盒状态(例如咖啡机从 idle 变成 brewing)。

评测(文中数字)

受控评测:用自然语言「采访」agent,测自我认知、记忆、计划、反应、反思。100 名人类评估者对五种条件做可信度排序,再用 TrueSkill。完整架构最高(μ≈29.89);去掉反思次之;再去掉计划再次之;众包人类角色扮演更低;完全没有观察/计划/反思最低(μ≈21.21)。端到端:25 个 agent 连续两天游戏时间互动。情人节派对从一条用户指定的意图扩散并真正发生。常见错误:检索失败、给记忆加戏、继承指令微调后过于正式的说话方式。

文中脚注写明:说 agent「去某处、做某事」是为了可读,并不暗示真正的人类式主体性;目标是迪士尼角色那种可信幻觉。