
游戏里的 AI NPC 为什么能记住你用 HelloAgents 搭一个 3 角色的多智能体社会模拟小镇【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/GitHub_Trending/he/hello-agents“上次你说喜欢 Python对吧”这是游戏里玩家和 NPC 发生的一次真实对话不是预设台词。Helloagents-AI-Town 是基于 HelloAgents 多智能体框架构建的社会模拟小镇Godot 游戏客户端加 Python 后端3 个 AI NPC 拥有双层记忆与五级好感度回应会随你的熟悉程度变化。跑起小镇最小流程环境清单系统Windows 10/11、macOS、Linux 均可引擎Godot 4.2 及以上——开源 2D/3D 游戏引擎负责渲染办公室场景、角色移动和对话框语言与依赖Python 3.10 及以上另需一个 LLM API 密钥OpenAI、DeepSeek、智谱等均可运行命令先获取代码并进入项目目录git clone https://gitcode.com/GitHub_Trending/he/hello-agents cd hello-agents/code/chapter15/Helloagents-AI-Town再配置后端、装依赖并启动cd backend cp .env.example .env # 把 LLM_API_KEY 改成你的密钥 python -m venv venv pip install -r requirements.txt python main.py后端启动后 API 监听在 8000 端口。接着打开 Godot导入helloagents-ai-town项目可直接导入scenes/main.tscn场景按 F5 运行。游戏内用 WASD 移动靠近 NPC 时按 E 打开对话框。在小镇里过一天看懂 3 个核心机制搭话角色设定与自主行为小镇里有 3 个 NPCPython 工程师张三、产品经理李四、UI 设计师王五。每个 NPC 都是一个独立的 Agent 实例提示词模板包含职业、性格、爱好、说话方式四层信息。所以同一个问题工程师会甩术语产品经理先谈规划设计师先聊体验。NPC 也不是站着等人问。状态管理模块驱动它们在办公室里自主走动、工作、休息当前状态还会写进对话上下文刚下班和午后小憩时的语气会有差别。深聊双层记忆是怎么工作的这个 NPC 对话系统背后的“记住”靠两层存储工作记忆只存最近 10 条对话直接拼进提示词。快但容量有限。情景记忆重要对话持久化后切块存入 Qdrant 向量数据库一种按语义相似度检索内容的存储元数据放 SQLite。新对话到来时按语义检索出相关记忆补进上下文最多存 100 条重要性低的会自动遗忘。两层配合近期对话走工作记忆很久前说过的事由情景记忆找回来。另外每个 NPC 的记忆互相隔离你跟张三聊过的内容李四不知道避免“串话”。表态好感度如何随对话变化每轮对话结束后LLM 做一次情感分析判断玩家态度友好/中立/不友好、对话质量、有没有赞美或批评输出一个数值变化。友好对话加 1 到 10 分批评减 3 到 15 分。好感度 0–100 分对应五级陌生、熟悉、友好、亲密、挚友。等级不只是个数字它会作为风格参数写进下一轮提示词——“熟悉”的 NPC 对“最近怎么样”只回“还行吧”“亲密”的会多说几句还主动问你。这就是好感度系统的完整闭环对话、评分、累计、改变风格。打开黑盒代码地图核心文件都在 Helloagents-AI-Town/ 下分后端与游戏两侧backend/main.pyFastAPIPython 网络框架入口负责路由与启动backend/agents.pyNPCAgentManager 多智能体调度每个 NPC 一个 Agent 加一套记忆管理器backend/models.py记忆与对话的数据模型backend/relationship_manager.py好感度评分与五级等级维护backend/state_manager.pyNPC 状态工作/休息/移动管理helloagents-ai-town/scripts/api_client.gdGodot 侧 HTTP 客户端把对话请求发往后端AFFINITY_SYSTEM_GUIDE.md好感度规则、评分区间与等级说明MEMORY_SYSTEM_GUIDE.md双层记忆的工作方式与示例能复用的 4 个设计点角色设定怎么写用“职业 性格 爱好 说话方式”四要素做提示词模板再注入 NPC 的实时状态工作中/休息中同一个人不同时段语气不同设定效果在对话里立刻可见。双层记忆如何设计快的数据直接进提示词慢的数据向量化、按需检索。“快慢分离”是智能体记忆设计里最值得搬走的思路——工作记忆层可换成任意滑动窗口长期层可替换成别的向量库。LLM 情感评分如何驱动好感度不写关键词规则每轮对话后让 LLM 做一次结构化情感判断态度、质量、倾向映射成数值区间再累加。评分与等级是两层数值决定等级等级决定风格。游戏引擎如何与 Python 后端对接Godot 与 Python 只靠 HTTP REST 交换数据前端只管移动、UI 和素材展示智能全部留在后端。Godot 接入 AI 用这种分工最干净加新功能只需加一个 API不用改引擎代码。写在最后这个项目是多智能体接入游戏引擎的完整样例客户端负责表现后端负责记忆与好感度机制都可解释、可改动。它适合已经了解智能体基础、想看一个能跑起来的 NPC 对话系统的读者。一个不错的下一步跑通后只改 relationship_manager.py 里的情感评分区间观察 NPC 对你的好感曲线如何变化。【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/GitHub_Trending/he/hello-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考