Claude Code 源码核心概念一览
2026/7/12 21:21:06 · 更新于 2026/7/12 21:22:42
本文深入解析了 Anthropic 命令行 Agent 工具 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= 经验封装与协作能力
理解了这些词,后面的源码文章就会容易很多
学习地图
第一阶段:核心组件与任务循环
- QueryEngine: 学习作为核心大脑调度器,如何管理多轮 LLM 交互与状态分发。
- Tool 接口设计: 剖析 Claude Code 是如何对文件操作、终端执行等外部能力进行标准建模的。
- Context 上下文构建: 理解系统如何自动装配 Git 状态、CLAUDE.md 等项目特定背景并将其注入 Prompt。
第二阶段:会话管理与安全策略
- AppState 运行态: 理解会话生命周期、工具授权、远程连接等全局状态的动态演变。
- Plan Mode 规划机制: 掌握在执行复杂修改或高危指令前,系统如何通过规划审查(Plan-to-Execute)保障安全性。
- Prompt 动态拼接: 探索
customSystemPrompt等逻辑,看系统如何将用户规则实时嵌入模型约束。
第三阶段:外部生态与高级协作
- MCP (Model Context Protocol): 学习如何基于 MCP 协议桥接外部数据源,打通更大的工具生态。
- LSP (Language Server Protocol): 掌握如何结合语言服务器进行代码语义级分析,而非单纯的文本查找。
- Skills & Agent 协作: 学习如何封装特定经验流程(Skills)以及多 Agent 任务派生和结果汇总的设计模式。
动手实践——分步指南
-
安装与初始化 Claude Code: 确保你已经安装了 Node.js(推荐使用最新的 LTS 版本),在终端运行以下命令全局安装:
npm install -g @anthropic-ai/claude-code安装完成后运行claude并根据提示完成 Anthropic 账号授权登录。 -
建立项目级 Context: 在本地创建一个测试项目目录,初始化 Git 并新建一个名为
CLAUDE.md的文件,写入常用规范:
# Build & Test Instructions
- Build: npm run build
- Test: npm run test
-
触发并观察 Tool 与 Context 的协同作用: 在交互窗口中输入
帮我初始化一个简单的 Node.js 项目并生成 package.json。观察终端,你会看到 Claude 自动识别了本地环境,调用了写入文件的 Tool,并根据CLAUDE.md规范来操作。 -
调试模式运行以解析运行状态: 使用带
--verbose参数的命令启动,或在执行复杂交互时查看控制台日志,跟踪 QueryEngine 如何将每一步的 Tool 结果、AppState 和 Local Context 实时封装并作为下一轮 Prompt 发送给 API。
三大推荐资源
- 1Anthropic Claude Code Official Documentation
官方关于 Claude Code 的使用指南与配置文档,详细介绍了底层运行规则与命令行参数。
https://docs.anthropic.com/en/docs/agents-and-tools/claude-code
- 2Model Context Protocol (MCP) Portal
了解 MCP 协议的核心规范与实现,帮助你深刻理解 Claude Code 是如何与外部上下文及工具链进行通信的。
https://modelcontextprotocol.io
- 3Anthropic Official GitHub Organization
Anthropic 官方开源仓库群,包含了许多 MCP 服务端模板与 Agent 最佳实践示例。
https://github.com/anthropics
链接由 AI 推荐——使用前建议快速核实。