AI辅助代码修复:通过 MCP连接到 Perforce静态分析与AI工具

创提信息
2026/09/04

分享到

转载自Perforce Software


静态分析一直在发现缺陷、漏洞和合规违规方面表现出色。不过,在AI辅助代码修复之前,开发者仍然需要自己研究根本原因、设计修复方案,并手动验证修复是否符合相关要求。


全新的内置AI辅助代码修复功能加快了这一流程。Perforce静态分析(如Perforce QAC和Klocwork)中的集成AI助手不仅会标记问题,还会利用深度上下文数据分析缺陷,并建议一个精确且符合规范的修复方案,供开发人员审核和批准,然后AI就可以自动应用修复。


该功能的核心是Perforce静态分析MCP服务器,它允许任何兼容MCP的主机连接到您的Perforce工具,并利用其自身配置的大型语言模型(LLM)实施修复。由此形成了一种灵活的工作流,能够适应开发人员当前的工作环境,而非强迫他们使用单一的专有界面。


在本篇博客中,我们将讲解MCP服务器的运作原理,详细介绍MCP主机的主要类型,并探讨您现在可以连接的具体AI工具。


Perforce静态分析MCP服务器的工作原理

模型上下文协议(MCP)是一种开放标准,用于支持AI系统访问和使用外部工具及数据。Perforce静态分析MCP服务器是部署在您的Perforce静态分析工具前端的组件,使任何兼容MCP的客户端都能访问这些工具。


在当前的实际部署中,每位开发人员都在自己的环境中运行一个MCP服务器。他们的 IDE(例如 VS Code)原生支持MCP。开发人员打开IDE配置,添加一个MCP服务器条目,并将该配置指向Perforce静态分析MCP服务器。从那时起,通过IDE运行的LLM就可以与Perforce静态分析工具集直接通信。


static-analysis-assisted-code-remedation.jpg

流程如下:

1. 您在集成开发环境(IDE)中编写和分析代码,并根据需要运行增量分析,以便尽早发现缺陷、编码规范违规和安全漏洞。

2. 根据静态分析结果,您确定了一个需要修复的潜在缺陷,并请求大型语言模型(LLM)提供协助。

3. LLM 会请求关于所选缺陷的所有可用信息,包括通过 MCP 获取的深度上下文数据。

4. 该 LLM 会根据数据提出修复方案,该方案会显示在 AI 聊天界面中——如果安装了相应的插件,还可以直接在您的 IDE 的 diff 窗口中提供修复建议。

5. 一旦提出修复方案,系统会立即进行自动重新分析。随后,您可根据重新分析的结果,对该建议进行审核,并在确认可接受后予以批准。由于有人参与的审核,质量和合规性得以保持。


关键点在于MCP服务器并不限定所使用的AI模型。您只需提供主机已配置好的大型语言模型(LLM),这一设计为AI辅助代码修复提供了更大的灵活性。


为什么灵活性在人工智能辅助的代码修复中至关重要

即使在同一个组织内部,开发团队也不是完全统一的。比如,一个工程师可能整天待在 VS Code 里,而另一个则完全依赖终端。如果修复工具只能在某个工具的聊天窗口内使用,就会迫使这些团队改变自己的习惯(或者干脆放弃使用该功能)。


通过使用 MCP Server 提供的 AI 辅助代码修复功能,您可以避免这些问题。其优势众多:

使用您已经信赖的工具。由于 MCP 服务器采用标准协议,因此可与任何兼容 MCP 的主机无缝对接。您无需放弃自己惯用的 IDE 或编辑器。

请选择适合您的LLM。对安全或预算有严格要求的团队可以将工作流指向本地模型,而更重视模型性能的团队则可以使用领先的云端模型。选择权在您手中。

避免供应商锁定。随着 AI 领域快速变化,你可以在不重构分析工作流程的情况下更换模型或主机。

将合规性置于核心位置。无论您连接的是哪台主机或哪种模型,每项修复都会根据您配置的编码标准进行核查,从 MISRA 和 CERT 到您自己的内部规则。


这种灵活性是一个巨大的优势,它使人工智能辅助的代码修复能够适应工程团队,而不是要求团队为了适应单一工具而改变自身。


3种可连接的MCP兼容主机

