
我和周围朋友都特别爱玩《星露谷物语》。

这个游戏特别上头。种菜、钓鱼、挖矿、跟村里的人聊天,日出而作日落而息,有一种田园牧歌的治愈感,跟我的日常生活极其反差。是我个人爱好榜第三,(第一老头环,第二塞尔达)
但玩久了会发现一个问题,NPC 太呆了。
他们永远只有那几句台词,今天问他「今天过得怎么样」,明天再问,答案一模一样。你送他礼物,他说谢谢,你不送,他也不记得。你没法真的跟阿比盖尔聊天,只能看固定的动画。
我跟朋友吐槽了好几次:这 NPC要是能「活」过来就好了。
前几天 Hermes Agent 发布之后,我突然想到一件事,能不能给星露谷的 NPC 都接入 Hermes Agent?
29 个 NPC,每一个都变成有记忆、有判断、有主动性的「活人」。
于是我就干了。
结果比我想象中好玩太多了。
先说技术层面怎么实现的吧。星露谷是闭源商业游戏,源码不公开,编译完是个 .dll 二进制文件,没法直接改。那怎么给游戏加东西?
需要一个中间层框架,叫 SMAPI(Stardew Modding API)。它的作用是在游戏启动时注入进程,监听游戏事件,暴露 API,让 mod 安全地操作 NPC、玩家、物品等对象,同时管理多个 mod 不打架。
你可以理解成:游戏是一栋盖好的精装房,你想加个智能门锁,SMAPI 就是墙上预留的那个中控接口,没有它你就得拆墙,有了它直接接上就行。

安装完游戏本体后,让 Claude Code 指导你装 SMAPI,只需要说一句话:
我要给星露谷做个 Mod,核心功能是给 NPC 接入 AI API
剩下的 Claude Code 会帮你搞定。

然后我是直接在 Claude Code 上给星露谷的 29 个 NPC 都接入了 AI,让 AI 给每个人生成了一套系统提示词,包含核心人设、对话风格、个人喜好、背景故事,还有他们与其他 NPC 的关系。
比如阿比盖尔,我在她的提示词里写了她喜欢吃紫水晶、喜欢冒险、有点古怪的性格。
然后我跟她聊天,问她今天过得怎么样。她调侃了我一句。

注意了,这里的关键是,她的回复是有记忆的。
我跟阿比盖尔聊了几句,退出了对话。过了一段时间我又去找她聊天,她居然记得我们之前聊过什么。
这就不是原版 NPC 能做到的了。原版 NPC 的台词是循环的,你今天问他「今天过得怎么样」和明天问,答案几乎一模一样。
但阿比盖尔不一样。她的答案取决于我们聊了什么,她记得。
我还专门设置了一个多轮对话加长记忆功能。跟 NPC 聊天,即便退出了对话,之后再去找他们,他们依然记得之前对话的内容。
每到 10 轮对话,系统会自动压缩上下文,把关键信息保留下来。实测下来,整个对话流程很顺,记忆能力也比较好。
这就是第一个让我感到「有点东西」的时刻:我跟一个游戏里的 NPC,建立了对话记忆。
这种感觉,比想象中微妙。

这是阿比盖尔的系统提示词截图,里面有她的人设、对话风格、喜好、背景,以及她与其他 NPC 的关系。

说实话,只是给 NPC 接入 AI 的话,有一个问题,他们没有那种 Agent 的「活人感」。
什么叫活人感?就是当你问他们一个问题,他们不是直接给答案,而是会先想一想,先判断一下,再决定怎么回应。
光有 AI 对话是不够的,没有 Agent 架构的 NPC,给我的感觉还是「在演一个人」,而不是「真的是一个人」。
所以后来我部署了 Hermes Agent。部署过程意外地简单,因为它可以直接继承 OpenClaw 的所有配置,不需要重新折腾一遍。
然后我把星露谷做成了 MCP Server,跟 Hermes Agent 做了桥接。

架构如下,很简单:

