InternScience/Sage-A1.5-FP8
模型介绍
文件和版本
Pull Requests
讨论
分析

Sage-A1.5

🏠 主页 | 技术报告 技术报告
Hugging Face Hugging Face | GitHub Github | Model Scope ModelScope

[!Note] 本仓库包含 Sage-A1.5 的模型权重与配置文件,采用 Hugging Face Transformers 格式。

这些产物兼容 Hugging Face Transformers、vLLM、SGLang 等框架。


Sage‑A1.5 是由 InternScience 推出的 35B 混合专家(Mixture-of-Experts)智能体模型,旨在通过自适应能力组合推进长程科学问题求解。 在 Agents‑A1 的基础上,Sage‑A1.5 不仅学习如何解决单一任务,还能在执行过程中组织工作并调整策略,重点体现了三项核心能力:智能体编排、验证与开放式科学发现。

首先,智能体编排通过任务委派以及具有隔离上下文的子智能体之间的并行协作,将单智能体执行扩展至多智能体层面,使复杂任务得以分解并并发处理,同时降低并行子智能体之间的相互干扰。 其次,智能体验证通过进度检查、证据校验与反思性策略修正来增强长程可靠性,使 Sage‑A1.5 能够识别低效的搜索路径并转向替代方案。 第三,开放式科学发现将智能体能力从回答预设问题拓展至开展探索性研究,将科学探究与交互式分析及可审查的研究成果紧密连接。 我们希望 Sage‑A1.5 能为社区提供一个开放科学发现的可及基础,开辟一条从长程任务执行到协作式、可验证、可审查的科学探索的实用路径。

Sage-A1 基准概览

亮点

  • 智能体推理:Sage-A1.5 擅长将复杂任务拆解为可执行的子步骤,具备前瞻规划能力,并能根据中间结果动态调整策略。
  • 工具调用:原生支持函数调用与工具集成,可与 API、代码解释器、搜索引擎及其他外部工具无缝交互。
  • 科学与专业推理:支持集成工具的科学研究推理及专业领域知识问答。
  • 指令遵循:在多个领域中精准遵循包含多重约束的复杂指令。
  • 智能体编排:能够编排多个具有独立上下文的子智能体进行并行探索,使其相互质疑假设、基于证据修正结论,并将各自发现整合为综合结果。
  • 验证模式:一种可选的自审能力,内嵌于模型自身的思维链中——模型会在推理中途暂停,回顾已确立的结论与失败的尝试,随后在同一轮次中按修正后的方向继续推进,无需外部评审。

我们欢迎开发者与企业集成试用 Sage-A1.5,并分享使用反馈。

性能表现

我们在六个方向上对 Sage-A1.5 进行了面向真实场景的智能体与研究型工作流评测——长程搜索、工程任务、指令遵循、科学研究、通用智能体任务及科学智能体任务。尽管 Sage-A1.5 属于约 35B 参数规模的模型,其性能却与 Kimi-K3、GLM-5.3、GPT-5.6-sol 等前沿大规模系统高度竞争。在 XBench-DS-2510(92.0)、IFBench(81.6)、PinchBench(90.0)、FrontierScience-Olympiad(81.0)、FrontierScience-Research(48.3)、CMT(80.0)和 OmniDocBench(91.5)上取得整体 SOTA,GAIA 得分达 95.1,超越了我们对比的所有更大规模模型。在同等规模的约 35B 模型中,Sage-A1.5 在大量任务上位居第一,包括 BrowseComp(81.7)、SWE-bench Pro(61.2)、MLE-Lite(65.2)、SciCode(44.3,与 Agents-A1 持平)、AA-LCR(81.0)、HLE w/ tools(55.1)、VitaBench(45.4)和 ChemCOTBench(66.5)。 与 A1 相比,在工程与智能体工作负载上提升显著(SWE-bench Pro +17.6,SWE-bench Multilingual +14.0,PinchBench +13.1,MLE-Lite +21.3)。 这些结果表明,Sage-A1.5 兼具强大的长程搜索能力、稳健的科学推理和可靠的指令遵循,使其成为一款高效且能力突出的智能体模型,大幅缩小了与更大规模前沿模型的差距。

