一、整体理解
在 Claude Code 里,可以把系统理解成一个“带工具的程序员代理”:
LLM负责理解和推理,Agent负责组织任务,Tools / Function Calling / MCP负责执行真实操作,Context Window / Memory / RAG负责提供和保留信息,Reflection / Reflexion负责检查和改进。
二、核心术语
1. Agent
Agent原意是“代理人、行动者”。在 AI 里,它指一个能理解目标、规划步骤、调用工具并持续推进任务的系统。
它被设计出来,是因为普通聊天模型通常只会“回答”,而软件工程场景需要“做事”:读代码、改文件、跑测试、查日志、创建 PR。
在 Claude Code 中,Agent 就是围绕这些动作组织起来的工作单元。比如你给出“修复登录 bug”这个目标,Agent 会读取相关代码、分析原因、编辑文件、运行测试并汇报结果。
2. Subagent
Subagent是子代理,也就是由主 Agent 派出去处理局部任务的独立 Agent。
它的设计目的是分工、并行和隔离。主 Agent 可以让 Subagent 去探索代码、跑浏览器测试、审查安全风险、调查 CI 失败,而自己继续推进主线任务。
在 Claude Code / Cursor 中,常见 Subagent 包括代码探索、测试执行、浏览器自动化、Bugbot 审查、安全审查等。
3. LLM
LLM是Large Language Model,即大语言模型。它来自自然语言处理领域,指通过大量文本训练出的语言理解与生成模型。
它被设计出来,是为了让机器能理解、生成、转换和推理自然语言及代码。
需要注意:Agent 不等于 LLM。LLM 更像 Agent 的“大脑”;Agent 还包括工具、记忆、环境、权限和执行循环。
常见 LLM 包括 Claude、GPT、Gemini 等。
4. Initializer
Initializer是初始化器或初始化阶段。它来自编程里的初始化概念:先准备运行环境,再开始执行任务。
在 Agent 系统里,它负责收集初始上下文,例如:
用户请求
工作区路径
项目规则
打开的文件
系统权限
可用工具
当前分支
最近终端状态
当你启动 Claude Code 或发起一个任务时,系统会先初始化上下文,让 Agent 知道“我在哪里、能做什么、目标是什么”。
5. Reflexion
Reflexion是一个 AI Agent 研究中的术语,常指“通过自我反馈改进下一次行动”的机制。
它和普通的Reflection相近,但更强调形成可复用经验。
它被设计出来,是为了解决 Agent 一次性推理容易犯错的问题。失败后不只是重试,而是总结:
哪里错了
为什么错了
下一次如何避免
例如测试失败后,Agent 不只是改一行再跑,而是分析失败模式,把经验带入下一轮修复。
6. Perception
Perception是感知。它来自认知科学和机器人领域,指系统从环境中获取信息。
在 Claude Code 中,感知包括:
读取文件
查看终端输出
观察 git diff
分析报错
浏览网页
读取日志
查看测试结果
例如你说“这个测试失败了”,Agent 会先感知环境:看测试输出、定位文件、检查最近改动,然后再推理。
7. Reasoning
Reasoning是推理。它指模型根据上下文进行分析、计划、判断和决策。
它被设计出来,是为了让 Agent 不只是模式匹配,而是能拆解复杂任务、比较方案、判断风险。
例如:
判断 bug 是前端状态问题、后端接口问题,还是测试数据问题
决定该修改哪个模块
判断是否需要补测试
选择直接修复还是先重构
8. Action
Action是行动。Agent 最终必须把推理变成实际操作。
在 Claude Code 中,Action 可以是:
编辑文件
运行命令
调用工具
创建分支
提交代码
打开浏览器测试
调用接口或数据库
比如 Reasoning 得出“需要修改鉴权逻辑”,Action 就是实际打开文件、修改代码、运行测试验证。
9. Memory
Memory是记忆。它来自认知科学,也来自 AI Agent 架构。
设计 Memory 的原因是 LLM 的上下文窗口有限,不能无限记住所有历史。
Memory 用于保存长期偏好、项目规则、用户习惯、重要经验。例如:
用户偏好“始终用中文回答”
项目约定“不要直接改生成文件”
常用测试命令
项目特殊架构说明
Memory 会影响后续任务中的 Agent 行为。
10. Reflection
Reflection是反思。它指 Agent 在执行后回看结果,判断是否成功、是否有风险、是否需要下一步。
它与Reflexion的区别:
Reflection更偏当前任务内的检查Reflexion更偏把失败经验沉淀成下一轮策略
例如改完代码后检查 diff、确认没有误改无关文件、运行测试、总结风险,这些都属于 Reflection。
11. Function Calling
Function Calling是函数调用。它是 LLM 调用外部工具的一种结构化方式。
它被设计出来,是因为 LLM 本身不能真正读文件、跑命令、查数据库。通过 Function Calling,模型输出结构化参数,由系统执行真实动作。
例如模型决定“需要读取文件”,就可能发起类似这样的调用:
{ "tool": "read_file", "arguments": { "path": "src/app.ts" } }系统执行后把文件内容返回给模型,模型再继续推理。
12. MCP
MCP是Model Context Protocol,即模型上下文协议。它是 Anthropic 推出的协议,用于把模型和外部工具、数据源连接起来。
它的设计目标是统一工具接入方式。以前每个工具都要单独适配,现在可以通过 MCP Server 暴露工具和资源。
在 Claude Code 中,MCP 可以连接:
GitHub
数据库
浏览器
监控平台
内部系统
文件系统
API 服务
MCP 的作用类似“标准插座”:模型不需要为每个工具单独设计连接方式,只要工具遵守 MCP 协议,就可以被 Agent 调用。
13. RAG
RAG是Retrieval-Augmented Generation,即检索增强生成。
它被设计出来,是为了弥补 LLM 的几个限制:
训练知识可能过时
无法天然知道私有数据
上下文窗口有限
容易在缺少资料时猜测
RAG 的做法是:先从文档、代码库、数据库或向量库检索相关资料,再交给 LLM 生成答案。
例如你问“这个项目的鉴权怎么做”,系统可以先检索相关代码和文档,再让模型回答,而不是只凭模型记忆猜。
14. Tools
Tools是工具。它们是 Agent 能调用的外部能力集合。
它被设计出来,是为了让 LLM 从“只会说”变成“能操作”。
Claude Code 中常见工具包括:
读取文件
搜索代码
编辑文件
执行 Shell 命令
调用浏览器
调用 Git
访问数据库
调用 MCP 工具
创建 PR
Tools 是 Agent 连接真实开发环境的关键。
15. 元数据
元数据是“描述数据的数据”。
例如:
文件路径
行号
提交哈希
时间戳
权限
当前终端目录
当前分支
命令退出码
工具 schema
元数据被设计出来,是为了帮助系统理解上下文,而不只是读取内容本身。
同样一段报错,如果带有文件路径、行号、命令、退出码,Agent 就能更准确地定位问题。
16. Context Window
Context Window是上下文窗口,指 LLM 一次推理能看到的最大信息范围,通常以 token 计量。
它被设计出来,是因为模型计算资源有限,不能一次读入无限历史、无限代码库。
Claude Code 会把以下内容放进上下文窗口:
用户请求
相关文件内容
工具输出
项目规则
历史摘要
当前任务状态
当上下文窗口接近上限时,系统通常需要压缩、摘要、检索或借助 RAG。
三、关联关系讲解
1. LLM 与 Agent
LLM是智能核心,负责理解和生成;Agent是工作系统,负责把 LLM 的能力组织成任务执行流程。
可以理解为:
LLM = 大脑 Agent = 带大脑、工具、记忆和执行流程的工作者2. Tools、Function Calling 与 MCP
Function Calling是调用工具的结构化方式,Tools是可调用能力本身,MCP是把外部工具标准化接入模型的协议。
三者关系可以理解为:
Function Calling = 怎么调用 Tools = 调用什么 MCP = 如何标准化接入更多工具3. Context Window、Memory 与 RAG
这三个概念都和“模型能看到什么信息”有关。
Context Window = 当前这次推理能看到的信息 Memory = 长期保留的偏好和经验 RAG = 从外部知识库检索相关信息Context Window 是短期工作台,Memory 是长期记忆,RAG 是外部资料检索系统。
4. Perception、Reasoning、Action、Reflection
这是 Agent 的核心循环:
Perception -> Reasoning -> Action -> Reflection 感知 -> 推理 -> 行动 -> 反思Agent 先观察环境,再分析问题,然后采取行动,最后检查行动效果。如果没有完成,就进入下一轮循环。
5. Reflection 与 Reflexion
二者都和“反思”有关,但侧重点不同:
Reflection = 当前任务内的结果检查 Reflexion = 将失败或经验变成下一轮可用策略简单说,Reflection 是“这一步做得对不对”,Reflexion 是“下次遇到类似问题怎么做得更好”。
四、Claude Code 中的完整执行流程![]()
五、Claude Code 使用中还应补充的词语
Prompt
Prompt是你输入给模型的任务说明。Prompt 的质量会直接影响 Agent 的执行质量。
好的 Prompt 通常包含:
目标
背景
限制条件
期望输出
可接受或不可接受的方案
System Prompt / Instruction
System Prompt或Instruction是系统级规则,优先级高于普通用户提示词。
例如:
始终用中文回答
不要执行危险命令
编辑代码前先阅读相关文件
遵守项目规范
Session
Session是一次连续对话或任务上下文。
同一个 Session 中,Agent 通常可以利用前面的对话、工具输出和任务状态继续工作。
Token
Token是模型处理文本的基本单位。它可能是一个词、一个字、一个标点或一段字符。
Token 会影响:
上下文窗口大小
推理成本
响应长度
工具输出可容纳的信息量
Workspace
Workspace是当前项目目录,也就是 Agent 的主要操作范围。
在 Claude Code 中,读取文件、搜索代码、运行测试通常都围绕 Workspace 展开。
Permission
Permission是权限控制。
它决定 Agent 是否可以:
写文件
运行命令
访问网络
修改 Git 状态
调用外部 API
权限控制用于降低误操作和越权访问风险。
Sandbox
Sandbox是沙箱环境,用来限制危险操作。
例如限制文件访问范围、阻止某些系统调用、控制网络访问等。
Checkpoint
Checkpoint是检查点,表示某个可回看或可恢复的工作状态。
它常用于:
回顾 Agent 做过什么
比较修改前后的差异
在出错时恢复到较早状态
Plan
Plan是执行计划。
复杂任务开始前,Agent 通常会先制定 Plan,明确:
要做哪些步骤
先改哪里
如何验证
有哪些风险
Diff
Diff是代码变更对比,是审查 Agent 修改内容的核心依据。
通过 Diff 可以看到:
哪些文件被改了
哪些行被新增
哪些行被删除
是否有无关修改
Hook
Hook是钩子,指在特定事件发生时自动触发的脚本或规则。
例如:
提交前自动运行格式化
测试失败后自动通知
文件保存后自动检查
Slash Command
Slash Command是斜杠命令,用于快速触发固定工作流。
例如:
/review /test /commit不同工具支持的 Slash Command 不完全相同。
CLAUDE.md
CLAUDE.md是 Claude Code 常用的项目级指导文件,用来告诉 Agent:
项目结构
常用命令
编码规范
测试方式
注意事项
它类似给 Agent 的项目说明书。
Embedding
Embedding是把文本转换成向量的技术,常用于语义检索。
在 RAG 中,文档通常会先被转换成 Embedding,再存入向量数据库。
Vector Database
Vector Database是向量数据库,用于存储和检索 Embedding。
它可以根据语义相似度找到相关内容,而不是只依赖关键词匹配。
Tool Schema
Tool Schema是工具参数说明。
它告诉 Agent:
工具叫什么
需要哪些参数
参数类型是什么
哪些参数是必填
返回什么结果
Function Calling 通常依赖 Tool Schema 来保证调用格式正确。
Stop Condition
Stop Condition是停止条件。
它用于告诉 Agent 什么时候应该停止继续行动,例如:
测试全部通过
目标文件已生成
用户明确要求停止
遇到需要人工确认的风险
Human-in-the-loop
Human-in-the-loop指人在关键节点参与决策。
在 Claude Code 中,常见场景包括:
危险命令确认
选择实现方案
处理登录、验证码或权限问题
审查最终 Diff
Guardrail
Guardrail是护栏或约束机制,用来防止 Agent 做出危险、不合规或偏离目标的行为。
例如:
禁止删除重要文件
禁止泄露密钥
禁止自动推送到主分支
限制网络访问
六、推荐学习顺序
如果你刚开始学习 Claude Code / Agent,可以按这个顺序理解:
LLMAgentPromptContext WindowToolsFunction CallingMCPPerception / Reasoning / Action / ReflectionMemoryRAGSubagentReflexionPermission / Sandbox / Guardrail
七、最终心智模型
Claude Code 不是单纯的聊天机器人,而是一个围绕代码工作流设计的 Agent 系统。
它的运行方式可以总结为:
用户给目标 -> Agent 初始化上下文 -> 感知项目环境 -> LLM 推理和规划 -> 通过 Function Calling 调用 Tools -> Tools / MCP 操作真实环境 -> Agent 反思结果 -> 必要时调用 Memory / RAG / Subagent -> 最终交付结果掌握这些词语后,就能更清楚地理解 Claude Code 为什么能读代码、改代码、跑测试、调用外部工具,以及它在什么情况下会受限。