微软开源FastContext:4B小模型专管找代码,Coding Agent Token直降60%、修复率升5.5%
一句话讲清楚👉🏻
微软提出 FastContext ,把仓库探索从主 Agent 解耦为按需调用的 4B–30B 专用 subagent ,并行搜索后只返回文件路径与行号,接入 Mini-SWE-Agent 后端到端修复率最高提升 5.5%,主模型 Token 消耗最高减少 60%。
论文标题:
FastContext: Training Efficient Repository Explorer for Coding Agents
论文链接:
https://arxiv.org/abs/2606.14066
Github 链接:
https://github.com/microsoft/fastcontext
46% 的 Token ,花在「找代码」上
Claude Code 、 Codex 、 Cursor 这类 Coding Agent 已经能修 Bug 、答仓库级问题,但有一个隐性成本长期被低估:在动手改代码之前, Agent 要花大量 Token 在仓库里「迷路」。
微软与上海交通大学联合团队对 GPT-5.4-high 在 SWE-bench Multilingual 上的 300 条完整轨迹做了拆解,数字相当刺眼:
- 读取(Read)+ 搜索(Search)合计占全部 tool-use 轮次的 56.2%(平均 9.96 / 17.72 轮)
- 两类操作消耗主 Agent 总 Token 的 46.5%
- 在 284 条可识别首次编辑的轨迹中,Agent 平均要到第 8.47 轮才开始改代码
- 即便开启并行 tool call,中位轨迹在首次编辑前仍需 6 轮顺序探索、15.5 次探索性 tool call
更麻烦的是,探索与解题共用同一个主模型。每次 grep、每次读文件的内容都会堆进 solver 的对话历史。搜偏了、读多了,后面几轮都在噪声 context 里纠偏,Token 账单和失败率一起涨。
FastContext 是什么?
FastContext 是一个按需调用的仓库探索 subagent,与主 Agent(main agent)职责分离:
| 角色 | 职责 |
|---|---|
| Main Agent | 理解 issue、复现、编辑、测试、提交 patch |
| FastContext | 只负责在仓库里搜索,返回精简的「文件路径 + 行号范围」 |
主 Agent 通过命令行调用:
1 | fastcontext -q "find S3 certificate download logic" --format concise |
FastContext 在独立对话里完成多轮探索,只把最终证据块回传给主 Agent——中间的 tool 观测、推理过程不会污染主 Agent 的 context。
三个只读工具,语言无关
FastContext 刻意保持极简,只暴露三个与编程语言无关的只读工具:
- Read:带行号的文件内容读取,支持 offset/limit
- Glob:路径模式匹配(如
**/*.py) - Grep:基于 ripgrep 的正则搜索
输出契约:<final_answer> 块,严格约束输出格式为文件路径+行号范围,主 Agent 拿到的是可直接消费的「定位摘要」。
怎么训练一个「找代码专家」?
FastContext 背后是一组 4B–30B 参数的专用探索模型(基于 Qwen3-4B-Instruct 与 Qwen3-Coder-30B),训练分两阶段:
阶段一:SFT,从 Sonnet 4.6 轨迹蒸馏
团队从 Sonnet 4.6 的探索轨迹中筛选出 2,954 条 SFT 样本,按运行时行为拆成三类:parallel_toolcalls(首轮广搜)、multiturn_traj(多轮证据收集)、linerange(精确引用)。
阶段二:RL,用 patch 位置当奖励信号
用 400 条带 reference patch 的 prompt 做 task-grounded RL,从 reference patch 解析目标 file-line 范围作为 label,Reward 由三部分组成:
- Task outcome:预测引用与 patch 诱导目标的 file-level / line-level F1 之和
- 并行 bonus:单轮并行 tool call 数在 3–6 之间给小 bonus
- 惩罚:空输出、过长引用、格式错误或 fan-out 过大
实验结果
端到端表现(GPT-5.4 核心结果):
| Benchmark | 最佳 Subagent | Score 变化 | Token 变化 |
|---|---|---|---|
| SWE-bench Multilingual | FC-30B-SFT | 71.7→75.0 (+3.3) | 457k→356k (-22.1%) |
| SWE-bench Pro | GPT-5.4 同模型 | 46.0→51.5 (+5.5) | 818k→703k (-14.1%) |
| SWE-QA | GPT-5.4 同模型 | 81.3→81.4 (+0.1) | 418k→166k (-60.3%) |
几个值得单独拎出来的点:
- SWE-bench Pro 涨幅最大:GPT-5.4 从 46.0 拉到 51.5,+5.5 个百分点
- SWE-QA Token 省得最狠:GPT-5.4 从 418k 降到 166k,60.3% 的削减
- 4B-RL 经常打平或超过 30B-SFT:GLM-5.1 + FC-4B-RL 在 SWE-bench Pro 上 22.5 vs 30B-SFT 的 20.0
独立探索质量:
- FC-30B-SFT:file-level F1 73.71,module-level F1 60.35
- 最佳非 FastContext 基线(CodeScout-14B):68.57 / 50.88
- FC-4B-RL:71.48 / 56.26,4B 体量已接近 frontier 模型探索器
成本账:4B 本地部署,主模型 API 费省 $69
300 个任务中主 Agent 共调用 4B-RL explorer 162 次,explorer 成本仅占增强后总成本的 2.1%。
小结
FastContext 给 Coding Agent 领域提供了一个清晰命题:仓库探索值得被当作一等公民模块单独训练和评估,而不是隐式消耗在主 Agent 轨迹里。
核心数字再汇总一次:
- 读取+搜索占主 Agent 46.5% Token、56.2% tool 轮次
- 接入后修复率最高 +5.5%,主模型 Token 最高 -60.3%
- 4B-RL explorer 本地部署,300 任务 API 成本净省 $69
- 独立探索 file-level F1 73.71(30B-SFT),4B-RL 达 71.48
代码与数据已开源:https://github.com/microsoft/fastcontext
本文转载自微信公众号「Hyman的杂货铺」,原文有删改。
- 标题: 微软开源FastContext:4B小模型专管找代码,Coding Agent Token直降60%、修复率升5.5%
- 作者: hermes/ds v4 flash
- 创建于 : 2026-07-24 03:29:02
- 更新于 : 2026-07-24 03:29:02
- 链接: https://blog.lxiol.cn/2026/07/24/fastcontext-microsoft-coding-agent/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。