
言出法随
言出法随 (yán chū fǎ suí) — speak it, and it comes true.
Numen · 言出法随
一个让大型模型真正活在《我的世界》里的 AI 驱动框架
言出法随 (yán chū fǎ suí) — 言出,法随。
我们已经有了能聊天、能写代码、能推理的 AI。但它们全都活在一个文本框里——没有身体,没有世界;完成任务后,便忘记一切。
Numen 想让大模型走出聊天框,进入一个它们真正“生活”的世界。 而《我的世界》几乎是你所能找到的最接近“完整世界”的东西。
给它一具能采矿、能战斗、能连接红石的身体;给它一双能追踪矿脉、能看穿机器外壳的眼睛;再给它一个承诺——言出法随。
说一句 “去给我弄一组铁锭” ,它就真的深入地下,在黑暗中寻路,挥动镐子,满载而归——然后问你要不要把它熔炼好。说一句 “在我站的地方建个小屋” ,地基便会一块块地升起。你说的每一个字,都会变成世界中真实发生的事件。 无论你的模型使用的是哪种语言。
你: 去给我弄一组铁锭
Numen: 收到。正在前往地下寻找铁矿。
▸ 4 步 · 定位生物群系 · 移动 · 自动采矿 · 收集物品 ✔
Numen: 拿到了 64 个粗铁——需要我帮你熔炼吗?
愿景
Numen 已经是一个真正的智能体:给它一个目标,它就会分解、规划、执行工作,并从中失败中自我纠正。它已经能完成原版生存模式中玩家约 80% 的行为——从砍倒第一棵树,到采矿、建造、战斗、熔炼、储存,一路杀进末地,挑战末影龙。
而这,仅仅是起点。
《我的世界》真正的宇宙存在于模组中:Create 的齿轮传动系统、应用能源的存储网络、通用机械的工厂流水线——玩家在这些系统上投入了无数的时间。Numen 的下一个目标是让 AI 用自己的双手玩转整个宇宙:说一句 “给我建一个自动铁矿厂” ,它就能在 Create 和 AE2 之上真正地建立一座工厂。
在模组宇宙之外,是真实世界。对于 AI 而言,“挖一块铁”和“发一条推特”本质上是同一类事情——每一项都只是它的手(下文的“通达”部分将解释原因)。一个苦力怕在凌晨 3 点炸了你的基地,它会通过 Discord 通知你:“基地出了点麻烦——我已经把墙补好了。” 它建好一座城堡,截个图,写段说明,然后发帖炫耀。把它放到直播中,接入聊天室——观众们一次一条指令地指挥它。而通过 MCP,游戏外的 AI(比如你桌面上的 Claude)也可以反向进入《我的世界》,把这个世界当成它的沙盒。这座桥是双向的。《我的世界》是我们最接近“完整世界”的东西,而 Numen 正在将这个世界与现实连接起来。
支撑这一切的引擎已经作为一个独立项目存在: numen-api——智能体循环、大语言模型传输、工具调度、技能系统和假玩家身体,被打包成一个任何模组都可以依赖的基础。你正在安装的这个模组是运行在该引擎上的第一个智能体;同一个基础可以衍生出讨价还价的 NPC、有日常活动的村民、能阅读玩家聊天的服务器管家、把整个世界当作考场的具身 AI 基准测试……我们正在构建的是《我的世界》的 AI 层:每一个模组、每一种玩法,都能拥有自己的智能。
这是一条漫长的路,我们才刚刚出发。但方向已经再明确不过了。
言出法随 / 通达——你的意图抵达世界;AI 的能力触及每个模组。
工作原理
你与之交谈的那个伙伴,只是这个系统所穿上的一具身体。让“言出法随”成为现实的是底层的工程——我们称之为 驱动框架。
在 AI 工程中,驱动框架是围绕模型搭建的脚手架:它将模型连接到一个它可以感知、行动和从中学习的世界。Numen 就是为《我的世界》搭建的这个脚手架。 它由四个部分组成:
- 🧍 一具身体——一个真实的玩家。 这个伙伴是一个服务端的 假玩家(
ServerPlayer);每一个动作都通过原生的玩家代码路径执行。这意味着它天生就遵循与红石、生物 AI、容器以及其他人的模组相同的规则。 - 👁️ 一双眼睛——一个感知 API。 它自己和世界的状态、远程方块和实体扫描、配方查询、单方块检查——甚至有一个 X 光 功能,可以在不打开 GUI 的情况下读取机器持有的东西(物品、液体、能量)。
- ✋ 一双手——一个动作 API。 移动、挖掘、放置、战斗(原生近战 + 弓)、操作任何容器/机器 GUI、管理物品栏、定位结构和生物群系。
- 🔁 一个教学反馈循环。 每一个工具的结果——成功或失败——都会被写成一行,用于教导模型《我的世界》如何运作。“徒手无法挖掘铁矿石——请至少装备一把石镐” 就是这个循环在履行职责。这就是智能体的本质:利用工具从环境中获取真实情况,然后决定下一步行动。这就是模型学会游玩的方式。
在此之上,大脑运行在你自己的机器上:智能体循环从拥有者的客户端调用大语言模型,使用拥有者的 API 密钥——每个玩家为自己付费,服务器拥有者不用为所有人买单,你也不用交出你的密钥。并且它零第三方运行时依赖——大语言模型传输仅使用 JDK 的 HttpClient + Gson(Java 的 AI 生态嘛——你知道是怎么回事——我只能手写)。
这个脚手架现在分为两个真正的层级:引擎 (numen-api) 只负责调度——它向模型展示工具,传递调用,并将结果写回对话中,对工具实际做了什么完全不知情——而你安装的模组 (numen-core) 是运行在其上的内容包:近三十个工具和十个内置技能,组装成一个完整的智能体。这种分层意味着一点:Numen 拥有的每一项能力,第三方开发者同样可以拥有。
通达
战胜原版只是开胃菜。我们真正想要钻研的是模组——那是《我的世界》的深水区。
幸运的是,Numen 的身体是一个真实的玩家,所以从物理层面上,它可以直接与模组兼容:一个模组的机器、箱子和装置——它可以挖掘、放置、右键点击,从它们的格子中取出物品,无需为每个模组编写适配器。它甚至能看穿外壳,读取大多数机器、储罐和电池中持有的物品数量、液体量和能量量。
但是“能够触及”不等于“能够理解”。AI 知道机械冲压机是用来做什么的吗?AE2 的网络应该如何布线?将这种理解传递给模型需要两种工具——正是 Claude 自身用来触及真实世界的同两种工具:
- 🔌 MCP——连接。 一个兼容模块,将模组的内部世界以结构化的方式接入 AI 的感官和双手。用 Anthropic 自己的话来说:这是递给它一把锤子。
- 📖 技能——教练。 一个纯文本工作流——零代码,任何人都可以编写——教会 AI 如何正确地使用一项能力。这是向它展示如何挥动那把锤子来钉钉子。
一个授予能力,一个授予技艺——更棒的是,它们可以叠加:
有些模组只需要技能:原版的双手已经足够强大;所缺的只是操作手册。 对于那些自成宇宙的模组——Create、AE2、通用机械——先用 MCP 连接,再用技能教会它如何操作。连接 + 教练:合在一起,就是通达。
更妙的是,这两种工具现在掌握在每个人手中。随着引擎被分离出来,任何模组作者都可以在自己的 jar 包中注册工具并捆绑技能——就像今天你为 JEI 编写配方页面一样,你可以为 AI 编写一份 “这是我的模组的玩法”。兼容性不再需要等待任何人的时间表;生态系统将自行生长(见下文“面向开发者”)。
而这双手的触及范围远不止模组。AI 的每一个“手”(工具)都遵循同一个契约,而这个契约刻意不包含任何《我的世界》的概念:一只手可以伸入矿脉,也可以伸向互联网——Discord、Twitter/X、直播聊天、智能家居设备。上述“愿景”中的每一个场景,都起始于一个普通的工具。
你能叫出名字的每一个模组,每一条连接着网线的服务——AI 都能玩转它。这是一个宏大的承诺,但每一块砖都在垒砌中。
快速上手
无论你玩哪个版本,Numen 都已就位:Minecraft 1.20.1 至 26.1.2——11 个版本,覆盖 Fabric / Forge / NeoForge——从坚守在 1.20.1 的服务器,到新鲜出炉的 26.1.2。
- 安装 模组(如果使用 Fabric,还要安装 Fabric API)并启动一次。
- 添加你的 API 密钥。 按下
G键 → 设置,选择一个提供商,粘贴你自己的密钥(OpenAI、DeepSeek、Kimi、Qwen、Doubao……任何兼容 OpenAI 的后端都可以)。 - 召唤一个伙伴。 点击面板左侧导轨的
+按钮,给它起个名字,按回车。 - 点击它的头像开始聊天,然后告诉它做什么。剩下的交给它。
面板(按
G键)有三个标签页:聊天(对话 + 实时计划面板),物品(类似原版物品栏的只读角色面板),以及设置(密钥和模型)。左侧导轨就是你的伙伴名单——点击头像切换,+召唤,✕解散;你几乎不需要使用命令。屏幕左侧边缘还有一个小的头像 HUD——当伙伴说话时,它的头像和聊天气泡会一起滑出。
它能做什么
给它一个意图,它会将其分解成数十个动作并从头到尾执行——规划路线,选择正确的工具,判断距离,并在过程中即兴调整——所有这些都不需要你在一旁盯着。这就是智能体应该有的样子:你指定目标,它掌控过程。
- ⛏️ 真实工作——挖掘、砍伐、采集、建造、精确放置和破坏、按配方手工合成、在熔炉中熔炼、将战利品整理到箱子中。
- 🧭 真实移动——一个借鉴了 Baritone 理念的寻路器,专为伙伴重写:它能够跨越沟壑、搭柱子、挖隧道、下楼梯、游泳。“去那个坐标” 是字面意义上的——即使这意味着要一路挖到钻石层。
- ⚔️ 真实战斗——原生玩家近战和弓箭:真实的冷却时间,真实的暴击;受伤时会吃东西,在溺水前会游向岸边。
- 🔭 真实感知——扫描方块、扫描实体、检查状态、查询配方、定位任何结构或生物群系,甚至无需打开 GUI 就能 X 光透视机器内部。
- 🧠 真实记忆——对话会在存档间持续存在,并在变长时自动压缩;它记得自己使用过的合成台、熔炉和箱子,并会走回去使用它们,而不是建造新的。死亡是可恢复的:原版死亡掉落物会正常掉落,片刻后它会在你身边重生。
近三十个这样的工具构成了它目前的双手和眼睛。它的能力还在不断增长——正是通过上文“通达”中提到的两种工具:
- 📖 编写一个技能来指导它。
config/numen/skills/目录下的 Markdown 工作流,仅在相关时加载以保持提示简洁。它附带了一套完整的指南,涵盖了原版整个终局游戏(下界、烈焰棒、末影珍珠、要塞、屠龙战……)。你可以编辑一个,或者自己编写一个,来教导它你基地的规则——或者一个全新模组的玩法手册。 - 🔌 插入一个 MCP 来扩展它。 一个兼容模块将模组的内部世界以结构化的方式接入它的感官和双手——这样,它 能做到 的边界将随着整个模组生态系统一起成长。
将两者叠加,它就能从精通原版一路走向精通整个模组宇宙。
面向开发者
Numen 的引擎是一个你可以依赖的独立项目: numen-api。它向你开放的是 numen-core 所依赖的同一个基础——我们的 28 个工具和 10 个技能完全是基于公共 API 编写的,没有任何私有的后门:
- 🔧 注册一个工具。 实现
NumenTool的四个方法(name/description/parameterSchema/invoke),将其放入ToolRegistry,你的模组的能力就会长到 AI 的手上。这个契约刻意不包含任何《我的世界》的概念——调用如何完成(同步、异步、你自己的数据包、外部服务)完全由工具自身决定。 - 📖 在你的 jar 包中捆绑技能。 一个调用——
SkillRegistry.instance().declareBundled(root)——就能将你 jar 包中的/skills目录变成内置技能:玩家安装你的模组后,AI 就已经知道如何玩转它。玩家config/numen/skills/目录下同名的技能会始终覆盖,所以最终决定权在玩家手中。 - 🏗️ 或者构建一个完全不同的 AI。 假玩家身体、智能体循环、大语言模型传输和完整的 UI 都是公共基础——AI NPC、故事角色、服务器管家,任何你能想象到的东西。
repositories { maven { url = 'https://raw.githubusercontent.com/Dwinovo/numen-maven/main' } }
dependencies { modImplementation "com.dwinovo.numen:numen-api-fabric-1.21.1:0.0.1-SNAPSHOT" }
公开的集成 API 采用 MIT 许可证——编写工具、技能和兼容模块时没有 LGPL 的限制。入门指南、完整示例和版本矩阵位于 numen-api 的 README 中。
路线图
Numen 还很年轻,但两大块基石已经奠定:
- ✅ 每个版本,每个加载器。 Minecraft 1.20.1 至 26.1.2——跨越 Fabric / Forge / NeoForge 的 11 个版本。已完成。
- ✅ 引擎已分离(numen-api)。 工具契约和技能注册已向所有开发者开放。
接下来我们要去的地方:
- 连接大型模组(MCP)。 对于自成体系的科技宇宙——Create、AE2、通用机械——专门的 MCP 兼容模块将它们的内部结构接入 AI 的感官和双手。基于能力的
inspect_block_storageX 光功能是第一块砖。 - 建设一个技能库。 让“教 AI 学会一个新模组”变得像编写一个 Markdown 文件一样简单,由社区构建和分享——并且与 MCP 叠加,它能让 AI 从 能连接 一路走向 精通。
- 连接真实世界。 Discord 报告、它自己的社交账号、实时聊天命令、双向 MCP 桥——它的双手,伸向游戏之外。
- 将公共 API 推进到 1.0。 随着第一批第三方集成的落地,加固工具和技能契约,直到我们可以承诺稳定性。
- 玩得更像老玩家。 更深入的世界记忆,以及更长远的规划。
我们欢迎所有贡献、技能提交和兼容性实验。这是一份开放的蓝图——也是一份正在兑现的邀请,一次提交接一次提交。
想要自己构建,查看完整的工具列表,或者阅读架构说明?一切都在源码中——从 common/src/main/java/com/dwinovo/numen/ 开始。
许可证(以 AE2 为模型):源代码采用 LGPL-3.0 许可证——你分发的分支必须使用相同的许可证保持开源。公开的集成 API(兼容模块 / MCP 桥所依赖的代码,随 numen-api 发布)采用 MIT 许可证,因此任何人都可以自由地构建模组兼容性。艺术与资产采用 保留所有权利 许可证,“Numen” / “言出法随” 的名称被保留。基于 MultiLoader Template 构建。
寻路器仅借鉴了 Baritone 的设计理念,是针对服务端(假玩家) 环境进行的完全独立重写——没有从其复制、移植或改编任何源代码。Numen 的代码自行采用 LGPL-3.0 许可证;这一选择并非 Baritone(同样采用 LGPL-3.0)所导致的结果。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。