🥇 整体 SOTA    🟢 同规模模型中最优(~35B)

评测基准 📏 同规模模型(~35B) 🚀 更大规模模型
Sage-A1.5Agents-A1Ornith-1.5Kimi-K3GLM-5.3GPT-5.6-sol
🔍 长程搜索
GAIA95.196.0 🥇77.692.292.288.3
BrowseComp81.7 🟢 未启用智能体编排
82.8 启用智能体编排
75.567.691.2 🥇76.290.4
DeepResearch-Bench243.7 未启用智能体编排
47.5 启用智能体编排
37.548.6 🟢52.455.757.9 🥇
XBench-DS-251092.0 🥇86.080.085.084.090.0
⚙️ 工程任务
MLE-Lite65.2 🟢43.939.472.772.777.3 🥇
SciCode44.3 🟢44.339.558.759.0 🥇56.1
SWE-bench Pro61.2 🟢43.659.663.364.664.6 🥇
SWE-bench Multilingual72.7 🟢58.771.480.881.3 🥇74.1
📋 指令遵循
IFBench81.6 🥇80.644.672.153.472.7
AA-LCR81.0 🟢74.273.288.7 🥇79.784.0
🧪 科学研究
FrontierScience-Olympiad81.0 🥇79.070.069.067.073.0
FrontierScience-Research48.3 🥇40.06.721.716.726.7
HiPhO45.346.4 🥇39.542.439.746.2
HLE w/ tools55.1 🟢47.633.456.062.564.5 🥇
CMT80.0 🥇72.026.034.040.050.0
CritPt20.0 🟢4.32.923.419.132.3 🥇
🤖 通用智能体任务
Agents' Last Exam (ALE-CLI)19.1 🟢10.214.327.628.528.6 🥇
VitaBench45.4 🟢38.744.659.0 🥇58.746.8
PinchBench90.0 🥇76.988.688.286.687.3
🔬 科学智能体任务
ChemCOTBench66.5 🟢64.053.882.5 🥇78.377.9
MatTools42.647.1 🟢38.624.353.2 🥇45.6
OmniDocBench91.5 🥇89.589.691.1-85.8

[!Note] SWE-Bench 系列:我们使用 mini-SWE-agent 评测框架,温度设为 1.0,top-p 设为 0.95,上下文窗口为 200K token,并启用了自动上下文压缩。所有评测均在完全离线、无网络访问的环境中进行。

GLM-5.3 在 OmniDocBench 上的表现:GLM-5.3 是纯文本(单模态)模型,不支持多模态输入,因此其在 OmniDocBench(多模态评测基准)上的结果未予报告。

使用方法

SGLang

SGLang 是一个面向大语言模型和视觉语言模型的高性能推理服务框架。

使用 uv 安装 SGLang:

uv venv --python 3.12 --seed --managed-python
source .venv/bin/activate

uv pip install sglang

更多详情请参阅其文档。

以下命令将在 http://localhost:8000/v1 处创建 API 端点:

  • 标准版本:

    python -m sglang.launch_server \
      --model-path InternScience/Sage-A1.5-FP8 \
      --port 8000 \
      --mem-fraction-static 0.8 \
      --context-length 262144 \
      --reasoning-parser qwen3 \
      --tool-call-parser qwen3_coder
  • 多 Token 预测(MTP):

    python -m sglang.launch_server \
      --model-path InternScience/Sage-A1.5-FP8 \
      --port 8000 \
      --mem-fraction-static 0.8 \
      --context-length 262144 \
      --reasoning-parser qwen3 \
      --tool-call-parser qwen3_coder \
      --speculative-algorithm EAGLE \
      --speculative-num-steps 3 \
      --speculative-eagle-topk 1 \
      --speculative-num-draft-tokens 4

vLLM

vLLM 是一个面向大语言模型的高吞吐量、内存高效的推理与服务引擎。

