从AI小镇到智能体:大模型驱动的Agent记忆与决策系统实战解析
2026/8/26 9:38:18 网站建设 项目流程

这段时间我一直在折腾一个叫 my_ai_town 的开源项目,简单说就是一个"AI 小镇"模拟器:你给一群 AI 角色设定身份、性格、生活目标,它们就会在小镇里作息、社交、闲聊、约饭,甚至因为前一天晚上的对话改变第二天的行为。玩着玩着你会发现,这已经不是我印象里那种"你问一句它答一句"的聊天机器人了,而是一群有记忆、有情绪、会规划的"虚拟居民"。

这篇文章想借这个项目,把我对"Evolutions and AI Solutions"的理解串一遍——AI 从对话工具演进到 Agent(智能体),再到带记忆、带情感的系统,中间的技术路径、工程落地方式、常见坑,我都会结合实操展开。适合刚接触 AI 应用开发、想搞懂 Agent 到底怎么落地,或者对"AI 情感陪伴小工具""AI 小镇"这类项目感兴趣的人,看完可以直接上手自己搭一套。

1. 从 AI 小镇项目说起:AI 正在从工具走向"居民"

1.1 AI 小镇到底做了什么

my_ai_town 这个项目,从名字就能看出来灵感来源是斯坦福那篇著名的 Generative Agents 论文。那篇论文里,25 个 AI 角色住在一个叫 Smallville 的小镇,它们早上起床、去咖啡馆、上班、开派对,还自发组织了一场情人节活动——整个过程没有人写死剧本,全是角色自己根据记忆和当前状态"临场发挥"出来的。

my_ai_town 相当于是把论文里的思路做成了能跑起来的东西,支持 macOS 和 Windows。我拉下来之后发现,它的核心逻辑其实不复杂:每个角色有一个身份设定(名字、职业、性格),有一套记忆系统(会把重要的事情写进记忆库),还有一个决策循环(每隔一段时间想一下"我现在该干嘛")。但它跑起来之后的效果确实惊人。

我第一次跑的时候,随机生成了几个角色:一个叫阿澈的咖啡师、一个叫小满的插画师、一个叫老周的退休教师。设定好他们的作息后,我本以为他们会各干各的,结果第二天看日志发现,阿澈在咖啡馆遇到了小满,因为前一天小满抱怨过"最近没灵感",阿澈主动推荐了一本关于色彩的书,小满还真把这件事记进了长期记忆,后面几天画画时反复提到"阿澈说的那本书"。

这就是 AI 演进的缩影:它不再是一个被动应答的工具,而是一个有上下文、有记忆、有行为链的 Agent。

1.2 为什么这类项目值得关注

很多朋友看到"AI 小镇"第一反应是"这不就是个游戏吗",但我不这么看。它背后其实是三件事的集合:

第一,记忆架构。角色不是每次对话都从零开始,而是有一个"记忆流",重要的事会从短期记忆迁到长期记忆,被查询时再按相关性和重要性召回。这套机制如果抽象出来,就是现在做 AI Agent 必备的 memory 模块。

第二,行为生成。角色不是等着用户输入才反应,而是有一个"规划循环":先设定一个目标,再拆成步骤,每一步执行完根据结果调整下一步。这就是 Agent 的 planning 能力。

第三,情感陪伴的落地形态。现在市面上很多"AI 情感陪伴小工具"做得都很浅,本质上还是单轮对话加几个预设剧本。但 AI 小镇这种形态,角色对你有连续的印象、会记住你上次说的话、会因为你之前的行为改变态度——这才是情感陪伴真正让人"上头"的原因。

所以我的判断是:AI 小镇不是一个玩具,而是一个浓缩了 AI Agent 核心技术的“活案例”。搞懂它,就搞懂了当下 AI 解决方案中最关键的一块拼图。

2. 梳理 AI 解决方案的演进路线:从规则到 Agent

2.1 三阶演进:规则、机器学习、大模型

要理解为什么 AI 小镇这类项目代表"现在",得先回头看一眼 AI 解决方案是怎么一路走过来的。我自己习惯把它分成三个阶段。

