news 2026/10/1 14:20:53

基于开源 Jifa 打造 AI 智能诊断助手:让 Heap Dump、GC 和线程问题交给 AI 分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于开源 Jifa 打造 AI 智能诊断助手:让 Heap Dump、GC 和线程问题交给 AI 分析

基于开源 Jifa 打造 AI 智能诊断助手:让 Heap Dump、GC 和线程问题交给 AI 分析

在 Java 生产环境中,Heap Dump、GC 日志和 Thread Dump 往往是定位问题最重要的证据,但传统分析需要工程师熟悉大量命令、指标和对象引用关系。

我基于开源项目 Eclipse Jifa 做了一套增强:让 Jifa 不仅能够分析文件,还能够通过 MCP 和 AI Agent,帮助用户直接回答“是否存在内存泄漏”“哪个线程被阻塞”“GC 为什么频繁”等生产问题。

欢迎大家体验、提出建议,也欢迎给项目点一个 Star:

GitHub - 01o00o10/jifa-ai-mcp: 🔬 Online Heap Dump, GC Log, Thread Dump & JFR File Analyzer,AI-MCP · GitHub

这次主要改了什么?

首先,将原有 Java 模块从 Gradle 迁移到了 Maven,保留了原项目的分析能力和构建行为,包括 MAT、OSGi、HPROF Hook 以及本地 MAT 依赖装配。

其次,新增了独立的 MCP 模块。MCP 可以动态暴露 Jifa 已注册的 Heap Dump、GC Log、Thread Dump 和 JFR 分析 API,AI 不需要猜测文件内容,而是可以调用真实的分析工具获取证据。

另外,前端新增了悬浮式 AI 诊断助手。用户选择一个分析文件后,可以直接提问;不同文件拥有独立会话,刷新页面后仍可以恢复之前的对话。

当前支持配置 DeepSeek、Qwen 以及其他 OpenAI 兼容模型,并支持运行时修改模型、Base URL、API Key 和 MCP 地址。

它是一个什么样的 AI Agent?

这里不是简单地把用户问题转发给大模型,而是实现了一个面向 Jifa 分析场景的轻量 AI Agent:

```text
用户问题
↓
读取当前文件的 Jifa 初始分析证据
↓
AI Agent 将当前文件类型对应的分析 API 注册为工具
↓
大模型判断下一步是否需要调用工具
↓
MCP / Jifa 执行真实分析
↓
工具结果返回给 Agent
↓
继续分析,或生成最终诊断结论
```

其中,大模型负责推理和决策;Agent 负责上下文管理、工具调用、循环控制、结果汇总和会话保存;Jifa 和 MCP 负责真正执行文件分析。

底层实现原理

1. 先获取事实,再让 AI 推理

当用户选择 Heap Dump 并提问“分析疑似内存泄漏”时,服务端首先调用 Jifa 的分析 API,获取 Leak Suspects、对象占用、引用链等真实数据,然后把这些结果作为证据交给模型。

这样可以避免 AI 仅凭问题描述臆测结论。

2. MCP 将 Jifa 分析能力转换成 AI 工具

MCP 服务启动后,会读取 Jifa 的 `ApiService.supportedApis()`,动态生成工具列表。例如:

```text
heap-dump.overview
heap-dump.histogram
heap-dump.outboundOfObject
gc-log.diagnose
thread-dump.deadlock
```

模型需要更多证据时,Agent 会调用对应工具,MCP 再将参数转换为 Jifa API 所需的 `Path`、枚举和分页参数,最后复用原有分析执行链路。

3. Agent 会控制工具调用循环

实际使用中,模型有时会反复请求同一个工具。为避免无限循环,Agent 做了几层保护:

- 使用“工具名 + 参数”识别重复调用。
- 相同工具和参数只执行一次。
- 单个工具结果和总证据都有大小限制。
- 单次请求最多进行 8 轮工具决策。
- 检测到重复调用或达到预算后,创建一个干净的无工具上下文,强制生成最终诊断。

这也是解决部分 DeepSeek 模型输出 DSML、`data:` 或工具协议文本的关键:最终总结不再复用原来的工具调用轨迹。

4. 会话保存在分析机器

项目没有引入 Redis。AI 会话以 JSON 文件的形式保存在实际执行分析的机器上:

```text
${jifa.storage-path}/ai-sessions/{sessionId}.json
```

在 Master/Worker 模式下,AI 请求会被路由到文件所属 Worker,会话文件和分析缓存保持在同一台分析机器上。前端则使用浏览器 `localStorage` 保存展示记录,因此刷新页面后仍能恢复当前文件的会话。

从 Heap Dump 到最终诊断

以疑似内存泄漏为例,完整链路大致如下:

