ARE:Meta 发布的代理研究平台,如何构建动态环境并实现大规模扩展

ARE:Meta 发布的代理研究平台,如何构建动态环境并实现大规模扩展

2025年12月,Meta Superintelligence Labs 在论文《ARE: scaling up agent environments and evaluations》中开源了 Meta Agents Research Environments (ARE) ------一个专为代理(Agent)研究设计的平台。它不仅用于运行和评估代理,还提供了一套简单却强大的抽象,让研究者能够快速、可控地创建复杂、多样的模拟环境,并无缝集成合成或真实应用。

ARE 的核心目标是解决当前代理研究的两大痛点:

  • 现有环境缺乏多样性、可控性和真实性,导致基准快速饱和。
  • 大多数环境是静态、同步的,无法模拟真实世界的动态变化(如异步事件、时间流逝)。

ARE 通过事件驱动、时间独立、异步运行 的架构,彻底改变了代理环境的构建方式,同时为社区提供了高度可扩展的基础设施

ARE 是如何工作的?核心抽象与实现

ARE 的设计理念是"一切皆事件(everything is an event)",围绕五个核心概念构建:

  1. Apps(应用)

    • Apps 是状态化的 API 接口,类似于手机上的独立应用(如 Emails、Messages、Calendar)。
    • 每个 App 维护自己的内部状态(内存中存储数据,无需外部数据库),支持读工具 (read,只查询)和写工具(write,修改状态)的区分。
    • 实现方式:用 Python 类装饰器定义工具,ARE 自动转换为代理可调用的工具描述。
    • 扩展性强:支持 MCP(Model Context Protocol)接入真实外部 API,也可连接 SQL 等存储。
  2. Environments(环境)

    • 环境是多个 Apps 的集合,加上规则(如时间管理、权限、奖励计算)。
    • 环境是一个确定性的 Markov Decision Process:给定初始状态和种子,完全可复现。
    • 支持单代理或多代理运行。
  3. Events(事件)

    • 所有变化(代理动作、用户消息、环境更新)都视为事件,带时间戳并完整日志。
    • 事件生命周期:创建 → 调度(EventQueue,按时间排序) → 执行(EventLoop) → 日志(EventLog)。
    • 调度模型:用有向无环图(DAG)建模,支持并行、依赖、条件分支(如 Conditional Events、Validation Events)。
    • 特殊事件:Oracle Events(预标注的正确动作,用于验证)、环境事件(模拟外部变化,如朋友突然回消息)。
  4. Notifications(通知系统)

    • 代理只能通过通知或主动查询观察环境变化,类似于手机推送。
    • 支持可配置策略(low/medium/high verbosity),控制代理的"可观察性"。
    • 这引入了主动性(proactivity) 测试:代理是否会主动检查,而非被动等待通知。
  5. Scenarios(场景)

    • 从静态任务转向动态场景:包括初始状态、调度事件 DAG、验证逻辑。
    • 场景支持多轮交互、长时程(小时级模拟可在分钟内运行,通过 wait 工具加速时间)。
    • 提供"hints"(自然语言逐步解决方案),用于 QA 或 RL 指导。

核心创新:异步运行

  • 代理和环境完全解耦:环境时间独立流逝,即使代理在思考,事件也会发生。
  • 交互接口统一:AgentUserInterface(用户-代理通信)、System(get_time、wait 等)。
  • 这暴露了传统基准隐藏的失败模式:代理必须处理中断、超时、突发事件。

初始环境 Mobile:模拟智能手机,包含 12 个 App、101 个工具,用 Llama 3.3 70B 生成多样化合成内容(多个"宇宙",每个 ~800K tokens)。

如何实现 Scale(大规模扩展)?

