前言

在使用 Claude Code 开发大型项目时,经常会遇到以下问题:

  • 项目代码量大,AI 需要频繁读取文件
  • Token 消耗过快
  • 调用链分析不准确
  • 重构时容易遗漏引用关系
  • SpringBoot 项目 Controller → Service → Mapper 路径复杂

为了解决这些问题,我目前主要使用:

  • CodeGraph
  • Serena

两者配合后,可以显著提升 Claude Code 对项目的理解能力。


一、工具定位

CodeGraph

定位:

项目级知识图谱

主要解决:

  • 项目结构理解
  • 模块关系分析
  • 依赖关系分析
  • 架构理解

类似于:

给 Claude 提供项目地图

适用场景

例如:

分析整个项目架构
项目有哪些模块
用户登录流程在哪些模块中流转
AI Provider 与聊天模块关系

CodeGraph 非常擅长。


核心能力

常用工具:

codegraph_explore
codegraph_node

能力:

  • 项目知识图谱
  • 模块依赖关系
  • 调用关系概览
  • 项目整体理解

Serena

定位:

代码级语义导航

主要解决:

  • 找类
  • 找方法
  • 找引用
  • 找实现类
  • 调用链分析

类似于:

给 Claude 提供 IDEA 的 Ctrl+B 和 Find Usage

适用场景

例如:

谁调用了 UserService.login()
分析登录流程
selectPlaceOfResidence SQL 从哪里调用
AiProviderService 被哪些地方引用

Serena 非常擅长。


核心能力

常用工具:

find_symbol
find_referencing_symbols
find_implementations
find_declaration
get_symbols_overview

能力:

  • 查找定义
  • 查找引用
  • 查找实现类
  • 调用链分析
  • 重构影响分析

二、CodeGraph 与 Serena 的区别

对比项 CodeGraph Serena
项目架构分析 ×
模块关系分析 ×
类定位
方法定位
查找引用 ×
调用链分析
重构辅助 ×
项目整体理解

推荐组合:

CodeGraph
↓
理解项目

Serena
↓
定位代码

Claude Code
↓
修改代码

三、CodeGraph 安装

安装

根据官方文档安装。

安装完成后验证:

claude mcp list

输出:

codegraph ✔ Connected

说明安装成功。


使用方式

Claude Code 中直接提问:

分析项目整体架构
分析聊天模块与 AI 模块关系
分析登录功能整体流程

Claude 会优先调用:

codegraph_explore
codegraph_node

索引更新

代码结构变化后建议重新构建索引。

例如:

新增模块
大规模重构
包结构调整

否则分析结果可能不完整。


四、Serena 安装

环境要求

推荐:

Python 3.11+
uv
Claude Code

安装 uv

PowerShell:

winget install --id Astral-sh.uv

验证:

uv --version

安装 Serena

uv tool install serena-agent

验证:

serena --help

验证 Serena

启动:

serena start-mcp-server --context=claude-code --project-from-cwd

正常日志:

Starting Serena server
Loaded tools
Starting MCP server

说明安装成功。


查看安装位置

where.exe serena

例如:

C:\Users\admin\.local\bin\serena.exe

五、Claude Code 配置

查看 MCP:

claude mcp list

例如:

codegraph ✔ Connected
serena ✔ Connected

说明配置成功。


六、推荐 AGENTS.md

核心原则:

CodeGraph
↓
Serena
↓
Read File

不要让 Claude 一开始就扫描大量文件。

推荐规则:

Tool Priority

1. CodeGraph
2. Serena
3. File Reading

Never start with recursive file reading.

七、Spring Boot 项目最佳实践

针对 SpringBoot 项目:

Controller
↓
Service
↓
Mapper
↓
Database

分析顺序:

第一步

CodeGraph

理解模块关系。


第二步

Serena

定位:

Controller
Service
Mapper
Entity

关系。


第三步

读取必要文件。

避免:

全项目扫描
递归读取目录
大量 Read

八、实际收益

以 SpringBoot + MyBatis 项目为例:

未使用:

Claude
↓
Read 20~50 个文件
↓
分析

使用后:

CodeGraph
↓
Serena
↓
Read 3~5 个关键文件
↓
分析

收益:

  • Token 消耗减少
  • 调用链分析更准确
  • 重构更安全
  • SQL 定位更快
  • 大项目体验明显提升

九、个人推荐

当前优先级:

1. CodeGraph
2. Serena
3. Git MCP
4. Context7

对于 Java / SpringBoot 开发者:

CodeGraph + Serena 基本已经能够覆盖 80% 以上的代码分析场景。

推荐作为 Claude Code 的基础配置长期保留。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