是什么
Claude Code 的核心是一个 agentic loop:收集上下文 → 采取行动 → 验证结果,循环迭代直到任务完成。Claude Code 本身是围绕 Claude 模型的「agentic harness」,提供工具、上下文管理和执行环境,将语言模型变成能够实际行动的编码 Agent。
核心机制
Agentic Loop 三阶段:
- 收集上下文:读取文件、搜索代码、理解项目结构
- 采取行动:编辑文件、运行命令、调用工具
- 验证结果:运行测试、检查输出、确认修改正确
这三个阶段相互交织,不是严格顺序执行。Claude 根据每步结果决定下一步,可以链式执行数十个操作并在过程中自我纠正。
内置工具五类:
| 类别 | 能力 |
|---|---|
| 文件操作 | 读取、编辑、创建、重命名文件 |
| 搜索 | 按模式查找文件、正则搜索内容 |
| 执行 | 运行 shell 命令、测试、git 操作 |
| Web | 搜索网络、获取文档 |
| 代码智能 | 类型错误检测、跳转定义(需插件) |
Session 机制:每个会话保存为 ~/.claude/projects/ 下的 JSONL 文件,支持恢复(--continue)、分支(--fork-session)和并行(git worktree)。每个新会话从空白上下文开始,通过 Auto Memory 和 CLAUDE.md 跨会话传递知识。
上下文窗口管理:上下文满时自动压缩——先清除旧工具输出,再压缩对话。持久规则应放在 CLAUDE.md 而非依赖对话历史。运行 /context 查看当前占用,/compact 手动压缩。
权限与安全:
- 文件编辑前自动快照(Checkpoint),
Esc+Esc可回滚 Shift+Tab循环切换权限模式:default → acceptEdits → plan.claude/settings.json可预批准特定命令(如npm test)
关键细节
- 模型切换:
/model命令或claude --model <name>启动 - Sonnet 适合大多数编码任务,Opus 适合复杂架构决策
- 并行会话:
git worktree创建独立目录,每个目录运行独立 Claude 会话 - 上下文压缩后 CLAUDE.md 会重新注入,但嵌套 CLAUDE.md 需等下次读取对应目录文件时才重载
关联
- overview — Claude Code 整体功能和平台支持
- memory — CLAUDE.md 和 Auto Memory 机制
- permission-modes — 权限模式详解
- context-window — 上下文窗口可视化解析
- extend-claude-code — Skills、MCP、Subagents 扩展
实践要点
- 理解 agentic loop 有助于写出更好的提示词:给 Claude 可验证的目标(测试用例、截图)
- 文件读取是上下文消耗的主要来源,用 Subagent 隔离大量文件读取
- 上下文越干净,Claude 表现越稳定——频繁用
/clear或开新会话 - Checkpoint 只覆盖 Claude 的文件修改,不替代 git
- 用
/init生成初始 CLAUDE.md,让 Claude 分析项目后自动填充