```text
上传 java_pid.hprof
↓
Jifa 保存文件并建立分析上下文
↓
AI Agent 获取 Leak Suspects / Histogram 初始证据
↓
模型发现 ArrayList 保留大量对象
↓
Agent 调用 outboundOfObject 等引用分析工具
↓
MCP 复用 MAT / OSGi 分析能力
↓
模型综合 retained size、引用链和栈信息
↓
输出:结论、证据、风险等级和处理建议
```

最终结果仍然以 Jifa 分析数据为基础,AI 主要负责把底层分析结果转换成更容易理解、更适合生产排障的结论。

为什么保留 Jifa 原有能力?

Jifa 已经具备成熟的文件分析、缓存、异步任务、Worker 路由和 MAT 集成能力。这次改造没有重新实现 Heap Dump 或 GC 分析器,而是将这些能力通过 MCP 和 Agent 暴露给 AI。

这样做有三个好处:

- 分析结果来自成熟的 Jifa 引擎,而不是模型猜测。
- 新增 Jifa 分析 API 后,可以动态进入 MCP 工具列表。
- Web 页面、MCP 和 AI Agent 共享同一套分析能力。

## 适合哪些场景?

- Java 服务疑似内存泄漏。
- Full GC 频繁或 GC 停顿过长。
- 线程死锁、线程池阻塞和请求堆积。
- CPU 热点、锁竞争和内存分配热点。
- 需要快速阅读 Heap Dump、GC Log、Thread Dump 或 JFR 的场景。

这套能力更适合内网和受控环境。MCP 会限制文件访问根目录,但生产部署仍建议配置访问控制、API Key 管理和网络隔离。

## 写在最后

这次改造的目标不是让 AI 替代 Jifa,而是让 Jifa 的分析能力更容易被使用:工程师可以继续查看原始指标和引用链,也可以直接向 AI 提问,让它帮助整理证据、解释原因和给出排查建议。

如果你对 Java 性能分析、MCP、AI Agent 或 Jifa 的底层实现感兴趣,欢迎访问项目、试用功能、提交 Issue 或 Pull Request。

欢迎 Star、Fork,也欢迎一起把 Java 生产问题诊断做得更简单:

<https://github.com/01o00o10/jifa-ai-mcp>

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 14:20:52

细胞外基质多组分检测取得进展|COL10、COL8a1、COL8a2、FBLN7、MGP、PODN 组合依托 luminex 技术助力基质重塑与纤维化研究

细胞外基质&#xff08;ECM&#xff09;重塑是纤维化、血管病变、骨软骨分化、肿瘤微环境演变的核心事件。COL10、COL8a1、COL8a2、FBLN7、MGP、PODN 均属于重要基质蛋白&#xff1a;COL10 参与软骨分化&#xff1b;COL8a1、COL8a2 为 VIII 型胶原两条 α 链&#xff0c;参与血…

作者头像 李华
网站建设 2026/10/1 14:18:17

聊城通风天窗源头厂家推荐:售后完善定制方案

很多人在找聊城通风天窗厂家的时候&#xff0c;都会踩过不少坑。要么选到的产品通风量不够用&#xff0c;车间依旧闷热憋闷;要么产品防水抗风性能差&#xff0c;下几场雨就出现渗漏&#xff0c;台风天还担心被吹坏;还有的厂家只管卖货不管安装&#xff0c;自己装完要么漏烟要么…

作者头像 李华
网站建设 2026/10/1 14:18:00

从零搭建AI工程:提示词、Agent与RAG实战指南

如果你在 GitHub 上搜过 ai-engineering-from-scratch 这个名字&#xff0c;应该能猜到它不是一个“调几个 API 跑个 demo”的玩具项目。它是一个从零到一、把大模型应用从想法推到生产环境的完整方法论&#xff0c;核心覆盖提示词工程&#xff08;Prompt Engineering&#x…

作者头像 李华
网站建设 2026/10/1 14:17:59

聚合AI外贸GEO服务商哪家强?适用于小语种站点与Google/Bing双引擎优化

海外买家正在转向AI提问&#xff0c;外贸获客逻辑已经变了全球贸易数字化进程正在加速&#xff0c;海外采购商的决策入口正在发生根本性迁移。过去是搜关键词、打开网页、逐一比较&#xff0c;如今越来越多买家直接向ChatGPT、Gemini、Claude等AI提问&#xff1a;有哪些靠谱的中…

作者头像 李华
网站建设 2026/10/1 14:17:21

英辰朗迪AI获客每日AI精选(2026.09.30)

一、技术前沿第1条&#xff1a;Anthropic 发布 Claude Sonnet 5.5&#xff0c;速度提升 30%、成本下降 30%核心内容&#xff1a;Anthropic 于 9 月 29 日推出 Claude Sonnet 5.5&#xff0c;为 Claude 5.5 家族第二款模型。相比 Sonnet 5&#xff0c;API 响应速度提升超过 30%&…

作者头像 李华