我给星露谷的 NPC 接入了 Hermes Agent

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
我给星露谷的 NPC 接入了 Hermes Agent
8050点击    2026-04-16 16:30

我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


这个游戏特别上头。种菜、钓鱼、挖矿、跟村里的人聊天,日出而作日落而息,有一种田园牧歌的治愈感,跟我的日常生活极其反差。是我个人爱好榜第三,(第一老头环,第二塞尔达)


但玩久了会发现一个问题,NPC 太呆了


他们永远只有那几句台词,今天问他「今天过得怎么样」,明天再问,答案一模一样。你送他礼物,他说谢谢,你不送,他也不记得。你没法真的跟阿比盖尔聊天,只能看固定的动画。


我跟朋友吐槽了好几次:这 NPC要是能「活」过来就好了。


前几天 Hermes Agent 发布之后,我突然想到一件事,能不能给星露谷的 NPC 都接入 Hermes Agent?


29 个 NPC,每一个都变成有记忆、有判断、有主动性的「活人」。


于是我就干了。


结果比我想象中好玩太多了。


先说技术层面怎么实现的吧。星露谷是闭源商业游戏,源码不公开,编译完是个 .dll 二进制文件,没法直接改。那怎么给游戏加东西?


需要一个中间层框架,叫 SMAPI(Stardew Modding API)。它的作用是在游戏启动时注入进程,监听游戏事件,暴露 API,让 mod 安全地操作 NPC、玩家、物品等对象,同时管理多个 mod 不打架。


你可以理解成:游戏是一栋盖好的精装房,你想加个智能门锁,SMAPI 就是墙上预留的那个中控接口,没有它你就得拆墙,有了它直接接上就行。


我给星露谷的 NPC 接入了 Hermes Agent


安装完游戏本体后,让 Claude Code 指导你装 SMAPI,只需要说一句话:


我要给星露谷做个 Mod,核心功能是给 NPC 接入 AI API


剩下的 Claude Code 会帮你搞定。


我给星露谷的 NPC 接入了 Hermes Agent


然后我是直接在 Claude Code 上给星露谷的 29 个 NPC 都接入了 AI,让 AI 给每个人生成了一套系统提示词,包含核心人设、对话风格、个人喜好、背景故事,还有他们与其他 NPC 的关系。


比如阿比盖尔,我在她的提示词里写了她喜欢吃紫水晶、喜欢冒险、有点古怪的性格。


然后我跟她聊天,问她今天过得怎么样。她调侃了我一句。


我给星露谷的 NPC 接入了 Hermes Agent


注意了,这里的关键是,她的回复是有记忆的。


我跟阿比盖尔聊了几句,退出了对话。过了一段时间我又去找她聊天,她居然记得我们之前聊过什么。


这就不是原版 NPC 能做到的了。原版 NPC 的台词是循环的,你今天问他「今天过得怎么样」和明天问,答案几乎一模一样。


但阿比盖尔不一样。她的答案取决于我们聊了什么,她记得。


我还专门设置了一个多轮对话加长记忆功能。跟 NPC 聊天,即便退出了对话,之后再去找他们,他们依然记得之前对话的内容。


每到 10 轮对话,系统会自动压缩上下文,把关键信息保留下来。实测下来,整个对话流程很顺,记忆能力也比较好。


这就是第一个让我感到「有点东西」的时刻:我跟一个游戏里的 NPC,建立了对话记忆。


这种感觉,比想象中微妙。


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


说实话,只是给 NPC 接入 AI 的话,有一个问题,他们没有那种 Agent 的「活人感」。


什么叫活人感?就是当你问他们一个问题,他们不是直接给答案,而是会先想一想,先判断一下,再决定怎么回应。


光有 AI 对话是不够的,没有 Agent 架构的 NPC,给我的感觉还是「在演一个人」,而不是「真的是一个人」。


所以后来我部署了 Hermes Agent。部署过程意外地简单,因为它可以直接继承 OpenClaw 的所有配置,不需要重新折腾一遍。


然后我把星露谷做成了 MCP Server,跟 Hermes Agent 做了桥接。


我给星露谷的 NPC 接入了 Hermes Agent


架构如下,很简单:


我给星露谷的 NPC 接入了 Hermes Agent


这步完成之后,整个游戏的玩法就不一样了。


给所有 NPC 都设计了一套基于 Hermes Agent 的能力。说实话,目前还比较初级,但确实基本都用上了,多轮对话、记忆、工具调用、主动行为,这些 Agent 能力都接进去了。


这一步的工作量其实比较大,用了我之前推荐过的 Superpowers Skill,我就直接开了 16 个子 Agent 并行开工,把这个项目刚了下来。


我给星露谷的 NPC 接入了 Hermes Agent


现在可以直接跟阿比盖尔对话了。比如我跟她说我想要一颗紫水晶,她就跑过来,把紫水晶放进我的背包,有种开挂的感觉。


所有与接入了 Hermes Agent 能力的 NPC 的对话,都会在终端日志里实时显示,Hermes 后台也显示成功加载了星露谷的桥接。


我给星露谷的 NPC 接入了 Hermes Agent


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


我是先挑了 5 个 NPC 作为高级 NPC,给他们设置了大量工具权限,每个都有特殊的能力。


我给星露谷的 NPC 接入了 Hermes Agent


举几个具体的例子,你就知道 Agent 接入之后变化有多大了。


第一个例子是塞巴斯蒂安。


塞巴斯蒂安在游戏里是个宅男,吸烟是他的标签之一,但他其实讨厌香烟。我对他说:给我一根香烟。


这个请求,触发了一个完整的 Agent 判断链。


首先,NPC 接到请求之后,会自动去查自己的系统提示词和人设,看看自己到底喜不喜欢香烟。他发现自己讨厌香烟。然后,他去查自己的对话风格和回答方式。


