要約:
GPT-6 アストラは、死者ゼロで「World of Warcraft」のオーク初心者村を 40 分で完了しました。重要なのは、
ゲーム画面を 1 フレームも見たことがない
ということです。 。 Agent-wow と呼ばれるオープンソース プロジェクトは、これをプライベート World of Warcraft サーバーに接続しました。

アストラ
画面を見ずに、ゲームの下部にあるネットワーク データ パケットを直接読んでください
の世界を内側から綴ります。その後、
独自のツールを作成し、独自の戦略をチェックし、独自のルートを計画します。
、タスクを完了し、ゴミを売り、武器を変更し、スキルを学習し、「試練の谷」全体を完了し、センジン村に到着しました。これまで AI を使用して World of Warcraft をプレイしようとした人もいます。
GitHub には、視覚認識に OpenCV や PyTorch を使用したプロジェクト、キャラクターの制御に LLM やスクリーンショットを使用したプロジェクトなど、いくつかのプロジェクトが見つかりますが、基本的には視覚的な路線から外れてはいません。
さらに、これらのプロジェクトのほとんどはまだ「実行してモンスターと戦うことができる」段階にあり、完全なタスクチェーンを完了した記録はありません。
しかし、現在のエージェント wow は画面を見ていなかったので、誰も遊び方を教えませんでした。データから独自にゲームを割り出しました。

40 分で何が起こったのか
試練の谷は、World of Warcraft のオーク種族の初心者エリアであり、ゲーム全体の最も古典的なオープニングでもあります。
2004 年の発売以来、何百万人ものプレイヤーが初めてイノシシを切り倒し、最初のミッションに挑戦し、「まずゴミを売ってからミッションを行う」というサバイバル ルールを学びました。
アストラがここでのすべてのタスクを完了するのに 40 分かかりました。

ステップをスキップすることなく、先行するタスク チェーンに沿って順番に進みます。各タスクが完了すると、NPC に戻り、次のタスクを渡します。
途中で、どれがゴミとして落とされたかを判断し、それらを売ってお金にし、持っているものよりも優れた武器と交換しました。
最後の洞窟に入る前に、経験豊富なプレイヤーだけが行うようなことを行い、新しいスキルを学ぶためにトレーナーのところへ走りました。

同時に、洞窟内での 2 つのタスクも一緒に引き受けます。 1 回の旅行で両方を行うことができるので、旅費を節約できます。
このような「最初に準備してからホールに入る、マルチタスクを並行して行う」という操作は、プロンプトの言葉には反映されません。これがアストラが任務データとNPCの位置から推測した最適戦略である。
途中で別の驚きがありました。
Astra は、地図上に衝突検出が欠けているエリアがいくつかあることを発見しました。ゲームのナビゲーション グリッドではそこを歩いて行けるようにマークされていますが、実際の地形には壁があるはずです。まさに壁を突き抜けた。

開発者は、これはバグエクスプロイトであると述べました。
ナビゲーション メッシュは、実際の衝突ボディとまったく同じではありません。アストラはこれがバグであることを知らず、気にしません。ルートが実行可能な場合にのみ実行されます。
アストラでは全過程で死者はゼロです。結局のところ、それは初心者ゾーンです、そしてモンスターは本当に難しくありません。
しかし、ゲーム画面を見たこともなく、「モンスターと戦う前にスキルを学べ」とか「ゴミ装備を売れ」と言われたこともないエージェントにとっては、行き詰まったり、道に迷ったり、戦ってはいけないモンスターと戦うために逃げたりすることなく、すべてのタスクをきれいに完了することができます。この結果は、多くの本物の初心者の結果を上回りました。
画面を見ないプレイヤー
以下は、agent-wow の仕組みの概要です。
agent-wow はオープン ソース フレームワークで、最下層は AzerothCore プライベート サーバーを実行し、クライアントのバージョンは 3.3.5a です。
Warcraft に詳しい人は、これが 2010 年のクライアントである Wrath of the Lich King の最終バージョンであることを知っています。
agent-wow の興味深い点は、AI には何もしないことです。
このフレームワークはゲーム ロジックを定義せず、モンスターを倒したり、道を見つけたり、タスクを受け入れたりするのに役立ちません。
モジュール システムを公開するだけで、AI が必要な機能を判断して独自に作成できるようになります。

開発者らは、このモジュール システムにより、エージェント wow の複雑さが少なくとも 1 桁軽減されたと述べています。
フレームはシンプルですが、モデルは単純ではありません。 Astra には完全なゲーム コントローラーはまったくなく、パーツが多数あるだけです。
最初に行ったのは、それ自体の認識システムを構築することでした。
これは 28 種類のサーバー メッセージ タイプをサブスクライブします。これらはすべて SMSG_* で始まる最下位レベルのデータ パケットで、ワールド ステータスの更新、クリーチャーの移動、タスクのトリガー、戦闘値、およびハロー効果をカバーします。
ゲーム中、Python スクリプトを使用してこれらのメッセージを継続的にポーリングし、元のデータ パケットを解析してワールド モデルを生成し、メモリ内で常に更新されます。

画面上にイノシシが走っているのが見えます。アストラがデータ パケットで確認したのは、座標、方向、速度、健康状態を含む生物の移動メッセージです。
それはあなたと同じ世界を、まったく異なる視点から見ています。
ミッション情報は、AzerothCore の SQL データベース ファイルから直接抽出されます。
各タスクの要件、プリチェーン、NPC スポーン ポイントの座標はすべてデータベースで入手できます。
開発者はこれを、Wowhead で戦略を調べるのに何時間も費やす人間のプレーヤーに例えています。違いは、Astra が Web ページをスキップして、元のデータベース ファイルを直接読み取ることです。
パスファインディングはおそらく、全体の中で最も優れた部分です。
Astra は、Detour ナビゲーション ライブラリを使用して AzerothCore の mmaps ファイルをロードし、独自に C++ プログラムを生成しました。
MMaps は World of Warcraft のナビゲーション グリッドであり、マップ上のどの場所が歩くことができ、どの場所が壁で、どの場所が水であるかを記録します。
プログラムは開始点と終了点の座標を受け取り、アクセス可能なルートを計算し、パス ポイントの文字列を JSON 形式で出力します。

Astra は、このプログラムの外側に Python の別の層をラップして、この実行可能ファイルを呼び出し、パスを取得し、モバイル データ パケットを送信します。
開発者は、プロセス全体を開始するために Codex プロンプト ワードを 1 つだけ使用しました
、推論の強度は 2 番目に高いレベルに設定されており、アストラは知覚から行動、経路探索まですべてを単独で実行します。開発者の次の計画は 2 つのことをテストすることです。 1 つは、エージェントがレベル 1 からレベル 80 まで独立してトレーニングできるかどうかを確認すること、もう 1 つは、複数のエージェントがチームとして協力してアイスクラウン シタデルの英雄的な難易度をクリアできるかどうかを評価することです。
アイスクラウン シタデルは、リッチ キングの怒りの究極のダンジョンです。挑戦するには25人のチームが必要です。ボスのメカニズムの複雑さは、当時の World of Warcraft の頂点であると考えられていました。
このダンジョンでは、人間のプレイヤーが数か月かけて装備を練習し、戦略を覚え、協力してクリアする必要があります。
開発者は、ゲーム画面を見たことのない 25 人の AI にゲームを試してもらいたいと考えています。
コメント