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.mdspecs/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。