不再把AI当聊天工具,而是将其纳入工程体系。本文将带你完成从初级用户到自动化大师的五级跃迁。

前言:告别“越用越累”的困境

        前面我们详谈过Claude Code作为一款强大的AI编程助手的基础用法。大部分开发者将其视为一个“超级聊天机器人”:提出问题,复制答案,遇到错误再粘贴回去。这种“聊天软件”式的用法,在前期或许高效,但随着任务复杂度提升和会话变长,会陷入“越用越累”的困境——上下文爆炸、指令重复、AI幻觉频出。

                而真正的进阶用法,是将Claude Code从一个对话工具转变为一个工程系统。本篇要讲解的,就是这条清晰的进阶路径。我们将从CLAUDE.md固化规范,到Skills封装流程,再到Headless模式嵌入CI/CD,完成五个等级的跃迁。简单了解下这五级结构,如下:

等级核心目标关键动作产出成果
Level 1安装与基础会话安装、/init、基础提问能运行、会提问
Level 2上下文与项目记忆编写CLAUDE.md、使用/compact项目规范固化,会话成本降低
Level 3任务自动化与扩展创建Slash命令、子代理、接入MCP一键执行复杂任务,连接外部数据
Level 4流程控制与可靠性编写Hooks、设计Skills、工作流编排自动化测试、文档生成等完整流程
Level 5无人值守与集成Headless模式、SDK调用、CI/CD集成AI代码审查、自动发版等自动化流水线

        正如表格所示,Claude Code的五级进阶路线图,不仅关乎功能学习,更是一种工程思维的转变。下面,我们就从第一级开始,一步步揭开这条通关路线。

Level 1:基础会话与项目初始化

作为起点,这一级的目标是成功安装并运行Claude Code,理解其核心交互模式。

1.1 安装与环境准备

Claude Code是一个命令行工具,支持macOS、Linux和Windows WSL2。安装过程非常简单:

# 使用npm全局安装
npm install -g @anthropic-ai/claude-code

# 验证安装
claude --version

安装后,在终端输入claude即可进入交互式会话。初次使用需要登录Anthropic账号并配置API密钥。

1.2 初次会话与/init命令

进入一个代码项目目录,运行Claude Code:

cd my-project
claude

此时你面对的是一个AI编程助手。第一个必须掌握的命令是/init。该命令会扫描项目结构,生成一个.claude/目录,并创建一个基础的CLAUDE.md文件。

> /init

运行项目并下载源码

执行效果如下图所示:

┌─────────────────────────────────────────────────────────────┐
│  Scanning project directory...                              │
│  Detected: Python (Django) + JavaScript (React)             │
│  Created: .claude/                                          │
│  Created: .claude/CLAUDE.md                                 │
│  ✓ Project initialized successfully                         │
└─────────────────────────────────────────────────────────────┘

1.3 基础提问与上下文概念

        初始化后,你可以开始提问。但与普通聊天不同,Claude Code默认加载整个项目目录作为上下文。这意味着它“看到”所有代码文件。一个典型的会话如下:

>请解释这个项目的整体架构

Claude Code会读取项目文件,给出分析。但你需要理解一个核心机制:上下文窗口有限。随着对话变长,早期信息会被“压缩”或遗忘。这就是我们进入第二级的原因。

Level 2:上下文工程与项目记忆化

进入第二级,你的目标从“让AI做事”转变为“让AI按你的规范高效做事”。核心是掌握上下文管理工具与CLAUDE.md。

2.1 CLAUDE.md:项目级的“系统提示词”

CLAUDE.md是项目的记忆核心,Claude Code在每次会话启动时都会自动加载它。你可以把它想象成一份始终存在于AI上下文顶部的项目说明书。一个优秀的CLAUDE.md示例如下:

# 项目: 电商API后端
## 技术栈
- Python 3.10+, Django 4.2, DRF
- PostgreSQL, Redis

## 编码规范
- 遵循PEP 8,使用Black格式化
- 所有API视图必须继承`GenericViewSet`
- 数据库查询必须使用`select_related`/`prefetch_related`优化

## 常用命令
- 运行测试: `pytest tests/`
- 启动开发服务器: `python manage.py runserver`

## 项目特定知识
- 用户认证使用JWT,中间件为`JWTAuthentication`
- 支付接口统一在`payment/services.py`中实现

当这段内容固化在项目根目录后,你后续的所有提问都会自动遵循这些约定,无需重复说明。

2.2 上下文压缩三指令:/compact、/clear、/init

随着对话进行,token消耗会急剧增加,模型反应变慢。你需要掌握三个救急命令:

命令作用使用场景
/compact对当前会话进行智能总结压缩,保留关键决策,丢弃冗余细节对话超过50轮,感觉AI开始“忘记”早期内容时
/clear清空当前会话历史,但保留CLAUDE.md中的项目记忆任务彻底转向全新方向,需要“重启”对话时
/init重新扫描项目,更新CLAUDE.md(例如添加了新的大模块后)项目结构发生重大变化,或CLAUDE.md内容过时时