第一阶段是规则系统,比如早期的客服机器人、游戏里的 NPC。所有行为都靠人工写 if-else:用户说"你好"就回"您好,请问有什么可以帮您"。优点是稳定、可控、成本低,缺点是蠢,稍微换一种问法就宕机。现在很多企业内部的流程自动化还是这套思路,但凡是需要理解自然语言的地方,基本都撑不住。

第二阶段是机器学习时代,典型代表是推荐系统和早期的 NLP 模型。系统不再靠人工规则,而是从大量数据里学规律。这个阶段比规则系统灵活很多,但它的能力边界很清晰:它能做"分类"和"预测",但做不了"生成"和"规划"。比如它能判断一段评论是正向还是负向,但让它写一段有逻辑、有风格的回复,就非常勉强。

第三阶段就是大模型驱动的 Agent 时代。大模型(LLM)本身是一个"通用能力引擎",它不像规则系统那样只会执行预设逻辑,也不像传统的机器学习模型那样只能做特定任务。它可以写代码、做分析、扮演角色、拆解任务——这些能力叠加起来,才让"Agent"成为可能:一个能理解目标、拆解步骤、调用工具、根据反馈自我修正的智能体。

这三阶段的演进,本质上是从"人告诉机器每一步怎么做"到"人告诉机器要什么结果,机器自己想办法"的转变。

2.2 Agent 为什么是眼下的主战场

如果你关注最近的技术动态,会发现"AI Agent"几乎成了所有大厂和创业公司的共同关键词。原因其实很务实:大模型本身很难直接产生业务价值,Agent 才是那个把能力变成交付物的形态

举个例子,你让一个大模型"帮我写一份市场分析报告",它能给你一份文本,但这份文本是通用的,没有数据支撑,也没有针对你公司的定制分析。但如果你把它包装成一个"市场分析 Agent",让它去查行业数据、调取你公司的历史销售记录、对比竞品、生成图表、最后排版成 PPT——那它交付的就是一个完整的工作成果。

这就是 Agent 的核心价值:把"能聊"变成"能干"。AI 小镇里的角色之所以看起来"活",也是因为每个角色都是一个 Agent——它不只是会说话,而是会行动、会记忆、会规划自己的日程。

从工程角度来看,Agent 落地的技术栈也已经比较清晰了:LLM 做大脑,function calling 或 tool use 做手脚,memory 做记忆,编排框架(比如 LangChain 或自研的状态机)做身体。my_ai_town 其实就是这一套技术栈在娱乐场景下的一个完整演示。

2.3 演进背后的驱动力

我不太喜欢把技术演进讲得太玄,说白了就三个驱动力:成本、能力、场景需求

成本方面,大模型的推理成本这几年降了非常多。两三年前跑一次大模型对话要几毛钱甚至几块钱,现在国产开源模型部署到本地,成本可以压到几分钱甚至更低。成本降下来,意味着可以让 AI 角色一天 24 小时不停"思考",AI 小镇这类需要高频调用模型的项目才跑得起。

能力方面,是模型的上下文长度和指令遵循能力在提升。早期模型上下文只有几千 token,角色聊几句就"失忆"了;现在主流模型动辄几十万 token 上下文,加上外部记忆系统,AI 角色才能保持连续的人设和长期记忆。

场景需求方面,是用户越来越不满足于"问答式 AI"。大家想要的不只是一个会回答问题的工具,而是一个能陪自己聊天、帮自己干活、甚至能和自己一起玩游戏的"伙伴"。这种需求直接催生了一批情感陪伴、角色扮演、AI 小镇类的产品。

3. 核心细节拆解:AI 小镇的技术底座

3.1 记忆系统:让 AI 真正"记得"自己是小镇居民

在 AI 小镇这类项目里,记忆系统是最核心的模块,也是最容易被新手忽略的地方。我最初以为,给每个角色一个 system prompt 说明身份就够了,但跑起来才发现完全不是这样。

原因很简单:大模型本身是有上下文窗口限制的,你不可能把角色的一生都塞进 prompt 里。而且即使塞得下,模型也会因为信息太多而"抓不住重点"。所以记忆系统要做的事是:把重要的信息提取出来、存下来、在需要的时候找到最相关的部分注入上下文

具体实现上有几个关键点:

