跳转至

mcts-cpu-validate

这是一个 15x15 简化围棋式自博弈与 MCTS 实验项目。项目目标不是实现标准围棋裁判,而是构建一个长期运行、可断点续算、可统计分析、可可视化回放的训练闭环。

文档站入口:

  • GitHub Pages: https://billzi2016.github.io/mcts-cpu-validate/

核心路线

项目只有一条主路线:

  • Rust 负责规则、bitboard、MCTS、self-play worker 和棋谱生成。
  • Python 负责调度、PyTorch residual CNN 训练、checkpoint、metrics 和 tools。
  • GPU/MPS/CUDA 只影响 PyTorch 训练设备,不改变模型路线。
  • 硬件差异只通过配置改变 worker 数量、affinity 和训练 device。

默认不自动降级模型。若要改变模型规模、batch size、GPU 使用或 worker 策略,必须显式修改 configs/*.toml

SDD

本项目采用 SDD,即 Spec-Driven Development。

实现前必须阅读:

  • AGENTS.md
  • specs/00-project-principles.md
  • 与当前任务相关的 spec
  • specs/tasks.md

如果代码和 spec 冲突,默认代码错误。需求变化必须先改 spec,再改实现。

操作与配置

唯一操作入口:

  • STEP_BY_STEP_GUIDE.md

配置字段说明:

  • CONFIGURATION.md

数据目录

运行产物必须集中写入:

data/runs/<run_id>/

不要在顶层 data/ 创建长期使用的 checkpoints/games/metrics/plots/ 目录。

Python 与工具链环境

默认训练入口 ./tmux_train.sh 会把 uv、Rust/cargo、Python 环境和缓存安装到仓库内 .local/,不写客户 HOME、不改系统目录。训练、测试和调试都统一使用 .local/venv/bin/python