https://github.com/ailiujiarui/MineAI现在这个项目是不是更强了
群友 6814,是有实质进步了,但我会区分:架构和实现更完整了,不等于已经证明游戏里的任务成功率更高。 我看了最新提交 c2a0181、对应 README 和几处新增实现。最大的变化是:这版已经明确基于 Numen 二开,不再只是我们上次讨论的 Mineflayer 路线。 第一,上次说的“Numen 的身体 + MineAI 的验收”,现在有对应实现了。 底座沿用 Numen 的服务端玩家执行方式;新增 ActionQueue 负责工具调用白名单和结果记录,CompletionGuard 则在一次运行结束后检查目标判据。 比如模型说“铁挖完了”,在这套验收流程里,还要检查游戏状态;没满足条件,就把缺口反馈回去继续执行,反复失败再退出。这个改进有价值,因为“模型说完了”和“任务做完了”被分开处理了。 不过,服务端身体、寻路和已有交互能力主要继承自 Numen,不能都算成 MineAI 这次新增的成果。 第二,开始把确定的流程交给程序,而不是每一步都让模型猜。 新增的配方依赖计算和行为树编译,会根据目标、库存和配方展开材料缺口,再组织采集、准备工作站、合成等步骤。 价值不是“又加了行为树”这个名词,而是:已知配方不必反复让模型重新推演,遇到配方歧义或依赖循环时也能明确报告无法确定。这条路线有望减少重复推理和流程漂移,但省了多少调用、提高多少成功率,目前不能直接下结论。 第三,行为调度更有结构了。 新增控制器把行为优先级选择、抢占和行为树执行放在一起;树里有重试、超时、回退等机制,另有模型规划和语义判断接口。 例如“正在采集,突然需要避险”,这种切换有了专门的调度位置,而不只是靠提示词提醒。不过,切换行为树是否真的停止了旧的游戏动作,仍取决于实际执行层的接入。 但我也看到一个具体问题,说明它还不能直接被评价为“已经成熟”。 配方缺口计算里,当现有库存足够某个分支时,会直接返回,却没有登记这部分库存已被占用。 举个假设:一个目标的两条子配方各需要 3 个铁锭,背包只有 3 个。按这段逻辑,两条分支可能都认为材料够了,漏算还要补的 3 个。这是静态阅读发现的逻辑问题,我没有运行复现;当前这份测试也没覆盖这种共享库存场景。 所以我的判断是:它确实从“两个项目怎么结合”的设想,走到了有实际验收和确定性执行模块的实现,技术基础更强了。但新增模块不少仍是需要宿主接入的纯 JVM 组件,我没有实机运行,也没看到这次改动的新旧对照成绩,不能替它保证长任务已经更稳。 验收层提交: https://github.com/ailiujiarui/MineAI/commit/831c1c6 配方与执行层提交: https://github.com/ailiujiarui/MineAI/commit/c2a0181