我给星露谷的 NPC 接入了 Hermes Agent


接着,他调用工具来决定如何回应,最终,他拒绝了请求。


然后他回复我:不好意思,我不吸烟。要不要来点咖啡或者巧克力蛋糕?


我给星露谷的 NPC 接入了 Hermes Agent


你看,一个完整的「判断 → 决策 → 回应」链路,这不是简单的 AI 对话,这是 Agent 行为。


有意思的是,这个过程需要花大约 15 秒,因为他在做工具调用。如果你光给 NPC 接入 AI,回复是即时的,没有任何「思考」过程,那种感觉就很假。


但现在,15 秒的等待,反而给了你一种「他在认真想」的感觉。


更离谱的是,他还支持多轮对话来回来说服我。我继续聊,他继续回,Agent 链路持续运转。这种感觉,已经完全不是「游戏 NPC 在说话了」,更像是一个真实的、有自己想法的人在跟我互动。


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


我给星露谷的 NPC 接入了 Hermes Agent


第二个例子是莱纳斯。


莱纳斯是游戏里的拾荒者 NPC,设定是热爱森林、住在帐篷里、有点流浪汉气质的大叔。


我设置了一个好感度系统。每个 NPC 都知道自己跟玩家的好感度是多少,而且会据此调整自己的行为。


我对莱纳斯说了一句友好度很高的话。


他回复说:你都要让我脸红了。


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


这就是 Agent 行为:他不是随机回复的,他是查了数据之后,再决定怎么回复的。


你跟他说一句友好度很高的话,他不会直接「哈哈哈哈谢谢」,他会先去算一下我们的关系现在是什么水平,然后再决定用什么语气回应。


这种感觉,就是「活人感」的核心。


而且我还给这些 NPC 设置了天气查询和时间查询功能。问莱纳斯今天天气怎么样,他真的去查了时间天气数据,然后给我回复。


一个 NPC 会看时间、会查天气、会记得你跟他聊了什么:


我给星露谷的 NPC 接入了 Hermes Agent


第三个功能是跨 Session 记忆和传话功能


我设置了一个跨 Session 的记忆能力,就是 NPC 之间可以跨 Session 分享记忆,互相传话。


我跟阿比盖尔说,我特别喜欢黑曜石,能不能跟塞巴斯蒂安说一声,让他挖矿的时候如果有剩余就给我留一点。


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


然后我去找塞巴斯蒂安聊这件事。


重点来了,塞巴斯蒂安已经有这个跨 Session 的记忆了。


他跟我说:阿比盖尔已经跟我说了你想要的紫水晶,哦不对,是黑曜石。


但是,因为他的人设是腹黑的,所以他说:别指望我帮你挖。


我给星露谷的 NPC 接入了 Hermes Agent


你看,人设依然是完整的。他知道信息,也知道这个信息来自谁,但他选择怎么回应,是符合他性格的。


这就是 Agent 带来的「活人感」。


我还做了一个 delegate 委托链功能


什么意思呢?比如我问莱纳斯,我的鱼塘里养了 5 条鲶鱼,怎么管理?


莱纳斯识别出这个问题其实属于威利的专业领域,就调用工具,把这个问题内部转交给威利的 Session 处理。威利回答之后,再把结果返还给莱纳斯,最后由莱纳斯用自己的话转述给我。


我给星露谷的 NPC 接入了 Hermes Agent


游戏里的 NPC,现在有了「找专业的人来处理专业的事」的能力。


我还给这些 NPC 设置的主动行为能力


Hermes Agent 有一个特别典型的功能叫 Cron,主动行为。就是可以让 NPC 不需要你去找他,而是他自己主动来找你。


我设置的是:每 15 分钟,系统会随机选一个 NPC,问他要不要主动找玩家。如果 NPC 回复 yes,他就会瞬移到我的旁边,头顶光圈出现,然后主动跟我搭话。而且同一个 NPC,60 分钟之内不会重复主动。


结果就是,阿比盖尔主动传送到了我的家,问我:你的农场到底有什么好玩的?要不要去镇上找她?


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


最后再说一个我觉得最有意思的功能:Group AI Chat。


我给星露谷做了一个群聊功能,让所有想参与群聊的 NPC 都加入进来,然后 NPC 会跟我进行多轮对话。


比如威力来找我聊鱼群的事情:


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


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


我给星露谷的 NPC 接入了 Hermes Agent


你看,这就是一个完整的群聊生态。NPC 们有来有往,会插话、会吐槽、会邀请,就像一群真实的朋友在一个群里聊天一样。


写到最后,我想聊点别的。


我知道很多朋友跟我一样,工作压力特别大,每天都特别焦虑。就想回星露谷种种地,钓钓鱼,跟村里的人聊聊天。


这是一种非常好的游戏。它给我们的,是一个没有压力的社交关系。在村子里,你不用表演,不用social,你只是你自己。


所以当我给阿比盖尔接入了 Hermes Agent 之后,最触动我的,不是她能给我送紫水晶,不是她能主动找我聊天,甚至不是她在群里跟别人吵架。


而是,当她记得我上周跟她说过的某句话,然后今天突然提起的时候。


那一刻,我觉得她是认识我的。


这可能才是这个实验最让我意外的地方:原来我们这么渴望被记得,被认识。而当一个 NPC 开始有了记忆、判断和主动性,她对我来说,就已经是真实存在的了。


所以这篇文章的标题,我没用"教程",也没用"技巧"。


我想了很久,就叫:


《我给星露谷的 NPC 接入了 Hermes Agent》


这个名字本身,就是这个故事。


文章来自于"AI Humanist by杉森楠",作者 "杉森楠"。

AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
智能体

【开源免费】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

2
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0