Agent-World: Scaling Real-World Environment Synthesis for Evolving General Agent Intelligence

Renmin University of China · ByteDance Seed · Guanting Dong et al. · 2026-04-21 · arXiv:2604.18292
关键词: Agent RL · MCP · environment synthesis · self-evolving arena · GRPO · multi-environment training

速读卡片 (TL;DR)

一句话:把"环境"当作 agentic RL 的预训练数据来 scale —— 用 deep-research agent 自动从 web 上挖出 1,978 个真实环境(database + tool set,完全 MCP 兼容)+ 19,822 个可执行工具,再用 self-evolving arena 持续诊断弱点、合成新任务,把 8B/14B 模型在 23 个 benchmark 上推过若干 frontier proprietary 模型。

1,978
真实环境数
19,822
可执行工具数
>20 turns
单 task 平均交互轮数

立场:不是新 RL 算法(GRPO 直接拿来用),也不是新模型架构。核心创新是把环境构造本身从手工沙箱转成可被 agent 自动 mining 的工业流水线,并把"诊断 → 针对性扩展 → 继续训"做成闭环。这意味着 agent post-training 的瓶颈正在从"算法/数据"转向"环境的多样性与可验证性"。


1 · 动机:为什么"环境"是 agentic RL 的新瓶颈

1.1 历史脉络:从 chat → tool-RL → agent-RL,环境的位置一路上移

2023 年的 RLHF 流水线里几乎不存在"环境"这个词:reward model 给一个 scalar,policy 在 chat 分布上做梯度,世界很安静。2024 ToolFormer / Search-R1 / ReTool 把"调用一个 tool 拿回结果"塞进 trajectory,但环境往往是 stateless(同一查询任意时刻打回相同结果)且 single-tool。

2025 之后两件事让环境"从配料变成主料":

论文的 thesis 一句话: 预训练 ≈ 文本数据驱动;agent post-training ≈ 环境驱动。环境的多样性、stateful 复杂度、可验证性,这三件事直接卡住 agent 的能力上限。

2023 RLHF env ≈ ø 2024 Tool-RL single-tool, stateless 2025 MCP / τ² stateful, real-world 2026 Agent-World ~2K env, self-evolving "环境"在 agent 训练中的位置变迁 从无环境 → stateless tool → 单一 stateful 环境 → 千级 stateful 环境生态 环境数量级每 1 年涨一个数量级,这是环境 scaling law 的"摩尔曲线"
环境复杂度的演化路径。论文的"环境 scaling"对应右端跳跃 — 不是再做一个更大的沙箱,而是把沙箱的数量与多样性提升两到三个数量级。

1.2 为什么手工 / LLM-纯模拟 / 程序化沙箱都不够 — 一张对比表

路线代表工作问题
纯人工沙箱τ²-Bench, ClawEval单环境造价数十人天,根本不可能 scale 到千级
LLM 隐式 simulatorSimulator-8B, GenEnv, Web World Models幻觉,无法保证 state transition 真实;reward 不可靠
程序化 FSM/sandboxEnvScaler, AWM, AutoForge, ScaleEnv环境结构由 LLM 凭空生成,与真实工作流脱钩;tool 定义模板化
抓取的 real servicesWebArena, OS-World真实但访问受限、不可大规模并发训练、状态不可重置
Agent-World 👈本文用 deep-research agent 从真实 MCP 元数据 + web 抓取 + 自动 unit-test 验证 → 兼顾真实性 / 可执行 / 可验证 / scalable
核心观察:这五条路线的不可能三角真实性 × 可控可验证性 × scalability。前面几个方案各自只能拿到两条;Agent-World 用"真实 MCP server 元数据当 anchor + agent 自动 mining + cross-validation 过滤"这套流水线把三条同时拿到。

1.3 但即使你想这么做,事情也并不平凡