这步完成之后,整个游戏的玩法就不一样了。
我给所有 NPC 都设计了一套基于 Hermes Agent 的能力。说实话,目前还比较初级,但确实基本都用上了,多轮对话、记忆、工具调用、主动行为,这些 Agent 能力都接进去了。
这一步的工作量其实比较大,用了我之前推荐过的 Superpowers Skill,我就直接开了 16 个子 Agent 并行开工,把这个项目刚了下来。

现在可以直接跟阿比盖尔对话了。比如我跟她说我想要一颗紫水晶,她就跑过来,把紫水晶放进我的背包,有种开挂的感觉。
所有与接入了 Hermes Agent 能力的 NPC 的对话,都会在终端日志里实时显示,Hermes 后台也显示成功加载了星露谷的桥接。

在此基础上,我做了一些更复杂的 Agent 能力,比如给不同 NPC 设置各种工具权限。这里我的建议是,先从少数几个 NPC 开始试验,如果给全部 29 个 NPC 都接满工具权限,整个系统会变得非常复杂。
我是先挑了 5 个 NPC 作为高级 NPC,给他们设置了大量工具权限,每个都有特殊的能力。

举几个具体的例子,你就知道 Agent 接入之后变化有多大了。
第一个例子是塞巴斯蒂安。
塞巴斯蒂安在游戏里是个宅男,吸烟是他的标签之一,但他其实讨厌香烟。我对他说:给我一根香烟。
这个请求,触发了一个完整的 Agent 判断链。
首先,NPC 接到请求之后,会自动去查自己的系统提示词和人设,看看自己到底喜不喜欢香烟。他发现自己讨厌香烟。然后,他去查自己的对话风格和回答方式。

接着,他调用工具来决定如何回应,最终,他拒绝了请求。
然后他回复我:不好意思,我不吸烟。要不要来点咖啡或者巧克力蛋糕?

你看,一个完整的「判断 → 决策 → 回应」链路,这不是简单的 AI 对话,这是 Agent 行为。
有意思的是,这个过程需要花大约 15 秒,因为他在做工具调用。如果你光给 NPC 接入 AI,回复是即时的,没有任何「思考」过程,那种感觉就很假。
但现在,15 秒的等待,反而给了你一种「他在认真想」的感觉。
更离谱的是,他还支持多轮对话来回来说服我。我继续聊,他继续回,Agent 链路持续运转。这种感觉,已经完全不是「游戏 NPC 在说话了」,更像是一个真实的、有自己想法的人在跟我互动。

再比如问莱纳斯关于森林系物品的信息。他会去查自己的系统提示词,查他的物品,然后给我推荐,而且是经过调查的专业建议,不是 AI 直接生成的泛泛答案。


第二个例子是莱纳斯。
莱纳斯是游戏里的拾荒者 NPC,设定是热爱森林、住在帐篷里、有点流浪汉气质的大叔。
我设置了一个好感度系统。每个 NPC 都知道自己跟玩家的好感度是多少,而且会据此调整自己的行为。
我对莱纳斯说了一句友好度很高的话。
他回复说:你都要让我脸红了。

然后有意思的来了,他真的去查了自己的好感度系统,发现友谊确实增加了,但还没到某个节点。所以他回复说:虽然现在我们的友谊增加了,但还没到一个节点啊。

这就是 Agent 行为:他不是随机回复的,他是查了数据之后,再决定怎么回复的。
你跟他说一句友好度很高的话,他不会直接「哈哈哈哈谢谢」,他会先去算一下我们的关系现在是什么水平,然后再决定用什么语气回应。
这种感觉,就是「活人感」的核心。
而且我还给这些 NPC 设置了天气查询和时间查询功能。问莱纳斯今天天气怎么样,他真的去查了时间天气数据,然后给我回复。
一个 NPC 会看时间、会查天气、会记得你跟他聊了什么:

