多 Agent 系统
每个居民都被建模为一个 agent,而不是简单头像。
每个 agent 拥有什么
每个居民包含:
- 名字和角色身份,
- 个性和职业背景,
- 当前位置,
- 短期记忆,
- 可执行任务,
- 行动状态。
Agent 如何行动
典型循环是:
- 感知当前地点、时间和附近居民。
- 检查是否有访客或系统任务。
- 根据任务或上下文决定动作。
- 执行移动、说话、表情或 idle。
- 把结果写入事件流和记忆。
按时间段说话
小镇的一天分成六个时间段:清晨、上午、中午、下午、傍晚、深夜。大模型决策时会收到当前时间段的话题提示,不调用大模型的本地台词也按时间段编写。所以面包师清晨聊预热烤炉,深夜则会安静下来聊些感悟。话题库中英文都有。
Agent 如何互相影响
当一名居民说话或执行任务时,其他居民可以:
- 听到附近对话,
- 更新记忆,
- 走向目标地点,
- 回复或继续自己的日常活动。
这样系统可以展示“和一个 agent 对话,然后这个 agent 自主影响其他 agent”的效果。