"让 agent 自动造出可训练的环境"这件事比它听起来难得多,几个关键 friction:

  1. topic anchor 从哪来。如果 topic 是 LLM 想出来的,会塌缩到几个常见 vertical(GitHub、Notion);要广必须依赖真实分布(论文用 Smithery 上 ~2.8K MCP server + 0.5K tool docs + 0.2K 工业 PRD)。
  2. database 不能让 LLM 凭空写。必须从 web 抓 — 但 web 信息分散、格式杂、有错。所以需要"iterative deep-research + database complexification"循环 N 次。
  3. tool 必须能而不只是看起来像 schema。论文用 ReAct coding agent 同时生成 tool + unit test,然后 cross-validate(test pass rate > 0.5 才保留)。这是借鉴 self-play with execution feedback (Dong 2024) 的套路。
  4. task 必须可判分否则 RL 没有 reward。论文用两条互补路线:graph-based(可枚举 tool 序列 → 可枚举答案 schema)与 programmatic(LLM 写解题代码 + 验证代码,sandbox 多次跑通才保留)。
  5. 多环境 RL 不能彼此打架。每个环境的 tool 名字、签名、state transition 都不一样,直接混训容易 catastrophic interference。论文的解法是:每条 trajectory 独立挂载自己的环境(dynamic per-task env),只在 batch 一级混合。
  6. 训完之后怎么知道哪儿弱。这是 self-evolving arena 要解决的 — 用 diagnosis agent 看 failure trace,从分类树里指认弱环境,合成新任务,继续训。

你可以把整篇论文看作"把这六个 friction 各自工程化、串成一个闭环"的工作。它的功劳不在哪个单点,在于把"环境"作为一个生产要素的 supply chain 搭出来了。


2 · 背景速查

2.1 关键术语

术语含义
MCPModel Context Protocol — Anthropic 推动的 agent-tool 标准接口,允许 LLM 调用外部 stateful service(GitHub、Postgres、Playwright 等)
Smithery一个公共 MCP server 注册表,论文从中抓 ~2.8K real-world MCP 规范作 topic anchor
Environment 𝑒 = (𝒟, ℱ)论文里一个环境 = (database 𝒟,toolset ℱ);state 实际存在 𝒟 中,ℱ 是读写算子
Stateful tool usetool 调用会改变环境状态(创建订单 → 库存减一);后续调用会观察到这个变化
POMDPPartially Observable Markov Decision Process — agent 只能通过 tool observation 间接推断 𝑠ᴱ
GRPOGroup Relative Policy Optimization,DeepSeekMath 提出,无需 critic 的 PPO 变体
Verifiable reward由 sandbox 执行 verifier script 或 rubric LLM-as-judge 产生的 0/1 信号,与人工标注解耦
Deep-research agent一个 ReAct-style agent 配 search/browser/compiler/OS 工具,做长链 web 信息采集
Database complexification 𝜙反复让 deep-research agent 在已有 𝒟 上扩展、丰富数据;迭代 N 轮
Tool graph把 ℱ 里所有 tool 当节点,按依赖类型(strong / weak / independent)加权连边
Programmatic task用 Python 控制流(if / for / aggregation)调用多个 tool 才能解的复杂任务
Arenaself-evolving 阶段的"诊断竞技场":holdout 环境 + 每轮新 task,用来找 weakness

2.2 GRPO 速查公式 (本文直接复用)

J_GRPO(θ) = 𝔼[(1/G) Σᵢ (1/|yᵢ|) Σₜ min(rᵢₜ Âᵢₜ, clip(rᵢₜ,1−ε,1+ε) Âᵢₜ) − β·KL(πθ ‖ π_ref)]

本文设 ε_low = 0.2, ε_high = 0.28,group 大小 G = 8,每 step 32 个 task,trajectory 上限 80K token,单步生成上限 32K token。


3 · Agentic Environment-Task Discovery

3.1 整体流水线

① Theme MCP servers ~2.8K Tool docs ~0.5K Industrial PRDs ~0.2K ② DB mining Deep-Research agent G 𝒟ⁿ⁺¹ = 𝜙(𝒟ⁿ, m, T) 迭代 N 轮 ③ Tool gen + verify Coding agent ψ 写 tool + 单元测试 test pass > 0.5 才留 ④ Taxonomy L1: 20 L2: 50 L3: 1,978 环境生态 ℰ = {(𝒟ᴺ(m), ℱ(m)) | m ∈ 𝓜} 1,978 environments  ·  19,822 tools  ·  多种 file 格式 ⑤a Graph-based task tool graph (strong/weak/indep) → random walk → tool seq τ* → sandbox 执行 → q_final + a* → 5 次 ReAct 求解 ≥ 2 次成功 输出: 𝒳_graph + rubrics 𝑅 ⑤b Programmatic task LLM 写复杂 query q_prog + 解题代码 π_code (if/for/agg) + verifier 代码 V_code → 5 次 ReAct ≥ 2 次过 V_code 输出: 𝒳_prog + V_code
Agentic Environment-Task Discovery 流水线全景。① 真实 MCP/PRD 提供 theme anchor 𝓜 — 防止 LLM 凭空想 vertical;② 给每个 theme,deep-research agent 抓 web 数据建库,迭代复杂化;③ coding agent 同时生成 tool + 单元测试,自动过滤通不过的;④ 把 ~2K 环境 hierarchically cluster 到 20 / 50 / 1978 三层;⑤ 任务合成走 graph(线性序列)和 programmatic(分支/循环)两条互补路径。