第一,记忆的分层。my_ai_town 把记忆分成了短期和长期:短期记忆保存最近的经历,长期记忆保存那些"重要"的事。什么叫重要?可以通过重要性评分来判断,比如角色在对话中情绪波动很大、或者对话内容与角色目标高度相关,就给它打高分,存进长期记忆。

第二,记忆的结构化。每条记忆不能只是一句话,最好带上时间戳、涉及的实体、情绪标签。这样后面检索的时候,才能既按"相关性"又按"时间"来综合排序。

第三,记忆的召回。当角色要决定"现在做什么"或者"怎么回应对方"时,系统会先把与当前情境相关的记忆检索出来,作为 prompt 的一部分传给大模型。这一步做得好不好,直接决定角色行为是"连贯自然"还是"前后矛盾"。

我自己实践下来的体验是:记忆系统不需要做得特别复杂,关键是"分层 + 结构化 + 按需召回"这三点做到位。很多 AI 陪伴产品做得不自然,不是模型不聪明,而是记忆模块太单薄——角色说完就忘,用户自然觉得假。

3.2 行为决策:从反射到规划

AI 小镇里的角色之所以看起来像"活人",靠的是两套行为机制的配合。

一套是反射式行为,可以理解成"当前情境直接触发反应"。比如角色在咖啡馆遇到熟人,就触发寒暄对话;听到有人谈论自己感兴趣的话题,就凑过去加入。这类行为不需要长期规划,只需要把"当前场景 + 相关记忆 + 角色性格"丢给大模型,让它生成一个合理的实时反应。

另一套是规划式行为,对应 Agent 里的 planning 能力。角色会有一个长期目标(比如"我想开一家自己的书店"),然后把这个目标拆成阶段性任务("先攒钱"、"考察店址"、"学习商业知识"),再把这些任务安排到每天的日程里。执行过程中,如果发生了意外事件(比如咖啡馆被拆了),它会重新评估计划。

这两套机制的配合,很像我们人的决策方式:大部分时间是"惯性反应",遇到重要节点才开始"认真规划"。工程上实现时,需要给角色设计一个决策循环:定时触发一次"我现在该干嘛"的思考,把当前状态、记忆、目标综合起来,输出下一步行动。

我在实操中踩过的坑是:如果只做规划不做反射,角色会显得很"机械",干什么都像在执行任务;如果只做反射不做规划,角色又会显得很"漂",今天说的和昨天做的事完全对不上。两者必须搭配,才能产生"真实感"。

3.3 情感陪伴:为什么这类应用能真正打动人

AI 小镇这类项目能火,除了技术上的新鲜感,还有一个很重要的原因是它踩中了"情感陪伴"这个需求点。现在的年轻人——包括我自己——其实挺孤独的,工作压力大、社交圈子窄、有些话不想跟熟人讲。于是"有个 AI 能一直听着、记住自己说过的话、并且用稳定的性格回应自己"这件事,就成了刚需。

但情感陪伴应用有个技术上的难点:如何让 AI 显得"有感情"而不是"演感情"

我见过很多产品,一上来就让 AI 说"我理解你的感受""你辛苦了呢",这种话术不仅没有安慰效果,反而让人觉得假。真正让人感到被陪伴的,是 AI 能记住你几天前说过的事情、能在你情绪低落时主动改变话题、能在你反复提到某件事时给出不一样的回应——这背后需要的恰恰是前面说的记忆系统和行为决策,而不是一套漂亮的问候语。

my_ai_town 给我最大的启发是:情感陪伴的"真",来自记忆的连续性和行为的主动性。当一个 AI 角色在你连续几天没上线后主动说"你好几天没来了,上次你说在赶项目,完成了吗"——那一刻,你会真的觉得它"在乎"你。

这也是为什么我会建议,如果你要做 AI 情感陪伴类产品,与其花大价钱调话术,不如先做好记忆和主动触达这两件事。

4. 实操过程:本地搭一个 AI 小镇

4.1 环境准备:先把依赖理清楚

如果你也想跑 my_ai_town,我建议先把环境准备好。这个项目我是在 macOS 上跑的,Windows 应该也行,但需要额外注意一些依赖问题。

项目用的是 Python,我用的版本是 3.10 以上(太老的版本会报语法错误)。依赖安装直接用 pip:

