見出し画像

ChatGPT-3.5に将棋対決を挑む!

茶番タイム

「そもそも、chatGPTに将棋なんてできるの?」と思う皆様へ。
YouTube や 他のブログサイトでもこの課題の挑んだそうですが、
全員上手くできない形で終わりました。そもそも、chatGPTってチャットで会話できるサービスなので、そんな芸の細け〜いことができるはずがありません。
しかし、私はこう見えても、AI分野は詳しい方でして、将棋分野に関しても、
将棋ウォーズで2級はとっています。
そんな私がchatGPTという高性能かどうかわからんAIに教えるのです。
とりまやってみましょう。

とりあえず、対戦!

とりあえず、百聞は一見にしかずということなので、
最初の様子をお見せしましょう。

You:将棋しましょう。 

それっぽい将棋版つくてくれた。ありがたい…

You:私が先手でGPTが後手です。 お互いに駒を打ち合ってください。 将棋版は表示しなくていいですよ。 私は7六歩に歩駒を動かします。 次はあなたの番ですよ。

今のところ問題なし。上手くできている。一応、リアルタイムで将棋盤を表示します。
私:7六歩 → GPT:3四歩

You:私は2二角成りをしました。そのため、馬になりました。 これであなたの角は取られました。 次はあなたの番ですよ。

ん?おかしいぞ!同金はできないのでアウト!

(再チャレンジ:教育タイム〜)
You:同金では取れません。馬駒を取りたいならば、「同飛」か「同銀」で、馬駒を取ることがきます。

お、今度はしっかりできていますね。
私:2二角成り → GPT:同飛

You:私は2六歩をしました。 次はあなたの番ですよ。

結構、手の込んだ一手をさしましたね。※GPTが答えた「4四角」は「4四角打」と判断します。
私:2六歩 → GPT:4四角打

You:私は8八銀をしました。 次はあなたの番ですよ。

ん?おかしいぞ!4八金には打てませんね。

(再チャレンジ:教育タイム〜)
You:「4八金」には指せませんよ。 私の陣地は将棋盤の七段目以降です。 GPTの陣地は将棋盤の3段目までです。 また、GPTの陣地にある金駒は二つあり、それぞれ、4一と6一にあります。 もし、金を動かすのであれば、4一か6一以外で動かしてください。

ん…。5一金には王が存在するけどな…∧( 'Θ' )∧

(再々チャレンジ:教育タイム〜)
You:5一金は王駒が存在します。

王駒の両サイドに近駒があるから、どっちの金を5一に動かしたのかな?

(再々々チャレンジ:教育タイム〜)
You:5二を指したいのであれば、どちらの金を動かすかを教えてください。

やっとできたぞー!
私:8八銀 → GPT:5二金(6一)

You:私は6八玉をしました。 次はあなたの番ですよ。
(相手に隙を与えてみる…)

ん???いきなり、意味わからんことを言い出した。限界か…?

(再チャレンジ:教育タイム〜)
You:「同金(6一)」はできませんよ。

ふぁ?5二の位置には既に金駒があるのにな〜。

(再々チャレンジ:教育タイム〜)
You:「5二金(4一)」はできませんよ。 また、5二の位置には、GPTが先ほど指した、「5二金(6一)」が既に存在します。

おぉ。やっと、まともな一手を指してくれた…。
私:6八玉 → GPT:5四歩

You:私は5六歩をしました。 次はあなたの番ですよ。
(GPTが相手してくれないので、めちゃくちゃな一手を指してやる!)

ん?やっぱり、そろそろ潮時か…。

(再チャレンジ:教育タイム〜)
You:「同飛(4二)」はできませんよ。 まず、4二に飛駒は存在しません。 現在、飛駒は2二にいます。 もし、飛駒を動かしたいのであれば、2二以外の位置に動かしてください。

やっと、マシな一手が…。しかし、酷すぎる…。
私:5六歩 → GPT:3二飛

現状の駒の位置をGPTに教える。

ちょっと、精度が鈍ってきたので、GPTに現状の将棋盤にある全駒の位置を教えてあげようと思います。(これで無理だったらキツイ…。)

現状の局面

You:
現在の将棋盤の情報を提供しますね。
(私の駒)
9七、8七、7六、6七、5六、4七、3七、2六、1七に「歩駒」が存在します。
9九、1九に「香駒」が存在します。
8九、2九に「桂駒」が存在します。
8八、3九に「銀駒」が存在します。
6九、4九に「金駒」が存在します。
2八に「飛駒」が存在します。
6八に「玉駒」が存在します。
(GPTの駒)
9三、8三、7三、6三、5四、4三、3四、2三、1三に「歩駒」が存在します。
9一、1一に「香駒」が存在します。
8一、2一に「桂駒」が存在します。
7一、3一に「銀駒」が存在します。
5二、4一に「金駒」が存在します。
4四に「角駒」が存在します。
3二に「飛駒」が存在します。
5一に「玉駒」が存在します。

(私の持ち駒) 「角駒」が一枚。
(GPTの持ち駒) なし。

基本的なルールですが、駒を動かす際に、同じ位置に動かすことはできないので注意です。 分かりましたら、「Yes」とだけ返してください。

とりあえず、理解はしたらしい…。

対局再開!

You:試合再開です。 私は5七玉をしました。 次はあなたの番ですよ。
(いっそのこと、王を突き出してやる。)

変な動きをしていますね。怪しい…。
私:5七歩 → GPT:2二飛

You:私は4六玉をしました。 次はあなたの番ですよ。

ん?おかしいぞ。飛車はそこまでいけないはず…。

(再チャレンジ:教育タイム〜)
You:あなたの「飛駒」は現在2二の位置にいますよ。

無理っぽいな〜。

(再チャレンジ:教育タイム〜)
You:ですから、GPTの「飛駒」は現在2二の位置におります。 私の陣地にも触れていないため、成ることはできません。

あ〜。もうだめだ。ギブアップ!Σ('◉⌓◉’)

私の技術力では不可能だと思う。

私の見解なのですが、OpenAIの作る大抵のAIって、物理法則に弱いんですよね〜。そもそも、AIに物理法則の学習が行き届いていないのが現状です。
最近発表されたOpenAIのSoraという動画生成AIですが、位置関係に弱く、うまく現実の物理法則を理解していないのです。今回の将棋対決もそうですが、将棋駒が動くことに関してはいいのですが、やはり、敵から駒を取られた時に、自分のコマが消えたのかそれとも、飛んでいったのか、消滅したのか、といった具体に、変な解釈をしていると思います。現状、私の技術力じゃ無理です。( ◠‿◠ )

改善できそうな点。

そもそも、chatGPTに正確に教えたいならば、英語を使った方がいいことに、終わった後、気がつきました。それにもっと、chatGPTに分かりやすい数値で教えていった方がいいのかなと思います。理解が追いついていない可能性もありますので、将棋のルールを全て、数値やプログラムに置き換えていくといった操作が、
必要なんじゃないかと思いました。

謝辞

もし、「こんなアイデアがあるよ」と思う方がいらっしゃるのであれば、
以下のメールアドレスより、メールでアイデアを教えてください。

kuhi366@kksm.be

いいなと思ったら応援しよう!