通过 uv 从 main 分支安装 vLLM:

uv venv --python 3.12 --seed --managed-python
source .venv/bin/activate

uv pip install vllm --torch-backend=auto

详见其文档。

以下命令将在 http://localhost:8000/v1 创建 API 端点:

  • 标准版(1 张 GPU,262K 上下文):

    vllm serve InternScience/Sage-A1.5-FP8 \
      --port 8000 \
      --max-model-len 262144 \
      --reasoning-parser qwen3 \
      --enable-auto-tool-choice \
      --tool-call-parser qwen3_coder
    
  • 纯文本模式(跳过视觉编码器以释放 KV 缓存内存):

    vllm serve InternScience/Sage-A1.5-FP8 \
      --port 8000 \
      --tensor-parallel-size 1 \
      --max-model-len 262144 \
      --reasoning-parser qwen3 \
      --language-model-only
  • 多 Token 预测(MTP):

    vllm serve InternScience/Sage-A1.5-FP8 \
      --port 8000 \
      --max-model-len 262144 \
      --reasoning-parser qwen3 \
      --enable-auto-tool-choice \
      --tool-call-parser qwen3_coder \
      --speculative-config '{"method":"mtp","num_speculative_tokens":3,"moe_backend":"triton"}'

高级模式

Sage-A1.5 内置两种可选模式,均基于上述标准服务配置。两者默认处于关闭状态:智能体编排模式通过注册工具来启用,验证模式通过聊天模板标志来启用。

智能体编排

智能体编排模式(参见亮点)允许模型将独立的子问题分派给并行运行的子智能体,每个子智能体拥有独立的上下文窗口和工具访问权限。该模式通过向模型暴露 spawn_subagent 工具来启用:当任务可分解为相互独立的调查时,模型会自动调用该工具,而你的运行框架则负责执行每个子任务并返回结构化结果。

子智能体不受固定工具集的限制——可以为其分配部署中注册的任何工具(搜索、页面阅读、代码执行、检索、内部 API 等)。默认情况下,子智能体继承主智能体的工具集;如需为其配置不同的(例如更精简的)工具集,可设置 subagent_tools。

将以下工具模式与其他工具一起注册:

SPAWN_SUBAGENT_SCHEMA = {
    "type": "function",
    "function": {
        "name": "spawn_subagent",
        "description": (
            "Dispatch one or more sub-agents IN PARALLEL to investigate independent "
            "sub-questions. Each sub-agent has access to google_search and read_page "
            "but CANNOT see your conversation. You MUST give each sub-agent everything "
            "it needs via the `task`, `context`, and `expected_output` fields. Sub-agents "
            "return structured JSON: {answer, status, evidence, unresolved_issues}."
        ),
        "parameters": {
            "type": "object",
            "properties": {
                "tasks": {
                    "type": "array",
                    "minItems": 1,
                    "description": "List of independent sub-tasks to dispatch in parallel.",
                    "items": {
                        "type": "object",
                        "properties": {
                            "task": {
                                "type": "string",
                                "description": "Self-contained sub-question. The sub-agent has no other context.",
                            },
                            "context": {
                                "type": "string",
                                "description": "Background facts and constraints the sub-agent needs.",
                            },
                            "expected_output": {
                                "type": "string",
                                "description": "Form of the desired answer (e.g. 'a year YYYY', 'a person name').",
                            },
                        },
                        "required": ["task", "context", "expected_output"],
                    },
                },
            },
            "required": ["tasks"],
        },
    },
}

由于子代理无法看到主对话,每个任务都必须是自包含的——task、context 和 expected_output 均为必填项。每个子代理返回一个紧凑的 JSON 对象 {answer, status, evidence, unresolved_issues},批次结果按输入顺序交还给主模型。

