僕は発展途上技術者

Claude Codeと作った完全自分専用アプリ - MOTC (Master Of The Chessboard)

最近はAI(Claude Code)に指示してWebアプリを作ることが多いのですが、その中で一番便利だと思う自作ツールを紹介します。

僕にはとても役立つものの、他の人にはほぼ無用です。まさに「完全自分専用ツール」です。テーマは、2年前から続けている趣味のチェス。

チェスでは実際の盤を使う対局をOTB(Over The Board)と呼び、ネット対戦と区別します。リアル対局には独特の緊張感や楽しさがあり、各地にチェスクラブが存在します。僕はそのひとつ、世田谷チェスクラブによく参加しています。

僕の実力は初級~中級の間くらい。あるとき強いスペイン人ピアニストの方と対局させてもらい、当然完敗しましたが、親切に指導をいただきました。そのとき「チェスが上達するには?」と聞くと、古典的な対局から学ぶのが良いと助言され、紹介されたのが Master of the Chessboard という名著でした。

さっそくKindleで読み始めたのですが、すぐ壁にぶつかります。

この本は1923年初版(英語版は1930年)で、棋譜(例:1.e4 e5 2.Nf3 d6)と解説が交互に掲載されています。上級者なら棋譜だけで盤面を思い描けますが、僕には駒を実際に並べないと理解できません。結果、読むのがとても大変でした。そこで「AIに読ませて、わかりやすく解説してもらおう」と考えたのです。

MOTC (Master Of The Chessboard)

アプリはGitHub Pagesで公開しています。

https://champierre.github.io/motc/

ただしログインしないと利用できません。理由は著作権です。日本では保護期間が切れているようですが、米国では不明。世界中からアクセスできる以上、安全のためログイン必須にしました。本を購入済みで利用してみたい方は https://x.com/jishiha までご連絡ください。

AI開発の実際

アプリはClaude Codeに全面的に任せました。大まかにやったことは、本の全文を渡し「盤面を用意して棋譜を一手ずつ日本語で解説して」と指示することではありますが、実際には以下のコミットログのように、タスクを細かく分け、段階的に指示して進めています。

棋譜の例:

1.e4 e5 2.Nf3 d6

AIはこれを読み取り盤面にアニメーションできますが、時に誤解します。例えばNf3はナイトの移動ですが、ゲームが始まった時点で両者2つずつ持っているナイトのうち、どちらのナイトが移動したのかは明記されません。人間ならルール上どちらが動けるか自明ですが、AIは誤ってあり得ないナイトを動かすことがあります。その結果、以後の手順も崩れてしまいます。

そこで chess_validator.pyというPythonプログラムをAIに作らせ、すべての手をルールチェックする仕組みを導入しました。これにより盤面の正しさは100%保証できるようになりました。

次の課題は翻訳です。AIはKingを「王」とせず「キング」と訳したり、Materialを「物質」と訳したりします。そこで誤訳が出るたびに正しい用語を提示し、CLAUDE.mdというチェックリストに追記して学習させました。

さらに僕のような初中級者向け機能として、駒の軌跡表示や棋譜欄で手番(白/黒)が一目でわかる工夫も追加しました。

こうして完成したのが、極めてニッチながら自分にとっては最高に便利なアプリです。

まるで日曜大工で自分専用の道具を作るように、AIに頼めば自分専用のアプリを手軽に作れる――そう実感しました。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