响应式网站建设机构,网站开发+兼职挣钱吗,网页制作软件dw,敬请期待同义词通义实验室重磅新作#xff1a;通过环境规模化#xff0c;迈向通用Agentic Intelligence
大家好#xff0c;我是专注Agent和强化学习方向的研究者。最近#xff0c;阿里通义实验室#xff08;Tongyi Lab#xff09;发布了一篇论文《Towards General Agentic Intelligence…通义实验室重磅新作通过环境规模化迈向通用Agentic Intelligence大家好我是专注Agent和强化学习方向的研究者。最近阿里通义实验室Tongyi Lab发布了一篇论文《Towards General Agentic Intelligence via Environment Scaling》arXiv 2509.13311提出了一个非常有启发性的框架通过系统性地规模化模拟环境来生成高质量、可验证的agentic数据从而训练出强大的function-calling工具调用能力。他们的模型系列AgentScaler4B/8B/30B在多个agent基准上刷新了开源SOTA尤其30B模型媲美1T级甚至闭源模型这对我们做Agent和RL的人来说卖点非常硬核。这篇工作本质上在解决一个核心痛点真实世界的工具调用能力高度依赖于训练时环境的多样性。如果环境单一agent学到的tool-use就很难泛化到新场景。而真实API调用成本高、延迟大、稳定性差很难大规模采集经验数据。通义团队的思路是完全模拟、可自动规模化的异构环境并在此基础上生成可验证的交互轨迹用于监督微调SFT未来还能无缝接RL。下面我从研究者的视角详细拆解他们的创新点、具体流程和亮点。核心创新把环境抽象为读-写数据库实现自动规模化构建论文把任何工具调用都抽象为对底层环境数据库DDD的读操作或写操作读操作查询、检索、监控不改变状态写操作修改、生成、执行导致状态转移形式化地每个工具funcfuncfunc有操作类型op(func)∈{read,write}op(func) \in \{read, write\}op(func)∈{read,write}调用结果等价于API(func,α)≡op(func)(α;D)API(func, \alpha) \equiv op(func)(\alpha; D)API(func,α)≡op(func)(α;D)其中α\alphaα是输入参数。同一个域的工具通常共享相似的读写模式因此可以用一个统一的数据库schemaSkS_kSk来描述。整个问题就转化为把海量工具划分成域并为每个域自动生成schema和可执行代码。具体构建流程非常可复制场景收集从ToolBench、API-Gen和内部仓库收集了超过30,000个真实API经过过滤、清洗和参数重写最终得到高质量API池规模N30,000。工具依赖图建模把每个工具的参数列表向量化用embedding计算余弦相似度。如果sim(ϕ(Pfunci),ϕ(Pfuncj))τ\text{sim}(\phi(P_{func_i}), \phi(P_{func_j})) \tausim(ϕ(Pfunci),ϕ(Pfuncj))τ就在工具iii和jjj之间连边E{(i,j)∣sim(ϕ(Pfunci),ϕ(Pfuncj))τ,i≠j} E \{(i, j) \mid \text{sim}(\phi(P_{func_i}), \phi(P_{func_j})) \tau, i \neq j\}E{(i,j)∣sim(ϕ(Pfunci),ϕ(Pfuncj))τ,ij}然后用Louvain社区检测算法聚类自动得到超过1000个域。域内再用LLM精细检查边确保依赖关系准确。函数schema程序化实现对每个域用LLM根据所有工具的参数生成统一的数据库schema类似SQL表结构。然后把每个工具写成Python函数直接操作这个数据库。亮点作者手动验证过在τ-Bench的域上他们自动生成的schema和代码与官方实现高度一致这说明方法非常可靠。Agentic任务构造前向模拟先初始化数据库状态尽量多样化在域内有向依赖图上做随机游走生成逻辑一致的工具序列为每个工具生成参数真正执行代码更新数据库状态最后整合成一个整体用户意图user intent这样生成的轨迹在两个层面可验证数据库状态一致性写操作是否生效工具序列参数精确匹配gold序列这套流程完全自动化、无需人工干预能轻松扩展到成千上万个异构环境是目前最可规模化的模拟环境构建方案。经验学习两阶段SFT 严格过滤收集轨迹后他们用模拟用户LLM与agent交互生成多轮对话轨迹。严格的三级漏斗过滤保证数据质量有效性控制去除无效格式、严重重复的轨迹环境状态对齐只保留最终数据库状态与gold一致的轨迹函数调用精确匹配工具序列和参数完全匹配对纯读操作更严格即使中间出错只要最终目标达成也保留——这能提升模型鲁棒性。两阶段微调阶段1在通用域上训练学习基础tool-use能力何时调用、如何整合输出到自然语言响应阶段2在垂直域上继续训练实现领域专精损失函数只监督assistant的tool call和最终回复用户指令和tool response被mask掉但保留在上下文L(θ)−1∑∣H∣kI[xk∈T]∑∣H∣kI[xk∈T]⋅logπθ(xk∣xk) \mathcal{L}(\theta) -\frac{1}{\sum |H|_k I[x_k \in T]} \sum |H|_k I[x_k \in T] \cdot \log \pi_\theta(x_k | x_{k})L(θ)−∑∣H∣kI[xk∈T]1∑∣H∣kI[xk∈T]⋅logπθ(xk∣xk)其中TTT是tool call或assistant response的token。实验结果与卖点对RL研究者尤其有吸引力在τ-Bench、τ²-Bench、ACEBench-en上AgentScaler系列全面领先同规模开源模型30B-A3B模型在多个域接近甚至超过1T级开源模型和闭源GPT-o3/Gemini-2.5-pro打平4B模型性能媲美30B基线说明小模型也能具备强agentic能力适合边缘部署OOD泛化强在中文ACEBench-zh上大幅提升稳定性好pass^k指标领先长序列tool calling仍有下降趋势作者坦诚这是未来重点最大卖点环境完全可控、可验证、低延迟→ 天然适合后续接RL作者在Limitation里明确说未来要上RLHF/RLAIF无需真实API调用成本极低可无限扩展环境规模数据质量有硬核保证状态序列双重验证远超单纯LLM模拟或逆向生成两阶段训练思路先广度后深度对复杂agentic能力构建非常合理总结与展望这篇工作给Agent和RL社区指明了一条清晰路径通用agentic intelligence的关键在于可规模化的高质量环境。通义团队用数据库抽象自动代码生成彻底解决了模拟环境的构建瓶颈并证明了在这种环境下训练出的模型能达到当前SOTA水平。对我们做RL的人来说最激动的是这个框架天生就是为在线RL准备的——稳定、低延迟、可验证的反馈简直完美。未来如果他们把RL接上去比如PPO或GRPO很可能又是一波大突破。论文地址https://arxiv.org/abs/2509.13311项目页面https://tongyi-agent.github.io/blogGitHubhttps://github.com/Alibaba-NLP/DeepResearch强烈推荐大家读原论文尤其是做agentic data synthesis、tool-use和RL的研究者这篇绝对值得反复看公式逐项拆解这个损失函数是论文中用于Agentic Fine-tuning的标准监督微调SFT目标专门设计用于训练LLM的tool-calling函数调用能力。它的核心思想是只对assistant生成的token即tool call和最终自然语言回复计算损失而用户消息human instructions和tool返回的结果tool responses虽然保留在上下文中供模型参考但不参与损失计算被mask掉。这是一种常见的“partial supervision”技巧能让模型专注于学习“如何决定调用tool、如何填充参数、如何根据tool输出生成回复”而不会浪费容量去“记忆”或“抄袭”用户输入和tool返回内容。公式如下直接引用论文L(θ)−1∑∣H∣∑kI[xk∈T]∑∣H∣∑kI[xk∈T]⋅logπθ(xk∣xk) \mathcal{L}(\theta) -\frac{1}{\sum_{|H|} \sum_k I[x_k \in T]} \sum_{|H|} \sum_k I[x_k \in T] \cdot \log \pi_\theta(x_k \mid x_{k})L(θ)−∑∣H∣∑kI[xk∈T]1∣H∣∑k∑I[xk∈T]⋅logπθ(xk∣xk)整体结构这是一个负对数似然NLL的平均值本质上是标准自回归语言模型的交叉熵损失但只在特定token上求平均。πθ(xk∣xk)\pi_\theta(x_k \mid x_{k})πθ(xk∣xk)模型在给定前文xkx_{k}xk的条件下预测当前tokenxkx_kxk的概率标准next-token prediction。logπθ(xk∣xk)\log \pi_\theta(x_k \mid x_{k})logπθ(xk∣xk)对预测正确的token取对数概率负号使其变成损失值越小越好。I[xk∈T]I[x_k \in T]I[xk∈T]指示函数indicator。如果第kkk个tokenxkx_kxk属于集合TTT则I1I1I1否则I0I0I0。这里TTT tool call tokensτt\tau_tτt ∪ assistant response tokensyty_tyt即assistant在每一轮生成的函数调用部分和最终回复部分。内层求和∑∣H∣∑kI[xk∈T]⋅logπθ(xk∣xk)\sum_{|H|} \sum_k I[x_k \in T] \cdot \log \pi_\theta(x_k \mid x_{k})∑∣H∣∑kI[xk∈T]⋅logπθ(xk∣xk)先对单条轨迹HHH一条完整的多轮交互序列内的所有token遍历只累加属于TTT的token的负对数概率。再对所有轨迹∣H∣|H|∣H∣整个batch或数据集求和得到所有需要监督的token的总损失。分母∑∣H∣∑kI[xk∈T]\sum_{|H|} \sum_k I[x_k \in T]∑∣H∣∑kI[xk∈T]统计所有轨迹中属于TTT的token的总数即有效监督token的数量。用总损失除以这个数量实现归一化平均per-token average loss避免不同长度轨迹影响梯度规模。等价的更直观写法这个公式完全等价于更常见的写法L(θ)−1NT∑xk∈Tlogπθ(xk∣xk) \mathcal{L}(\theta) -\frac{1}{N_T} \sum_{x_k \in T} \log \pi_\theta(x_k \mid x_{k})L(θ)−NT1xk∈T∑logπθ(xk∣xk)其中NTN_TNT是所有轨迹中属于TTT的token总数。只不过论文用了双重求和明确表示对多条轨迹∣H∣|H|∣H∣的batch处理。为什么这样设计关键动机上下文可见但不监督用户消息hth_tht和 tool responseρt\rho_tρt保留在xkx_{k}xk中 → 模型能“看到”完整对话历史和tool返回信息。但它们的token被maskI0I0I0→ 不计算损失 → 梯度不会试图让模型“生成”这些内容因为它们是外部输入。专注agentic能力只监督τt\tau_tτttool call模型学会正确生成函数调用格式、参数填充。只监督yty_tytassistant response模型学会在看到tool输出后生成连贯、自然的最终回复给用户。避免污染如果对tool response也计算损失模型可能会过拟合特定tool的输出格式导致在真实环境中hallucinate错误的tool返回。如果对用户消息计算损失模型会浪费容量去预测用户下一句说什么无意义。这种损失在tool-calling/agent细调中非常标准类似OpenAI function calling、xLAM系列、ToolLLM等工作的做法。论文用它结合严格过滤的高质量轨迹 两阶段训练取得了很强的效果。简单总结这是个“只罚assistant、放过外部输入”的平均NLL损失专为tool-use场景优化确保模型学会主动调用工具并正确响应用户。环境构造论文中提出的环境构造方法是整个工作的核心创新它将工具调用抽象为对一个底层数据库的“读-写”操作从而实现完全模拟、可自动规模化的异构环境构建。这种设计让环境既真实可执行又无需调用真实API成本低且可验证非常适合大规模生成agentic训练数据。首先他们收集了超过3万个真实世界API如来自ToolBench和API-Gen清洗后构建“工具依赖图”把每个工具的参数向量化计算相似度连边然后用Louvain社区检测算法自动聚类成上千个“域”domain。每个域内的工具共享相似的读写模式于是用LLM根据域内所有工具参数自动生成统一的数据库schema类似表格结构并把每个工具实现成Python代码直接操作这个数据库。手动验证显示这种自动生成的schema和代码与τ-Bench官方实现高度一致。接着是agentic任务构造先基于schema初始化一个多样化的数据库状态然后在域内的有向依赖图上随机游走生成逻辑连贯的工具序列为每个工具生成参数真正执行代码更新数据库状态最后把整个过程整合成一个整体用户意图。这样生成的轨迹在数据库状态一致性和工具序列精确匹配两个层面都可严格验证。整个过程完全自动化、无需人工干预能轻松扩展到成千上万个不同域的环境。相比传统方法真实API调用贵且不稳定或纯LLM模拟易幻觉这种基于可执行代码数据库状态的模拟环境既高度可控又能提供可靠的监督信号是目前最可规模化的agentic数据生成方案。代码很抱歉目前AgentScaler的完整代码和pipeline尚未正式开源。论文中明确提到GitHub仓库https://github.com/Alibaba-NLP/DeepResearch但根据最新信息截至2025年12月15日这个仓库主要发布了后续工作Tongyi DeepResearch一个30B参数的开源agentic模型专注于长时程研究任务而原论文的AgentScaler包括环境自动构建、工具依赖图、schema生成、任务构造、数据过滤和两阶段训练等核心pipeline仍在准备开源中。在仓库的Issue中有人询问“AgentFounder和AgentScaler pipeline的开源计划”官方回复“相关工作的开源包括AgentFounder和AgentScaler pipelines正在准备中请持续关注。”因此目前无法直接获取论文中描述的完整实现代码。如果你想复现核心思路可以基于论文描述手动实现关键部分例如工具依赖图建模和schema生成以下是论文中提到的核心伪代码/公式摘录作为参考1. 工具依赖图建模Tool Dependency Graph# 伪代码构建工具图并聚类域importnumpyasnpfromcommunityimportbest_partition# Louvain算法# 假设tools是列表每个tool有参数列表paramsembeddings[embed(params)fortoolintools]# 用embedding模型向量化参数graphnx.Graph()foriinrange(len(tools)):forjinrange(i1,len(tools)):simcosine_similarity(embeddings[i],embeddings[j])ifsimtau:# tau是阈值graph.add_edge(i,j)# Louvain社区检测得到域domainsbest_partition(graph)# 返回每个tool所属的domain id2. 函数schema程序化实现Programmatic Materialization# 伪代码为一个域生成schema并实现工具为Python函数defgenerate_schema(domain_tools):# 用LLM prompt生成统一的数据库结构如dict或SQLite schemapromptfBased on these tool parameters:{domain_tools_params}, generate a unified DB schema.schemallm_generate(prompt)# 返回如 {tables: {...}}defmaterialize_tool(tool,schema):# 用LLM生成可执行Python代码直接操作DBcodellm_generate(fImplement{tool.name}as Python function operating on DB:{schema})exec(code)# 动态执行得到可调用函数3. Agentic任务构造随机游走生成工具序列# 伪代码在域内有向图上生成序列directed_graphnx.DiGraph()# 基于输入-输出依赖建有向边start_noderandom.choice(nodes)sequence[start_node]currentstart_nodewhilecurrent.out_degree()0andlen(sequence)max_steps:currentrandom.choice(list(directed_graph.successors(current)))sequence.append(current)# 为每个tool生成参数并执行db_stateinitialize_db(schema)fortoolinsequence:argsgenerate_args(tool)# 用LLM或规则生成resulttool.execute(args,db_state)# 真实执行更新db_state这些是基于论文描述的简化伪代码不是官方实现。完整代码预计后续会在该仓库或新仓库发布建议star仓库关注更新或者关注通义实验室博客https://tongyi-agent.github.io/blog后记2025年12月15日于上海 在supergrok辅助下完成。