论文Nex-N1: Agentic Models Trained via a Unified Ecosystem for Large-Scale Environment Construction
论文提出“agentic scaling”方法,通过一个统一生态系统(Nex生态)自动化构建大规模交互环境,训练出Nex-N1系列模型。
一段话总结
paper;https://www.alphaxiv.org/abs/2512.04987
Nex-N1:从被动LLM到自主代理的生态革命
大家好,今天我想和大家分享一篇新鲜出炉的论文:《Nex-N1: Agentic Models Trained via a Unified Ecosystem for Large-Scale Environment Construction》。这篇由Nex-AGI团队发布的论文(arXiv: 2512.04987v1),直击当前LLM向自主代理转型的核心痛点:从“下一个token预测”的静态模仿,转向激励驱动的决策行动。但这个转变被环境信号的稀缺卡住了——现有框架覆盖窄、模拟不稳、缺乏真实 grounding,导致代理在长程任务中容易幻觉或卡壳。论文提出“agentic scaling”方法,通过一个统一生态系统(Nex生态)自动化构建大规模交互环境,训练出Nex-N1系列模型。它在SWE-bench等基准上超越同规模开源模型,接近专有SOTA,并开源了生态代码、模型权重和部分数据,超级值得我们这些搞代理的社区关注。
环境构建是论文的灵魂,占了大半篇幅。传统问题在于环境的“三个维度”缺失:复杂度低(手动层次难扩展)、多样性弱(任务域有限)、保真度差(合成数据忽略真实延迟和错误)。Nex生态巧妙拆解:首先是NexAU,一个轻量运行时,像“代理宇宙”一样,用递归ReAct架构统一工具、子代理和MCP(真实API如GitHub)。它用YAML声明式配置隐藏复杂性,支持从单代理到34节点多层组织的无限拓扑,隔离上下文避免溢出,确保高吞吐模拟。其次,NexA4A(Agent for Agent)是生成工厂:输入自然语言描述(如“建个软件开发团队”),MetaAgent解析成任务树,自动合成代理prompt、工具和框架拓扑,产出200+变体框架,覆盖无限领域。最后,NexGAP管道桥接一切:用真实MCP工具做种子,融合Problem Type Tree合成多样查询(加web grounding防幻觉),NexAU执行后迭代评估(过滤奖励黑客),输出7种格式的端到端轨迹,捕捉真实反馈循环。
简单说,这套生态把环境从“手工活”变“生成式工厂”:NexA4A提供广度,NexAU加深度,NexGAP保真实。结果呢?Nex-N1在τ²-bench(双控协作)和GAIA 2(端到端代理)上大幅领先开源基线,SWE-bench达70.6%,甚至在跨框架(如OpenHands)上稳定63.5%。实际应用中,它驱动深研代理(Deep Research Bench 47%)和海报生成,输出可视化报告超实用。未来,他们计划推向RL模拟平台,让代理自探索更难环境。这不只是一篇论文,更是个开源工具箱——GitHub上试试NexAU的YAML,就能感受到从环境瓶颈到代理自治的飞跃。
从环境构建到代理自治:Nex-N1与统一生态系统的创新实践
今天,我们来聊聊一篇刚刚发布的论文:《Nex-N1: Agentic Models Trained via a Unified Ecosystem for Large-Scale Environment Construction》(arXiv: 2512.04987v1)。这篇由Nex-AGI团队撰写的论文,直击当前代理学习的核心痛点——如何大规模构建高质量、多元化的交互环境,以桥接LLM从“被动响应”向“主动决策”的范式转变。作为agent environment构建者和代理模型训练者,这篇工作绝对值得深挖。它不仅提出了一个完整的生态系统,还开源了模型权重和部分数据,极大降低了社区的实验门槛。
为什么代理学习需要“环境革命”?
回顾LLM的发展,从GPT系列的知识表示,到如今的代理自治(如ReAct范式),我们看到一个清晰的演进路径:从“说什么”到“怎么做”。但正如论文引言所述,当前LLM预训练的“下一个token预测”目标,与代理任务的长时程、目标导向性质存在根本性错位。代理需要感知环境、规划行动、处理反馈,但现有问题主要有两点:
- 环境稀缺与单一:静态文本语料让模型停留在“系统1”式直觉响应,缺乏“系统2”式的长程规划(Bengio et al., 2021)。现有框架(如OpenHands或Claude Code)虽丰富,但覆盖任务窄、实现不稳定,无法支持大规模轨迹生成,导致模型泛化差(Valmeekam et al., 2023)。
- 现实 grounding 缺失:纯合成数据忽略了真实执行的延迟、随机性和错误恢复,导致工具调用幻觉频发(Patil et al., 2023b)。生物系统通过交互学习,而LLM往往在失败时卡壳。
论文的核心洞见:代理能力源于交互,因此需要“agentic scaling”——通过自动化生成多元、复杂、真实的交互环境,来产生高质量轨迹数据。这不是简单堆数据,而是从环境构建的三个正交维度入手:复杂度(Complexity)、多样性(Diversity) 和 保真度(Fidelity)。
Nex生态:统一框架下的环境自动化
论文引入了Nex生态系统,包括NexAU、NexA4A和NexGAP三个互补组件,形成了一个从配置到轨迹生成的闭环管道(见Figure 2)。这套系统将环境构建从手动工程转向生成式语言规范,实现了“无限扩展”。
1. NexAU:模块化运行时,支持复杂代理层次
NexAU是一个轻量、高吞吐的代理引擎,抽象掉框架特异性(如上下文传递、工具绑定),聚焦核心:给定上下文,决定下一个行动。它采用递归、分形架构,灵感来源于ReAct(Yao et al., 2023),将子代理、工具和外部服务统一为可互换单元。
- 递归代理循环与层次分解:每个代理运行本地ReAct循环(感知-推理-行动)。子代理对父代理而言仅是“带输入schema的工具”——调用时创建隔离子上下文,避免上下文溢出,支持极长时程任务(如CTO代理委托Software Engineer)。
- 声明式组合:用YAML配置定义代理persona、能力与层次关系(见Figure 3)。这解耦逻辑拓扑与实现,便于程序化生成,从单代理工具循环到多代理组织。
- 统一接口:集成MCP(Model Context Protocol)连接真实API(如GitHub),支持Skills(类似Claude Skills,Anthropic 2025)注入少样本提示,支持全局存储模拟状态变化(如文件系统编辑)。
NexAU解决了现有框架的痛点:不稳定模拟与低多样性。它像一个“代理宇宙”,为大规模轨迹生成提供稳定基底。
2. NexA4A:从自然语言生成代理与框架
要覆盖无限领域,手动设计代理架构不可持续。NexA4A(Agent for Agent)就是一个“代理工厂”:输入自然语言描述,输出完整代理层次与工作流。
- 单个代理生成:MetaAgent解析角色与meta-skills(e.g., 规划、工具调用),分解为NexAU组件(子代理、工具、MCP),经AgentBuilder输出配置。
- 多代理框架生成:FrameworkBuilder构建声明式拓扑(节点与交互),MetaAgent选择工作流模式(如1-3层层次),分配角色与技能。最终合成自定义工具。
这套管道生成超过200个代理框架,节点数从1到34,覆盖ReAct单代理到多层协作,极大扩展了行为空间。
3. NexGAP:端到端轨迹生成,桥接模拟-现实鸿沟
NexGAP是数据引擎:用真实MCP工具作为“种子”生成框架查询 → NexA4A合成环境 → NexAU执行 → 归一化轨迹(支持OpenAI格式与多种XML变体)。
- 真实MCP集成: curation 超100个生产级工具,从web场景提取数百交互模式,确保轨迹捕捉延迟、错误与状态性。
- 信息融合查询合成:用Problem Type Tree(双语分类树)覆盖问题空间,逆频率加权采样 underrepresented 类别。每个查询条件于persona、问题类型、框架上下文与难度(易/中/难)。多代理编排:重写代理对齐persona-类型,合成代理分层生成,增强代理添加web grounding 或 fuzzification。
- 非代理数据代理化:用搜索增强查询(防幻觉),监督工具反馈(二元视觉判断+迭代上限),质量评估代理(迭代JSON检查,过滤截断/重复/奖励黑客)。
最终,NexGAP产出覆盖7种工具调用格式的轨迹,奠定Nex-N1训练基础。
Nex-N1:生态驱动的SOTA代理模型
基于Nex生态,团队训练Nex-N1系列(基于Qwen3/DeepSeek等基座,8B-100B+规模)。结果亮眼(Table 1):
| 基准 | Nex-N1 (8B) | Nex-N1 (32B) | Nex-N1 (100B+) | SOTA 开源 (e.g., GLM-4.6) | 专有 (e.g., Claude-Sonnet-4.5) |
|---|---|---|---|---|---|
| τ²-bench | 63.0 | 72.1 | 80.2 | 75.9 | 88.1 |
| GAIA 2 | 8.6 | 16.7 | 29.5 | 17.1 | 43.7 |
| SWE-bench | 20.3 | 50.5 | 70.6 | 68.0 | 77.2 |
| BFCL v4 | 44.5 | 60.5 | 65.3 | 62.1 | 68.8 |
- 通用代理:在τ²-bench(双控协作)和GAIA 2(端到端)上,Nex-N1超越同规模开源,接近专有模型。
- 代理编码:SWE-bench(GitHub issue修复)达70.6%,Terminal-Bench 2(终端任务)31.8%,BaxBench(后端正确性)59.7%。用OpenHands脚手,迭代限150。
- 工具使用:BFCL v4 65.3%,用Google Search稳定评估。
真实场景中(Figure 4-5),Nex-N1在项目开发(13场景,胜率64.5% vs. Claude)和网页创建(5领域,44.5% vs. 基线)中脱颖而出。跨框架鲁棒性强(Table 2):SWE-bench子集上,在Terminus 2 XML (51.2%)、Claude Code (62%)、OpenHands (63.5%)均稳定。
此外,Nex-N1赋能研究代理:Deep Research Agent (Figure 6) 在Deep Research Bench 达47.0%;Paper2Poster Agent 生成中英双语海报(Figure 8)。
启示与展望:开源生态的社区价值
Nex生态的核心创新在于“生成式环境”:从语言规范到真实轨迹,打破人工瓶颈,支持无限扩展。这对agent environment研究者是福音——NexAU的YAML配置和NexA4A的MetaAgent可直接复用,加速自定义框架实验;对代理训练者,NexGAP的轨迹生成管道提供高质量数据,助力长程规划与工具 grounding。
论文开源了Nex生态(GitHub: nex-agi/Nex-N1)、模型权重和部分数据,未来计划转向RL模拟平台:自动构建可验证、递增难度环境,支持自改进。
NexA4A生成机制详解:从自然语言到代理框架的自动化合成
作为一名专注于代理(Agent)与环境(Environment)研究的同行,如果你正在探索如何通过生成式方法大规模扩展代理行为空间,那么NexA4A(Agent for Agent)绝对是值得深挖的核心组件。它是Nex-AGI团队在论文《Nex-N1: Agentic Models Trained via a Unified Ecosystem for Large-Scale Environment Construction》(arXiv: 2512.04987v1)中提出的统一生态系统(Nex生态)中的关键一环,专注于多样性(Diversity)维度的扩展。NexA4A不是简单的代理生成器,而是将自然语言(Natural Language, NL)规范转化为完整代理架构和多代理框架的“元代理工厂”,从而打破手动设计环境的瓶颈,支持无限领域的交互拓扑生成。
在Nex生态中,NexA4A与NexAU(代理运行时)和NexGAP(数据管道)紧密集成:它生成的环境配置直接注入NexAU执行,产出轨迹再经NexGAP处理,形成训练Nex-N1的高质量代理数据。下面,我将从架构、机制、管道和实现细节入手,逐层剖析其生成过程。分析基于论文描述(Section 2.2),并结合生态整体逻辑,提供可操作的洞见。
1. NexA4A的核心目标与设计原则
代理能力的缩放(Agentic Scaling)需要不止高质量环境,还需广义行为分布:从单代理工具调用到多层协作组织,覆盖无限任务域(如编码、研究、规划)。传统框架(如OpenHands)依赖手动编码,难以规模化;NexA4A则将环境视为“生成式语言规范”,而非静态代码,实现:
- 自动化合成:输入高水平NL描述(如“构建一个多代理软件开发团队,包括CTO、工程师和测试员”),输出YAML配置的代理层次。
- 组件化抽象:每个代理由系统提示(System Prompt)定义角色与元技能(Meta-Skills),后者映射到NexAU组件(子代理、工具、MCP)。
- 层次化扩展:支持1-3层深度,从原子代理到复杂框架,确保行为多样性(e.g., 论文生成200+框架,节点1-34)。
设计灵感源于ReAct范式(Yao et al., 2023),强调递归委托,但NexA4A更进一步:用LLM驱动的MetaAgent协调整个过程,避免硬编码依赖。
2. 关键组件剖析
NexA4A的核心是三个互补构建器(Builders),由中央MetaAgent orchestration。以下表格总结其角色:
| 组件 | 作用描述 | 输入/输出示例 |
|---|---|---|
| MetaAgent | 中央协调器:解析NL规范,选择工作流模式(e.g., 协作/管道),分解为层次任务。 | 输入:NL描述“设计一个研究代理框架”。 输出:任务分解树(e.g., 规划→检索→合成)。 |
| AgentBuilder | 生成单个代理:创建提示、子代理、工具选择/合成、MCP集成,形成完整配置。 | 输入:角色+元技能。 输出:YAML代理定义(见论文Figure 3类似)。 |
| FrameworkBuilder | 构建多代理框架:定义节点拓扑、交互结构(e.g., 委托/广播),组装1-3层系统。 | 输入:工作流模式+任务树。 输出:声明式YAML拓扑(节点、边、关系)。 |
这些组件通过子代理支持(如工具合成代理),形成闭环。MetaAgent是“脑”,Builders是“手”。
3. 生成机制详解:管道步骤
NexA4A的生成是一个端到端管道(Pipeline),从NL输入到可执行配置,自动化程度高。论文Figure 2展示了整体工作流(NexAAA框架),NexA4A占核心部分。以下是详细步骤分解,我用伪代码风格标注,便于你复现实验:

