是什么

Claude Code 的核心是一个 agentic loop:收集上下文 → 采取行动 → 验证结果,循环迭代直到任务完成。Claude Code 本身是围绕 Claude 模型的「agentic harness」,提供工具、上下文管理和执行环境,将语言模型变成能够实际行动的编码 Agent。

核心机制

Agentic Loop 三阶段:

  1. 收集上下文:读取文件、搜索代码、理解项目结构
  2. 采取行动:编辑文件、运行命令、调用工具
  3. 验证结果:运行测试、检查输出、确认修改正确

这三个阶段相互交织,不是严格顺序执行。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 需等下次读取对应目录文件时才重载

关联

实践要点

  • 理解 agentic loop 有助于写出更好的提示词:给 Claude 可验证的目标(测试用例、截图)
  • 文件读取是上下文消耗的主要来源,用 Subagent 隔离大量文件读取
  • 上下文越干净,Claude 表现越稳定——频繁用 /clear 或开新会话
  • Checkpoint 只覆盖 Claude 的文件修改,不替代 git
  • 用 /init 生成初始 CLAUDE.md,让 Claude 分析项目后自动填充