任何兼容 MCP 的主机均可加载 Perforce 静态分析 MCP 服务器,从而使其 AI 模型能够访问 Perforce 静态分析工具。实际上,这些主机主要分为三类。


1. AI 聊天/助手界面

AI 聊天界面(如 Claude.ai 和 Claude Desktop)可连接至 MCP 服务器,并获取生成准确修复建议所需的上下文数据和文档。这种交互模式适合希望使用自然语言查询检测结果的开发人员。开发人员可以在单次对话会话中,要求助手解释特定的 MISRA 违规项、请求修正后的代码片段,并在应用建议的更改之前对其进行审查。


2. 支持 AI 的集成开发环境(IDE)和代码编辑器

支持人工智能的开发环境(包括Claude Code以及集成GitHub Copilot的Visual Studio Code)是修复工作最直接的入口。这些平台会连接到MCP服务器,并在代码行内直接显示修复建议,因此,在这些环境中工作的开发人员无需切换上下文,即可收到违规检测结果、通俗易懂的解释以及经过验证的修复建议。Perforce静态分析MCP服务器提供数据;IDE的人工智能模型则负责应用这些数据。


3. 智能体和自动化框架

LangChain、AutoGen 以及自定义智能体运行时等智能体框架代表了主机谱系中自动化程度最高的一端。这些主机无需等待开发人员发起查询,而是能够自主协调多步骤工作流,连接多个 MCP 服务器以收集上下文信息并据此采取行动。


对于采用静态分析方法的团队而言,这有助于实现修复流程的自动化。一个智能体可以从 Perforce 静态分析 MCP 服务器检索分析结果,使用配置好的大型语言模型(LLM)生成修复方案,运行验证检查,并准备供人工审查的拉取请求——所有这些操作均无需在每个步骤中进行人工干预。


您今天就可以使用的具体AI工具

在MCP与Perforce静态分析的兼容性方面,可选方案众多。以下列举了几个目前常用的工具示例。


Claude Code

Claude Code 是目前最受欢迎且功能最强大的选择之一,它支持在后端运行的插件。这是一个以终端为先的环境,因此与图形化 IDE 相比存在一些细微的差异。由于终端不会自动显示诸如差异分析窗口之类的元素,您可能需要明确提示 Claude Code,才能显示 IDE 默认会显示的相同信息。对于希望获得精美图形化界面体验的开发者,有一款适用于 VS Code 的 Claude Code 插件,可将该体验引入 IDE 之中。


Cursor

Cursor 是一款以 AI 为核心的代码编辑器,其设计围绕模型辅助开发展开。作为一款兼容 MCP 的主机,它能够连接到 Perforce 静态分析 MCP 服务器,并根据其配置的模型应用修复措施,因此对于已经采用 AI 核心编辑器的团队而言,它是一个极佳的选择。


Ollama 与本地大型语言模型

Ollama允许您在本地网络中的专用机器上运行模型。您只需下载模型副本并在本地运行,这意味着无需为使用远程服务支付按令牌计费的费用。这是实现完全本地化大型语言模型的一条途径,但并非唯一途径:多家平台都支持本地执行,且有数百种模型可供选择,包括阿里巴巴的Qwen等选项。对于无法将源代码发送给外部服务、且对隐私要求较高的团队而言,这是一个可行的选择。任何兼容MCP的主机——无论其使用基于云的LLM,还是通过Ollama运行的本地模型,均可连接到Perforce静态分析MCP服务器。


将人工智能辅助的代码修复功能融入您的工作流程

Perforce 静态分析 AI 辅助代码修复功能的优势在于,它并不依赖于任何单一的编辑器或模型。您可以将其连接到团队现有的 IDE、聊天客户端或 AI 插件,并搭配符合您安全与预算要求的 LLM,而每条修复建议仍将遵循 Perforce 静态分析工具(Perforce QAC 和 Perforce Klocwork)所采用严格的分析和合规标准。


这种灵活性让您能够按照自己的方式采用AI:及早发现问题、更快地解决问题,并确保人工在整个过程中始终参与其中。


欢迎申请Perforce静态分析的免费试用,了解人工智能辅助的代码修复在您的环境中如何运作,从而加速您迈向安全、可靠且符合规范的代码之路。