Claude Code 源码核心概念一览
为什么要先看概念
很多人第一次看 Claude Code 源码时,会被一堆词反复轰炸:
- QueryEngine
- Tool
- AppState
- Plan Mode
- MCP
- LSP
- Skills
- Agent
如果这些词没有先建立基本认知,后面看源码会非常容易迷路。
所以这篇文章的目标不是深入讲实现,而是先给你一张“核心概念地图”。
一张图先看整体关系
1. QueryEngine
这是 Claude Code 的核心引擎。
你可以把它理解成整个任务循环的大脑调度器。
它负责:
- 接收用户输入
- 组织消息历史
- 调用模型
- 处理工具调用
- 把结果回流到下一轮
一句话理解:
QueryEngine 决定一项任务如何一轮一轮推进下去。
2. Tool
Tool 就是 Claude Code 让模型“真正动手”的方式。
Claude 不只是输出文字,还可以通过 Tool:
- 读文件
- 改文件
- 跑命令
- 访问外部资源
- 进入 Plan Mode
一句话理解:
Tool 是 Claude Code 的执行接口层。
3. AppState
AppState 是终端界面的运行时状态中心。
它记录的不是某一个小组件状态,而是整个会话当前发生了什么,比如:
- 当前模式
- 工具权限
- 任务列表
- 远程连接状态
- 插件状态
一句话理解:
AppState 决定当前这个终端会话“现在处于什么状态”。
4. Context
Context 指的是 Claude Code 在每轮任务里给模型补充的环境信息。
典型内容包括:
- Git 状态
- 当前分支
CLAUDE.md- 当前日期
- 项目记忆
一句话理解:
Context 解释了 Claude Code 为什么看起来“懂你的项目”。
5. Plan Mode
Plan Mode 是 Claude Code 里一个非常重要的概念。
它的作用不是直接改代码,而是先让 Claude:
- 做规划
- 输出方案
- 等待批准
一句话理解:
Plan Mode 是自动执行前的规划与审批闸门。
6. MCP
MCP 是 Claude Code 接入外部能力的重要方式之一。
通过 MCP,它可以接入:
- 外部工具
- 外部资源
- 外部命令
一句话理解:
MCP 让 Claude Code 不只依赖内置能力,而能接入外部世界。
7. LSP
LSP 是语言服务器协议。
在 Claude Code 里,它主要帮助系统获取更结构化的代码语义能力,比如:
- 诊断
- 语言服务反馈
- 更接近代码结构的信息
一句话理解:
LSP 让 Claude Code 不只是按文本看代码,而是能借助语言工具链理解代码。
8. Skills
Skills 可以理解成任务经验和工作方法的封装。
它不是工具本身,而更像:
- 额外知识
- 额外流程
- 特定任务的工作说明
一句话理解:
Skills 让 Claude Code 在某类任务上更像“有经验的人”。
9. Agent
Agent 在 Claude Code 里不是空泛概念,而是实际能力对象。
它意味着 Claude Code 不一定只有一个主线程助手,还可能:
- 派生子 Agent
- 分配子任务
- 汇总结果
一句话理解:
Agent 是 Claude Code 走向多角色协作的重要标志。
10. Prompt / System Prompt
很多人看源码时会看到 customSystemPrompt、appendSystemPrompt 这些字段。
这说明 Claude Code 的提示词不是一段死文本,而是动态装配出来的。
一句话理解:
Prompt 系统决定 Claude Code 这一轮“该怎么思考、遵守什么规则”。
这些概念之间怎么配合
阅读源码时最常见的误区
误区 1:把 Claude Code 看成一个聊天壳子
不对。它更像一个带运行时、工具系统和状态系统的终端 Agent。
误区 2:把 Tool 看成普通插件
不对。Tool 是被严格建模过的执行接口。
误区 3:把 Prompt 当成唯一核心
也不对。Prompt 很重要,但真正让 Claude Code 强起来的是:
- Prompt
- Context
- Tool
- QueryEngine
- 权限和状态系统
共同作用。
小结
看 Claude Code 源码前,你至少要先记住这几个翻译:
QueryEngine= 核心任务引擎Tool= 执行接口Context= 项目上下文AppState= 会话状态中心Plan Mode= 规划审批模式MCP / LSP= 外部扩展能力Skills / Agent= 经验封装与协作能力
理解了这些词,后面的源码文章就会容易很多。