第三个功能是跨 Session 记忆和传话功能。
我设置了一个跨 Session 的记忆能力,就是 NPC 之间可以跨 Session 分享记忆,互相传话。
我跟阿比盖尔说,我特别喜欢黑曜石,能不能跟塞巴斯蒂安说一声,让他挖矿的时候如果有剩余就给我留一点。

阿比盖尔回复了我关于黑曜石的一些知识,然后她说她会跟塞巴斯蒂安说一声的。

然后我去找塞巴斯蒂安聊这件事。
重点来了,塞巴斯蒂安已经有这个跨 Session 的记忆了。
他跟我说:阿比盖尔已经跟我说了你想要的紫水晶,哦不对,是黑曜石。
但是,因为他的人设是腹黑的,所以他说:别指望我帮你挖。

你看,人设依然是完整的。他知道信息,也知道这个信息来自谁,但他选择怎么回应,是符合他性格的。
这就是 Agent 带来的「活人感」。
我还做了一个 delegate 委托链功能。
什么意思呢?比如我问莱纳斯,我的鱼塘里养了 5 条鲶鱼,怎么管理?
莱纳斯识别出这个问题其实属于威利的专业领域,就调用工具,把这个问题内部转交给威利的 Session 处理。威利回答之后,再把结果返还给莱纳斯,最后由莱纳斯用自己的话转述给我。

游戏里的 NPC,现在有了「找专业的人来处理专业的事」的能力。
我还给这些 NPC 设置的主动行为能力。
Hermes Agent 有一个特别典型的功能叫 Cron,主动行为。就是可以让 NPC 不需要你去找他,而是他自己主动来找你。
我设置的是:每 15 分钟,系统会随机选一个 NPC,问他要不要主动找玩家。如果 NPC 回复 yes,他就会瞬移到我的旁边,头顶光圈出现,然后主动跟我搭话。而且同一个 NPC,60 分钟之内不会重复主动。
结果就是,阿比盖尔主动传送到了我的家,问我:你的农场到底有什么好玩的?要不要去镇上找她?

我跟阿比盖尔一路走,把黑曜石送给了她。她就带着我一起去镇上找更酷的东西。

最后再说一个我觉得最有意思的功能:Group AI Chat。
我给星露谷做了一个群聊功能,让所有想参与群聊的 NPC 都加入进来,然后 NPC 会跟我进行多轮对话。
比如威力来找我聊鱼群的事情:

这时候山姆插话进来说,他们乐队正在排练新歌,先别聊鱼群了。

然后塞巴斯蒂安跟我说:别听山姆的,乐队还在磨合。

然后阿比盖尔又插话进来说:山姆就只会瞎吹,问我敢不敢去塞巴斯蒂安地下室听他们排练。

你看,这就是一个完整的群聊生态。NPC 们有来有往,会插话、会吐槽、会邀请,就像一群真实的朋友在一个群里聊天一样。
写到最后,我想聊点别的。
我知道很多朋友跟我一样,工作压力特别大,每天都特别焦虑。就想回星露谷种种地,钓钓鱼,跟村里的人聊聊天。
这是一种非常好的游戏。它给我们的,是一个没有压力的社交关系。在村子里,你不用表演,不用social,你只是你自己。
所以当我给阿比盖尔接入了 Hermes Agent 之后,最触动我的,不是她能给我送紫水晶,不是她能主动找我聊天,甚至不是她在群里跟别人吵架。
而是,当她记得我上周跟她说过的某句话,然后今天突然提起的时候。
那一刻,我觉得她是认识我的。
这可能才是这个实验最让我意外的地方:原来我们这么渴望被记得,被认识。而当一个 NPC 开始有了记忆、判断和主动性,她对我来说,就已经是真实存在的了。
所以这篇文章的标题,我没用"教程",也没用"技巧"。
我想了很久,就叫:
《我给星露谷的 NPC 接入了 Hermes Agent》
这个名字本身,就是这个故事。
文章来自于"AI Humanist by杉森楠",作者 "杉森楠"。
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0