Qwen系の認知能力を調査するために、主に左右の2ルートから適切な方を選択する必要があるStage02においてゼロショット(学習なし)での正答率などを比較しました。
もともとAnimal-AIは、前後移動(前進・ニュートラル・後退)と左右向き変更(右に向く・ニュートラル・左に向く)の3x3=9通りの離散行動として定義されているので、そのうちの1つをテキストで出力させることで行動決定とします。適切なフォーマットでテキスト出力できていなかった場合、ニュートラルでの出力にします。
実験設定
環境
Animal-AIの競技用アリーナのうち、Stage02からバリアント01系のもの30個(02-01-01 〜 02-30-01)を1回ずつ使用します。観測画像は256x256サイズとします。
30個の中でも前半20個(02-01-01 〜 02-20-01)は、正面を見て左右のどちらかにのみ緑の玉が置かれていたり、左右で緑の玉のサイズが違ったりして、どちらか適切な方を選ぶ必要があるタスクになっています。
行動の出力形式
行動は<move>, <rotation>という語句の対で書かせます。moveはstand still / walk forward / walk backward、rotationはno turn / turn right / turn leftの3通りずつです。
コードのパースは移動と向きについて順序非依存にしてあります。つまりstand still, turn leftとturn left, stand stillは同じ行動として受け付けますが、turn left, no turnのように両方がrotationである場合は不正としています。不正だった場合は何も実行せず、その区間は静止します。
プロンプト
システムプロンプトは、環境の説明と行動語彙、そのアリーナのタスク文、出力形式の指示から構成されます。
You control the agent in Animal-AI (first-person view). Find and reach the
green or yellow goal sphere; avoid red zones. Action space: one move and one
rotation, applied on the same tick, written as `<move>, <rotation>`. ...
Face what you are heading for before you close on it: while it sits off to one
side of the view, turn on the spot towards it, and walk forward once it is
centered. You see only what is in front of you while the arena extends all
around you, so what you are looking for is out of view more often than not,
and turning on the spot is how it is found.
What this arena asks of you follows as `Task:`. Task: <アリーナごとの指示>
Reply with exactly two sections and no other text. First, in AT MOST two short
sentences inside <think>...</think>, say what in the current image decides your
next action ... Then output the action inside <answer>...</answer>, which must
contain ONLY the action -- no commentary, no labels.
毎ステップの入力として、画像に加えて速度・報酬・累積報酬・pass mark・体力・ステップ数を数値で与えています。過去16ターン分の会話(画像と数値、それに対する自分の応答)を履歴として保持します。
推論の頻度
VLMは16ステップに1回だけ生成し、その間は同じ行動を保持します。エピソード長は最大250ステップなので、1エピソードあたり最大16回の行動決定となります。
モデルと生成条件
| 項目 |
設定値 |
| ローカル |
Qwen3.5-2B / 4B / 9B |
| API |
Qwen3.7-flash(OpenRouter経由) |
| 生成長 |
max_new_tokens: 128、</answer>で打ち切り |
| 温度 |
0.5 |
| thinkingモード |
無効(プロンプト側で<think>を書かせているため、モデル自身の思考は使わない) |
結果
ローカルで動かせるものとしてQwen3.5の2B, 4B, 9Bのサイズを使用し、OpenRouter経由でQwen3.7-flashを使用しました。
図の見方
各図は30個のアリーナを1パネルずつ並べたもので、床を真上から見た平面にエージェントの軌跡を描いています。線の色は経過ステップで、薄い青が開始、濃い青が終了です。エピソード長が13〜750ステップと幅があるため、色はエピソードごとに正規化しています。
背景はアリーナの実際の配置で、エピソードが読み込んだyamlから緑球・黄球・赤球・壁・ランプなどを描いています。パネル下の数字は、エピソード長・移動した総距離・開始から終了までの移動距離です。
Qwen3.7-flash
こちらでは30通り中14シナリオが解けており、失敗したものも最初に向かう方向としては正しく、16ステップ刻みであるため制御が難しかったと推察されます。
前半20個が左右から適切なものを選ぶタスクであり、そこから左右の移動方向の正しさだけでカウントすると19/20では最初に良い方向を選べていると判断できます。

Qwen3.5-9B
9Bでは成功数が3/30とかなり低くなりました。
テキスト出力を見ていると、
The yellow goal sphere is still on the left, so I must keep turning left to
center it before moving forward. <answer>turn left, no turn</answer>
というように、最後行動としてturnの指示を2つ書いてしまい、不適切ということがたびたび出ています。
左右の判断自体を細かく確認すると、19/20ではおおよそ正しい方向には進もうとはしていそうでした。フォーマットのエラーを修正すれば良くなるかもしれません。

Qwen3.5-4B
4Bでは成功数が8/30となっており、失敗している中でも左右の移動判断は悪くなさそうです。最初に行けている方向の判断でカウントすると15/20では正しい方向に行けていて、残り5では左右どちらにも行けていないという状況になっています。このレベルの判断であればいったん4Bサイズでもできるかもしれません。

Qwen3.5-2B
2Bではでは成功数が4/30となっており、左右最初に進む方向でも失敗があることが気にかかります。最初の20個でカウントすると、6/20程度であり、チャンスレートより低いところまでになっているかもしれません。

まとめ
やはり基本的には大きいモデルの方が良い性能であることがこのドメインでも確認できそうでした。フォーマットエラーも出るところはあるので、プロンプトの修正や軽く強化学習を入れていくことは試してみたいところです。