「LLMで詰将棋」の見出し画像

LLMで詰将棋

=n30o1qzitk
5分で読めます 2025/12/19
130
2

概要


クラウドLLMのサービス上で、詰将棋について何ができるか検証してみます。

2025年12月19日時点。
 
Gemini3(Pro)の場合
---
[user]
以下のkifu形式の図面を取得し、詰将棋を解いてください。
 
後手の持駒:飛二 角二 金三 銀四 桂四 香四 歩十七 
  9 8 7 6 5 4 3 2 1
+---------------------------+
| ・ ・ ・ ・v玉 ・ ・ ・ ・|一
| ・ ・ ・ ・ ・ ・ ・ ・ ・|二
| ・ ・ ・ ・ 歩 ・ ・ ・ ・|三
| ・ ・ ・ ・ ・ ・ ・ ・ ・|四
| ・ ・ ・ ・ ・ ・ ・ ・ ・|五
| ・ ・ ・ ・ ・ ・ ・ ・ ・|六
| ・ ・ ・ ・ ・ ・ ・ ・ ・|七
| ・ ・ ・ ・ ・ ・ ・ ・ ・|八
| ・ ・ ・ ・ ・ ・ ・ ・ ・|九
+---------------------------+
先手の持駒:金 
---
[Gemini3]
ご提示いただいた図面は、将棋の基本的な詰将棋の問題ですね。
 
以下に正解と解説を記載します。
 
正解:▲5二金 まで(1手詰)
解説
この問題は、将棋の格言で言う**「頭金(あたまきん)」**の形です。
 
配置の確認
 
後手の玉(v玉)が「5一」にいます。
 
先手の歩が「5三」にいます(この歩は「5二」の地点を守っています)。
 
先手の持ち駒に「金」があります。
 
手順
 
持ち駒の「金」を、玉のすぐ目の前である**「5二」**に打ちます。
 
「5二」の金は、斜め後ろ(5三)にいる味方の歩に守られているため、玉はこの金を取ることができません。
 
また、金は「前・斜め前・横」すべてに効きがあるため、玉は横(4一、6一)にも斜め(4二、6二)にも逃げることができません。
 
これで詰みとなります。
---
 
ということで、簡単な1手詰は解けました(厳密には、解いたように見える文章が出力されました)。
もっとも基本的な形なので、学習データにあったのかもしれません。
 
ただ、**「5二」の金は、斜め後ろ(5三)にいる味方の歩に守られているため**の部分は間違っていますね。
 
なお、私の自作3手詰めは全く解けませんでした。
現状の推論能力ではある程度難しい詰将棋を解くのは厳しいかもしれません。
 
また、Gemini3は自分でpythonのコードを書いて内部実行できる環境ですが、
将棋系ライブラリはさすがに入っていないようです。
内部ライブラリだけで詰将棋ソルバーを即興で作って実行するように命じましたが、なかなか難しいようです。
 
なお、claude sonnet4.5では,html,css,javascriptのコード生成と実行により、内部(アーティファクト)で詰将棋盤を表示できるようです。
ブラウザ版で詰将棋関係を実行するならばclaudeなのかな?
 
GPTやGrokでは試していないですが、興味ある方はいろいろと実験してみてください。
 
創作のアイデア出しなら今のLLMの能力で出来そうですが、
ゆくゆくは自作を解かせたり、解説をさせたいかな~と。
 
*画像の5手詰は3手詰の間違いです。

コメント(2)

興味深い記事をありがとうございます。
うちのGPT-5にも解かせてみました。
 
まずkifファイルの読み込みに苦戦しているようで、駒の座標を正しく認識しませんでした。代わりに「詰方53歩、受方51玉、持駒は金1枚」などと指定すると初期局面は把握できたようでした。
 
そして、上記の1手詰は解けました(ただし「52金打」と解答)。思考プロセスを確認すると「頭金」という言葉は正しく使える一方で「53には歩がいるので玉は移動できない」など怪しい説明も見られました。
 
ついで、金頭桂の3手詰を解かせてみると、2手目までは正解するのですが3手目は的外れな解答をしました。思考プロセスを確認すると、それぞれの駒の効きと詰将棋のルール(王手義務など)は理解しているようなのですが、どうも駒取りの概念がわかっていないようです。取られた駒が盤上からなくなることや、紐がついている駒を同玉と取れないことは、こちらから教えても理解しませんでした。
 
プロンプトの書き方を工夫しましたが進展は見られず、GPT-5に3手詰は解けないと結論付けました。

justice @kxx1edkrs4
2025/12/23 21:25
コメントありがとうございます😊
 
GPT5でも3手詰が難しいのですね😓KIFやSFENを機械的に処理(相互変換など)することはできるっぽいのですが、解くとなると難しいようですね。
 
いろいろと試してみたいと思います。

コメントの投稿