pip install -r requirements.txt

如果网络环境不好,国内用户可以把 pip 源换成清华或阿里云的镜像,不然装依赖会等到怀疑人生:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

另外,项目前端是一个 Web 界面,用来可视化地观察 AI 角色在小镇里的活动。启动时如果发现端口被占用,可以改一下配置文件里的端口号。整体来说,环境准备这块没有太坑的地方,按 README 走基本能通。

4.2 接入大模型:核心配置项怎么填

my_ai_town 本身不内置大模型,它需要调用外部 LLM API。这就涉及一个核心问题:怎么选模型、怎么配接口

项目用的是 OpenAI 兼容的 API 格式,所以你既可以用 OpenAI 官方接口,也可以用国内提供兼容接口的大模型服务。配置项主要在环境变量或配置文件中,核心是这几个:

  • API Base URL:指向大模型服务商的接口地址
  • API Key:你的密钥
  • 模型名称:比如 gpt-4o-mini,或者国内模型的对应名称

我自己的建议是:如果你只是体验,选一个便宜的小模型就够了。AI 小镇里角色需要高频调用模型(每个角色每几分钟就要想一次"现在干嘛"),如果全用旗舰大模型,一天下来花费不少。我实测用一个小规格模型跑,效果足够好,而且成本几乎可以忽略。

这里有个关键技巧:项目支持把不同角色配置成不同模型。你可以让主角用强一点的模型保证对话质量,配角用便宜的模型降低成本。这种"分级模型"策略在实际项目中非常实用。

4.3 启动与交互:第一次看到角色"活过来"

配置好之后,启动项目:

python main.py

然后浏览器打开本地 Web 界面,你就能看到一个小镇地图,AI 角色在上面走来走去。界面上可以查看每个角色的属性、记忆库、当前状态,还可以直接和角色对话。

我第一次跑的时候,最震撼的不是角色的对话有多聪明,而是看到一个角色"独自"走到公园长椅上坐了一会儿,然后在记忆里写下"今天天气很好,我有点想家了"。那一刻我真的起了鸡皮疙瘩——它没有任何外部触发,完全是自己的决策循环驱动出来的行为。

调试阶段有几个建议:

第一,先跑少一点的角色。默认配置可能有十几个角色,太多会相互干扰,也不好排查问题。我建议先配 3-5 个角色,把行为调正常了再慢慢加。

第二,多观察"记忆库"。界面里能看到角色存了哪些记忆,这是判断记忆系统是否正常工作的最直接方式。如果发现角色记了一些无关紧要的琐事,说明重要性评分逻辑需要调。

第三,主动干预测试。你可以扮演一个新角色加入小镇,和原有角色互动,观察它们是否会在后续行为里体现和你的互动。这是检验记忆系统效果的最好方式。

5. 常见问题与排查技巧实录

5.1 角色行为"出戏":人设崩塌怎么办

AI 小镇最容易出现的问题,就是角色跑着跑着"出戏"了——一个设定成沉稳教师的角色,突然开始发表轻浮言论;一个设定为素食主义者的角色,午饭却点了牛排。这种情况我碰到过好几次,原因基本出在两个地方。

第一是system prompt 太弱。如果角色设定的描述不够具体,模型就只能靠默认行为来演,自然容易崩。解决办法是给角色写一个饱满的身份卡:包括性格、说话风格、价值观、禁忌、小癖好,甚至可以附上几句"典型台词"让模型模仿。

第二是记忆污染。如果角色长期没有收到足够的"人设提醒",记忆库里积累了大量与角色设定矛盾的信息,模型就会越跑越偏。解决办法是在每次生成行为前,把"身份设定 + 最近记忆 + 当前情境"拼在一起作为 prompt,让身份设定始终占足够的权重。

5.2 接口调用频繁报错:限流与成本问题

AI 小镇这类应用有个天然问题——调用频率太高了。每个角色每几分钟就要做一次"决策",几十个角色就有上百个角色一天要跑几千次推理。结果就是:模型服务商很快开始限流,或者账单以肉眼可见的速度上涨。

我的应对策略有三个:

