从每个token中获取更多价值:Copilot如何改进上下文处理与模型路由

GitHub Blog 2026-06-22T09:36:19.520887

从每个token中获取更多价值:Copilot如何改进上下文处理与模型路由

随着Copilot承担更多代理性工作——从规划、编辑到调试、审查以及在更长会话中调用工具——效率不再仅仅是使用更少的token。它意味着更聪明地使用它们。

提高效率的首要任务是减少Copilot在每次轮次中需要重复的内容,包括上下文、工具定义和缓存状态。其次是为任务选择合适的模型。快速解释、聚焦编辑和复杂的多文件变更,不应以相同方式处理。

我们正在两方面同时推进:改进Copilot的底层框架(harness),使每次会话中更多资源用于任务本身;以及扩展Auto功能,让Copilot能够自主选择适合工作的模型,而无需开发者在每次操作中都做出选择。本文重点介绍GitHub Copilot for VS Code中的框架改进,以及正在进行的将Auto扩展到更多Copilot界面上的工作。

在VS Code中进行较长的GitHub Copilot会话时,框架会为模型准备大量重复信息:指令、仓库上下文、对话历史、可用工具以及任务的当前状态。其中一些上下文是必需的。另一些可以被缓存、延迟加载,或者仅在相关时才加载。

GitHub Copilot for VS Code中的两项改进承担了大部分工作。Prompt caching(提示缓存)帮助Copilot复用模型的重复提示前缀状态,而无需在每个请求上重新计算相同的前缀。Tool search(工具搜索)允许模型按需加载工具定义,而不是在每次轮次中将所有完整工具schema都发送到上下文中。

随着代理使用更多工具,这一点变得尤为重要。一次会话可能需要访问MCP工具、终端命令、文件操作、工作区搜索以及特定产品的操作。每次轮次都预先加载所有完整工具定义会增加固定成本,即使只有少数工具与任务相关。借助工具搜索,Copilot可以保持可用工具集的广泛性,同时减少向模型发送不必要的工具schema。

有关实现的技术细节,包括提示缓存、缓存控制断点、特定提供商的工具搜索,以及这些更改如何在长时间运行的代理会话中工作,请阅读VS Code技术深度解析

Auto回答了一个实际问题:当前哪个模型最适合这个任务?

在您发出第一个提示后,Copilot会根据任务意图和当前模型健康状况,选择最适合该任务的模型。不同类型的工作,如快速解释、聚焦编辑或多文件变更,并非都能从同一水平的推理中受益,因此Auto会做出判断,而无需您调整模型设置。

在我们的评估中,没有单一模型在所有任务上始终表现最佳。在许多情况下,更高效的模型可以达到相同的结果,而更强的模型在任务需要更深层次推理时才至关重要。Auto会学习在哪些情况下更强的推理能改善结果。当任务需要时,它会向上路由;当不需要时,它会保持更高效。目标不是用质量换成本,而是选择最适合工作的模型。

Auto结合了两种信号:当前哪个模型健康且可用,以及Copilot被要求执行何种工作。

综合这些信号,Auto避免了千篇一律的方案。关键不是把所有任务都交给最大的模型,也不是把所有任务都交给最便宜的模型,而是选择适合工作的模型。

在评估中做到正确的路由只是问题的一部分。为了让Auto在实际工作流中发挥作用,我们还必须考虑开发者实际使用Copilot的方式:对话越来越长,上下文逐渐累积,任务发生切换,开发者使用多种语言工作。

缓存感知路由(Cache-aware routing)。每次轮次都切换模型听起来很灵活,但可能反而降低效率。当对话停留在同一个模型上时,提示前缀可以被缓存并在轮次间复用。在对话中途切换模型会打破缓存,这可能比路由变更节省的成本更高。Auto通过在自然缓存边界处进行路由来避免这种情况:在首次轮次(没有缓存可丢失时),以及在压缩后(当Copilot总结较旧的轮次并且提示前缀重置时)。在这些点之间,所选模型保持不变,以便缓存可以持续构建。

跨语言路由。Copilot服务于全球开发者,因此路由必须支持英语以外的语言。我们在涵盖16个语系(包括中日韩、欧洲语系等)的对话上训练了路由模型。在评估中,各语系的路由准确率与英语基线相差在4个百分点以内,且没有统计上显著的质量差距。

学习何时升级模型。我们没有简单地将任务标记为“简单”或“困难”,而是训练路由器学习模型实际产生差异的地方。对于每个训练查询,来自较不擅长模型和较擅长模型的响应会在多个质量维度上进行评分。路由器会学习何时更强的模型能增加价值,以及何时更高效的模型能产生同样好的结果。对于较长的代理会话中依赖上下文的消息,路由器会在完整的多轮对话(包括原始用户意图、最近的助手响应和对话元数据)上进行训练。

带有任务意图的Auto已在Visual Studio Code、github.com和移动端上线。它让Copilot能更清楚地了解您正在执行的工作类型——无论是编码、调试、规划还是使用工具——从而为任务做出更好的模型选择。

我们正在继续将这种体验扩展到Copilot更多界面。接下来,我们将把带有任务意图的Auto带到更多场景,并为团队增加更多将Auto设为默认选项的方式。

Copilot默认变得更高效,但一些习惯可以帮助您的积分用得更久。

完整指南请参阅如何更好地利用AI积分

Auto模型选择现已适用于支持的Copilot体验。要了解更多信息,请参阅Auto模型选择文档。您也可以在Copilot讨论区分享反馈。

我们正在持续提升Copilot在整个系统中的效率,使您的更多积分用于有用的工作,而无需您亲自调整每个模型选择。

查看原文