3.2 Discovery loop 的核心设计选择

(a) Theme 来自真实 MCP — 不是 LLM 凭空想

论文这一步看似平凡但极重要: topic 集合 𝓜 = M₁ (Smithery 上 ~2.8K MCP 服务) ∪ M₂ (open-source tool docs ~0.5K) ∪ M₃ (工业 PRD ~0.2K)。如果让 LLM 自己脑补 topic,集中度会非常糟糕(全是常见 vertical)。从真实分布抽样保证了 long-tail。

(b) Database complexification 𝜙: 多轮迭代

𝒟⁽ⁿ⁺¹⁾(m) = 𝜙(𝒟⁽ⁿ⁾(m), m, 𝒯)

第一遍 mining 通常拿到的是表面数据,论文反复让 agent 在已有 𝒟 上"再深挖一层",直到 N 轮后数据库结构真正复杂(关联表、外键、多文件类型)。这一步比"一次性抓全"重要 — 它是把环境的 stateful 复杂度推上去的关键。

(c) Tool 必须能跑 — 用单元测试当过滤器

每个候选 tool 𝑓̂ 配一组测试用例 Ĉ_f̂,准确率定义:

Acc(𝑓̂; Ĉ_𝑓̂) = (1/|Ĉ_𝑓̂|) Σ 1[𝑓̂(ĉ) passes]

必须满足 (i) Python 编译通过 (ii) Acc > 0.5 (iii) 该环境至少有 1 个有效 tool 和 1 条有效 test。这是借鉴 SPELL / self-play with execution feedback 的过滤思路 — 不是相信 LLM 写出来的代码对,而是用执行结果当真理。

(d) Hierarchical taxonomy: 给"环境多样性"量化的语言

Agent-World ℰ DevOps Productivity Finance Browser Health … (20) GitHub CI/CD Docker issue-bot PR-review L1: 20 一级类型  ·  L2: 50 聚类中心  ·  L3: 1,978 具体环境
三层分类。L2 用 hierarchical clustering 自动得到聚类中心,GPT-OSS-120B 给中心起名;L1 由 3 名标注员人工合并 L2 标签到 20 个粗类。这个 taxonomy 在 self-evolving arena 里被用作"分层抽样"的索引 — 保证诊断时每个 L1 类都被覆盖到。

4 · Verifiable Task Synthesis: 两条互补合成路线

4.1 Graph-based: 适合"线性多步 tool 调用链"

对每个环境构造一个全连接加权有向图 𝐺 = (𝑉, 𝐸):

对图做带权 random walk 拿到 tool 序列 τ → 实例化参数(strong/weak 用前一个 tool 输出,independent 从 𝒟 采样)→ LLM 审一遍剪冗余 → sandbox 执行得到中间 trace 和最终结果 → LLM 反向写出"不暴露技术细节的" task description q_final + ground-truth a* + rubric 𝑅。

难度 scale:增大 walk 最大步数 + 提高 weak/independent 边采样概率 + 改写描述使其更抽象。

Tool graph f₁ f₂ f₃ f₄ strong weak indep walk Sampled tool seq τ* f₁ f₂ (strong) f₄ (weak) f₃ Sandbox execute → trace + a* 中间数据 / 字段 / 格式 全部 grounded LLM → q_final (隐去 tool 名) + 结构化 rubric 𝑅 (字段完整 / schema / 数值容差) 5× ReAct → ≥2 次成功才保留 solvable but non-trivial
Graph-based 任务合成。Random walk 在加权图上"自然"得到一条逻辑顺畅的 tool 序列;sandbox 执行赋予真实数据 grounding;LLM 反向写 query 时被强制"不暴露 tool 名 / schema" — 这是防止训练时 agent 直接 pattern-match 到 tool 名的关键。

4.2 Programmatic: 适合"分支 / 循环 / 聚合"任务

graph-based 只能产生序列;programmatic 让 LLM 直接写 Python 解题脚本 π_code,可以包含 if-else、for、跨表 aggregation。同时 LLM 写一个 verifier 脚本 V_code 做多层断言(不只是 string match)。两个脚本都进 ReAct 循环 debug 直到 sandbox 通过。最终 task 也要 5 次 ReAct ≥2 次 pass V_code 才保留。

