线上 Java 故障排查这件事,很多团队都经历过同一个痛点:
- Arthas 很强,但学习成本高;
- 排障不是"会几条命令"就行,而是要有完整路径;
- 最耗时间的不是敲命令,而是每一步怎么收敛、怎么控风险、怎么给出结论。
正好最近看到了阿里写的这个 《我们做了比你更懂 Java 的 AI-Agent -- Arthas Agent》 正好我们项目也经常用 Arthas 排查问题,但是这个项目没开源。但是查阅Arthas 的开源项目发现除了这个可视化页面,其实阿里已经把所有的步骤都开源了。还是很感谢阿里的开源大佬。
如果我们的项目如果出现了问题比如CPU 升高,我们可能需要在机器上 使用dashboard 查看CPU/线程/GC 概况,使用 thread 找出最忙的前 N 个线程并打印堆栈,找到可疑的方法优先使用 stack / trace 针对该方法观察,最后得出结论在不断的验证自己的排查方法。但是如果是一个经验不足的人可能会走很多的弯路。
但是现在有了这个Agent 就可以大大降低我们开发人员的门槛。我们只需要通过自然语言询问这个 Agent 让Agent 来帮我们做这件事就好。
来兄弟们咱们看一下调用的大致链路

在介绍一下这个项目都使用什么技术:
- Spring Boot 3.5.11
- Java 17
- AgentScope 1.0.10(阿里开源的 Agent 框架)
- MCP (AI 和项目桥梁)
- Skill (AI 的技能包大佬沉淀的经验)
来上场景
- 查询当前服务的环境变量是什么

- 代码反编译
有时候需要看第三方库的源码,或者线上代码和本地不一致:
用户:查看 com.example.Service 的源码
AI:正在执行 jad 命令...[返回反编译后的代码]
当然很多案例就不一一在这里描述。
最后在简单介绍一下 MCP 、Arthas、Skill
- MCP(Model Context Protocol)
可以理解为 AI 和外部工具之间的"标准接口协议"。
有了 MCP,Agent 就能安全、规范地调用外部能力(比如执行 Arthas 命令、查系统信息、读日志等),而不只是纯聊天。 - Skill(技能)
Skill 是一套"可复用的处理剧本/能力包"。
它把某类问题的排查步骤、约束和最佳实践固化下来。比如"CPU 飙高排查"就是一个 Skill,Agent 会按预定义路径一步步诊断,而不是每次临时发挥。 - Arthas
Arthas 是阿里开源的 Java 在线诊断工具。
最大特点是 不重启应用 就能排查问题:看线程、看 CPU、trace 方法耗时、watch 入参返回值、查类加载等,常用于线上故障定位。
一句话串起来这个项目就是 大模型是大脑, Arthas 负责"诊断能力",Skill 负责"诊断方法论",MCP 负责"让 Agent 稳定调用这些能力"。
最后最后把这个demo 放到了这个 github 上。项目地址: https://github.com/liuee123/arthas-agent-util
如果大家有兴趣,欢迎一起交流讨论!👋
本文基于个人学习经历整理,如有错误欢迎指正。