🤖 Civ6 AI + DeepSeek 增强系统

用大语言模型驱动文明6 AI 决策 — 从调研到可运行原型

100 回合完整游戏成果

7
城市数
12
科技完成
Renaissance
时代
501
得分 vs AI 30

DeepSeek Reasoner (V4 Pro) 驱动,97 次 API 调用,10.3s 平均响应,Grade A+ (7/7)

系统架构

┌─────────────────────────────────────────────────────────────┐ │ Civ-like 模拟环境 │ │ civrealm_env.py (Gymnasium API) │ │ - 六角地图 / 城市 / 科技树 / 单位 / AI 对手 │ │ - observation: 文本化游戏状态 │ │ - action: 研究/建造/训练/移动/建城/结束 │ └──────────────────────────┬──────────────────────────────────┘ │ observation (text) ▼ ┌─────────────────────────────────────────────────────────────┐ │ DeepSeek LLM Agent │ │ civrealm_agent.py │ │ - 构造 prompt (游戏状态 + 可用动作 + 策略规则) │ │ - 调用 DeepSeek V4 Flash API │ │ - 6 级 JSON 解析 fallback │ │ - fuzzy action matching │ └──────────────────────────┬──────────────────────────────────┘ │ actions (JSON) ▼ ┌─────────────────────────────────────────────────────────────┐ │ Python Bridge │ │ bridge.py / advisor.py │ │ - 也支持真实 Civ6 (文件系统桥接方案) │ │ - Mod 写状态 → Python 读 → API → 写回 → Mod 读取 │ └─────────────────────────────────────────────────────────────┘

Civ6 AI 架构分析

为什么不能直接改 AI?

层面能力限制
C++ 核心引擎所有 AI 决策逻辑闭源 DLL,无法修改
SQL 权重表调整 AI 偏好(如科技优先级)只能微调数值,不能改逻辑
Lua Events响应游戏事件、修改可见状态沙盒环境,禁用 io/os/socket
FireTuner实时 Lua 控制台仅开发模式,需 EnableTuner=1

结论:真实 Civ6 中只能通过"文件系统桥接"间接影响 AI。模拟环境则完全可控。

模拟器方案对比

方案类型Civ6 覆盖是否可用备注
自建 civrealm_envPython, Gymnasium~40%已实现轻量、快速、完全可控
CivRealm (BIGAI)FreeCiv + Python~60%需 DockerICLR 2024,最完整
UncivKotlin, Civ5 规则~50%需改造开源,逻辑/UI 分离
FreeCivC, 经典规则~30%可用有 headless 模式

DeepSeek Agent 决策能力

📚 科技规划

正确选择 Writing → Archery → Engineering 路线,识别秦始皇奇观加速特性推荐文化胜利

🏙 城市扩张

人口 ≥3 时训练 Settler,移动到距离 ≥2 处建城,50 回合 3 城 / 100 回合 4 城

⚙ 生产管理

不中断进行中的生产,优先级:Settler > Library > Granary > Military

🎯 长期策略

根据文明特性和外交关系调整策略,100 回合内达成 Medieval 时代

API 集成细节

参数
模型LLM Reasoner(Pro)/ LLM Flash(标准)
平均延迟10.3s (Pro) / 8.0s (Flash)
Token 消耗~2100 tokens/回合 (Pro) / ~750 tokens/回合 (Flash)
可靠性100% 有效动作率(6 级 JSON fallback)
成本100 回合 ≈ 75K tokens ≈ ¥0.15

迭代历史

Iter方向成果
V3-1AI 架构调研确认闭源 C++,Lua 沙盒,推荐文件桥接
V3-2技术验证 + 原型Python Bridge + Mod 框架 + DeepSeek 调用验证
V3-3CivRealm + 自建模拟器Gymnasium 环境,10 回合测试
V3-4决策质量优化多步动作率 30%→100%,奖励 +74%
V3-550 回合完整游戏3 科技,Classical 时代,Grade A
V3-6修复 + 100 回合演示4 城 11 科技 Medieval,7/7 全通过
V3-7V4 Pro 对比测试Renaissance 时代, 7城 501分, +32% vs Flash

文件索引

src/ai_bridge/ ├── bridge.py Python 桥接主循环 ├── advisor.py DeepSeek API 调用封装 ├── game_state.py 游戏状态数据模型 ├── civrealm_env.py Gymnasium 风格模拟环境 ├── civrealm_agent.py LLM Agent (prompt + 解析) ├── civrealm_data.py 科技树/单位/建筑数据 ├── run_civrealm_test.py 测试运行器 ├── run_v4pro_game.py V4 Pro 100回合对比 ├── demo.html 可交互游戏回放 ├── mod/ │ ├── AIAdvisor.lua Civ6 Mod 框架 │ └── AIAdvisor.modinfo └── data/ └── *.json 游戏日志 + API 结果 src/research/ ├── ai_integration_report.md 可行性调研报告 ├── civ6_simulator_research.md 模拟器方案调研 └── technical_design.md 技术设计文档