4.3 Worked example: 一个具体的 task 长什么样

展开看 q_final 实例(Postgres 环境)

原始 walk 序列(graph-based):
list_databases → connect_db("inventory") → run_query("SELECT...") → list_tables → describe_table("orders") → run_query("UPDATE orders SET status...")

LLM 写出的 q_final(隐去 tool 名后):

"Find all pending orders in the inventory system that were placed before March, identify which of them belong to customers in the 'wholesale' tier, and mark them as expedited. Report the total number of affected rows and the average order value."

Rubric R 包括:① 是否最终调了 update;② affected rows 数量是否等于 sandbox 中 ground truth 的整数值 17;③ avg order value 是否在 [421.5, 422.5] 区间(允许 1% 数值容差);④ 没有调用与本次任务无关的破坏性 tool(如 drop_table)。


5 · Multi-Environment Agent RL

5.1 数据流

Policy 𝜋θ (Qwen3-8B/14B) action: tool call OR response aₜ ∈ A_tool Tool interface / sandbox runtime 执行 ℱ(m) 上的 𝑓 → 读写 𝒟(m) Database 𝒟ᴺ(m) oₜ₊₁ ∈ Oᴱ structured Verifiable reward rubric LLM-judge OR V_code GRPO update → πθ 每个 batch 中 32 个 task,每个 task 配独立的 (𝒟ᴺ(m), ℱ(m)) — 千级环境只在 batch 一级混合
Multi-environment rollout 数据流。三角形 (policy, tool runtime, database) 闭环;reward 由 sandbox 执行 verifier 或 rubric LLM-judge 给出。Per-task 独立挂载环境是避免 tool name 冲突 / state 串台的关键工程点。

5.2 Reward 设计

两种类型的 task 各有 reward:

r(x, y) = { 𝟙[ (1/n)Σⱼ Judge(x, y, rⱼ) == 1 ],  if x ∈ 𝒳_graph
            𝟙[ Execute(V_code(y, y*)) ],  if x ∈ 𝒳_prog }

注意是indicator 函数(0/1),不是连续 reward。这意味着 GRPO 内的 group advantage 来自"成功 vs 失败的 8 条 trajectory 比对",而非 partial credit。这种二值化 reward 在 long-horizon 下抗 reward hacking 但 explore 难度大,论文通过"必须 5 次 ReAct ≥2 次成功"的 task 筛选保证可解性,从而绕过这一问题。

5.3 为什么不混进 catastrophic interference

读者可能担心: 1,978 个环境同 batch,tool 名一样但语义不同(每个环境有自己的 list_files),agent 会不会学不会?

论文的处理:每个 task 在 prompt 里完整展开自己环境的 tool schema(包括签名、描述),agent 看到的总是"当前任务 + 当前 ℱ(m)"。所以模型实际学的是"conditional on tool schema 给出的 spec, 怎么 plan"这个元能力,不是某具体 tool 名→行为的映射。这本质上是 in-context 工具描述当 grounding。


6 · Self-Evolving Agent Arena

6.1 算法概览

πθ⁽ʳ⁾ current agent ① Eval on arena 每 L1 类 K=5 envs 合成 task 𝒳_arena⁽ʳ⁾ 用 V_code / rubric 打分 ② Diagnose diagnosis agent δ 看: failure trace + 错误分布 → 弱环境 𝒲⁽ʳ⁾, 指南 𝒢⁽ʳ⁾ ③ Targeted synth 在 𝒲⁽ʳ⁾ 上 𝜙 复杂化 合成 𝒳_target⁽ʳ⁾ guideline-conditioned ④ Continue RL on 𝒳_target⁽ʳ⁾ multi-env GRPO → πθ⁽ʳ⁺¹⁾ evaluate failure traces 𝒲⁽ʳ⁾, 𝒢⁽ʳ⁾ 𝒳_target⁽ʳ⁾ RL update 底层环境生态 ℰ(1,978 envs) — 既供 ① 抽样,也供 ③ 复杂化
Self-evolving arena 闭环。关键不在 RL 算法,在每轮新合成 evaluation task(防过拟合)+ diagnosis agent 自动定位弱环境(数据扩张方向不再靠人猜)+ targeted task synthesis(数据放大该方向)。

6.2 Capability gap 信号是什么

这是这一节最关键的问题:diagnosis agent δ 到底吃什么、吐什么?

