microsoft/FastContext-1.0-4B-SFT

Hugging Face Models Trending 模型

摘要

微软发布了 FastContext-1.0,这是一个轻量级的仓库探索子代理,用于LLM编码代理,可将主代理的token消耗降低高达60%,同时将解决率提高高达5.5%。

任务: text-generation 标签: transformers, safetensors, qwen3, text-generation, Explorer SubAgent, Repository Exploration, conversational, en, license:mit, text-generation-inference, endpoints_compatible, region:us
查看原文
查看缓存全文

缓存时间: 2026/06/15 20:59

microsoft/FastContext-1.0-4B-SFT · Hugging Face 来源:https://huggingface.co/microsoft/FastContext-1.0-4B-SFT

1. 模型介绍

FastContext-1.0 是一个轻量级的代码库探索子代理,专为 LLM 编码代理设计。与让单个模型同时探索代码库并解决问题不同,FastContext 将这两个角色分离:它由主编码代理按需调用,发出并行的只读工具调用(READ、GLOB、GREP),并返回紧凑的文件路径和行号范围作为聚焦的上下文。

代码库探索是现代编码代理的主要瓶颈——定位相关代码消耗了很大一部分 token 预算,并且用不相关的片段污染了求解器的上下文。在我们对 GPT-5.4 轨迹的分析中,读取和搜索占所有工具调用轮次的 56.2%,占主代理总 token 的 46.5%。FastContext 将这项工作转移到一个专用的子代理中,使主代理接收到干净、有根据的证据,而不是探索性读取和搜索的长轨迹。

该模型系列涵盖 4B–30B 参数,通过监督微调(SFT)从强大的参考模型轨迹中引导,并通过基于任务的强化学习(RL)进行优化,以实现广泛的首次搜索、多轮证据收集和精确的引用生成。

  • 骨干网络: Qwen3-4B-Instruct(4B 探索器)和 Qwen3-Coder-30B-A3B(30B 探索器)
  • 变体: FC-4B-SFTFC-4B-RL(部署目标),FC-30B-SFT(缩放参考)
  • 上下文长度: 最多 262K token
  • 论文: FastContext: Training Efficient Repository Explorer for Coding Agents
  • 代码与数据: https://github.com/microsoft/fastcontext

工作原理

Coding Agent ──query──▶ FastContext ──read/search──▶ Repository
     ▲                                                   │
     └───────────── file-line citations ◄────────────────┘

内部来说,FastContext 运行一个探索循环:

  1. 查询理解——将问题转化为搜索意图。
  2. 并行工具调用——在单轮中发出多个 READ / GLOB / GREP 调用,以覆盖互补的假设。
  3. 基于观测的优化——使用工具输出引导下一轮搜索。
  4. 最终引用——返回一个紧凑的`文件路径和行号范围的代码块。

2. 评估结果

端到端性能(Mini-SWE-Agent)

将 FastContext 集成到 Mini-SWE-Agent 中,可将端到端解决率提升高达 5.5%,同时主代理的 token 消耗降低高达 60%,且仅引入极小的开销。分数、token 和轮次在主代理轨迹上测量;增量是相对于同一主代理的“无探索”基线。

主代理子代理SWE-bench MultilingualSWE-bench ProSWE-QA
GPT-5.4无探索71.7 / 457k46.0 / 818k81.3 / 418k
FC-30B-SFT75.0 (↑3.3) / 356k (↓22.1%)49.0 (↑3.0) / 688k (↓15.9%)82.0 (↑0.7) / 206k (↓50.7%)
FC-4B-SFT73.3 (↑1.6) / 364k (↓20.4%)47.0 (↑1.0) / 689k (↓15.8%)81.9 (↑0.6) / 213k (↓49.0%)
FC-4B-RL74.7 (↑3.0) / 338k (↓26.0%)48.5 (↑2.5) / 701k (↓14.3%)82.0 (↑0.7) / 210k (↓49.8%)
GLM-5.1无探索72.3 / 2514k17.5 / 2692k72.7 / 401k
FC-30B-SFT73.7 (↑1.4) / 1797k (↓28.5%)20.0 (↑2.5) / 2370k (↓12.0%)73.3 (↑0.6) / 292k (↓27.2%)
FC-4B-SFT73.3 (↑1.0) / 1919k (↓23.7%)18.0 (↑0.5) / 2279k (↓15.3%)73.4 (↑0.7) / 306k (↓23.7%)
FC-4B-RL73.7 (↑1.4) / 1971k (↓21.6%)22.5 (↑5.0) / 2210k (↓17.9%)73.5 (↑0.8) / 302k (↓24.7%)
Kimi-K2.6无探索76.3 / 1553k31.0 / 2383k71.6 / 510k
FC-30B-SFT76.7 (↑0.4) / 1360k (↓12.4%)33.0 (↑2.0) / 2150k (↓9.8%)72.8 (↑1.2) / 373k (↓26.9%)
FC-4B-SFT75.3 (↓1.0) / 1306k (↓15.9%)32.5 (↑1.5) / 2159k (↓9.4%)72.6 (↑1.0) / 402k (↓21.2%)
FC-4B-RL78.3 (↑2.0) / 1384k (↓10.9%)33.5 (↑2.5) / 2158k (↓9.4%)72.6 (↑1.0) / 378k (↓25.9%)

每个单元格显示分数/token。每个主代理块的最佳结果以粗体显示。

亮点:

  • FastContext 提高了每个主代理和基准的端到端准确率;最大的提升出现在 SWE-bench Pro 上(例如 GPT-5.4 +5.5,GLM-5.1 +5.0)。
  • 最大的 token 节省达到 60.3%(GPT-5.4 在 SWE-QA 上)。
  • 紧凑的 4B-RL 探索器可以超越更大的 30B-SFT 探索器——例如在 GLM-5.1 SWE-bench Pro 上达到 22.5 对 20.0,同时使用更少的 token。

3. 快速开始

使用兼容 OpenAI 的服务器(例如 SGLang)启动模型。以下示例提供 4B 探索器:

python3 -m sglang.launch_server \
    --model-path FastContext-1.0-4B-SFT \
    --tool-call-parser qwen \
    --context-length 262144 \
    --trust-remote-code \
    --dtype bfloat16 \
    --host 0.0.0.0 \
    --port 30000 \
    --tp-size 1 \
    --mem-fraction-static 0.8

FastContext 仅向模型暴露三个只读工具:

工具用途
READ返回带行号的文件内容
GLOB通过 glob 模式发现路径
GREP对代码库文本进行正则搜索(类似 ripgrep 风格)

在每一轮中,探索器要么发出一个或多个(并行)工具调用,要么以一个最终的证据列表停止。

将 FastContext 作为探索子代理接入编码代理(例如 Mini-SWE-Agent),主代理可以按需调用它。

4. 训练配方

FastContext 分两个阶段进行训练:

  • 监督微调(SFT): 探索轨迹分为三个来源,与子代理的运行时行为相匹配——parallel_toolcalls(广泛的首次搜索)、multiturn_traj(多轮证据收集)和 linerange(精确的引用生成)。
  • 强化学习(RL): 模型作为实际的子代理进行部署,并使用 GRPO 进行优化,奖励函数结合了文件和行级别的 F1、对受限并行探索的奖励以及格式惩罚。

许可证

本项目采用 MIT 许可证。

相似文章