GoLand 性能分析器现已支持 AI 代理

GoLand 性能分析器现已支持 AI 代理

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

GoLand 2026.3 新增 goland-profiler 技能与 MCP 工具,使 AI 代理(Claude Code、Codex、Junie)可直接调用内置性能分析器。用户只需描述症状,代理便会启动带分析器的应用、选择合适的 profile、读取结果并定位瓶颈代码,无需了解 pprof 细节。支持三种分工:代理全包、用户采集代理分析、用户运行代理采集。限制是仅适用于 GoLand 启动的长期运行服务,且需在设置中启用该技能。

🔎

延伸解读

代理如何选择性能分析类型

代理并非随意采集 profile,而是根据症状选择最窄的捕获方式:CPU 问题会在运行负载时录制或定时采样;同步等待用 block profile,锁竞争用 mutex profile,内存持续增长则对比两次 heap profile。这种按需选择减少了无关数据,也让不熟悉 pprof 的开发者无需记住各类 profile 的适用场景。

三种分工模式的实际意义

文章给出三种协作方式:代理全包适合不知从何下手时;用户采集、代理分析适合已有 profile 但看不懂火焰图时;用户运行、代理采集适合需要先预热或加载生产级数据再采样的场景。这种灵活性让开发者可以按自身熟悉程度决定交出多少控制权,而非全有或全无。

结果可复核,代理结论非黑盒

代理每次采集的 profile 都会存入 profiler 会话和 Recent profiles,与手动采集的完全一样。若想验证代理的结论,可以打开同一份 profile 查看火焰图。代理还被要求区分 profile 显示的事实与自身假设,这降低了盲目信任 AI 判断的风险,但最终仍需开发者自行核实。

适用边界:长期运行且由 GoLand 启动

该功能仅适用于 GoLand 启动的长期运行服务。由于 profiler 在编译时修改可执行文件以暴露分析 API,无法附加到已在运行的进程;短命 CLI 工具也因采样时间不足而难以获得有用数据。此外,目前仅验证了 Claude Code、Codex 和 Junie,其他可连接 MCP 的代理尚未确认。

❓

Q&A

GoLand 2026.3 的 AI 代理性能分析功能支持哪些 AI 代理?

该功能已通过测试的 AI 代理包括 Claude Code、Codex 和 Junie。其他能连接 GoLand MCP 服务器的代理也可能工作,但尚未验证。

AI 代理在 GoLand 中执行性能分析时,具体会做哪些步骤?

代理会:1) 使用你的运行配置启动带分析器的应用(或复用已启动的分析会话),不修改源代码;2) 根据问题选择最合适的 profile 类型(如 CPU、block、mutex、heap 等);3) 读取分析结果摘要(最多 5 个热点函数及其调用路径和热点行),必要时深入获取更多细节;4) 报告主要瓶颈、成本、调用路径和热点行,并建议修复或进一步测量,同时区分事实与假设。

使用 GoLand 的 AI 代理性能分析功能有哪些限制?

主要限制包括:1) 仅适用于通过 GoLand 启动的应用,因为分析器在编译时修改可执行文件,无法附加到已运行的进程;2) 不适合短生命周期程序(如快速结束的 CLI 工具),最适合服务器、worker 等长期运行的服务;3) 目前仅验证了 Claude Code、Codex 和 Junie 三种代理。

如何与 AI 代理分工完成性能分析?

有三种分工方式:1) 代理全包:你描述问题,代理负责启动应用、采集 profile、分析并解释结果;2) 你采集,代理分析:你手动运行分析器并打开 profile,让代理解读;3) 你运行应用,代理采集:你启动应用并使其进入目标状态(如预热后),然后让代理采集所需的 profile。

AI 代理采集的 profile 会保存在哪里?我还能自己查看吗?

代理采集的每个 profile 都会保存在分析器会话和 Go Optimization 工具窗口的 Recent profiles 中,与你手动采集的 profile 一样。你可以打开同一个 profile 查看火焰图,以复核代理的结论。

如何启用 GoLand 的 AI 代理性能分析功能?

更新到 GoLand 2026.3 后,在 Settings | AI | Skills 中确保 goland-profiler 技能已启用。你还可以在那里将其限制到特定项目或关闭。启用后,即可要求代理对你的应用进行性能分析。

🏷️

标签

➡️

继续阅读