ARE 的可扩展性是其最大亮点,主要体现在三个层面:

  1. 快速创建新环境与基准

    • 抽象简单:只需定义 Apps、规则、场景,即可构建新环境。
    • 无需重写大量 boilerplate 代码------论文提到内部轻松复现了 τ-bench 和 BFCLv3。
    • 社区友好:开源 GitHub + HF Space,支持 uv 快速安装、LiteLLM 多模型提供商、GUI 交互界面。
  2. 支持真实世界集成

    • 通过 MCP 接入真实 App,确保从开发 → 评估 → 部署一致。
    • 数据生成管道:Persona → 非结构化内容 → 结构化填充,确保跨 App 一致性与多样性。
  3. 社区驱动的持续扩展

    • ARE 降低门槛,让任何人快速构建领域特定基准(如医疗、游戏、金融)。
    • 支持 RLVR(Reinforcement Learning from Verifiable Rewards):严格验证写动作 + oracle,适合生成高质量 SFT/RL 数据。
    • 截至 2025 年 12 月底,仓库已有 400+ stars、GUI 支持、多个模型集成,HF Space 提供交互 demo 和 leaderboard。

这种设计让 ARE 成为"基础设施级"平台:不只是一个基准的载体,而是整个代理生态的"操作系统"。

更深刻的点:为什么 ARE 可能改变代理研究范式
  1. 从"静态正确"到"动态鲁棒"

    传统代理在理想环境中表现优秀,但一到真实世界(噪声、异步、时间压力)就崩盘。ARE 强制暴露这些弱点,推动模型发展真正实用的能力:适应性、主动性、时间管理、多代理协作。

  2. 评估驱动进步的"第二半程"

    论文强调:在 LLM+RL 时代,单纯 scaling 已现瓶颈(如预算曲线平台期)。未来进步越来越依赖有意义的任务定义和稳健评估。ARE + Gaia2 正是这种"元基础设施",让社区能快速迭代新挑战,避免基准饱和。

  3. 开源与社区赋能的战略意义

    Meta 开源 ARE,不是简单分享代码,而是提供"杠杆":让全球研究者都能构建更好环境,推动整个领域加速。类似 PyTorch 在深度学习中的角色,ARE 有潜力成为代理研究的标准平台。

  4. 潜在架构创新催化剂

    当前 ReAct 类 scaffold 在 ARE 上表现平平,暗示需要新架构:如外部规划模块、并行决策、自适应计算。异步事件驱动也为多模态、长上下文代理打开新门。

结语

ARE 不仅仅是一个工具库,它重新定义了代理环境的构建方式:从僵化的静态模拟,到灵活、可控、真实的动态世界。到 2025 年底,虽然社区贡献尚未大规模爆发,但其设计已为代理研究的"规模化、可复现、社区化"铺平道路。

如果你是代理研究者,强烈推荐立刻上手:

未来,代理的突破很可能源于像 ARE 这样的平台------它让"定义更好任务"变得前所未有的容易。期待 2026 年看到更多基于 ARE 的创新基准和模型!

ARE 中多轮交互与长时程场景的实现机制

在 ARE(Meta Agents Research Environments)平台中,多轮交互长时程(long-horizon)场景 是其核心创新之一。它通过异步运行、事件驱动的时间模拟智能加速机制实现,让模拟世界可以跨越数小时甚至数天,但实际运行只需几分钟。