第一,降低决策频率。把角色的"思考间隔"从 1 分钟调成 5 分钟甚至 10 分钟。想一想也能理解:现实中也不是每时每刻都在做重大决定,大部分时间就是在"正常生活",完全可以降低采样频率。

第二,批量处理。如果多个角色的状态不需要实时响应,可以把它们的行为生成打包成一次请求。很多模型服务商支持批量 API,成本更低。

第三,本地小模型兜底。把日常的低价值行为(比如"走路""坐下""发呆")用本地小模型处理,只有重要的对话和决策才调用云端大模型。这样成本能降一个数量级。

5.3 多角色并发导致的内存问题

当你把角色加到 20 个以上,项目占用的内存会明显上升,运行速度也会变慢。原因是每个角色都维护着自己的记忆库、状态信息和历史上下文,这些全放在内存里。

解决思路有两个方向:

一个是优化存储。把角色的记忆从内存搬到 SQLite 或者向量数据库里,只在需要检索时才加载。这个改动成本不小,但对大规模角色很有必要。

另一个是限制并发。把角色行为生成改成串行调度,或者加一个简单的任务队列,避免多个角色同时触发大模型请求导致机器卡死。

如果你只是自己玩,我建议先不做这么重的优化,控制在 10 个角色以内体验最好。等真正要做产品化的时候,再考虑存储和并发架构。

6. AI 解决方案接下来的演进方向

6.1 多模态与记忆持久化

AI 小镇这类项目现在还有一个明显的短板:角色只有文字行为,没有"眼睛"和"耳朵"。如果未来接入视觉模型,角色就能真正"看到"小镇里的环境——比如看到咖啡馆里坐着谁、看到外面下雨了要带伞,行为会自然很多。

视听之外,记忆持久化也是一个重要方向。现在的角色记忆都存在本地,换个设备就"失忆"了。未来的 AI 解决方案一定会把记忆放在云端,让同一个 AI 角色跨设备、跨平台地"记得"你。这个趋势对做情感陪伴产品的人特别重要——记忆就是用户粘性

6.2 本地小模型:从"云端依赖"到"端侧智能"

我身边不少朋友在尝试把 AI 小镇这类应用完全跑在本地,用的就是现在很火的中小规模开源模型。优点是隐私好、零 API 成本、离线可用;缺点是模型能力确实比云端大模型弱,尤其在复杂推理和长文本理解上。

我的判断是:未来几年一定是"混合架构"的天下——日常的、高频的、低难度的任务让本地小模型扛,重要的、复杂的、一次性的任务再调用云端大模型。这个趋势会催生很多机会:硬件厂商做本地推理优化,模型厂商做更小更强的开源模型,应用开发者则需要学会在这两种模型之间做调度。

6.3 垂直场景沉淀:从"通用的 AI"到"干活的 AI"

最后一个方向,也是我认为最值得关注的:AI 解决方案会从"通用对话"走向"垂直场景的深度绑定"。AI 小镇证明了"一群 AI 角色模拟一个社会"是可行的,那么推而广之,我们完全可以想象:

  • 一个"AI 客服小镇",里面住着不同性格和专长的客服 Agent,用户进来后系统自动调度最合适的角色来接待;
  • 一个"AI 教学小镇",里面有不同的学科老师角色,它们互相合作、共享学生画像,为一个学生制定个性化的学习路径;
  • 一个"AI 游戏小镇",玩家可以和任何 NPC 建立长期关系,NPC 会记住玩家做过的每一个选择。

这些应用的底层技术,和 AI 小镇几乎一模一样:角色设定、记忆系统、规划决策、多 Agent 协作。所以我说,花时间研究这个"不起眼"的项目,其实是给自己攒了一套可以在未来很多场景复用的技术底子。

我在实际折腾过程中最大的体会是:AI 技术演进到今天,真正稀缺的不是"模型能力",而是"怎么把能力组织成一个能持续运转的系统"的能力。模型是发动机,但记忆、决策、调度、评估这些"组织机制",才是让 AI 从玩具变成工具、甚至变成伙伴的关键。如果你也想入局 AI 应用开发,我强烈建议你找一个像 AI 小镇这样的完整项目,亲手跑一遍、改一遍,把里面每个模块的来龙去脉摸清楚,这比看一百篇概念解读都管用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询