引擎盖下的 Claude Code
TAOR 循环、工具体系、上下文压缩、权限系统——理解内部机制以更好地协作
用了这么久 Claude Code,你有没有好奇过:当你按下回车之后,到底发生了什么?
理解内部机制不是为了炫技,是因为理解之后,很多之前困惑的现象突然就说得通了。
TAOR 核心循环
Claude Code 的心脏是一个叫 TAOR 的 Agent 循环。你输入一个任务后,它不是直接生成一整段代码,而是不断循环:
- Think(思考) — 分析当前状态,决定下一步做什么
- Act(行动) — 调用一个工具执行操作(读文件、写代码、运行命令)
- Observe(观察) — 读取返回结果,判断任务是否完成
- Repeat(重复) — 未完成则回到 Think 继续。整个过程可能转几十圈才停下来
这就解释了为什么 Claude 有时候看起来"绕弯路"——它不是一个从输入到输出的直线程序,而是一个不断试探和调整的循环体。这是设计的一部分,不是 bug。
[!TIP] 实操建议 给 Claude 明确的验证标准特别重要。告诉它"测试通过就停"或"生成文件就行",它收敛的速度会快很多。
四个能力原语
Claude Code 内置 40+ 工具,但所有能力归结为 4 个原语:
| 原语 | 做什么 | 典型工具 |
|---|---|---|
| Read | 读文件、读代码、搜索内容 | Read、Grep、Glob |
| Write | 写文件、编辑代码 | Write、Edit |
| Execute | 运行命令、执行脚本 | Bash |
| Connect | 连接外部服务 | MCP 工具、WebFetch |
其中 Bash 是万能适配器 — npm install、python test.py、git push,通过它可以操作一切。这也是 Claude Code 能在几乎任何技术栈中工作的原因,不像某些 IDE 插件只支持特定语言。
技术栈
| 组件 | 技术选择 | 为什么 |
|---|---|---|
| 运行时 | Bun | 比 Node.js 更快的冷启动和 I/O |
| UI 框架 | React + Ink | 终端里跑 React,组件化管理复杂 UI |
| 语言 | 严格模式 TypeScript | 全面的类型安全 |
| Schema 验证 | Zod v4 | 运行时类型检查 |
为什么在终端里用 React?因为 Claude Code 的终端 UI 其实很复杂:实时更新的进度条、可折叠的代码 diff、权限确认弹窗、多层嵌套的工具调用展示。React 的组件模型让这些变得自然。
上下文压缩
你可能遇到过这种情况:和 Claude 聊了很久之后,它突然忘了你之前说过的某个要求。
这不是它在敷衍你。当上下文窗口快满的时候,系统会把整个对话历史压缩成一段摘要文本。这是有损操作——核心信息会保留,但具体措辞、边角细节容易丢失。
更重要的是:如果经历多次压缩,信息损失会累积。每压缩一次就损失一点,几次之后,最早的上下文可能只剩一个模糊的影子。
[!WARNING] 实操建议 重要的约束和要求,写进 CLAUDE.md 而不是只在对话里说一次。对话会被压缩,但 CLAUDE.md 每次都会重新读取。这也是"三层模型"里的结论:把信息沉淀到 Context 层。
权限系统
Auto 模式背后不是简单的全放行,而是一个 ML 驱动的分类器:
| 级别 | 示例 | 处理方式 |
|---|---|---|
| LOW | 读取文件 | 自动放行 |
| MEDIUM | 写入配置文件 | 视上下文判断 |
| HIGH | rm -rf、推送代码 | 必须用户确认 |
一些文件被硬编码为受保护状态(.gitconfig、.ssh/、.aws/credentials),无论什么权限模式都会额外小心。甚至还有路径穿越防御,防止恶意代码绕过权限检查。
自动记忆维护
Claude Code 有一个后台子代理,会定期整理你的记忆文件。它分四步走:
- 审阅现有内容
- 提取新的有用信息
- 整合重复条目
- 修剪过长的部分
目标是把记忆保持在合理大小内。这就是为什么长期使用后,你会觉得 Claude 越来越"懂你"——你的偏好、习惯、项目上下文,都被这个系统慢慢积累和维护着。
功能演进时间线
| 时间 | 里程碑 |
|---|---|
| 2024.11 | MCP 协议发布,获得连接外部服务的能力 |
| 2025.02 | 公开发布 Beta 版 |
| 2025.05 | GA 正式发布,稳定性大幅提升 |
| 2025.07 | SubAgents 上线,支持子进程并行 |
| 2025.09 | Hooks 机制引入,事件驱动的自动化 |
| 2025.10 | Skills 系统发布,社区共享能力包 |
| 2026.02 | Agent Teams 推出,多 Agent 协作 |
| 2026.03 | Computer Use + Voice Mode 上线 |
平均每 2 个月一个大功能。具体命令可能变,但"描述需求 → 审查输出 → 迭代改进"这个核心循环,在可预见的未来不会变。
[!NOTE] 最后 理解 Claude Code 的内部机制不是为了把它当黑盒拆开,而是当你知道循环怎么转、上下文怎么压缩、权限怎么判断之后,你就能更好地和它协作。就像开车不需要懂发动机原理,但懂了之后你会知道什么时候该换挡。
本章节为会员专属内容
购买全站技能解锁即可免费阅读所有进阶教程,包括对话技巧、扩展能力、实战项目和思维模型等完整内容。
已购买会员?请先登录你的账号,即可自动解锁。