注意事项:

  • 确保每个子任务相互独立。同一批次中的任务并发执行,彼此无法看到对方的结果,因此任何需要顺序执行的内容应放在不同的 spawn_subagent 调用中。
  • expected_output 对子代理的 answer 起格式约束作用(例如 'a year YYYY'、'a person name'),使结果保持简洁且易于合并。
  • 若子代理无法解决其任务,应返回 "UNKNOWN",并将 status 设为 unknown 或 insufficient_evidence,而非猜测——使用答案前请先检查 status。
  • 批次大小和每个子代理的轮次预算属于框架侧配置(max_tasks_per_spawn,默认 5;subagent_max_turns,默认 20)。超出限制的批次会被拒绝并返回错误信息,而非截断处理。
  • 上方 schema 的 description 中提到了 google_search 和 read_page,因为那是参考配置。如果你为子代理配置了不同的工具集,请更新该描述以匹配实际工具——这句话是告诉主模型其子代理实际能做什么的关键。

验证模式

验证模式(参见 Highlights)为可选启用,默认关闭。通过在 chat_template_kwargs 中传入 verification 参数即可按请求启用;启用后,chat template 会在系统消息末尾追加验证协议触发词。

  • OpenAI Python 客户端(通过 extra_body):

    from openai import OpenAI
    
    client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
    
    response = client.chat.completions.create(
        model="InternScience/Sage-A1.5-FP8",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Find the population of Beijing and cross-check it."},
        ],
        tools=TOOLS,
        extra_body={"chat_template_kwargs": {"verification": True}},
    )
    
    message = response.choices[0].message
    print(message.reasoning_content)  # 自审过程发生在思维链内部
    print(message.content)
  • curl:

    curl http://localhost:8000/v1/chat/completions \
      -H 'Content-Type: application/json' \
      -d '{
        "model": "InternScience/Sage-A1.5-FP8",
        "messages": [
          {"role": "system", "content": "You are a helpful assistant."},
          {"role": "user", "content": "Find the population of Shanghai and cross-check it."}
        ],
        "chat_template_kwargs": {"verification": true}
      }'

注意事项:

  • 必须提供非空系统消息。由于触发词会追加在系统内容末尾,若请求中 verification: true 但缺少系统消息(或系统消息仅为空白字符),将返回 HTTP 400 错误。
  • 请传入 JSON 布尔值,而非字符串:{"verification": true},而非 {"verification": "true"}。
  • 省略 chat_template_kwargs 等同于 {"verification": false},此时提示词保持不变。
  • 验证模式独立于工具调用——无论是否使用 tools 均可正常工作。
  • 自审结果以 reasoning 内容的形式输出,因此在读取 content 的同时也应读取 reasoning_content。

推荐采样参数

为获得最佳生成质量,我们推荐以下采样参数:

  • temperature: 1.0
  • top_p: 0.95
  • top_k: 20
  • min_p: 0.0
  • presence_penalty: 1.5
  • repetition_penalty: 1.0

智能体能力评估

为社区提供统一的智能体评估代码库以便公平比较,我们还开源了一个评估框架,用于衡量智能体模型在工具调用和多步推理等核心能力上的表现。 评估代码包含在本仓库的 Sage-A1/evaluation 中。

我们使用该框架在标准化且可复现的设置下对已发布的模型进行评估。 具体而言,模型在一系列面向智能体的任务上进行测试,这些任务要求其理解用户目标、分解复杂指令、在必要时与工具或环境交互,并生成最终结果。 Model Card 中报告的评估结果均由上述开源框架生成,以便用户可以复现实验、在同一协议下比较其他模型,并进一步扩展基准测试以覆盖新的智能体场景。 (注意: 为确保公平比较,我们直接引用其原始技术报告中报告的基准结果。若某模型未报告对应的基准结果,则使用与我们模型相同的评估协议对其进行评估。)

有关详细的评估脚本、任务定义、指标及复现说明,请参阅评估代码库。

引用

如果您认为我们的工作有所帮助,欢迎引用。

@misc{lou2026sagea15longhorizonexecutionscientific,
      title={Sage-A1.5: From Long-Horizon Execution to Scientific Exploration with Capability Composition}, 
      author={Sage-A1.5 Team},
      year={2026},
      eprint={2610.28578},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2610.28578}, 
}