Claude Code 架构图拆解
《AI编程代理系统的核心架构解析》 本文揭示了当前主流AI编程代理(如Claude Code、Cursor等)的底层架构设计。系统核心由三大模块构成:Agent Controller作为中央调度器,负责任务分解和状态管理;Context Engine实现智能上下文压缩,通过代码符号索引和依赖分析建立高效表示;Tool Runtime集成各类开发工具,支持文件操作、搜索、测试等原子能力。架构采用工具
·
下面给你一个“Claude Code 类系统”的真实工程架构。
不是大模型,而是:
AI Coding Agent Runtime 架构
类似:
- Claude Code
- Cursor Agent
- Devin
- Cline
- OpenHands
底层都会接近这个结构。
一、整体架构(核心)
+--------------------------------------------------+
| User / IDE |
+--------------------------------------------------+
|
v
+--------------------------------------------------+
| Agent Controller |
|--------------------------------------------------|
| 任务管理 / 状态机 / Planner / Memory / Retry |
+--------------------------------------------------+
|
+-------------+-------------+
| |
v v
+-------------------+ +-------------------------+
| Context Engine | | Tool Runtime |
|-------------------| |-------------------------|
| 文件索引 | | File Tool |
| Symbol Index | | Search Tool |
| Chunk Compression | | Shell Tool |
| Repo Graph | | Git Tool |
| Dependency Graph | | Test Runner |
+-------------------+ | Debug Tool |
+-------------------------+
| |
+-------------+-------------+
|
v
+--------------------------------------------------+
| LLM Orchestrator |
|--------------------------------------------------|
| Prompt Builder / Tool Call Parser / Token Mgmt |
+--------------------------------------------------+
|
v
+--------------------------------------------------+
| LLM Model |
+--------------------------------------------------+
二、真正核心模块
1. Agent Controller(大脑)
这是整个系统核心。
负责:
任务拆分
状态管理
错误恢复
多轮循环
上下文管理
典型状态机
INIT
↓
ANALYZE_PROJECT
↓
PLAN
↓
EXECUTE
↓
TEST
↓
FIX
↓
DONE
伪代码
while not task.done():
context = build_context()
response = llm(context)
if response.tool_call:
result = run_tool(response.tool_call)
memory.add(result)
elif response.code_patch:
apply_patch(response.patch)
elif response.done:
break
三、Context Engine(最重要)
Claude Code 真正最值钱的部分之一。
因为:
大模型上下文根本不够
所以必须:
动态裁剪上下文
四、Context Engine 内部
1. Workspace Scanner
扫描:
项目目录
语言类型
依赖
入口文件
例如:
package.json
.csproj
requirements.txt
pom.xml
2. Symbol Index
建立:
类
方法
变量
接口
引用关系
类似:
UserService
├── Login()
├── Logout()
3. Dependency Graph
建立:
文件依赖图
调用链
import graph
例如:
Controller
↓
Service
↓
Repository
4. Context Compression(超级核心)
因为:
100万行代码放不进上下文
所以:
要压缩:
原始代码:
class UserService:
...
压缩后:
UserService:
- login()
- logout()
- depends on JwtProvider
五、Tool Runtime(最关键)
Claude Code 本质:
Tool-driven Agent
不是聊天。
六、Tool Runtime 结构
+----------------------+
| Tool Registry |
+----------------------+
| read_file |
| write_file |
| grep |
| bash |
| git_diff |
| search_symbol |
| run_tests |
+----------------------+
七、最重要的工具
1. File Tool
read_file(path)
write_file(path)
patch_file(path)
2. Search Tool
grep
ripgrep
ast query
symbol search
3. Shell Tool(非常重要)
Claude Code 很强靠这个。
例如:
dotnet build
npm test
pytest
然后:
自动分析输出
4. Git Tool
git diff
git status
git blame
作用:
只关注变更区域
5. Test Runner
自动:
运行测试
分析失败
修复
八、LLM Orchestrator(隐藏核心)
这是:
Prompt 编排层
非常关键。
负责:
1. Prompt 构建
例如:
系统Prompt
+ 项目结构
+ 当前任务
+ 工具结果
+ 历史上下文
2. Token Budget
控制:
哪些上下文能进模型
3. Tool Call Parsing
例如模型输出:
{
"tool": "read_file",
"path": "src/user.py"
}
转换为真实调用。
九、Memory System(核心)
Claude Code 其实有:
短期记忆
会记录:
已经读过哪些文件
哪些文件重要
刚才改了什么
哪些测试失败
否则:
Agent 会迷失
十、Patch Engine(非常关键)
Claude 不会:
直接重写整个文件
而是:
增量 Patch
例如:
- old line
+ new line
优势:
- 更稳定
- 冲突更少
- token更少
十一、Error Recovery Loop(核心能力)
Claude Code 真正强:
自动修错
流程:
修改代码
→ 编译
→ 失败
→ 读错误
→ 修复
→ 再编译
这其实是:
自动 Debugger
十二、真实内部流程(一次任务)
例如:
“修复登录bug”
Claude Code 内部:
STEP1
扫描项目:
发现:
AuthController
UserService
JwtProvider
STEP2
建立调用链:
Controller
↓
Service
↓
Repository
STEP3
搜索:
login
authenticate
jwt
STEP4
打开文件:
UserService.cs
STEP5
分析:
NullReferenceException
STEP6
修改代码
STEP7
运行:
dotnet build
STEP8
分析编译错误
STEP9
继续修复
十三、真正难点(核心)
真正难的不是:
生成代码
而是:
工程状态管理
包括:
- 上下文选择
- 文件优先级
- 工具调度
- 错误恢复
- 长任务稳定性
十四、真正接近 Claude Code 的技术栈
IDE层
- VSCode Extension
- Monaco
- LSP
代码解析
- Tree-sitter
- Roslyn
- ts-morph
- Babel Parser
搜索
- ripgrep
- vector db
- embeddings
Agent Runtime
- LangGraph
- AutoGen
- CrewAI
- OpenHands runtime
执行层
- Docker sandbox
- Shell runtime
- Git worktree
十五、一个最小 Claude Code 架构(简化版)
class Agent:
def run(self, task):
while True:
context = self.build_context()
response = llm(context)
if response.tool:
result = tool.run(response.tool)
self.memory.add(result)
elif response.patch:
apply_patch(response.patch)
elif response.done:
break
十六、Claude Code 真正护城河
不是模型。
而是:
“长期工程任务稳定性”
包括:
- Context Engineering
- Tool Runtime
- Agent Loop
- Error Recovery
- Workspace Understanding
这才是最难的。
更多推荐

所有评论(0)