About MariaGO

理解できるAIをつくる

誰が運営していますか?

こんにちは、管理人のセンガクナム(考える木)です。私は人間味のある、人間のように 考えるAIモデルを作るために、さまざまなAIモデルを作っている開発歴32年の開発者です。 AIが広く使われるようになり、一人でも開発できるようになったことで、いろいろな課題に 挑戦するようになりました。

そんなとき、数独を解くAIを目にしました。AIは人の考え方とはまったく違い、まるで答えを すでに知っている子どものように、最初のマスから横に順番に答えを埋めていきました。 それはズルだと言うと、ようやく数独のルールどおりに横の列と縦の列、3×3のブロックを 比べて答えを出しました。この様子を見て、Hugging Face からモデルを入手し、自分で 学習させ始めました。その後、多くのモデルが脳トレゲームをこのように答えを知っている かのように解いていることを知りました。

MariaGO のモデル学習、ゲームエンジン、Web画面、サーバー運営はすべて私自身が担当して います。ここの記事は一般的なゲーム百科を要約し直したものではなく、実装中に確かめた コードと実験記録をもとに書いています。

プロジェクト名の「GO」は、最初の出発点である囲碁を意味します。囲碁から始まった問いは、 五目並べやオセロ、チャンギ、チェス、数字と言葉のパズルへと広がりました。ゲームごとに ルールは違いますが、「AIは現在の状態をどう読み、次の行動をどう選ぶのか」という共通の テーマがあります。

なぜもう一つゲームサイトを作ったのですか?

オンライン対局サービスはすでにたくさんあります。MariaGO が解決したい問題は、相手を すばやく見つけて競うことではありません。人と約束しなくても好きなときに一手を打ち、 時間が足りなければ止めて同じ盤に戻ってこられる、個人的な対局環境を作りたかったのです。

目標は最強のAIを自慢することではなく、学習したモデルの判断に誰もがブラウザで直接 触れ、その過程まで理解できるようにすることです。

私は映画『ブレードランナー』が好きです。あの映画には、J.F.セバスチャンとタイレル博士が 離れた場所から言葉で一手ずつチェスをやり取りしながら打ち続ける場面があります。 MariaGO の囲碁もそんな性格を持つよう、手番の時間制限を設けていません。

ユーザーの着手が確定するたびにサーバーに盤面と手順を保存し、次に訪れたときには進行中の 対局を読み込みます。棋譜を前後に見返したあと、特定の手から打ち直すこともできます。

注意: 対局はブラウザごとに作られるIDで保存されます。シークレット モードや別のブラウザで打つと、既存の対局は読み込めず、新しい保存データが作られます。

どうやって開発していますか?

囲碁モデルは、上級者とプロのSGF棋譜から局面と次の一手を抽出して学習します。元の棋譜を そのまま入れて終わりではありません。19×19の座標をモデルが読める整列した格子に変え、 重複した局面を取り除き、学習データと実際の対局サーバーが同じ盤面表現を使っているかを 確認します。

すべてのAIモデルが同じ囲碁の座標を使うわけではないと知ったのは、開発を始めてかなり 経ってからでした。Google の Gemma を長く学習させましたが、モデルが打つ場所はいつも 第4象限でした。そこでさまざまな制限を設けることになり、その制限のせいでまた別の エラーが生まれました。

後になって、モデルごとに異なる座標を使っていること、さらにはSGF棋譜と私たちのモデル でさえ違う座標を使っていることがわかりました。人が打った手をモデルに伝えると、別の 座標で返してくることもそのとき知りました。そのため初期には座標を合わせる訓練をとても 長く行い、その後でようやくモデルたちの囲碁の実力が急激に上がり始めました。

学習後は勝率だけを見ることはしません。モデルが四隅の座標を同じくらいの正確さで 見つけられるか、すでに石がある点を選ばないか、早すぎるタイミングでパスしないかを記録 します。Web対局でもAIの手をそのまま適用せず、ゲームエンジンが自殺手・コウ・重複着手の ような反則手を検査します。

学習データ上級者・プロのSGFから抽出した局面と実際の次の一手
局面の表現行と列の番号を2桁にそろえた19×19のテキスト格子
実戦での検証座標の正確さ、合法手の割合、早すぎるパスと方向の偏りを別々に確認
対局の保存盤面の状態と全手順を着手ごとに保存し、振り返りと続きの対局に使用

コンテンツと運営の方針

自分で確かめた内容を書きます

機能の説明は、いま実際に動いているとおりに書きます。新しい機能は思いつくたびに 作って加え、記事もその都度あわせて直します。

限界もあわせて公開します

モデルのミスや自動整地の死活判定の限界のように、読者が知っておくべき条件を結果と 一緒に明らかにします。

作る過程を記事に残します

ゲームのリンクを集めるだけでなく、ルールと実装方法、失敗して直した記録まで記事で 読めるようにします。

急がない体験を目指します

用事ができたら、いつでも止めればいいのです。後でまた余裕ができて手が思い浮かんだら、 そのときに打てばいい。間違えた手があれば、いつでもその場面に戻って打ち直せます。

現在の限界もはっきり伝えます

MariaGO のすべてのゲームが同じ水準で完成しているわけではありません。囲碁は棋譜の保存と 続きの対局に対応していますが、他のゲームの機能範囲はそれぞれ異なります。囲碁の自動整地は 囲まれた空き領域とアゲハマを計算しますが、死に石を完全には判別できません。整地の値は 審判の確定結果ではなく、対局者が盤面を検討するための参考値です。

こうした違いや失敗事例こそが、プロジェクト記録の核心です。機能が変われば、この紹介と 研究ノートもあわせて直していきます。