前置知识: AI Agent

生成式Agent与涌现模拟

13 minIntermediate

Park 等人 2023 (UIST '23, arXiv:2304.03442) 用三部分架构填充了 Smallville,一个 25 Agent 沙箱:记忆流(自然语言日志)、反思(Agent 关于自己流生成的更高层次综合)和计划(日级行为,然后子计划)。标志性结果是情人节派对涌现:一个 ...

生成式 Agent 与涌现模拟

Park 等人 2023 (UIST ‘23, arXiv:2304.03442) 用三部分架构填充了 Smallville,一个 25 Agent 沙箱:记忆流(自然语言日志)、反思(Agent 关于自己流生成的更高层次综合)和计划(日级行为,然后子计划)。标志性结果是情人节派对涌现:一个 Agent 被种子化”想举办情人节派对”,没有进一步脚本,产生了通过人群传播的邀请、协调日期,派对发生了——来自 24 个一开始对此一无所知的 Agent。消融显示所有三个组件都是可信度所必需的。记录的失败是空间规范错误(进入关闭的商店、共享单人浴室)。这是 2026 年 Agent 模拟和多 Agent 社会评估的参考架构。

类型: 学习 + 构建 语言: Python (stdlib) 前置条件: Phase 16 · 04 (原语模型), Phase 16 · 13 (共享记忆) 时间: ~75 分钟

问题

大多数多 Agent 系统是紧密脚本的团队:规划者规划、编码者编码、审查者审查。这对明确定义的任务有效。它不捕获当 Agent 有记忆、优先级和开放世界时出现的涌现、非脚本行为。研究、社会模拟以及越来越多的游戏 AI 需要第二种。

Smallville 架构是它的基准。在 Park 2023 之前,最好的 Agent 模拟是浅层脚本跟随者;之后,该模式成为开放世界中生成式 Agent 的默认。如果你在 2026 年构建 Agent 模拟,你要么使用 Smallville 的三个组件,要么显式论证为什么不。

概念

三个组件

记忆流。 观察、动作、反思和计划的只追加日志。每个条目有时间戳、型、描述(自然语言)和派生元数据:新近度重要性(Agent 自评 1-10)和相关性(与当前查询的余弦相似度)。

[2026-02-14 09:12:03] observation: Isabella Rodriguez 问我是否喜欢爵士乐
[2026-02-14 09:14:22] reflection:   我喜欢关于音乐的长时间对话
[2026-02-14 10:05:00] plan:         今晚参加 Isabella 的情人节派对

记忆检索结合三个分数:score = w_recency * e^(-decay * age) + w_importance * importance + w_relevance * cos_sim。Top-k 条目进入当前提示。

反思。 定期(每 N 条记忆或在重要事件上),Agent 从最近记忆生成更高层次的综合。反思条目回到流中,像任何其他记忆一样可检索。这是 Agent 构建”理解”的方式——架构的等价于长期信念。

计划。 自上而下分解。首先,日级计划的粗略大纲(“去上班,和 Klaus 吃晚饭”)。然后小时级计划。然后动作级计划。计划可修订:当观察与计划矛盾时,Agent 重新规划受影响的段。

为什么三个都重要(消融)

Park 等人运行了去掉观察、反思和计划中每一个的消融实验。每个消融都损害可信度:

  • 没有观察,Agent 错过上下文,基于过时信念行动。
  • 没有反思,Agent 无法形成更高层次信念;交互保持浅层。
  • 没有计划,行为变成反应性噪声;目标消散。

评分者的可信度分数在三个都有时最高;去掉任何一个产生可测量的回退。

情人节涌现

一个 Agent,Isabella Rodriguez,被种子化为目标”想在 2 月 14 日下午 5 点在 Hobbs Cafe 举办情人节派对。“其他 24 个 Agent 没有收到这样的种子。在模拟的日子里:

  1. Isabella 的计划包括邀请人。
  2. 每个邀请成为邻居记忆流中的观察。
  3. 邻居的反思生成信念:“Isabella 要举办派对。”
  4. 邻居的计划纳入”2 月 14 日参加派对。”
  5. 邻居告诉其他邻居。邀请在没有中央协调的情况下传播。
  6. 2 月 14 日下午 5 点,几个 Agent 在 Hobbs Cafe 汇聚。

这是技术意义上的涌现:系统级行为(派对)从局部交互(双边邀请 + 个人规划)中产生,没有中央编排者。

记录的失败模式

Park 等人明确记录:

  • 空间规范错误。 Agent 走进关闭的商店。Agent 试使用同一个单人浴室。Agent 在不打算吃饭的房间里吃饭。模型不能仅从环境推断社会-物理规范。
  • 记忆溢出。 深度模拟运行导致记忆检索成本增长。实际补救:定期记忆压缩(摘要-修剪)和对低重要性条目的衰减。
  • 反思幻觉。 反思可以发明记忆流中不存在的关系。缓解:在反思提示中包含来源记忆 ID,在检索时验证。

这些是与生产相关的失败模式:任何 2026 年 Agent 模拟都继承它们。

三组件实现规则

  1. 记忆是只追加的。 永远不要修改记忆条目。修正是新条目。
  2. 重要性分数很便宜。 在写入时调用 LLM 评分重要性 1-10。缓存分数。
  3. 检索是排名的,不是过滤的。 按综合分数 top-k;不使用硬过滤器(会丢失上下文)。
  4. 反思定期运行。 当未处理记忆的重要性总和超过阈值(例如 150)时触发。
  5. 计划可修订。 当新观察与计划矛盾时,只重新生成受影响的段,不是整个计划。

Smallville 之外的生成式 Agent

2024-2026 年后续文献扩展了架构:

  • 用于政策/市场研究的多 Agent 社会模拟。 Smallville 人群模拟用户对功能的行为。比 A/B 测试快;准确性有争议。
  • 游戏 NPC AI。 带有 Smallville Agent 的 RPG 产生涌现故事线而不是脚本任务。
  • 生成式 Agent 评估基准。 不是任务准确性,指标变成长时间运行的可信度 + 行为连贯性。

架构是参考。扩展替换组件(向量存储替代记忆、检索增强反思、神经符号计划)但保持三部分结构。

为什么这对多 Agent 工程重要

Smallville 是多 Agent 涌现在组件正确时很便宜的证明概念。架构现在已在开源模型上复现(更小的 LLM 优雅地失去可信度,不是急剧地)。任何需要涌现社会行为的生产系统使用这个形状。任何需要紧密任务执行的系统使用本阶段早些时候的监督者/角色/原语模式。

构建它

code/main.py 在 stdlib Python 中用脚本化 Agent 策略(无真实 LLM)实现三个组件。演示以微缩版复现情人节派对涌现:

  • MemoryStream — 带新近度/重要性/相关性检索的只追加日志。
  • reflect(stream) — 对最近高重要性记忆的脚本化反思。
  • plan(agent_state) — 基于当前信念的日级和小时级计划。
  • 场景:5 个 Agent。Agent 1 以”下午 5 点举办派对”开始。在模拟的 tick 中,邀请传播,Agent 汇聚。

运行:

python3 code/main.py

预期输出:逐 tick 追踪。到最终 tick,至少 3/5 的 Agent 在计划中显示派对,它们在派对地点汇聚。单个种子产生了协调到达,没有任何编排者。

使用它

outputs/skill-simulation-designer.md 设计生成式 Agent 模拟:Agent 数量、记忆 Schema、反思节奏、计划范围和评估指标。

发布它

生产模拟规则:

  • 记忆是数据库。 规模化时选择真实存储(向量 DB、Postgres)。内存中的 stdlib 用于原型。
  • 记录检索追踪。 对于每个动作,记录驱动它的 top-k 记忆。这是你的调试能力。
  • 每 Agent token 预算。 每个 Agent 每 tick 的 retrieve + reflect + plan 是 O(k) 次 LLM 调用。N 个 Agent × T 个 tick × 每 tick 调用数可能使你的预算相形见绌。
  • 定期压缩记忆。 摘要-修剪低重要性条目。保留策略是设计决策,不是细节。
  • 显式检测空间/社会规范违规。 架构不会学习它们。

练习

  1. 运行 code/main.py。确认 3+ 个 Agent 在派对汇聚。将 Agent 增加到 10——涌现仍然发生吗?
  2. 移除反思步骤。行为看起来如何?映射到 Park 2023 的消融发现。
  3. 引入竞争种子目标(“Klaus 想在下午 5 点做研究演讲”)。Agent 分裂还是一个目标主导?什么决定它?
  4. 添加空间约束:Hobbs Cafe 最多容纳 4 个 Agent。模拟是否优雅地处理溢出,还是遇到”单人浴室”失败模式?
  5. 阅读 Park 等人 (arXiv:2304.03442) 第 6 节(涌现行为实验)。识别一个在你的微缩版中不可复现的行为。你需要增强架构的哪个组件?

关键术语

术语人们怎么说实际含义
记忆流”Agent 的日记”观察、动作、反思、计划的只追加日志。
新近度”记忆有多新”按年龄的指数衰减分数。
重要性”Agent 有多在意”写入时自评 1-10。缓存。
相关性”与当前查询有多相关”余弦相似度(基于嵌入)。
反思”更高层次信念”从最近记忆生成的综合,作为新记忆重新摄入。
计划”日/小时/动作分解”自上而下计划树。观察矛盾时可修订。
Smallville”Park 2023 的沙箱”25 Agent 模拟,产生了情人节涌现。
可信度”质量指标”评分者对行为是否像合理 Agent 的评分。

延伸阅读