软件开发者大部分时间并非在编写代码;最新行业研究发现,实际编程仅占开发者工作时间的16%,其余84%都被运营和支持性任务占用。当工程团队被要求"用更少资源做更多事情",CEO们吹嘘他们的代码库有多少由AI编写时,一个问题仍然存在:如何优化工程师们工作的其余84%的任务?
**让开发者保持在最高效的状态**
影响开发者生产力的主要因素是上下文切换:在构建和交付软件所需的日益增长的工具和平台之间不断跳转。哈佛商业评论研究发现,普通数字工作者每天在应用程序和网站之间切换近1200次。每次中断都很重要。加州大学发现,完全从单次中断中重新获得专注需要约23分钟,有时更糟,因为近30%的被中断任务永远不会被重新开始。上下文切换实际上是DORA这一最受欢迎的软件开发性能框架的核心。
在AI驱动的公司试图让员工用更少资源做更多事情的时代,除了"仅仅"给他们提供大语言模型访问权限外,一些趋势正在涌现。例如,Brex首席工程师Jarrod Ruhland假设"开发者在专注于集成开发环境(IDE)时能交付最高价值"。基于这一想法,他决定寻找新方法来实现这一点,而Anthropic的新协议可能是关键之一。
**MCP:将上下文引入IDE的协议**
编程助手,如由大语言模型驱动的IDE(如Cursor、Copilot和Windsurf),正处于开发者复兴的中心。它们的采用速度前所未有。Cursor成为历史上增长最快的SaaS,在推出12个月内就达到了1亿美元的年度经常性收入,财富500强公司中有70%使用MicrosoftCopilot。
但这些编程助手仅限于代码库上下文,虽然能帮助开发者更快地编写代码,但无法解决上下文切换问题。一个新协议正在解决这个问题:模型上下文协议(MCP)。该协议由Anthropic于2024年11月发布,是一个开放标准,旨在促进AI系统(特别是基于大语言模型的工具)与外部工具和数据源之间的集成。该协议非常受欢迎,在过去6个月中新MCP服务器增长了500%,6月份估计下载量达到700万次。
MCP最具影响力的应用之一是能够将AI编程助手直接连接到开发者每天依赖的工具,简化工作流程并大幅减少上下文切换。
以功能开发为例。传统上,这涉及在多个系统之间跳转:在项目跟踪器中读取工单、查看与团队成员的对话以获得澄清、搜索文档获取API详细信息,最后打开IDE开始编码。每个步骤都在不同的标签页中,需要心理转换,这会拖慢开发者的速度。
有了MCP和现代AI助手如Anthropic的Claude,整个过程可以在编辑器内完成。例如,在编程助手内实现功能的过程变为:
- 使用Linear MCP服务器提取工单详情;
- 使用Slack MCP服务器展示相关对话;
- 使用Glean MCP服务器引入正确的文档;
- 通过询问Cursor为其编写脚手架来编写功能。
同样的原理可以应用于许多其他工程师工作流程,例如SRE的事件响应可能如下:
- 通过Rootly MCP服务器提取事件;
- 通过Sentry MCP服务器检索跟踪数据;
- 通过Chronosphere MCP服务器导入可观察性指标;
- 通过询问Claude Desktop解决导致事件的错误。
**没有什么新鲜事**
我们以前见过这种模式。在过去十年中,Slack通过成为数百个应用程序的中心来改变工作场所生产力,使员工能够在不离开聊天窗口的情况下管理各种任务。Slack的平台减少了日常工作流程中的上下文切换。
例如,Riot Games连接了大约1000个Slack应用程序,工程师看到测试和迭代代码所需时间减少了27%,识别新错误的时间加快了22%,功能发布率提高了24%;这些都归因于简化工作流程和减少工具切换的摩擦。
现在,软件开发中正在发生类似的转变,AI助手及其MCP集成充当连接所有这些外部工具的桥梁。实际上,IDE可能成为工程师的新一体化指挥中心,就像Slack对一般知识工作者一样。
**MCP可能还未企业就绪**
MCP是一个相对新兴的标准,例如,在安全方面,MCP没有内置的身份验证或权限模型,依赖于仍在发展的外部实现。在身份和审计方面也存在模糊性——协议没有清楚地区分动作是由用户还是AI本身触发的,这使得在没有额外自定义解决方案的情况下,问责制和访问控制变得困难。F5 Networks CTO办公室的杰出工程师兼首席布道师Lori MacVittie说,MCP"打破了我们长期持有的核心安全假设"。
另一个实际限制出现在同时使用太多MCP工具或服务器时,例如在编程助手内部。每个MCP服务器都会公布一个工具列表,包括AI模型需要考虑的描述和参数。用数十个可用工具淹没模型可能会压倒其上下文窗口。随着工具数量的增长,性能显著下降,一些IDE集成已经设置了硬限制(Cursor IDE中约40个工具,或OpenAI智能体约20个工具)以防止提示超出模型能处理的范围。
最后,除了列出所有工具外,没有复杂的方式让工具被自动发现或根据上下文建议,因此开发者经常必须手动切换它们或策划哪些工具处于活动状态以保持平稳运行。参考Riot Games安装1000个Slack应用程序的例子,我们可以看到这可能不适合企业使用。
**减少转椅操作,增加软件开发**
过去十年教会我们将工作带给工作者的价值,从传输更新的Slack频道到"收件箱零"电子邮件方法和统一平台工程仪表板。现在,有了AI工具包,我们有机会让开发者更有生产力。如果说Slack成为了商业沟通的中心,那么编程助手很好地定位为软件创建的中心,不仅是编写代码的地方,而且是所有上下文和协作者汇聚的地方。通过保持开发者的流畅状态,我们消除了困扰工程生产力的持续心理换挡。
对于任何依赖软件交付的组织,仔细审视开发者如何度过他们的一天;你可能会对发现的情况感到惊讶。
Q&A
Q1:MCP协议是什么?它能解决什么问题?
A:MCP(模型上下文协议)是Anthropic于2024年11月发布的开放标准,旨在促进AI系统与外部工具和数据源之间的集成。它主要解决开发者在不同工具间频繁切换的问题,让开发者能在IDE内直接访问项目跟踪器、聊天工具、文档等,减少上下文切换。
Q2:开发者为什么需要减少上下文切换?
A:研究发现开发者每天在应用程序和网站之间切换近1200次,每次中断后需要约23分钟才能重新获得专注,而近30%的被中断任务永远不会被重新开始。实际编程仅占开发者工作时间的16%,其余84%被运营和支持性任务占用,减少上下文切换能显著提高生产力。
Q3:MCP协议在企业应用中有什么限制?
A:MCP目前还不够企业就绪,主要限制包括:没有内置的身份验证或权限模型;无法区分动作是由用户还是AI触发,存在安全风险;同时使用太多工具会压倒模型的上下文窗口;缺乏工具的自动发现机制,需要手动管理。