实战技巧:建立习惯,每完成一个子任务就手动执行一次/compact。这能有效防止上下文爆炸,其工作原理如下图所示:text

原始对话 (12000 tokens)
┌──────┐ ┌──────┐ ┌──────┐ ┌─────────────┐
│ 问题1│→│ 回答1│→│ 问题2│→│ ... (长对话) │
└──────┘ └──────┘ └──────┘ └─────────────┘
                           │
                      /compact
                           ▼
压缩后 (3000 tokens)
┌──────────────────────────────────────────┐
│ 用户目标: 实现支付回调                    │
│ 已决策: 使用Webhook, 签名验证             │
│ 待办: 编写测试, 添加日志                  │
│ 忽略: 中间调试过程的错误输出               │
└──────────────────────────────────────────┘

通过/compact,你保留了决策的“骨架”,丢弃了调试的“血肉”,让AI始终保持清醒。

2.3 素材目录结构化:建立context/文件夹

对于更大规模的项目,可以在.claude/目录下建立结构化素材库,例如:text

.claude/
├── CLAUDE.md          # 主入口文件
├── context/           # 上下文素材
│   ├── architecture.md # 系统架构图与说明
│   ├── database_schema.md # 数据库设计
│   └── api_docs.md    # API接口规范
└── commands/          # 自定义Slash命令(Level 3内容)

然后在CLAUDE.md中引用它们:

请参考以下文件获取详细信息:
- 系统架构: @.claude/context/architecture.md
- 数据库设计: @.claude/context/database_schema.md

通过@符号,你可以像在文档中插入链接一样,将项目知识精准喂给AI。至此,你已完成了项目记忆的固化,为进入自动化阶段打下坚实基础。

Level 3:任务自动化与能力扩展

        当你熟练管理上下文后,会发现很多任务是重复的(如“为这个新功能写单元测试”)。第三级的目标就是将这些重复任务自动化,并无限扩展Claude Code的能力边界。

3.1 Slash命令:一键触发预设工作流

        Slash命令是保存在.claude/commands/目录下的.md文件,你可以通过/命令名来触发。创建一个.claude/commands/test.md:

---
description: 为当前选中的代码生成单元测试
---

请为以下代码生成完整的单元测试。遵循项目的测试规范(使用pytest),覆盖正常路径和边界条件。

代码:
{{选中代码}}

        之后,在编辑器中选中任意函数,在Claude Code中输入/test,AI就会自动执行这套预设流程。你可以创建/doc(生成文档)、/fix(修复Lint错误)等常用命令。

3.2 子代理:复杂任务的“指挥官”模式

        当任务涉及多个步骤或文件时,子代理模式(Sub-agents)非常有用。它允许Claude Code临时创建一个独立的AI实例来专门处理一个子任务,并将结果汇总给你。在.claude/agents/下定义一个code-reviewer.md:

---
name: code-reviewer
description: 代码审查专家,专注于发现安全、性能和可维护性问题
model: sonnet
---

你是一位资深代码审查员。请重点检查:
1. 是否存在SQL注入、XSS等安全漏洞
2. 是否有明显的性能瓶颈(如N+1查询)
3. 命名和注释是否符合团队规范

请输出一份结构化的审查报告,包含问题等级(高/中/低)和修改建议。

在主对话中,你可以这样调用:

> @code-reviewer

主AI会将任务委托给code-reviewer子代理,后者返回专业报告。这就像你手下有了一位随叫随到的专家。

3.3 MCP协议:连接无限外部工具

MCP (Model Context Protocol) 是Claude Code的“万能接口”。通过配置MCP服务器,你可以让Claude Code直接读写数据库、操作Jira、查询企业内部Wiki等。配置示例(~/.claude.json):

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/db"]
    },
    "jira": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-jira", "--api-key=..." ]
    }
  }
}

配置后,你可以发出如下指令:

> 通过MCP连接数据库,查询最近10条异常订单记录,然后根据订单号去Jira上查找相关的工单状态。

Claude Code会自动调用postgres和jira两个MCP工具,获取数据并进行关联分析。至此,Claude Code的“手脚”已完全延伸至你整个技术栈。

Level 4:流程控制与可靠性设计

有了自动化能力,但如何保证流程稳定、可预测、不出错?第四级聚焦于Hooks(钩子) 和Skills(技能),让你的AI工作流具备健壮性。

4.1 Hooks:自动化流程的“守门员”

Hooks允许在特定事件(如AI生成代码前、执行命令前、会话结束前)插入自定义脚本。配置在.claude/settings.json中:

{
  "hooks": {
    "beforeWriteFile": "scripts/check-path.sh",
    "beforeBash": "scripts/confirm-dangerous.sh"
  }
}

示例脚本confirm-dangerous.sh:

