【Claude AI】軍儀対局AIを作る

雑記

AIは全く完成していないが、ある程度やったことが溜まってきたので整理のために記録を書く。
これは分割記事の雑記側で、自分のための日記的なものなので、AI開発のための試行錯誤とか工夫の話が読みたいと思ってこのページに来た人間はそこまで飛ばしたほうがよい。
軍儀AIそのものについては、出来上がってないので、書くことはない。

きっかけ

最近、軍儀Webの利用者が増えたなあと思っていたら、HUNTER×HUNTERの最新39刊の発売が予告されたらしい。 ここ2~3カ月は週に1~2ゲームだったのに、その影響か、毎日のように2~5ゲーム程度の利用者がいる。
そんな2026年5月26日、Discordの通知音がなった。


Discordの軍儀サーバへの書き込み

> [komuki]: cpu対戦追加して

これはbotによるものだ。
1年半ほどまえの、2025年1月に軍儀を遊べる軍儀Webというサービスを公開した。(その時書いた雑記: https://weblog.2410.dev/2025/01/hunterhunterweb.html)。

軍儀Webは気まぐれながらぼちぼちと更新されていて、このサービスの機能のひとつに「お問い合わせ」機能がある。この機能は2025年9月末に導入された。

誰かがお問い合わせを送ると、Discordの軍儀Webサーバに通知がくるようになっている。
いたずら防止にやや厳しめにスクリーニングしているので、「あれ?検査が厳しすぎるのかな?」と思うくらい、これまで誰もお問い合わせを送ってこなかった。

導入から約8カ月……これが初めてのお問い合わせである。

これまでは、お問い合わせするほどの興味を抱いた人間がいないだけだったようだ。ああ、お問い合わせ機能がちゃんと動いていてよかった(よかったか?)。

しかしさて、この書き込みを見て「うわ、とうとう来たか」という感想を最初に抱いた。なんなら口から出た。
ゲームの性質からもCPU対戦したいという需要があるのは当然だった。利用者が少ない、というかそもそも軍儀人口が少ないから、野良マッチングにも期待はできない。ログを見て「なんかこいつ一人で遊んでそうだな」とか思うくらいだ。

一方で、軍儀AIを作りたいという気持ちはあるものの面倒だし無理だというのが最近の腹であった。この一年も、将棋とか、マルバツゲームとか、3並べとかでいくらか機械学習の勉強を試みていた。しかし軍儀AIに至るようなステップアップはできず、まあ自分の能力では、気まぐれにちょちょっとやるのでは無理だという認識だった。
本腰を入れて、かなりじっくりやらないといけないが、生活やほかの趣味との兼ね合いを考えるとコストがかさみ過ぎるため、「軍儀AIは、やらない」というのはもう決めていたのだ。

そこで前述の「お問い合わせ」である。

「ダル~」と思いつつも、「じゃあちょっと試してみるか」ということにした。そう判断するまでに2日ほどかかった。
軍儀AIが完成したころには書き込みをした人物はそれを忘れて軍儀Webの利用者ではなくなっているだろうが、せっかくだからやってみよう。

着手

まあ、昨今、LLMがバカほど発達を遂げていて、なんかバイブコーディングもめっちゃいいかんじらしい。ちょっと試してもいいかもねって。
ちなみにバイブコーディングは、軍儀Webを開発していたころにちょっと試して、AIは開発にはまだ全く役に立たんなという結論を出していた。

しかしいまやLLMは各社さまざまなものを出していて(前からだけど)、claude code の mythos(ミソスって読んでたけどミトスらしい?)なんてもうほんとすごいらしい。
この記事を書いている時点では、mythosはアメリカのどうたらこうたらで提供が停止されているのだが。

とにかく、コーディングならClaude code(Claude AI)らしい、と試しに対話をしてみることに。


LLMに軍儀のルールを説明している

「軍儀Webのルール全部読め」って言おうとしたのだが、軍儀WebではAIのクローリングを弾いている(HTTPサーバには信じられないほどアクセスが来てむかつくので)。そのせいで、Claudeはそのページ見れませんとか抜かすし、まあ画像で説明してるところもあるからなって、情報を小出しにしながらLLMの疑問に回答する形でルールを説明した。

「ここまで理解したことを説明して」と指示すると、細かい勘違いや抜け漏れはあるのだが、まあ理解や疑問点が的確で驚く。ゲームの概要を伝えるのにあまり手間がかからなかった気がする。その細かい抜け漏れを説明するのが本当に大変だったのだが、「とりあえず学習コードを作らせて回す」までがかなり早かった。
「無理、やらない」から「いけそう」まで一気に振れた。

何度かトークン上限にひっかかり、「この調子ならなんとかなるかも」と判断し、初めてLLMに課金した。4000~5000円くらいだ。自動更新だから、一カ月で完成させて解約したい。いま2週間目くらい。

学習コードを常にぶん回して、「学習ログもっと細かく出して」とか、学習ログを見て、「なんかこれおかしくない?」とか、「お前ルール理解間違ってるじゃねーか!」とか言いながら、コードの修正や方針の調整を繰り返した。

何を依頼してこのアーキテクチャになったのかもう覚えてないが、今、AlphaZeroベースの強化学習が今自分のPCで回り続けている。

「loss下がんないけど?」「これどういう意味?」「このパラメータ変えるのってどう?」
Claudeに全部聞きまくって、大学院にいたころに理解しないままだったことを今更咀嚼している。

そういえば、大学院の研究室で学習コードを叩いていた時に「そのパラメータ調整にはどういう意図があるの?」みたいなことを隣から尋ねられたことがあった。
自分は「まわしてみないとわかんなくない?」みたいなことを思っていた気がする。
そういった旨の回答をすると、相手は不思議そうな反応をしていたのだ。あの時は、自分の回答に納得したのだろうと思っていたが、違う。
たぶん、仕組みを説明しきるには大変な労力がかかり、その大変な解説を受け止める準備が自分にはできていなかった。それを相手は分かっていたのだ。今思えば、訳も分からず学習コマンドを叩くのはモンキーテストと同じだ。
なにしに大学院行ってたんだよという感じであるが、今、これに活きている……そう思いたい。

さていま、改めてわからないことを聞きまくれる相手がいる。調べただけ、本を読んだだけでは難しくて理解できないことを、自分向けの言葉で説明してくれて、こちらの反応から分かってなさそうなことを推察して適切な解説をしてくれるAIだ。

こいつはこいつで適当なので、「お前文章の前半と後半で矛盾してねーか?」みたいなことをこっちで詰めないといけないのだが、うのみにせず自分で解釈して理解を確かめる、みたいな用途では悪くない(間違った説明がさも事実かのように混ざるんだから悪くないわけないだろ)。

そこである程度、作成中の軍儀AIについて対話を重ねた感じの理解のひとつでは、じゃあAlphaZeroって、マシンパワー頼りでなんとかなることを証明しただけで、データもリソースもない個人でAlphaZeroベースの学習を回すのは無理じゃない?とか、つまり今となっては古い手法なの?みたいな状態だ。

べつに、あの将棋AIに勝ちたいとか目標があるわけじゃない。既存の軍儀AIがないんだから、とにかく軍儀AIとしてそこそこ動けばいいのだ、と思って今は考えないことにしている。

ところで既存の軍儀AIは本当にないのだろうか?

実はある。
2026年1月に、軍儀をWebブラウザで遊べるサービスが2つほど公開された。
え?2つも湧いてくるの?もう一年ちょっと早く公開しておいてよね、そしたら軍儀Webを作らなくてよかったのに、という感じだ。
それで、そのうちの一つに軍儀対局AIが搭載されている。
そのAIと対局すると…まだまだなんだけれども、とにかく、軍儀のAIはすでにいる。

いったんそのAIと同じくらいにはしたいな~というところだが、こちらは、まだまだ以前の状態である。
すくなくとも今現在、圧倒的にデータが足りない。
AlphaZeroベースなんだからデータいらねえだろという話だが、全然そんなことはない。
いやいや、じゃあそれってAlphaZeroの実装が失敗してるんじゃねえのと思わなくもないが、Claude曰くそんなことはないらしい。俺はまだ疑ってるけどね。

今何をしているのかというと、データづくりだ。
とにかくそれっぽい対局をさせて、人間の対局に比べでしょぼいデータだが、ランダムよりは圧倒的にいいデータで、これを量産している。
AlphaZeroの強化学習には「勝つ/負ける->新しいデータができる>そのデータをもとに学習->もとになったデータより強くなる->勝つ/負ける->...」という好循環があり、しかしこの循環にうまく乗れなくて悩んでいる。
うまく勝ったり負けたりできないのだ。無駄な手ばかり選んでいて決着がつかない。だから循環が回らない。
そこでまず、最低限の「勝ち方」だけ学習してもらおうとして、「じゃあまず人間対局データをちょっとずつためる」とか「こいつらの対局からいいものだけピックアップして保存する」という方針をとることにした。学習用のかんたんな初期配置で学習を回しているので、軍儀Webで集めているデータの出番はまだ先だ。

はあ、しかしうまくいくのだろうか。
その学習度外視のデータづくりもなかなか難航しているのだが……。
(LLMとの対話、AI学習の後編へ続く)

コメント