AGI-3 本地环境搞起来,好玩,来玩!

0 阅读6分钟

这个 AGI-3 有搞头!我决定深入研究一下。

简单介绍一下 AGI-3,这是一个通用人工智能测试基准……的最新版本。

目前 Opus 4.6、GPT-5.4、Gemini 3.1 Pro等顶级模型在它面前都束手无策,得分不超过 1 分(百分制)!!!

它应该是未来 AI 模型需要重点攻克的堡垒。

我们就先人一步,先玩起来。

从它的首页就可以看到有两个入口。

一个是 Play,给人类玩的。一个是 Build,给 AI 玩的。

我们今天要玩的就是给AI玩的部分。

为什么作为一个人类,要玩 AI 的入口?

因为我们不是一般人类,我们是“AI 龙骑士🐲”!

我们需要用代码,让这个游戏跑起来,然后接入AI,让AI来玩这个游戏。

废话说完,直接开干!

打开ARC-AGI-3的官方文档页:

https://docs.arcprize.org/

然后,边学边干!

1、安装

针对我们这种不一般的人群,arcprize 给我们提供了专门的工具“arc-agi”。

接下来我们就是用这个工具去超控上面的游戏。

先创建一个文件夹 agi3,作为我们研究这个项目的核心目录。

然后运行命令:

uv init
uv add arc-agi
# or
pip install arc-agi

这里提供了两种方式,一种是使用 UV,另一种是使用 PIP 来安装。

现在比较推荐上面的方式!

实操记录

打开 agi3 这个文件夹,然后右键,在终端中打开。

然后输入上面的两个命令:

第一次输入,会输出比较多日志,我是二次安装了,所以显得比较简洁。

命令执行完成之后会多出三个文件:

main.py
​
pyproject.toml
​
README.md

这都是自动生成的,我们可以先不管!

补充一点基础知识:

这里的 uv 是 Astral 开发的 Python 包管理器和项目管理工具,用 Rust 编写,定位是替代 pip + venv + pip-tools 的一体化解决方案。

速度是它最大的卖点,比 pip 快 10-100 倍,因为用 Rust 实现并有激进的缓存策略。

2、配置环境变量

官方指引中的第二步是把 ARC_API_KEY 添加到环境变量中!

可选择设置您的 ARC_API_KEY。如果未提供密钥,将使用匿名密钥。不过,注册 API 密钥将使您在发布时能够访问公共游戏。获取 ARC_API_KEY

这句话,我不是特别理解。但是不管三七二十一,先搞起来啊!

根据提供的网址,注册、登录,并获取 Key。

然后通过以下命令配置:

export ARC_API_KEY="your-api-key-here"
# or
echo 'ARC_API_KEY=your-api-key-here' > .env

your-api-key-here 这个要替换成自己的 key。

3、开始玩第一个游戏

创建一个名为play.py的文件。

这里的文件名,官方文档中好像写错了,我要不要去提醒一下呢?

然后把下面的代码放里面:

import arc_agi
from arcengine import GameAction
​
arc = arc_agi.Arcade()
env = arc.make("ls20", render_mode="terminal")
​
# Take a few actions
for _ in range(10):
    env.step(GameAction.ACTION1)
​
print(arc.get_scorecard())

然后在终端中运行这个 py 文件:

uv run python play.py

回车之后,就会输出日志:

2026-03-31 17:15:18 | INFO | Got anonymous API key: 246d7ce0-29d2-4683-bb37-9473a444c0da
2026-03-31 17:15:18 | INFO | You can register for an API key at https://three.arcprize.org
2026-03-31 17:15:19 | INFO | Successfully fetched 25 environment(s) from API
2026-03-31 17:15:19 | INFO | Created new scorecard: 44cd1294-dd8d-417c-ae76-ad36268445cc
2026-03-31 17:15:20 | INFO | Successfully fetched metadata for game ls20
2026-03-31 17:15:21 | INFO | Successfully downloaded game ls20 (version: 9607627b) to environment_files\ls20\9607627b
2026-03-31 17:15:21 | INFO | Successfully loaded game class Ls20 from environment_files\ls20\9607627b\ls20.py
Step: 1 - State: NOT_FINISHED

日志中居然说给我分配了一个匿名 Key,那我上面干的是什么?

我不是很清楚为什么给了一个匿名的 key,我的配置没有生效?不管了,反正匿名也能往下跑!

然后终端里就会出现一个图形界面:

然后,图片中的正方形,就会自己开始移动了。

最后输出一段 JSON 数据:

{
  "card_id": "44cd1294-dd8d-417c-ae76-ad36268445cc",
  "score": 0.0,
  "environments": [
    {
      "id": "ls20-9607627b",
      "runs": [
        {
          "guid": "b5a6cec0-0f77-436c-a8d8-26314745c3ef",
          "score": 0.0,
          "levels_completed": 0,
          "actions": 10,
          "resets": 0,
          "state": "NOT_FINISHED",
          "completed": false,
          "level_scores": [
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0,
            0.0
          ],
          "level_actions": [
            10,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "level_baseline_actions": [
            21,
            123,
            39,
            92,
            54,
            108,
            109
          ]
        }
      ],
      "score": 0.0,
      "actions": 10,
      "levels_completed": 0,
      "completed": false,
      "level_count": 7,
      "resets": 0
    }
  ],
  "tags_scores": [
    {
      "id": "keyboard",
      "score": 0.0,
      "levels_completed": 0,
      "actions": 10,
      "number_of_levels": 7,
      "number_of_environments": 1
    }
  ],
  "total_environments_completed": 0,
  "total_environments": 1,
  "total_levels_completed": 0,
  "total_levels": 7,
  "total_actions": 10
}

🎉 恭喜!

你刚刚通过编程方式运行了你的第一个 ARC-AGI-3 测试。

简单介绍上面这段代码:

主要就是启动了一个 叫LS20 的测试游戏,然后无脑移动了 10 次!

具体的移动动作是 ACTION1,应该是对应键盘上的↑UP键。

移动完成之后,获取并打印了记分卡的信息。

4、后续步骤

运行第一个环境后:

  1. 快速提升帧率 - env = arc.make("ls20"),无需任何 render_mode 操作,即可达到 2000 FPS 以上

  2. 尝试其他游戏 - 运行程序即可玩其他游戏。

    请访问 arcprize.org/tasks或通过 ARC-AGI 工具包中的 env = arc.make("ft09", render_mode="terminal") 查看可用游戏列表。

  3. 使用代理 - 浏览 代理模板或创建您自己的代理。

  4. 探索 ARC-AGI 工具包 - ARC-AGI 工具包可实现与 ARC-AGI 环境的快速简便集成。

上面是官方的后续引导,我其实最关心的是如何接入 AI。

我本地搭建这个环境就是为了让 AI 帮我来玩这个游戏,测试 AI 的能力。

所以我就整出了这个东西:

直接接入 GLM5.1,让它帮我做决策,然后把每一个步骤可视化地显示在网页中!

也就是点一下 Start Run。

AI 就开始玩游戏了,我可以清晰地看到它按了哪些按钮,走了几步,走到了哪里,还可以看到它的思考内容。

为了搞出这个我还是花了点时间的。

因为它返回的数据全是 1~15 的数字,我需要把数字重新渲染成图片,然后实时刷新!

最关键的是要理解这个测试环境的数据结构和运行逻辑,我目前还不是特别懂,继续研究中……

总结一下:好玩,来玩!