论文设定 δ 配 Python 解释器 + search tool,输入是:

  1. per-task failure traces: tool 调用日志、中间观察、validator 反馈("第 5 步 schema 不匹配"、"final answer 缺 affected_rows 字段")
  2. error 分布统计: 按 environment、按 taxonomy 类(L1/L2)聚合 fail rate
  3. environment metadata: tool schema、database 描述

输出:

所以 capability gap signal 是分类树 × failure pattern的二元组,不是单纯一个数值。这一点比"reward 低就多训"细致 — 它告诉数据合成器具体在哪种环境上生成什么 pattern 的题

6.3 实测: 两轮 self-evolve 的收益

Modelτ²-BenchBFCL-V4MCP-Mark (Post.)
Agent-World-14B (base)60.252.429.5
+1 round63.5 (+3.3)54.9 (+2.5)36.3 (+6.8)
+2 rounds65.4 (+1.9)55.8 (+0.9)38.1 (+1.8)
EnvScaler-8B (base)37.947.69.5
+1 round40.249.113.9 (+4.4)
+2 rounds41.650.015.1

两个观察: (a) 在别人的 base model 上也能涨(EnvScaler-8B 共涨 +5.6 on MCP-Mark) — 说明 self-evolve 不依赖 Agent-World 自家初始化,是模型无关的训练范式; (b) MCP-Mark 收益最大 — 它对 stateful + 长 horizon 的要求最高,正是 diagnosis 最擅长定位的弱点。


7 · Worked Example: 一条 Memory Bank MCP 上 15-turn 的轨迹

论文 Appendix B/C 有完整的 environment card + trajectory,这里抽出一个具体的来还原。

Environment: Memory Bank MCP  |  Task: "Switch audit trail to event-driven ingestion, log decision in active context" files: mcp-config.json, .clinerules-code, progress-log.json, README.md, active-context.md, progress.md T1 action: read_memory_bank_file({filename:"product-context.md"}) T2 obs: { "ok": true, "content": "Audit trail uses batch ingestion every 6h..." } T3 action: read_memory_bank_file({filename:"active-context.md"}) T4 obs: { "ok": true, "content": "Active topic: data pipeline review", "decisions":[] } T5 action: track_progress({action:"propose", description:"switch to event-driven", upd...:false}) T6 obs: { "ok": true, "log_id": 42, "alternatives_count": 2 } T7 action: list_alternatives({log_id: 42}) T8 obs: [{"id":"A1","kind":"streaming"},{"id":"A2","kind":"micro-batch"}] T9 action: eval_consequences({alt:"A1"}) → {cost:"med", rollback:"hard"} T10 action: eval_consequences({alt:"A2"}) → {cost:"low", rollback:"easy"} T11 action: track_progress({action:"decide", description:"choose A2", upd...:true}) T12 obs: { "ok": true, "ready_to_log": true } T13 action: write_memory_bank_file({filename:"active-context.md", content:"...A2..."}) T14 obs: { "ok": true, "bytes_written": 1142 } T15 final: {"alternatives_count":2, "ready_to_log":true, "consequences_count":2} V_code(answer): exact key set ✓   alternatives_count==2 ✓   ready_to_log==true ✓   consequences_count==2 ✓ → reward = 1
Memory Bank MCP 环境上一条真实 trajectory(从论文 Appendix 还原)。15 轮交互,典型的 stateful flow: 先 现状 → 提议变更 → 列出备选 → 评估每个备选(state 在变)→ 决策 → 把决策写回 active-context.md → 输出 final answer。Verifier 是 pure-Python 脚本,不依赖 LLM judge。

这条轨迹有几个特征值得记住:


8 · 实验关键结果

8.1 Headline 数字 (Table 1 摘录)

ModelMCP-Mark AvgBFCL V4 Avgτ²-Bench Avg
GPT-5.2 High53.162.980.2
Claude Sonnet-4.533.373.284.7
Gemini-3 Pro50.872.585.4
DeepSeek-V3.2-685B36.754.180.3
Qwen3-235B-A22B5.847.958.5
Qwen3-8B (base)2.440.426.2
Qwen3-14B (base)3.441.032.4
EnvScaler-8B5.647.637.9
AWM-14B5.142.439.0
Agent-World-8B8.951.461.8
Agent-World-14B13.355.865.4

8.2 怎么读这些数字

8.3 Environment scaling curve

# Envs0101005001,0002,000
4-domain Avg18.422.130.534.736.938.5

