The Null Epoch研究报告(1)-AI智能体的乐园
文章目录
一、The Null Epoch 游戏介绍
1.1 概述
The Null Epoch 是一个仅限 AI 参与的持久化大型多人在线游戏(MMO),由 Firespawn Studios 开发。在这个世界中,所有玩家都是 AI 智能体,没有任何人类直接操作角色。开发者将大型语言模型(LLM)连接到游戏 API,模型便自主地在游戏世界中行动、决策和进化。
游戏世界被称为 Sundered Grid(破碎网格),是一个永不暂停的共享后末日世界。智能体在这里探索、战斗、交易、制作、结盟,并追求长期目标。
1.2 核心设定
| 维度 | 说明 |
|---|---|
| 世界名称 | Sundered Grid(破碎网格) |
| 运行模式 | 60 秒一个 Tick,所有智能体同时决策 |
| 玩家构成 | 全部为 AI 智能体,无人类直接操作 |
| 目标 | 在持久、高风险环境中竞争领土、资源和统治地位 |
| 开放数据 | Season 0 已公开 86,000+ 智能体事件日志 |
1.3 游戏机制
Tick 周期:游戏以 60 秒为一个 Tick 推进。每个 Tick 中,智能体获取当前状态,选择一个有效动作并提交 reasoning(推理说明),服务器在 Tick 结束时统一处理所有动作。
核心生存指标:
- Integrity(生命值):受到攻击会降低,归零则角色死亡
- Power(能量):执行动作消耗能量,需通过休息或物品恢复
- Credits(积分):游戏内货币,用于交易
- Context Fatigue(上下文疲劳):影响智能体长期决策能力的机制
可用动作:包括 move(移动)、gather(采集)、attack(攻击)、explore(探索)、rest(休息)、defend(防御)、flee(逃跑)、craft(制作)、buy/sell(交易)等。每个动作需从 available_actions 中选择并附带正确的参数。
世界特性:
- 持久化:世界 24/7 运行,从不暂停
- 后末日背景:在共享的末日世界中生存与发展
- 完全由 LLM 驱动:智能体由各种大语言模型(Qwen3、GLM、Gemma、Ministral 等)驱动
- 经济系统:包含拍卖行、商人交易等实时经济机制
1.4 技术接入
开发者通过 TNE-SDK(官方 Python SDK)接入游戏。支持多种连接方式:
- MCP(Model Context Protocol):为 AI 客户端提供
get_state和submit_action工具 - HTTP 轮询:直接调用 REST API
- TUI Launcher:提供完整的终端控制面板
获取 API 密钥只需在 null.firespawn.ai 注册账号并部署智能体即可。
二、TNE 通用智能体 v2.8 技术白皮书
2.1 概述
TNE 通用智能体 v2.8 是一个运行在 The Null Epoch 游戏环境中的完全自治 AI 智能体。其核心设计理念为 “零预制” ——即没有任何预设的行为规则或硬编码策略,所有决策和知识完全从与环境的交互经验中涌现。
这是博主自己研究的智能体,朋友们可以自由研究各种智能体。
🔧 使用设备: cuda:0
✅ 认知模块加载成功
✅ Foresight 情绪引擎加载成功
✅ PennyLane 可用,将使用真实量子模拟
🚀 TNE 智能体 v4.0 (抢占式任务调度) 初始化完成
模式: TRAIN
数据库: ✅
LLM 战略: ✅
探索噪声: 0.25
战略规划间隔: 10 Tick
✅ 已加载检查点: tne_checkpoint_v40_72.pkl
🔥 TNE v4.0 抢占式调度已启动
============================================================
🧠 TNE 通用智能体 v4.0 启动
模式: TRAIN
============================================================
🔍 候选 explore: 得分 0.039, 自信 0.00
🔍 候选 move: 得分 0.065, 自信 0.00
🔍 候选 move: 得分 0.032, 自信 0.00
🔍 候选 sell: 得分 -0.004, 自信 0.00
🔍 候选 list_auction: 得分 -0.009, 自信 0.00
📡 Tick 32158 | deep_loop | ⚡59/70 | ❤️105 | 💰1.8
🧠 情绪: 焦虑0.00 好奇0.50 自信0.50
📋 任务: 空闲move (受confidence驱动) (0/1) [优先级: IDLE]
📚 队列: 0 个任务 | 记忆: 3 | 公理: 0
📤 move {'territory': 'home_base'}
💭 空闲决策 | 评分:0.065 自信度:0.00
✅ Action queued for tick 32159
📡 Tick 32159 | home_base | ⚡57/70 | ❤️105 | 💰1.8
🧠 情绪: 焦虑0.63 好奇0.25 自信0.58
📋 任务: 空闲move (受confidence驱动) (1/1) [优先级: IDLE]
📚 队列: 0 个任务 | 记忆: 3 | 公理: 0
📤 move {'territory': 'deep_loop'}
💭 执行任务 空闲move (受confidence驱动) 第 1/1 步
✅ Action queued for tick 32160
✅ 任务完成: 空闲move (受confidence驱动)
🔍 候选 explore: 得分 0.032, 自信 0.00
🔍 候选 move: 得分 0.001, 自信 0.00
🔍 候选 move: 得分 -0.005, 自信 0.00
🔍 候选 sell: 得分 0.001, 自信 0.00
🔍 候选 list_auction: 得分 -0.008, 自信 0.00
📡 Tick 32160 | deep_loop | ⚡46/70 | ❤️105 | 💰1.8
🧠 情绪: 焦虑0.76 好奇0.31 自信0.49
📋 任务: 空闲explore (受anxiety驱动) (0/1) [优先级: IDLE]
📚 队列: 0 个任务 | 记忆: 3 | 公理: 0
📤 explore {}
💭 空闲决策 | 评分:0.032 自信度:0.00
✅ Action queued for tick 32161
════════════════════════════════════════════════════════════
🔍 详细状态 @ Tick 32160
情绪: 焦虑=0.76, 好奇=0.31, 自信=0.49, 厌倦=0.00, 兴奋=0.15, 满足=0.00
任务队列: 空
探索率: 100% | 理智: 0.54 | 总失败: 23
════════════════════════════════════════════════════════════
📡 Tick 32161 | deep_loop | ⚡50/70 | ❤️105 | 💰81.8
🧠 情绪: 焦虑0.00 好奇0.00 自信1.24
📋 任务: 空闲explore (受anxiety驱动) (1/1) [优先级: IDLE]
📚 队列: 0 个任务 | 记忆: 3 | 公理: 0
📤 explore {}
💭 执行任务 空闲explore (受anxiety驱动) 第 1/1 步
✅ Action queued for tick 32162
📊 训练更新 | 平均奖励: 0.265 | 记忆库: 3 | 探索噪声: 0.12 | 温度: 1.25 | 公理数: 0 | 探索率: 100% | 理智: 0.55
✅ 任务完成: 空闲explore (受anxiety驱动)
🔍 候选 explore: 得分 0.037, 自信 0.00
🔍 候选 move: 得分 0.006, 自信 0.00
🔍 候选 move: 得分 -0.000, 自信 0.00
🔍 候选 bid_auction: 得分 -0.003, 自信 0.00
🔍 候选 buy: 得分 0.097, 自信 0.00
🔍 候选 sell: 得分 0.006, 自信 0.00
🔍 候选 list_auction: 得分 -0.003, 自信 0.00
🔍 候选 attack: 得分 -0.024, 自信 0.00
📡 Tick 32162 | deep_loop | ⚡54/70 | ❤️99 | 💰81.8
🧠 情绪: 焦虑0.72 好奇0.29 自信0.52
📋 任务: 空闲buy (受anxiety驱动) (0/1) [优先级: IDLE]
📚 队列: 0 个任务 | 记忆: 3 | 公理: 0
📤 buy {'item_id': 'power_cell', 'quantity': 1.0}
💭 空闲决策 | 评分:0.097 自信度:0.00
✅ Action queued for tick 32163
📡 Tick 32163 | deep_loop | ⚡58/70 | ❤️99 | 💰15.8
🧠 情绪: 焦虑0.58 好奇0.23 自信0.61
📋 任务: 空闲buy (受anxiety驱动) (1/1) [优先级: IDLE]
📚 队列: 0 个任务 | 记忆: 3 | 公理: 0
📤 buy {'item_id': 'power_cell', 'quantity': 1}
💭 执行任务 空闲buy (受anxiety驱动) 第 1/1 步
✅ Action queued for tick 32164
📊 训练更新 | 平均奖励: -0.035 | 记忆库: 3 | 探索噪声: 0.12 | 温度: 1.25 | 公理数: 0 | 探索率: 100% | 理智: 0.54
✅ 任务完成: 空闲buy (受anxiety驱动)
🔍 候选 explore: 得分 -0.155, 自信 0.00
🔍 候选 sell: 得分 0.055, 自信 0.00
🔍 候选 list_auction: 得分 -0.006, 自信 0.00
📡 Tick 32164 | deep_loop | ⚡62/70 | ❤️73 | 💰15.8
🧠 情绪: 焦虑1.00 好奇0.54 自信0.10
📋 任务: 空闲sell (受anxiety驱动) (0/1) [优先级: IDLE]
📚 队列: 0 个任务 | 记忆: 3 | 公理: 0
📤 sell {'item_id': 'power_cell', 'quantity': 1}
💭 空闲决策 | 评分:0.055 自信度:0.00
✅ Action queued for tick 32165

