为什么要先看概念
很多人第一次看 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 = 经验封装与协作能力
理解了这些词,后面的源码文章就会容易很多。