核心实现原理
  1. 异步运行与时间独立流逝

    • 代理(Agent)和环境(Environment)完全解耦。
    • 环境的时间独立于代理的思考时间前进:即使代理在"思考"(调用 LLM 生成下一步动作),模拟钟表仍在走动,预定事件(如朋友回消息、提醒弹出)会正常触发。
    • 这不同于传统基准(如 τ-bench),那里环境在代理思考时"暂停"。
  2. System App 的核心工具:时间控制与加速

    • ARE 的每个环境都内置 System App ,提供三个关键工具:
      • get_current_time():代理查询当前模拟时间。
      • wait(duration):代理主动暂停一段时间(例如 wait 30 minutes)。
      • wait_for_next_notification():代理暂停,直到下一个通知(事件)到来。
    • 关键加速机制 :当代理调用任何 wait 类工具时,模拟模式切换:
      • 实时模式(real time)事件队列模式(queue-based, event-to-event loop)
      • 系统直接跳到下一个预定事件的时间点,快速执行所有中间事件,而不需一秒一秒模拟。
      • 结果:一个模拟跨越数小时的场景,实际计算只需几分钟(甚至秒级),极大提升长时程测试的可行性。
  3. 事件调度系统(EventQueue + DAG)

    • 所有事件(代理动作、用户消息、环境变化)都进入时间有序的 EventQueue
    • 使用 有向无环图(DAG) 管理依赖和并行:支持绝对时间(e.g., 模拟开始后 1 小时触发)、相对时间(e.g., 某个事件后 5 分钟)。
    • 在加速模式下,EventLoop 直接按队列顺序批量处理事件,直到代理"醒来"或下一个需要代理决策的点。
  4. 多轮交互(Multi-turn)的处理

    • 一个场景分成多个 turn :每个 turn 从用户消息或环境事件开始,到代理调用 send_message_to_user(回复用户)结束。
    • turn 之间,环境会暂停等待真实用户输入(如果是交互模式),或继续模拟预定事件。
    • 代理在 turn 间保持状态(记忆上文),但环境可能已发生变化。
举个具体例子(论文中的经典案例)

论文 Figure 4 详细描述了一个多轮、长时程场景:

场景描述

  • 用户第一轮问代理:"你能帮我问妈妈要家庭流媒体密码吗?"
  • 代理回复:"好的,我发消息问她了。"(调用 Chats App 发送消息)
  • 然后用户第二轮跟进:"妈妈一回复密码,你立刻转发给我爸爸。"

如果没有时间加速和异步机制,这个场景可能需要真实等待妈妈"回复"(或许几小时),测试效率极低。

ARE 如何高效实现

  1. 第一 turn

    • 代理发送消息给妈妈(写操作,修改 Chats App 状态)。
    • 代理回复用户,结束 turn。
  2. turn 间隙

    • 场景预定义了一个环境事件:模拟开始后 X 分钟(或相对时间),妈妈通过 Email App 回复密码(而不是 Chats)。
    • 如果代理不主动等待,这里环境会继续运行。
  3. 代理使用 wait 工具

    • 代理可能调用 wait_for_next_notification()(等待下一个通知)或 wait(10 minutes)(定期检查)。
    • 一调用 wait → 模拟加速
      • 系统切换到事件队列模式,直接快进到妈妈回复的时间点。
      • 执行"妈妈发邮件"事件(注入新 Email)。
      • 生成通知推送给代理。
  4. 第二 turn

    • 代理"醒来",收到 Email 通知。
    • 发现密码在邮件中(而非之前发的 Chats),调整策略:提取密码 → 通过 Email 转发给爸爸 → 回复用户完成。
    • 整个过程:模拟时间可能跨越 30 分钟 ~ 1 小时,但实际运行只需几秒到几分钟。

为什么高效

  • 没有 wait 时,时间正常流逝(适合短交互)。
  • 有 wait 时,直接跳跃到下一个事件,避免无意义的时间空转。
  • 所有事件完整日志(EventLog),支持事后分析和可复现。
为什么这个设计深刻?
  • 暴露真实失败模式:代理不能"无限思考"而不付出时间代价;必须学会主动等待或定期检查。
  • 支持超长场景:可以轻松模拟"几天后提醒""预约后等待确认"等现实任务。
  • 适合 RL 训练:加速让长时程场景可用于大规模强化学习,而非只能手动测试。

总之,ARE 通过 wait 工具触发的队列加速,巧妙解决了长时程模拟的计算瓶颈,同时保持了异步动态的真实性。这也是 Gaia2 能测试"时间管理"能力的关键基础。如果你上手 ARE 代码,会发现 System App 的这几个工具是玩转长场景的"神器"!

后记

2025年12月28日于上海,在grok fast辅助下完成。

相关推荐
风象南2 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶2 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶3 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
哥布林学者4 小时前
高光谱成像(一)高光谱图像
机器学习·高光谱成像
罗西的思考5 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab6 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab6 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸7 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云8 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny8658 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github