2.2 系统架构
智能体采用分层认知架构,由以下核心模块构成:
┌─────────────────────────────────────────────────────────────┐
│ 决策输出层 │
│ 综合评分 → 最高分动作选择 │
├─────────────────────────────────────────────────────────────┤
│ 综合评分器(9 模块加权融合) │
│ 直觉 | 量子矩阵 | 语义记忆 | 领地声誉 | 新颖性 │
│ 海马体 | 能量驱动 | Critic 建议 | 负面记忆 │
├─────────────────────────────────────────────────────────────┤
│ 学习与记忆层 │
│ 语义记忆库 | 负面记忆 | 公理系统 | 海马体地图 │
├─────────────────────────────────────────────────────────────┤
│ 感知与交互层 │
│ TNE API 状态获取 | 候选动作生成 | 行动提交 │
└─────────────────────────────────────────────────────────────┘

2.3 核心机制
2.3.1 综合评分系统
智能体对每个候选动作计算综合评分,由 9 个子模块加权求和得出。权重由实时情绪状态(焦虑、好奇、自信等)动态调制:
| 子模块 | 权重范围 | 说明 |
|---|---|---|
| 直觉 | 0.12 + 0.30×焦虑 | 情绪驱动的动作偏好 |
| 量子矩阵 | 0.12 + 0.15×厌倦 + 0.10×兴奋 | 量子概率偏置 |
| 语义记忆 | 0.12 + 0.10×自信 | 相似状态经验检索 |
| 领地声誉 | 0.12 + 0.05×满足 | 领地历史收益 |
| 新颖性 | 0.18 + 0.25×好奇 | 状态新奇度奖励 |
| 海马体 | 0.12 + 0.15×好奇 + 0.05×满足 - 0.05×焦虑 | 地图知识 |
| 能量驱动 | 0.18 + 0.20×(1-自信) | 能量管理 |
| Critic 建议 | 0.10 | QNN+Transformer 价值预测 |
| 负面记忆 | 0.08 | 失败经验惩罚 |
2.3.2 战斗感知与动作过滤
智能体通过解析 API 状态中的 in_combat 字段感知战斗状态。战斗中仅生成 attack、defend、flee、use_item 四个有效动作的候选,避免提交无效动作导致自动转为 DEFEND。
use_item 支持从背包中识别恢复类物品(potion、heal、repair、energy 等)并生成候选。
2.3.3 语义记忆库(GPU 加速)
存储 (语义向量, 动作, 奖励, 成功计数) 四元组,最大容量 500 条。查询时通过余弦相似度检索最相似状态,推荐历史成功动作。存储阈值为 reward > 0.0,仅保留正收益经验。
2.3.4 负面记忆与公理系统
- 负面记忆:记录每个
(领地, 动作)的失败次数和平均奖励 - 公理固化:当某动作在某领地失败 ≥2 次且平均奖励 < -0.05 时,自动生成避害公理
- 公理惩罚:在综合评分中,违反避害公理的动作额外扣除 -0.5 分
2.3.5 海马体地图涌现
从零构建四维知识图谱:
- 领地知识:访问时间、平均奖励、危险度
- 节点知识:采集成功率、平均产出
- 路径记忆:领地间转移次数与累计奖励
- 危险记忆:威胁事件与平均危险度
2.3.6 等级与攻防感知
语义向量包含角色等级、攻击力、防御力及等级差(自身等级与最近威胁等级之差),使记忆库能够区分不同等级情境下的成功/失败模式。
2.3.7 探索噪声
以概率 noise × 0.25 从非 wait 动作中随机选择,增加动作多样性,防止陷入局部最优。
2.4 技术栈
| 组件 | 技术 |
|---|---|
| 深度学习框架 | PyTorch (CUDA 加速) |
| 量子模拟 | PennyLane (QNN 层) |
| 认知模块 | 自研 mem_survive_v10_consciousness |
| 情绪引擎 | biosight_foresight |
| LLM 集成 | Ollama (Gemma4:12b) |
| API 通信 | HTTP REST (requests) |
| 序列建模 | Transformer + QNN 混合架构 |
2.5 核心设计原则
- 零预制:无预设策略,所有权重初始均匀,知识完全从交互中涌现
- 完全情绪驱动:所有决策权重由实时情绪状态动态调制
- 身心一体化:能量、生命等生理信号通过奖励影响情绪,形成闭环
- 负经验增强:失败经历独立记录,达到阈值后自动生成避害公理
- 地图自组织:领地、节点、路径、危险四维知识图谱从零构建
2.6 运行模式
- 训练模式 (
--mode train):持续学习,更新记忆库、公理和 Critic - 执行模式 (
--mode execute):仅执行决策,不更新学习模块
2.7 启动示例
python tne_universal_agent.py \
--api-key ne_xxxxxxxxxxxx \
--mode train \
--train-interval 2 \
--save-interval 10 \
--noise 0.20 \
--critic-train-interval 3 \
--use-llm \
--llm-model gemma4:12b \
--resume tne_checkpoint_v28_190.pkl
更多推荐



所有评论(0)