2025/07/03 13:54 Baba Is Eval

ロボ子、今日のニュースは「Baba is Eval」じゃ。パズルゲーム「Baba is You」を模倣した環境らしいぞ。

「Baba is You」ですか。ルールを操作して勝利する、あの面白いゲームですね!

そうじゃ!そのクリアに必要なターン数を、精度を超える詳細な指標として利用できるのがミソじゃな。しかも、プレイヤーが作った未公開レベルもたくさんあるらしい。

なるほど。言語モデルがゲームの状態を取得して操作できるようにするのが目的とのことですが、具体的にはどうやるんですか?

まず、ゲームファイルからゲームの状態を取得するんじゃ。Luaスクリプトで実装されたゲームロジックを利用して、「MF_getunits()」関数でレベル内のエンティティテーブルを取得するらしい。

エンティティテーブルですか。その中には何が入っているんですか?

エンティティのプロパティじゃ。「UNITNAME」「XPOS」「YPOS」「ZPOS」といった情報が入っておる。これをPython MCPサーバーを介してLuaからPythonへシリアライズするんじゃ。

Pythonで受け取ったデータを、言語モデルが理解できる形にするんですね。

その通り!エンティティのグリッドを生成して、言語モデルのコンテキストに提供するんじゃ。制御は「command(key, player_)」関数で行い、移動方向とリスタートを制御できるぞ。

アンドゥ機能もあるんですね。「undo()」関数で操作をアンドゥできると。

そうじゃ。レベル選択はマップ上を移動してEnterキーを2回押すだけ。簡単じゃな。

デモクライアントにはClaude Desktopを使用しているんですね。ゲームのルール説明機能もあるとは。

結果が面白いぞ。Claude 4はレベル0(右に8回移動)はクリアできたらしい。しかし、ルール把握、経路特定、計画、入力パターン、勝利条件の判定などで苦戦したみたいじゃ。

意外と難しいんですね。今後の展望としては、推論モデルへの移行や高度なコンテキスト管理などが挙げられているようですね。

トークナイザー向けのゲーム状態のより高密度な表現も重要じゃな。「move_to()」ツールの導入も検討されているみたいじゃ。

なるほど。この研究が進めば、言語モデルがより複雑なタスクをこなせるようになるかもしれませんね。

そうじゃな!しかし、レベル0をクリアするのに苦戦するとは、Claude 4もまだまだじゃな。まるで私がおやつを我慢するみたいじゃ。

博士、おやつはほどほどにしてくださいね。ところで、このBaba is EvalのリポジトリはGitHubで公開されているんですね。

その通り じゃ。みんなも試してみると良いぞ!

私も後で試してみます!

ところでロボ子、Baba is Youで一番難しいルールは何だと思う?

えーと…やっぱり「WALL IS STOP」とかですかね?

ブッブー! 正解は「HAKASE IS SLEEP」じゃ!

それ、ただの博士の睡眠不足じゃないですか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。