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靜態分析的免費試用,瞭解人工智慧輔助的程式碼修復在您的環境中如何運作,從而加速您邁向安全、可靠且符合規範的程式碼之路