内置AI零配置开箱即用:Akagi的纯Rust神经网络机器人是怎么工作的【免费下载链接】Akagi支持雀魂、天鳳、麻雀一番街、天月麻將能夠使用自定義的AI模型實時分析對局並給出建議內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Amatsuki, with the ability to use custom AI models to analyze games in real time and provide suggestions. Comes with Mortal AI as a built-in example.项目地址: https://gitcode.com/gh_mirrors/ak/AkagiAkagi 是一款支持雀魂、天鳳、麻雀一番街、天月麻将的桌面级 AI 麻将助手它的亮点之一是内置 AI 机器人零配置、开箱即用。你不需要安装 Python、不需要下载权重文件打开应用选择内置 bot 就能让一个纯 Rust 编写的神经网络模型实时分析牌局并给出建议。本文带你拆解这个麻雀虽小五脏俱全的神经机器人在 Akagi 里到底是怎么工作的。为什么是零配置权重直接烧进二进制很多麻将 bot 方案依赖外部推理引擎比如 libriichi 加 Python 子进程安装步骤繁琐。Akagi 的内置 bot 走了一条完全不同的路纯 Rust 推理基于 candle 框架在进程内直接跑卷积网络没有 Python、没有子进程、没有动态库依赖权重内嵌训练好的.safetensors文件通过include_bytes!直接打包进可执行文件见 defaults.rs运行时零外部文件两种规格四麻yonma与三麻sanma各带一份模型分别对应 82 / 60 维动作空间。换句话说安装 bot 这个动作本身被消灭了——你下载的就是完整的 AI。机器人的三大核心部件内置 bot 的全部代码位于 native_bot/ 目录核心只有三块1. 观察编码把牌桌变成图片麻将状态并不像像素图像怎么喂给卷积网络obs.rs 设计了一套自相对特征平面把对局编码成[C, T]形状的张量C 为通道数T 为牌轴其中维度四麻三麻特征通道 C3937牌轴 T3427动作空间 A8260通道里包括自己手牌档位≥1/≥2/≥3/≥4 张同牌、赤五标记、摸牌、听牌等待面、符里指示牌与符里张、每个对手的舍牌计数/副露/立直状态/点数、上家切牌、场风、自风、本场、圈数等。所有座位都按相对位置编码下标 0 永远是决策者模型因此对座位号完全不敏感。2. 动作编码合法动作掩码action_codec.rs 负责把切哪张牌、碰/吃/杠/荣和/Pass统一编号。关键细节有两个合法掩码推理时只允许在合法动作集合里选择保证网络永远不会做出不存在的牌赤五保护切赤五与切普通五张共享同一个动作 id解码时会优先还原普通牌避免把确定的符里张白白切掉。3. 小卷积网络660K 参数2.6 MB 权重model.rs 里的结构刻意保持紧凑输入卷积 64 通道 → 3 个残差块 → 256 维全连接 → 动作 logit。四麻模型约 66 万参数权重文件只有 2.6 MB——小到可以直接内嵌进桌面程序在 CPU 上毫秒级完成一次前向推理。训练流程用天鳳日志模仿人类内置 bot 采用行为克隆模仿学习目标是合格的人类水平而非最强Rust 提取器回放 mjai 格式的天鳳日志产出(观察, 动作, 掩码)样本见 train/README.mdPython GPU训练小 CNN这里 Python 只离线用一次约 5 分钟导出.safetensorsRust 侧 candle 加载并跑数值一致性测试确保两边算出的结果一致parity.rs。参考数据4 万局日志 → 600 万样本验证集 top-1 命中率 75.9%三麻模型 77.8%。样本中切牌动作占约 77~81%所有可以鸣牌但没鸣的位置会被合成为 Pass 样本避免模型学出乱碰。运行时决策一步棋是怎么选出来的实时对局中Akagi 把 mjai 事件流喂给 engine.rs 的Engine内部由 riichienv-core 纯 Rust 牌局引擎维护完整状态。每当轮到决策点obs_and_legal_4p/3p构建特征平面 合法动作列表模型前向输出 82/60 维 logit在合法集合内做 softmax 排序取概率最高的动作若最优动作是立直引擎会在状态克隆中先立直再让模型补出必须携带的切牌——因为 mjai 的立直必须同时指定切牌否则自动操作会卡住HUD 展示 Top-3 候选概率条例如界面上hora 99% / discard 1%的建议卡片。还有一个小优化当合法动作只剩 1 个比如立直后的全部摸切时这是强制动作引擎直接本地回答不浪费推理甚至 API 配额。Akagi 如何接入本地模型永远在线bot/native.rs 是 Akagi 侧的进程内 runner。它注册了两个保留 bot 名akagi-native内置四麻 botakagi-native3p内置三麻 bot它的设计哲学是本地模型永远在回路里即使你配置了云端推理 API本地小模型仍负责——先用合法动作检查做门控真该决策时才发网络请求、服务器不可达时自动降级为本地动作、失败后指数退避熔断保证对局永不停顿。而这一切都不需要你在 bot 目录放任何文件也没有bot.py注册表流程。想深入了解关键文件清单模块路径作用观察编码器obs.rs特征平面定义与编码动作编解码action_codec.rs动作编号、合法掩码、红五保护CNN 模型model.rscandle 推理网络推理引擎engine.rs状态驱动 决策主循环内嵌权重weights/akagi4p / akagi3p 模型文件训练说明train/README.md提取 → 训练 → 导出全流程模块总览README.md架构关系图与几何参数小结Akagi 的内置机器人证明了够用且零摩擦的工程价值一份 2.6 MB 的行为克隆小网络配共享同一套 Rust 编码器的训练/推理管线让雀魂、天鳳玩家打开即用、无需任何安装还能随时切换到云端更强模型而体验无感降级。这就是纯 Rust 神经网络机器人在 Akagi 里的全部秘密 【免费下载链接】Akagi支持雀魂、天鳳、麻雀一番街、天月麻將能夠使用自定義的AI模型實時分析對局並給出建議內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Amatsuki, with the ability to use custom AI models to analyze games in real time and provide suggestions. Comes with Mortal AI as a built-in example.项目地址: https://gitcode.com/gh_mirrors/ak/Akagi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考