10 tháng xây dựng bot cờ vua giống người nhất: Câu chuyện Chessbook-1
Một lập trình viên đã dành 10 tháng để tạo ra Chessbook-1, một bot cờ vua 199 triệu tham số có khả năng chơi giống người thật ở mọi mức Elo. Bot này không chỉ dự đoán nước đi mà còn mô phỏng thời gian suy nghĩ, sai lầm và cả sự hoảng loạn khi hết giờ — vượt qua cả Maia-3 và Allie 2.0 ở nhiều khía cạnh.
Ai từng chơi cờ với Stockfish đều biết cảm giác đó: đối thủ không bao giờ mắc lỗi ngớ ngẩn, không bao giờ suy nghĩ quá lâu, và cũng chẳng bao giờ hoảng loạn khi đồng hồ sắp cạn. Nó mạnh một cách vô hồn. Chính vì thế, một lập trình viên đã dành trọn 10 tháng để tạo ra Chessbook-1 — một bot cờ vua được thiết kế để chơi giống hệt một người chơi ngẫu nhiên trên Lichess, ở bất kỳ mức rating và thể loại thời gian nào.
Vấn đề với các bot cờ vua hiện có
Trước khi bắt tay vào làm, tác giả đã khảo sát hai mô hình "giống người" tốt nhất thời điểm đó là Allie 2.0 và Maia-3. Cả hai đều có điểm yếu riêng:
- Maia-3 (79 triệu tham số): không khớp tốt với sức mạnh thực tế, chơi quá mạnh ở các mức Elo thấp, không được huấn luyện trên các tình huống ít thời gian hoặc thể loại không phải blitz, và không dự đoán được thời gian con người cần để đi một nước.
- Allie 2.0 (5,6 tỷ tham số): dự đoán nước đi tốt nhất nhưng dự đoán thời gian sử dụng độc lập với nước đi cụ thể, và sức mạnh bị lệch ở hai đầu thang Elo.
Mục tiêu của Chessbook-1 rất rõ ràng: tạo ra một đối thủ tập luyện có thể thay thế bất kỳ người chơi thật nào, với cùng nước đi, cùng sai lầm, cùng thời gian suy nghĩ và cùng sự hoảng loạn khi hết giờ.
Cách đánh giá công bằng
Để so sánh khách quan, tác giả sử dụng hai tập dữ liệu từ các ván đấu trên Lichess trong tháng 9/2026 — thời điểm sau khi dữ liệu huấn luyện của cả ba mô hình đã kết thúc:
- Tập ngẫu nhiên: 30.000 thế cờ từ mọi ván đấu xếp hạng, mọi thể loại thời gian từ ultrabullet đến classical, không giới hạn thời gian còn lại. Một phần ba trong số đó là bullet.
- Tập blitz: 28.000 thế cờ từ các ván blitz, chia đều theo các mức rating từ 600 đến 2600+, nhằm so sánh Maia-3 trên "sân nhà" của nó.
Mỗi nước đi hợp lệ được chấm điểm bởi Stockfish 18. Mô hình nhận thế cờ, rating của cả hai bên và các đặc trưng khác, sau đó đưa ra xác suất cho từng nước đi hợp lệ để so sánh với nước người chơi thực sự đã đi.
Điểm mấu chốt: một mô hình dự đoán nước đi giỏi chưa chắc đã là một đối thủ tốt. Nếu nó đặt 95% xác suất vào nước đúng nhưng thỉnh thoảng lại "tặng không" một sai lầm, người chơi sẽ thấy nó vô lý hơn cả máy.
Kết quả: Ngang ngửa Maia-3, thua Allie về dự đoán nhưng thắng về cân bằng
Trên tập blitz, cả ba mô hình gần như hòa nhau về độ chính xác dự đoán nước đi: Allie 2.0 đạt 57,5%, Maia-3 đạt 57,3% và Chessbook-1 đạt 57,3%. Tuy nhiên, điểm khác biệt nằm ở chỗ khác.
Về khả năng chơi đúng sức mạnh: Đây là lợi thế lớn nhất của Chessbook-1. Khi đo mức tổn thất centipawn trung bình và tỷ lệ mắc lỗi nghiêm trọng so với người chơi cùng rating, Chessbook-1 gần như trùng khớp ở mọi mức. Các thanh biểu đồ của nó hầu như không lệch khỏi mức 0.
Ngược lại, Maia-3 và Allie 2.0 khớp tốt với người chơi đến khoảng 2200 Elo, sau đó trở nên yếu dần so với bản gốc. Ở mức 2600+, cả hai mắc lỗi nghiêm trọng thường xuyên gần gấp đôi so với người chơi thật mà chúng đang mô phỏng.
Về xử lý khi hết giờ: Maia-3 hoàn toàn không có đầu vào đồng hồ. Chessbook-1 được huấn luyện không lọc theo thời gian, nên nó "nhìn thấy" đồng hồ của cả hai bên, thời gian gốc và thời gian cộng thêm. Kết quả là khi người chơi còn dưới 20 giây, Chessbook-1 dự đoán chính xác 54,8% số nước so với 51,9% của Maia-3 — một khoảng cách 3-4 điểm phần trăm, trong khi trên toàn bộ tập dữ liệu cả hai hòa nhau.
Điểm độc đáo: Dự đoán thời gian suy nghĩ
Đây có lẽ là tính năng thú vị nhất. Chessbook-1 không chỉ chọn nước đi mà còn dự đoán thời gian con người sẽ dành cho nước đó, dưới dạng một phân phối xác suất. Bot lấy mẫu thời gian suy nghĩ từ phân phối này, chờ đúng khoảng đó rồi mới đi.
- Những nước bắt quân hiển nhiên được đi ngay lập tức.
- Những nước phức tạp, bất ngờ sẽ mất nhiều thời gian hơn.
- Trong tình huống hết giờ, con người dành khoảng 17% thời gian còn lại cho mỗi nước — Chessbook-1 dự đoán 17%, còn Allie dự đoán 14%.
Allie 2.0 cũng dự đoán thời gian nhưng chỉ đưa ra một giá trị trung bình cho mỗi thế cờ, không gắn với từng nước đi cụ thể. Điều này dẫn đến những tình huống vô lý như đi một nước bắt quân đơn giản trong 20 giây, hoặc tung đòn chiến thuật phức tạp chỉ trong tích tắc.
Kiến trúc kỹ thuật: Transformer 199 triệu tham số
Chessbook-1 là một mô hình transformer gọn nhẹ nhưng được thiết kế rất chuyên biệt cho cờ vua:
- 199 triệu tham số, 18 lớp transformer, chiều rộng 768, 12 đầu chú ý.
- 345 triệu thế cờ huấn luyện, cộng thêm 33 triệu thế cờ tinh chỉnh.
- 24 giờ trên 8×H100 cho lần chạy chính, sau đó 8 giờ trên 8×A100 để tinh chỉnh.
- Một lượt lan truyền xuôi trả về ba dự đoán: phân phối nước đi, kết quả ván đấu và phân phối thời gian suy nghĩ cho từng nước ứng viên.
Toàn bộ mã nguồn — từ mô hình, vòng lặp huấn luyện đến đường phục vụ — được viết bằng Rust trên nền tảng Burn, với backend CUDA được fork và tối ưu cho huấn luyện đa GPU.
Một chi tiết đáng chú ý: tác giả đã thử nghiệm các đầu ra giám sát bởi engine (Lc0 policy head, Stockfish value head) nhưng phát hiện ra rằng giám sát bằng engine khiến mô hình trở nên kém giống người hơn. Vì vậy, các đầu ra này bị tắt trong phiên bản cuối.
Ý nghĩa với người chơi cờ Việt Nam
Với cộng đồng cờ vua Việt Nam, đặc biệt là những người chơi trên các nền tảng trực tuyến như Lichess hay Chess.com, một bot như Chessbook-1 mở ra cơ hội luyện tập thực tế hơn nhiều so với việc đấu với engine truyền thống. Bạn có thể chọn đúng mức rating của mình — từ 600 đến 2800 — và đối thủ sẽ chơi như một người thật ở đúng trình độ đó, với những sai lầm hợp lý và cảm giác áp lực thời gian chân thực.
Điều này đặc biệt hữu ích cho việc chuẩn bị tâm lý thi đấu, bởi vì yếu tố tâm lý — sự hoảng loạn khi đồng hồ cạn dần — là thứ mà các engine cờ vua truyền thống không bao giờ mô phỏng được.
Bài học từ 10 tháng phát triển
Câu chuyện của Chessbook-1 là một ví dụ điển hình cho thấy chất lượng dữ liệu và thiết kế đầu ra quan trọng hơn quy mô mô hình. Với chỉ 199 triệu tham số — nhỏ hơn Allie 2.0 tới 28 lần — Chessbook-1 vẫn cạnh tranh được nhờ hiểu rõ vấn đề cần giải quyết và thiết kế kiến trúc phù hợp.
Tác giả cũng nhấn mạnh tầm quan trọng của việc đo lường đúng: một mô hình dự đoán nước đi tốt chưa chắc đã là đối thủ tốt, và việc đánh giá cần dựa trên nhiều khía cạnh — độ chính xác, sức mạnh cân bằng, xử lý thời gian và khả năng dự đoán kết quả — chứ không chỉ một con số duy nhất.