3.1 生成单个代理(Single-Agent Synthesis)
针对简单任务(如工具调用代理),过程聚焦角色定义与组件绑定:
-
NL解析与提示生成:
- MetaAgent接收NL输入(e.g., “一个代码审查代理,能分析GitHub PR”)。
- 使用LLM生成系统提示:概述角色(Persona,如"资深代码审查员")+元技能(e.g., “分析代码”、“建议修复”)。
- 提示类型:Jinja模板,支持动态注入(见NexAU YAML)。
-
元技能分解:
- 每个元技能映射到NexAU组件:
- 子代理:递归委托(e.g., “修复建议” → 子审查代理)。
- 工具:选择现有(e.g., grep)或合成自定义(e.g., LLM生成代码分析脚本)。
- MCP集成:绑定真实API(e.g., GitHub MCP工具)。
- 约束:确保输入Schema兼容NexAU的统一接口(工具/子代理等价)。
- 每个元技能映射到NexAU组件:
-
配置组装:
- AgentBuilder输出YAML配置:包括LLM设置(model, temp)、工具绑定、中间件(logging)、Skills注入。
- 示例YAML片段(基于论文Figure 3扩展):
type: agent name: code_reviewer system_prompt: "You are a senior code reviewer. Analyze PRs for bugs and suggest fixes. Meta-skills: [analyze, suggest]." llm_config: model: ${LLM_MODEL} temperature: 0.7 tools: - name: github_pr_fetch # MCP工具 binding: nexau.mcp.github - name: code_analyzer # 合成工具 yaml_path: ./tools/synthesized_analyzer.yaml subAgents: - name: fix_suggester config_path: ./sub_fix.yaml # 递归生成 skills: ['./skills/code_review_skill'] - 输出:独立代理,可直接NexAU执行。
此过程生成时间<1min,支持批量(e.g., 变体采样不同persona)。
3.2 生成多代理框架(Multi-Agent Framework Synthesis)
针对复杂场景(如多层协作),扩展到框架级:
-
高水平规范解析:
- MetaAgent解读NL(e.g., “构建一个3层软件开发框架:CTO统筹、工程师实现、QA测试”)。
- 选择模式:e.g., 层次委托(Hierarchical)或管道(Pipeline)。
- 分解任务树:根节点(整体目标)→ 子任务(e.g., CTO: 规划;Engineer: 编码)。
-
拓扑构建:
- FrameworkBuilder生成声明式配置:
- 节点定义:每个节点=代理(经AgentBuilder生成)。
- 交互结构:边表示委托/共享状态(e.g., CTO → Engineer via GlobalStorage)。
- 深度:1-3层,避免爆炸(e.g., 层1: Meta;层2: Core;层3: Tools)。
- 分配资源:角色(Persona)、元技能、工具池(共享MCP)。
- FrameworkBuilder生成声明式配置:
-
技能与工具合成:
- 子代理协调:e.g., 工具合成代理用LLM生成自定义脚本(“写一个PR合并工具” → Python snippet)。
- 集成支持:动态注入Skills(少样本示例),确保兼容7种工具调用格式(OpenAI/XML变体)。
-
完整输出:
- YAML框架文件:根配置+子模块。
- 示例拓扑(伪代码):
type: framework name: software_dev_team nodes: - name: cto # Layer 1 config: ./cto.yaml children: [engineer, qa] - name: engineer # Layer 2 config: ./engineer.yaml tools: [code_gen, git_push] # 合成+现有 edges: - from: cto to: engineer type: delegate # ReAct式调用 - 规模:论文中生成200+框架,覆盖ReAct单体到多层系统。
整个管道用多代理编排:MetaAgent调用Builders,迭代精炼(e.g., 反馈循环检查兼容性)。
4. 与Nex生态的集成与数据流
- 上游(NexGAP):NexGAP用真实MCP工具+信息融合查询(Problem Type Tree)生成NL规范,作为NexA4A输入。e.g., 从web场景提取"构建数据库查询代理"。
- 下游(NexAU):生成的YAML直接加载NexAU运行,产出轨迹(e.g., 递归ReAct循环)。
- 闭环优化:NexGAP的质量评估代理过滤低质框架(e.g., 无效工具),反馈迭代NexA4A。
- 规模化:支持并行生成,论文中覆盖无限域(e.g., 编码→研究),轨迹多样性提升Nex-N1泛化(Table 1: SWE-bench 70.6%)。
5. 优势、局限与研究启示
优势:
- 无限扩展:NL驱动,零代码生成,远超手动框架(e.g., vs. LangChain的图编辑)。
- 真实性:MCP+工具合成桥接模拟-现实,减少幻觉。
- 鲁棒性:层次设计支持长程任务,论文Table 2显示跨框架稳定(OpenHands 63.5%)。
局限(基于论文隐含):
- 依赖LLM质量:MetaAgent解析可能引入偏差,需fine-tune。
- 深度限制:>3层易上下文溢出,未来可RL优化。
启示:对环境研究者,NexA4A是“生成式环境”的典范——可扩展到自定义域(e.g., 机器人模拟)。对代理训练者,它提供行为多样数据,助力SFT/RLHF。建议:用NexAU YAML原型,注入你的NL提示测试管道;未来工作可探索自适应MetaAgent(e.g., 集成τ²-bench反馈)。
NexAU组件集成细节详解:模块化运行时的架构与实现指南
作为代理(Agent)和环境(Environment)研究者,如果你对NexAU(Nex Agent Universe)感兴趣,这是一个轻量、高吞吐的代理引擎,专为大规模轨迹生成而设计。它抽象掉框架特异性(如上下文管理、工具绑定),聚焦核心执行逻辑:给定上下文,决定下一个行动。遗憾的是,正如你提到的,Nex-AGI团队的GitHub仓库(https://github.com/nex-agi/Nex-N1)目前(2025年12月)仅包含技术报告PDF(Nex-N1-TechReport.pdf)、基准图像和部署指南,没有NexAU的源代码、YAML配置或其他实现细节。模型权重托管在Hugging Face(如nex-agi/DeepSeek-V3.1-Nex-N1),生态代码可能后续开源或在私有repo中。
本解析基于论文《Nex-N1: Agentic Models Trained via a Unified Ecosystem for Large-Scale Environment Construction》(arXiv: 2512.04987v1,Section 2.1)中的描述,结合Figure 3的YAML示例,推断集成机制。我将从架构原则、核心组件、集成管道、伪代码示例和研究启示入手,提供可复现的指导。即使无代码,你可基于此用类似框架(如LangChain或Haystack)原型化NexAU。
1. NexAU的设计原则:统一抽象与递归执行
NexAU的核心是递归、分形架构,灵感来源于ReAct范式(Yao et al., 2023),将代理执行解耦为定义(Declarative)与运行(Runtime)。它解决现有框架痛点:
- 不稳定模拟:统一工具/环境/错误动态,支持大规模并行执行。
- 低多样性:通过YAML配置生成从单代理到多层组织的拓扑。
- 集成友好:抽象异构框架(如OpenHands、Claude Code),暴露一致接口,便于NexA4A生成和NexGAP数据流。
关键原则:
- 组件等价:工具、子代理、外部服务(MCP)统一为“可调用单元”,输入Schema标准化。
- 隔离执行:递归子上下文避免全局污染,支持长时程任务(e.g., 避免上下文窗口溢出)。
- 声明式优先:YAML定义persona、能力、关系;运行时动态绑定逻辑,无需硬编码。
这使NexAU成为“代理宇宙”:输入配置,输出高保真轨迹,用于训练Nex-N1的代理能力(e.g., SWE-bench 70.6%)。
2. 核心组件剖析
NexAU由四个互补组件组成,形成闭环集成。以下表格总结其作用、集成点和论文依据:
| 组件 | 作用描述 | 集成细节与接口 | 论文依据(Section 2.1) |
|---|---|---|---|
| 代理执行循环 (Agentic Loop) | 标准化ReAct循环:感知上下文 → LLM推理 → 执行行动。支持流式(stream)和非流式。 | 与LLM绑定(e.g., model: ${LLM_MODEL});输出到观察流(Observation Stream)。集成温度/密钥 via 环境变量。 | 核心递归单元;隔离子循环。 |
| 递归委托 (Recursive Delegation) | 子代理作为“工具”:父代理调用时,实例化隔离子上下文(prompt、状态、工具集)。 | Schema统一:子代理输入如工具(e.g., JSON schema);终止条件返回结果。集成Global Storage跨层持久化。 | 层次分解;e.g., CTO → Engineer。 |
| 声明式Schema (Declarative Schema) | YAML配置代理拓扑:persona、工具绑定、Skills注入。 | 解耦定义与实现:yaml_path指向工具定义;binding模块动态加载(e.g., nexau.archs.tool.builtin)。 | Figure 3示例;支持NexA4A合成。 |
| 统一接口 (Unified Interface) | MCP(真实API)、Skills(少样本提示)、Global Storage(线程安全状态)。 | MCP: 连接GitHub/DB via 协议;Skills: 动态注入目录(prompts+examples);Storage: 模拟文件系统变化。 | 桥接现实;支持7种工具格式。 |
这些组件通过运行时引擎(Runtime Engine) 集成:YAML加载 → 解析拓扑 → 实例化递归树 → 执行ReAct → 追踪/日志。
3. 集成管道:从配置到执行的端到端流程
NexAU的集成是一个轻量管道(Pipeline),高吞吐(论文隐含支持大规模轨迹生成)。步骤如下(伪代码风格,便于复现):
3.1 配置加载与拓扑解析
- 输入:YAML文件(e.g., agent.yaml)。
- 过程:运行时解析schema,构建代理树(节点=代理,边=委托)。
- 集成点:环境变量替换(e.g., ${env.LLM_API_KEY});绑定工具/子代理。
- 伪代码(Python-like):
import yaml from nexau.runtime import AgentRuntime # 假设引擎 def load_config(config_path: str) -> dict: with open(config_path, 'r') as f: config = yaml.safe_load(f) # 替换环境变量 config['llm_config'] = {k: os.getenv(v[4:-1]) if v.startswith('${env.') else v for k, v in config['llm_config'].items()} return config runtime = AgentRuntime() agent_tree = runtime.parse_tree(load_config('nexau_code_agent.yaml')) # 构建递归树
3.2 递归执行循环
- 核心:每个代理运行本地ReAct:Thought → Action → Observation。
- 集成递归:调用子代理时,fork子运行时(隔离prompt/state);结果注入父观察流。
- 错误处理:模拟延迟/随机性(e.g., MCP API错误),支持重试。
- 伪代码:
def react_loop(agent: Agent, context: dict) -> str: while not termination_condition(context): thought = llm.generate(agent.system_prompt + context['obs'], temp=agent.temp) action = parse_action(thought) # e.g., tool_call or sub_agent_delegate if action['type'] == 'sub_agent': child_context = runtime.fork_context(agent.subAgents[action['name']]) # 隔离fork result = react_loop(child_agent, child_context) # 递归 context['obs'] += result else: # tool result = execute_tool(action['tool'], action['args'], global_storage) # 绑定工具 context['obs'] += result return context['final_output']
3.3 组件注入与扩展
- MCP集成:运行时注册协议(e.g., nexau.mcp.github),调用时代理真实API(latency/stateful)。
- Skills注入:加载目录(prompts+examples+scripts),动态prepend到prompt(e.g., for 特定任务如代码审查)。
- Global Storage:线程安全KV store(e.g., Redis-like),跨递归持久化(e.g., 文件编辑状态)。
- 中间件/追踪:Hooks修改行为(e.g., LoggingMiddleware日志model/tool calls);Tracers如Langfuse导出执行树。
- 伪代码(注入示例):
# 在YAML解析后 runtime.inject_skills(agent, ['./skills/code_review']) # 动态prepend runtime.register_mcp('github', protocol='https://api.github.com') # 真实绑定 runtime.add_middleware(LoggingMiddleware(model_logger='nexau_debug')) # Hooks runtime.add_tracer(LangfuseTracer(public_key=os.getenv('LANGFUSE_KEY'))) # 追踪
3.4 输出与Nex生态集成
- 轨迹归一化:执行后,输出多格式(OpenAI/ XML),供NexGAP过滤。
- 规模化:并行多实例(e.g., Ray/Dask),生成200+环境轨迹。
- 与NexA4A/NexGAP:YAML从NexA4A合成;轨迹注入NexGAP质量评估。
完整管道耗时<1s/简单代理,支持无限深度(受LLM上下文限)。
4. YAML集成示例:基于论文Figure 3的扩展
论文Figure 3提供简化YAML,展示工具/子代理/Skills集成。以下是完整推断示例(编码代理,集成MCP+递归):
type: agent
name: nexau_code_agent
system_prompt: ./system-workflow.md # Jinja模板:角色+meta-skills
system_prompt_type: jinja
llm_config:
model: ${env.LLM_MODEL} # e.g., gpt-4o
base_url: ${env.LLM_BASE_URL}
api_key: ${env.LLM_API_KEY}
temperature: 0.7
stream: False # 非流式,集成观察流
tools: # 解耦定义+绑定
- name: todo_write
yaml_path: ./tools/TodoWrite/tool.yaml # 自定义工具定义
binding: nexau.archs.tool.builtin.todo_write # 运行时加载
- name: grep
yaml_path: ./tools/Grep/tool.yaml
binding: nexau.archs.tool.builtin.file_tools.grep_tool
- name: github_fetch # MCP集成示例
binding: nexau.mcp.github # 真实API,schema: {repo: str, issue: int}
skills: # 动态注入少样本
- ./skills/template-skill # prompts+examples for templating
- ./skills/theme-factory # for UI tasks
subAgents: # 递归集成
- name: sub_code_agent
config_path: ./sub_code_agent.yaml # 子YAML,隔离执行
middlewares: # Hooks修改行为
- import: nexau.archs.middleware.LoggingMiddleware
params:
model_logger: "nexau_code_model_debug"
tool_logger: "nexau_code_tool_debug"
log_modelCalls: true
tracers: # 执行追踪
- import: nexau.archs.tracer.adapters.langfuse.LangfuseTracer
params:
public_key: ${env.LANGFUSE_PUBLIC_KEY}
secret_key: ${env.LANGFUSE_SECRET_KEY}
host: ${env.LANGFUSE_HOST}
- import: nexau.archs.tracer.adapters.in_memory.InMemoryTracer # 本地调试
global_storage: # 状态持久化
type: thread_safe_kv # e.g., 文件系统模拟
path: ./workspace/ # 跨层共享
集成提示:加载时,运行时扫描binding模块(e.g., Python import nexau.archs),动态执行。子代理递归加载config_path。
5. 优势、局限与研究启示
优势:
- 高扩展:YAML+递归支持无限拓扑,远超静态图框架(e.g., vs. AutoGen的JSON)。
- 真实 grounding:MCP+Storage桥接模拟-现实,减少工具幻觉(BFCL v4 65.3%)。
- 调试友好:Tracers导出执行树,便于NexGAP质量评估。
局限(论文隐含+仓库现状):
- 无开源代码(截止2025年12月8日):难以直接复现;需手动实现ReAct引擎(建议从LlamaIndex起步)。
- 深度限:>3层易溢出,需优化LLM(e.g., long-context)。
- 依赖外部:MCP需API密钥,Skills目录手动维护。
启示:对环境构建者,NexAU是“统一运行时”的蓝图——可fork ReAct库添加YAML解析,实现自定义集成;对代理训练者,它强调“轨迹多样性”,建议用此管道生成SFT数据。未来,关注仓库更新(最近commit: 2025-12-05上传PDF);若需原型,我推荐用Python+Typer构建最小NexAU,测试递归委托。
后记
2025年12月8日于上海,在supergrok辅助下完成。
更多推荐


所有评论(0)