Skip to content

Claude Code 101

一、四种模式

模式触发行为场景
默认模式直接输入每次修改前确认日常开发
自动模式对话中切换常规操作自动执行,高风险仍确认信任度高的重复任务
规划模式对话中切换只分析不修改复杂架构决策
Bypass 模式--dangerously-skip-permissions跳过所有确认CI/CD、沙箱环境

自动模式可编辑 .claude/settings.local.json 配置允许命令白名单。


二、终端与任务管理

  • ! 进入 bash 模式,直接执行终端命令
  • 后台任务:不阻塞当前对话,/tasks 查看状态,完成后通知。注意与 SubAgent 区分——后台任务执行者仍是主 Claude
  • Plan Mode 工作流:需求 → 分析代码库 → 输出计划 → 确认 → 切换执行

三、上下文管理

操作方式说明
版本回滚/rewind 或双击 ESC基于 git checkpoint,精确到每步操作
恢复会话claude -c / claude --resume保留对话记录、操作历史、上下文
压缩/compact [提示]保留关键信息,释放窗口空间
清除/clear完全重新开始

自动压缩:上下文接近窗口限制时自动触发,可通过 PreCompact Hook 自定义压缩行为。

上下文窗口内容:对话历史、读过的文件、命令输出、CLAUDE.md、加载的 Skill。窗口满了早期指令可能丢失,持久规则应放 CLAUDE.md。


四、CLAUDE.md 项目记忆

位置作用域优先级
CLAUDE.md当前项目,团队共享,提交 Git最低
CLAUDE.local.md当前项目,个人偏好,不提交
~/.claude/CLAUDE.md全局,所有项目最高

五、Hook 钩子

在 Claude Code 生命周期特定事件触发时自动执行的 shell 脚本,通过 /hooks 可视化配置。

事件触发时机典型用途
PreToolUse工具调用前阻止修改特定文件
PostToolUse工具调用后自动格式化/lint
UserPromptSubmit用户发消息时输入预处理
SessionStart/End会话开始/结束环境初始化/清理
SubagentStart子代理启动时子代理环境配置
PreCompact上下文压缩前自定义压缩策略

六、Skill 代理技能

本质是 Markdown 文件(规则+流程+输出格式),按需加载不占空间。

文件结构:

markdown
---
name: 技能名称
description: 触发条件描述(Claude 据此匹配)
---
# 标题
## 具体规则和流程

层级:

位置作用域
.claude/skills/当前项目,团队共享
~/.claude/skills/全局,只在本地
.claude-plugin/skills/插件内,跟插件走

七、SubAgent 子代理

独立上下文窗口的隔离工作者,由主代理派生。

核心优势:上下文隔离(不污染主对话)、并行执行、可限制权限、可选更便宜的模型。

内置子代理:

子代理模型权限用途
ExploreHaiku只读搜索代码、回答问题
PlanSonnet只读代码库分析、方案规划
General继承主代理完整多步骤复杂任务

Skill vs SubAgent:

  • 需要主代理"知道某个规则" → 用 Skill
  • 需要"派个助手去做某件事" → 用 SubAgent

八、Plugin 插件

将 Skill + SubAgent + Hook + MCP 打包为可分享单元:

.claude-plugin/
├── plugin.json      # 元信息
├── skills/          # Skill
├── agents/          # 子代理
├── hooks/           # Hook
└── mcp/             # MCP Server

安装:claude plugin add ./path-to-plugin


九、七大扩展能力对比

功能加载时机上下文成本
CLAUDE.md会话启动每次请求都占
Skill按需加载
SubAgent按需生成零(独立上下文)
Agent Teams按需启动各自独立
MCP会话启动每次请求都占
Hook事件触发零(外部执行)
Plugin安装后使用取决于内容

经典组合方案:

  • 日常开发:CLAUDE.md + MCP + Hook 自动 lint
  • 代码审查:Skill 定义规则 + SubAgent 并行审查
  • 团队统一:Plugin 打包全部 → 全团队安装

十、最佳实践

10.1 让 Claude 能验证结果

差的提示好的提示
修个 bug登录报 NPE,堆栈在 AuthService:42,修完跑 AuthServiceTest
实现邮箱验证写 validateEmail,测试:user@example.com→true,invalid→false,跑完测试

10.2 先探索 → 再规划 → 再写代码

Plan Mode 先读代码理解现状,输出方案确认后再切回普通模式执行。

10.3 管理好会话

操作方式用途
打断Esc立刻停止纠偏
清空/clear不相关任务间清空
压缩/compact保留关键信息
回退/rewind 或 Esc×2回退到 checkpoint
恢复claude --resume继续中断的会话

经验:同一问题纠正超过 2 次 → 清空重来。

10.4 自动化与并行

bash
# 非交互模式
claude -p "给所有 Service 类加上 @Slf4j 注解"

# 管道模式
cat error.log | claude -p "分析错误根因"

# 多会话并行
claude --session code-session   # 窗口1:写代码
claude --session review-session # 窗口2:审代码

10.5 避免反模式

反模式解决
一个会话塞多个不相关任务/clear 分隔或开新会话
CLAUDE.md 写太长精简到 500 行,多余移到 Skill
不验证就信任结果必须有测试/脚本验证
MCP 连太多服务只连需要的,每个都占上下文