嗨站  /  快速入门 /  Claude Code 源码核心概念一览

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 = 经验封装与协作能力

理解了这些词,后面的源码文章就会容易很多。

Leave a Comment

您的邮箱地址不会被公开。 必填项已用 * 标注