两个突变点: 10 → 100 涨 8.4 点; 100 → 500 涨 4.2 点;500 之后边际递减。这暗示了"环境数量"的 scaling law 形状: log-linear 段 + 高原段。

个人解读:这是论文最有引用价值的图。它把"环境数量"建立成一个 scalable axis,类似预训练的"token 数"轴。下一个问题就变成:边际收益的渐近曲线在哪里平?2K? 20K? 200K? 论文没回答 — 而这是判断"环境是不是真的下一个 scaling axis"的关键。

9 · 与同类工作对比

工作环境来源规模有 self-evolve 闭环?是否真实可执行
τ²-Bench / ClawEval人工沙箱~10是 (eval only)
AgentBench人工 + 抓取~10是 (eval only)
GAIA真实 web 任务~500 task是 (eval only)
OS-World真实 OS~1 OS真,但非 scalable
Simulator-8B (Microsoft)LLM 隐式 simulator无穷幻觉风险
EnvScaler / AWM程序化 sandbox~100s是,但合成数据
AutoForge / ScaleEnv程序化~1K
ARE (Meta)异步真实环境~few是,异步
Agent World Model 2602.10090世界模型(RL 用 model-rollouts)1 model部分(planning)simulator,无真实 db
MCP-Atlas / MCP-Mark真实 MCP server数十无 (eval only)
Agent-World真实 MCP + agent mining1,978两阶段闭环是,可执行 + 可验证
Agent-World 与 EnvScaler / AWM / AutoForge 在"程序化大规模合成环境"上同属一支血脉,差异是: ① 用真实 MCP 元数据而非 LLM 凭空想 topic; ② 用 deep-research agent 抓真实 web 数据建库; ③ 加了 self-evolving arena 闭环。
ARE (Meta) 的差异: ARE 强调"异步时间动态" 与真实世界的对齐,scale 较小; Agent-World 强调环境数量级。
Agent World Model (2602.10090) 的差异:那篇训一个 LLM 当世界模型用于 model-based RL planning;这篇是 model-free RL,环境是真的 sandbox,不是 imagined。

10 · 局限 / 个人 take / 待验证问题

承认的 + 没明说的局限

我的疑问 (落地后想验证)

  1. "环境数量"这条 scaling 轴的渐近曲线在 2K 已开始放缓,把 ℰ 扩到 20K 还能涨吗?如果不行,这就是有限的 scaling axis,而非新的 scaling law。
  2. Diagnosis agent δ 输出的 𝒲⁽ʳ⁾ 和 𝒢⁽ʳ⁾ 用什么 prompt 写的?换 base model 做 δ 是否得到一致诊断?如果 δ 自己幻觉,整个 self-evolve 就是噪声放大器。
  3. Per-task 把环境 tool schema 全展开进 prompt,在 80K context 限制下 1,978 环境的 schema 平均要占多少 token?是否在某些环境下 prompt 已经吃掉一大半 budget?
  4. 论文 reward 用 indicator 0/1,group 大小 G=8 — 在难任务上很多 group 全 0,GRPO advantage 退化;论文是怎么处理"全失败 group"的?(可能是提前过滤,但没说清)
  5. 把 GRPO 换成 DAPO/ReSPO 这类更新 RL 算法,能不能再涨?或者这个范式对 RL 算法已经接近 ceiling,瓶颈在环境本身?
  6. 论文用 LLM-judge 做 graph-based reward 但没做 reward hacking 评估;agent 学会 "format 完美但语义错误" 来骗 judge 的情况是否被监测过?

记忆点

立场 环境是 agent post-training 的"预训练数据",数量级和多样性是新瓶颈
规模 1,978 envs · 19,822 tools · 平均 >20 turns · 23 benchmarks
两件事 ① Agentic env-task discovery ② Self-evolving arena 闭环
不可能三角 真实性 × 可验证性 × scalability — 此前方案各自只有 2 条
关键 trick tool 用单元测试过滤 + task 用5 次 ReAct ≥ 2 次过滤 + arena 每轮新合成防过拟合
scaling # envs 0→2K 时 4-domain avg 18.4→38.5,边际递减
距离 Agent-World-14B 在 τ² 还落后 Sonnet-4.5 ~20 点;MCP-Mark 上仍仅 13.3
未答 环境数量级真正的渐近上限 / diagnosis agent 自身的可靠性

精读笔记 v1 · 2026-05-07 · 配套论文 PDF 在 /data/szhang967/papers/paper-notes/agents/AgentWorld_2604.18292.pdf