#!/bin/bash
# 当AI要执行rm -rf或drop database等危险命令时,请求人工确认
if [[ $1 == *"rm -rf"* ]] || [[ $1 == *"DROP DATABASE"* ]]; then
  echo "⚠️  检测到危险命令: $1"
  read -p "是否确认执行? (y/N) " -n 1 -r
  if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    exit 1 # 阻止执行
  fi
fi

通过Hooks,你为AI的自由操作加上了安全护栏,避免因AI幻觉导致的数据灾难。

4.2 Skills:可复用的复杂能力单元

如果说Slash命令是“快捷键”,Skills就是可以组合调用、传递参数的“API”。一个Skill是一个包含元数据的.claude/skills/skill-name.md文件,它可以调用其他命令、子代理甚至外部API。示例:code-review-and-fix.md

---
name: review-and-fix
description: 审查代码并根据意见自动修复低级错误
parameters:
  - name: file_path
    type: string
    required: true
  - name: auto_fix
    type: boolean
    default: false
---

1. 调用子代理 `code-reviewer` 审查 `{{file_path}}`
2. 如果 `auto_fix` 为 `true`,则针对审查报告中“低”等级的问题,直接生成修复补丁
3. 生成一份最终报告,列出已修复和需人工介入的问题

使用该Skill:

> @skill review-and-fix  file_path=src/main.py auto_fix=true

这可以视为一个微型的自动化运维机器人。通过组合Hooks和Skills,你可以设计出“AI写代码 -> 自动跑测试 -> 测试失败则自动分析并尝试修复 -> 修复失败才通知人类”的完整DevOps循环。

Level 5:Headless模式与CI/CD集成

到达最高等级,你不再需要手动启动Claude Code。Headless模式允许你以非交互方式运行脚本,将AI能力无缝嵌入到GitHub Actions、GitLab CI或Jenkins中。

5.1 Headless Mode基础

Headless模式通过命令行参数直接传递指令,不开启对话界面。

# 基本语法
claude --headless --prompt "请检查src/目录下所有Python文件的语法错误" --allowedTools Bash

常用参数:

  • --headless: 启用非交互模式

  • --prompt <字符串>: 直接提供指令

  • --prompt-file <路径>: 从文件读取多行指令

  • --allowedTools <工具列表>: 限制AI可使用的工具(如Bash,Read,Edit)

  • --max-turns <次数>: 限制最大对话轮数,防止死循环

5.2 实战:GitHub Actions自动代码审查

创建一个GitHub Workflow文件.github/workflows/ai-review.yml:


name: AI Code Review on PR
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm install -g @anthropic-ai/claude-code
      - name: Run Claude Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude --headless \
            --prompt "请审查本次PR中变更的代码(使用git diff)。重点关注安全漏洞和性能问题。输出一份Markdown格式的审查报告。" \
            --allowedTools Read,Bash \
            --max-turns 20 > review-report.md
      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const report = fs.readFileSync('review-report.md', 'utf8');
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: `## 🤖 AI代码审查报告\n\n${report}`
            });

每当有Pull Request创建或更新时,这个工作流会自动触发,AI完成审查后将报告以评论形式发布在PR下方。整个过程无需人工干预。

5.3 SDK调用:更精细的集成控制

对于更复杂的集成需求,Claude Code提供了TypeScript/JavaScript SDK。以下是一个用Node.js调用的示例:

import { ClaudeSDK } from '@anthropic-ai/claude-code-sdk';

const session = await ClaudeSDK.createSession({
  projectDir: '/path/to/your/project',
  headless: true,
});

const result = await session.sendPrompt({
  prompt: '分析src/目录下圈复杂度最高的三个函数,并给出重构建议',
  maxTurns: 30,
  onUpdate: (update) => {
    console.log('AI思考中...', update.type);
  },
});

console.log('最终输出:', result.finalMessage);

通过SDK,你可以将Claude Code嵌入到VS Code插件、内部开发者平台,甚至Slack机器人中。

关于五级进阶路线的总结

在JDK 1.6对synchronized优化后,其性能与ReentrantLock已无明显差距。同样,单纯的AI聊天能力各家已相差无几,真正的差异化在于你将AI整合到工程系统中的能力。Claude Code的这一套五级进阶体系,正是将AI从“玩具”变为“工具”的关键路径:

  • Level 1-2 解决的是信息对齐问题,让AI懂你的项目。

  • Level 3 解决的是能力边界问题,让AI能操作你的工具链。

  • Level 4 解决的是可靠性问题,让AI行为可控、可预测。

  • Level 5 解决的是自动化问题,让AI融入你的无人值守流程。

大部分开发者停留在Level 1-2,抱怨AI“不够聪明”。而通关的开发者,已在享受AI带来的工程效率指数级提升。你的下一站,是将.claude/目录提交到Git仓库,让整个团队从这套基建中受益。现在,就开始你的通关之旅吧。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