【譯】讓性能民主化:Copilot Profiler Agent 在實(shí)際代碼中的應(yīng)用
我們很高興地宣布,Copilot Profiler Agent 已在 Visual Studio 2026 Insider 中推出,它是一款直接內(nèi)置在 Visual Studio 中的人工智能性能助手。無需再盯著沒完沒了的調(diào)用樹或一長(zhǎng)串令人費(fèi)解的數(shù)字,疑惑著“我該從哪里開始呢?”—— Copilot Profiler Agent 將改變這一狀況。
您現(xiàn)在得到的不是原始數(shù)據(jù),而是一個(gè)人工智能伙伴,它不僅能指出真正的瓶頸,還能解釋正在發(fā)生的情況、提出修復(fù)建議、編寫基準(zhǔn)測(cè)試,甚至能在一個(gè)流暢、有引導(dǎo)性的循環(huán)中驗(yàn)證改進(jìn)效果。
這就好比有一位性能工程師坐在您身旁,而且還不用起身去買咖啡。從今天起,借助 GitHub Copilot 的強(qiáng)大功能,它已在最新版的 Visual Studio 中準(zhǔn)備就緒,隨時(shí)可以投入使用。現(xiàn)在就下載 Visual Studio 2026 Insider 吧。

來認(rèn)識(shí)一下 Copilot Profiler Agent
Profiler Agent 是 Visual Studio 中首款此類 AI 助手,旨在與 GitHub Copilot 無縫協(xié)作。
它能為您帶來以下功能:
- 分析 CPU 使用率、內(nèi)存分配和運(yùn)行時(shí)行為
- 找出代碼中最耗費(fèi)資源的瓶頸
- 生成新的 BenchmarkDotNet 基準(zhǔn)測(cè)試(或優(yōu)化現(xiàn)有測(cè)試)
- 提出可立即應(yīng)用的切實(shí)可行的性能改進(jìn)建議
- 通過前后指標(biāo)驗(yàn)證修復(fù)效果,全程在流暢的引導(dǎo)循環(huán)中進(jìn)行
最棒的是,使用起來就像在 Copilot Chat 中提問一樣簡(jiǎn)單。您可以:
- 直接標(biāo)記它:@profiler 我的應(yīng)用為什么很慢?
- 或者在 Copilot Agent 模式下用通俗的語言提問:“為什么我的幀率下降了?”
(只需確保在 Copilot Chat 工具菜單中啟用了 Profiler Agent。)
現(xiàn)在,讓我們來看看它的實(shí)際應(yīng)用。在下面的演示中,您會(huì)看到我讓智能體針對(duì) SharpZipLib 中一個(gè)現(xiàn)有的基準(zhǔn)測(cè)試進(jìn)行優(yōu)化。從那時(shí)起,它便處理了所有事情:運(yùn)行基準(zhǔn)測(cè)試、指導(dǎo)我完成各項(xiàng)更改、應(yīng)用有針對(duì)性的性能修復(fù),以及通過重新運(yùn)行基準(zhǔn)測(cè)試來驗(yàn)證結(jié)果。最終,僅通過一個(gè)提示就實(shí)現(xiàn)了顯著的性能提升。

真實(shí)的代碼,真實(shí)的影響
當(dāng)我們著手構(gòu)建 Copilot Profiler Agent 時(shí),我們確定了一件事:在一個(gè)“hello world”應(yīng)用上展示它根本證明不了什么。真正的開發(fā)者不會(huì)在玩具代碼上遇到困難。真正的考驗(yàn)在于它能否處理混亂、性能要求高且達(dá)到生產(chǎn)級(jí)別的項(xiàng)目。
因此,我們目標(biāo)遠(yuǎn)大:讓 Profiler Agent 瞄準(zhǔn) 100 個(gè)使用最廣泛的開源庫(kù)和應(yīng)用程序 —— 這類代碼為您可能每天都在使用的框架、服務(wù)和應(yīng)用程序提供支持。
結(jié)果遠(yuǎn)遠(yuǎn)超出了我們的預(yù)期。Profiler Agent 能夠:
- 發(fā)現(xiàn)您自己無法察覺的隱藏瓶頸
- 提出切實(shí)可行、可操作的修復(fù)方案
- 自動(dòng)生成基準(zhǔn)測(cè)試以驗(yàn)證改進(jìn)效果
- 將見解轉(zhuǎn)化為實(shí)際項(xiàng)目中的真實(shí)拉取請(qǐng)求
我們已經(jīng)向 CSVHelper、NLog、Serilog 等項(xiàng)目提交了拉取請(qǐng)求,這些都是由 Profiler Agent 的見解所驅(qū)動(dòng)的。
而社區(qū)的反饋已經(jīng)說明了一切:
“看了那個(gè) YouTube 視頻,簡(jiǎn)直太神奇了。令人驚嘆的是,它竟然能夠識(shí)別出多個(gè)表達(dá)式編譯可以合并成一個(gè)表達(dá)式編譯。”—— NLog維護(hù)者
我們很快將發(fā)布詳細(xì)的案例研究,逐步詳細(xì)介紹 Profiler Agent 是如何處理這些項(xiàng)目的。
也不僅僅是開源軟件。我們推出 Profiler Agent,供微軟各團(tuán)隊(duì)內(nèi)部試用,其結(jié)果同樣令人大開眼界。
以下是一位首席工程師的經(jīng)歷:
“我有一個(gè)類,它包裝了一個(gè)字典,并提供了有限的一組操作。我想讓這個(gè)類支持 foreach 循環(huán),所以我添加了 IEnumerable<TKey, TValue> 接口,但與直接迭代內(nèi)部字典相比,這導(dǎo)致了內(nèi)存使用量和執(zhí)行時(shí)間的大幅增加。在與 Profiler Agent 進(jìn)行了幾次提示詞迭代后,它讓我意識(shí)到 —— 我根本不需要 IEnumerable 接口,只需暴露一個(gè)轉(zhuǎn)發(fā)到內(nèi)部字典的 GetEnumerator 方法就可以了。”
接下來會(huì)是什么
這僅僅是個(gè)開始。Profiler Agent 目前支持高 CPU 使用率分析、.NET 對(duì)象分配和內(nèi)存使用分析,更多功能即將推出。
我們很期待看到您在自己的工作流程中如何使用它,無論是調(diào)整游戲引擎、優(yōu)化服務(wù),還是僅僅加快緩慢的用戶界面速度。所以請(qǐng)嘗試使用它,可以通過參與簡(jiǎn)短的調(diào)查來分享您的結(jié)果。
關(guān)注 Visual Studio 團(tuán)隊(duì)的 Twitter 賬號(hào) @VS_Debugger、@VisualStudio,以及 YouTube 和 LinkedIn 賬號(hào),與我們保持聯(lián)系。
讓性能分析普及化,每次都能在性能上取得勝利??!
原文鏈接:https://devblogs.microsoft.com/visualstudio/copilot-profiler-agent-visual-studio/

作者:MeteorSeed
我希望您喜歡這篇博文,并一如既往地感謝您閱讀并與朋友和同事分享我的博文。
轉(zhuǎn)載請(qǐng)注明出處。

浙公網(wǎng)安備 33010602011771號(hào)