Claude Code 工作模式


0. 定位声明

适用版本:Claude Code(基于 @anthropic-ai/claude-code npm 包,当前稳定版 ~1.x)
前置知识:
  - 基本的终端/命令行使用经验
  - 了解 LLM 基础概念(Token、上下文窗口、Tool Use)
  - 了解 Git 基本操作(commit、diff、branch)
不适用范围:
  - 不覆盖 Claude.ai Web 界面的使用
  - 不适用于通过 API 自行集成 Claude 的场景(那属于 Claude API 范畴)
  - 不覆盖 MCP Server 的开发与调试(仅涉及用户侧配置与使用)

1. 一句话本质

Claude Code 是一个跑在你终端里的 AI 编程助手。你用自然语言描述任务(“帮我重构这个函数”、“找出内存泄漏的原因”),它会自己读代码、改文件、执行命令,直到任务完成——整个过程就像一个会写代码的实习生坐在你旁边,你说需求,它动手做。

与普通的 AI 聊天工具最大的区别是:它能主动操作你的文件系统和终端,而不只是输出文字


2. 背景与根本矛盾

历史背景

2023 年前后,以 ChatGPT 为代表的对话式 AI 已能生成高质量代码片段,但开发者普遍面临"最后一公里"问题:AI 输出的代码需要手动复制粘贴、调试、整合到工程上下文——上下文割裂使 AI 实际提效有限。

与此同时,GitHub Copilot 等 IDE 插件只能做"代码补全",无法理解完整的工程意图(如"帮我把这个模块迁移到新架构"这类需要跨文件、多步骤的任务)。

Claude Code 在这一背景下诞生,定位是:在开发者本地环境中,以 Agentic 方式自主完成跨文件、多步骤的编程任务

根本矛盾(Trade-off)

张力轴 一侧 另一侧
自主性 vs 安全性 完全自主执行(无需确认)→ 效率最高 每步都询问用户 → 安全但繁琐
上下文深度 vs Token 成本 读入整个代码仓库 → 理解最准确 只读必要文件 → 便宜但可能遗漏
操作能力 vs 可控边界 允许执行任意 shell 命令 → 功能强大 限制执行范围 → 安全但能力受限

Claude Code 的核心设计哲学是:默认保守(向用户确认),但允许用户主动授权更大的自主权,通过 --dangerously-skip-permissions 等标志在受控场景(如 CI 流水线)中开放自主执行。


3. 核心概念与领域模型

关键术语表

术语 费曼式解释 正式定义
Tool Use(工具调用) Claude 不只会"说话",还会"动手"——它可以调用预定义的工具函数来读文件、执行命令 LLM 通过结构化输出触发外部函数调用的机制,Anthropic API 层面称为 Function Calling
Agentic Loop(代理循环) Claude 会反复"想→做→看结果→再想",直到任务完成,而不是只回答一次 以 LLM 推理为核心的 Reason-Act-Observe 循环,每轮迭代结果作为下一轮输入
Context Window(上下文窗口) Claude 的"工作记忆"——它能同时"记住"的内容总量,超出则会遗忘早期信息 LLM 单次推理能处理的最大 Token 数,Claude 3.x 系列支持 200K Token
REPL 模式 像 Python 交互式终端一样,你输一句它回一句,保持对话状态 Read-Eval-Print Loop,维持会话上下文的交互式执行模式
Headless 模式 不需要人盯着,把任务写在命令里直接运行,适合自动化脚本 无交互式界面的非阻塞执行模式,通过 stdin/参数传入任务,结果输出到 stdout
MCP(Model Context Protocol) 给 Claude Code 装"插件"的标准接口,让它能连接数据库、调用外部 API 等 Anthropic 制定的开放协议,定义 AI 模型与外部工具/数据源的标准化通信方式
Permission Gate(权限门控) 每次 Claude 要做"危险操作"(如删文件、执行命令),都会弹出确认提示 执行高风险工具调用前的用户授权检查机制

领域模型

用户输入(自然语言任务)
        │
        ▼
┌───────────────────────────────────────────────────────┐
│                   Claude Code CLI                      │
│                                                        │
│  ┌─────────────┐    ┌──────────────────────────────┐  │
│  │  Session    │    │       Agentic Loop            │  │
│  │  Manager   │───▶│  ┌────────────────────────┐   │  │
│  │            │    │  │  1. Claude 推理         │   │  │
│  │ - 对话历史  │    │  │  2. 选择工具            │   │  │
│  │ - 工作目录  │    │  │  3. Permission Gate     │   │  │
│  │ - 配置状态  │    │  │  4. 执行工具            │   │  │
│  └─────────────┘    │  │  5. 观察结果 → 回到1   │   │  │
│                     │  └────────────────────────┘   │  │
│                     └──────────────────────────────┘  │
│                                                        │
│  ┌─────────────────────────────────────────────────┐  │
│  │              Tool Layer(工具层)                 │  │
│  │  read_file │ write_file │ bash │ search │ ...   │  │
│  └─────────────────────────────────────────────────┘  │
│                                                        │
│  ┌──────────────┐    ┌──────────────────────────────┐ │
│  │ MCP Servers  │    │   Anthropic API               │ │
│  │ (可选扩展)   │    │   (Claude 模型推理)            │ │
│  └──────────────┘    └──────────────────────────────┘ │
└───────────────────────────────────────────────────────┘
        │
        ▼
文件系统 / 终端 / 外部服务(实际执行结果)

4. 工作模式详解

Claude Code 的工作模式是本文核心。根据交互方式自主程度,可以划分为以下几种模式:

4.1 交互式 REPL 模式(Interactive Mode)

费曼解释:就像和人发微信一样,你说一句它回一句,可以随时改变方向。

启动方式

# 直接在项目目录下启动
cd /your/project
claude

工作特征

  • 维持完整会话上下文,前面讨论的内容在后续对话中可被引用
  • 每次需要执行"写文件"、"运行命令"等操作时,默认弹出权限确认
  • 用户可在对话中实时调整任务方向
  • 支持 @文件名 语法将特定文件纳入上下文

典型用途

  • 探索式调试(“这个 bug 可能是哪里导致的?”)
  • 增量式功能开发(边讨论设计边实现)
  • 代码审查与重构讨论

交互控制命令

命令 作用
/help 查看所有可用命令
/clear 清空当前会话上下文(节省 Token)
/compact 压缩上下文(用摘要替换历史,保留关键信息)
/cost 查看当前会话的 Token 消耗与费用
/permissions 查看当前已授权的操作范围
Escape 中断当前正在执行的 Agentic 任务

4.2 一次性任务模式(One-shot / Inline Mode)

费曼解释:不开对话框,直接在命令行把任务一句话说完,它做完就退出。

启动方式

# -p / --print 标志:执行后打印结果并退出
claude -p "找出 src/ 目录下所有未被使用的 import,并给出修复建议"

# 从 stdin 读取任务
echo "给这个函数补充单元测试" | claude -p

工作特征

  • 无交互,执行完毕后进程退出,返回码反映执行状态
  • 输出为纯文本,可被管道下游处理
  • 默认仍然受权限门控约束(需要文件写入时仍会暂停)

典型用途

  • Git hooks 中的代码质量检查
  • Makefile 中的辅助任务
  • 快速查询代码库信息

4.3 无人值守自动化模式(Headless / Non-interactive Mode)

费曼解释:把 Claude Code 当作一个可以自主完成任务的"机器人",不需要有人在旁边盯着确认,适合在服务器或 CI 上跑。

启动方式

# --dangerously-skip-permissions:跳过所有权限确认
claude -p "运行测试套件,修复所有失败的测试" \
  --dangerously-skip-permissions

# 在 CI 环境中的典型用法(GitHub Actions 示例)
# 注意:需要设置 ANTHROPIC_API_KEY 环境变量
claude -p "检查本次 PR 的代码变更,生成 code review 报告" \
  --dangerously-skip-permissions \
  --output-format json

⚠️ 安全警告--dangerously-skip-permissions 意味着 Claude 可以无需确认地执行任意 shell 命令和文件操作。仅在以下条件全部满足时使用

  1. 在隔离的沙箱/容器环境中运行
  2. 任务范围明确且可预期
  3. 对代码库有版本控制保护(可回滚)

输出格式控制

# 流式 JSON 输出(适合程序化处理)
claude -p "分析这段代码的复杂度" --output-format stream-json

# 纯文本输出(默认)
claude -p "..." --output-format text

输出格式对比

格式 适用场景 特点
text(默认) 人类阅读 Markdown 格式,友好易读
json 程序解析 结构化,包含完整元数据
stream-json 实时流处理 逐行输出 JSON 事件,适合低延迟场景

4.4 自定义工作流模式(Custom Workflow / SDK Mode)

费曼解释:不用命令行,而是在你自己的程序里调用 Claude Code 的能力,把 AI 嵌入到你的工具链中。

Claude Code 提供了 Node.js SDK,允许开发者以编程方式控制 Agentic 循环:

// 运行环境:Node.js 18+,@anthropic-ai/claude-code 最新版
import { query } from "@anthropic-ai/claude-code";

// 基础用法:单次查询
const messages = [];
for await (const message of query({
  prompt: "解释 src/auth.ts 中的认证逻辑",
  options: {
    maxTurns: 10, // 最大 Agentic 循环次数
    cwd: "/your/project", // 工作目录
  },
})) {
  messages.push(message);
  // message.type 可能是 'text' | 'tool_use' | 'tool_result' | 'result'
  if (message.type === "text") {
    process.stdout.write(message.text);
  }
}

// 多轮对话:传入历史消息
const followUp = query({
  prompt: "基于刚才的分析,帮我重构 validateToken 函数",
  options: { maxTurns: 20 },
  // 传入前一轮的消息历史,维持上下文
  messages: messages,
});

关键参数说明

参数 默认值 说明 风险
maxTurns 10 Agentic 循环最大轮数 过大可能导致高费用和无限循环
allowedTools 全部 限制可用工具集合 过度限制会使任务无法完成
cwd process.cwd() 工作目录 设置错误会导致文件操作失败
systemPrompt 内置 覆盖系统提示 覆盖后会失去内置的安全约束

4.5 MCP 增强模式(MCP-integrated Mode)

费曼解释:给 Claude Code 安装"插件",让它能访问你公司的数据库、内部 Wiki、项目管理系统等,就像给手机装 App 一样扩展能力。

MCP(Model Context Protocol) 是 Anthropic 推出的开放协议,Claude Code 通过 MCP Server 连接外部数据源和工具。

配置方式~/.claude.json 或项目级 .claude/config.json):

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "${DATABASE_URL}"
      }
    }
  }
}

MCP 工作原理

Claude Code
    │
    │ 发现工具(工具描述注入到系统提示)
    ▼
MCP Client(内置于 Claude Code)
    │
    │ JSON-RPC over stdio / SSE
    ▼
MCP Server(独立进程)
    │
    ▼
外部服务(GitHub API / PostgreSQL / Jira / ...)

常用 MCP Server 生态

Server 用途 适用场景
server-github GitHub PR/Issue 操作 自动化 code review、issue 分析
server-postgres 数据库查询 代码中的 SQL 辅助、schema 理解
server-filesystem 增强文件操作 大型目录结构导航
server-brave-search 网络搜索 查询最新文档和技术方案
自定义 Server 任意内部系统 企业内网工具集成

4.6 模式对比总览

维度 REPL 交互模式 One-shot 模式 Headless 自动化 SDK 编程模式 MCP 增强模式
触发方式 终端交互 CLI 单次命令 CI/脚本调用 代码调用 叠加于其他模式
用户参与 全程参与 发起后退出 无需参与 由程序控制 同宿主模式
权限控制 每步确认 每步确认 跳过确认 可编程控制 同宿主模式
上下文保持 ✅ 全会话 ❌ 单次 ❌ 单次 ✅ 可传递 ✅ 继承
适用场景 探索调试 快速查询 CI/自动化 工具链集成 数据源扩展
Token 消耗 中-高 低-中 中-高 可控 略高(工具描述占 Token)

5. 工作原理与实现机制

5.1 Agentic Loop 详解

Claude Code 的核心执行引擎是一个 Reason-Act-Observe 循环,以下是单次完整任务的执行时序:

用户输入 "帮我修复 src/api.ts 中的 TypeScript 错误"
    │
    ▼
[Turn 1 - 推理]
Claude 分析任务:需要先读文件
    │
    ├─ 决策:调用 read_file(path="src/api.ts")
    │
    ▼
[Permission Gate]
"是否允许读取 src/api.ts?" ─── 用户确认 ──▶ [执行工具]
    │
    ▼
[Turn 1 - 观察]
接收文件内容,发现 3 处 TS 错误
    │
    ▼
[Turn 2 - 推理]
分析错误原因,制定修复方案
    │
    ├─ 决策:调用 write_file(path="src/api.ts", content=...)
    │
    ▼
[Permission Gate]
"是否允许修改 src/api.ts?" ─── 用户确认 ──▶ [执行工具]
    │
    ▼
[Turn 2 - 观察]
文件写入成功
    │
    ▼
[Turn 3 - 推理]
需要验证修复是否有效
    │
    ├─ 决策:调用 bash(command="npx tsc --noEmit")
    │
    ▼
[Permission Gate]
"是否允许执行命令?" ─── 用户确认 ──▶ [执行工具]
    │
    ▼
[Turn 3 - 观察]
tsc 输出无错误 → 任务完成,退出循环
    │
    ▼
输出最终摘要给用户

5.2 上下文管理机制

Claude Code 面临的核心工程挑战之一是在有限的 Context Window 内塞入足够的信息

信息优先级策略(⚠️ 存疑:具体实现细节为推断):

  1. 系统提示:Claude Code 的行为规范和工具定义(固定占用,约 10-20K Token)
  2. 用户任务描述:当前任务的完整上下文
  3. 工具调用历史:已执行操作的记录(随对话增长)
  4. 文件内容:被 @引用 或工具读取的文件(最大变量)

上下文压缩机制/compact 命令触发):

原始对话历史(可能 100K+ Token)
    │
    ▼
Claude 生成摘要(保留关键决策和已知信息)
    │
    ▼
压缩后上下文(约 5-10K Token)
    │
    ▼
继续执行,但早期细节可能丢失

实践建议:当执行复杂的长任务时,若发现 Claude 开始"遗忘"之前的约束或决策,应主动使用 /compact 或重新启动带有精炼 prompt 的新会话。

5.3 权限系统设计

┌────────────────────────────────────────────────────────┐
│                 权限级别(从宽松到严格)                  │
├────────────────────────────────────────────────────────┤
│ 1. --dangerously-skip-permissions                      │
│    所有操作无需确认,完全自主执行                         │
├────────────────────────────────────────────────────────┤
│ 2. 会话级授权(交互模式中选择"Allow in session")        │
│    本次会话内同类操作不再询问                             │
├────────────────────────────────────────────────────────┤
│ 3. 单次确认(默认)                                      │
│    每次操作单独确认                                       │
├────────────────────────────────────────────────────────┤
│ 4. 只读模式(部分工具被禁用)                             │
│    通过 allowedTools 配置限制可用工具集                  │
└────────────────────────────────────────────────────────┘

高风险操作分类(⚠️ 存疑:分类标准为推断):

  • bash 执行任意 shell 命令
  • write_file / delete_file 文件写入/删除
  • 网络请求工具(通过 MCP 接入时)

6. 高可靠性保障与生产实践

6.1 数据安全

最小化暴露原则

# 推荐:在项目根目录启动,限制文件访问范围
cd /your/project
claude

# 不推荐:在 home 目录启动(Claude 可以访问更多文件)
cd ~
claude

敏感信息保护

  • Claude Code 会将对话内容发送至 Anthropic API,不要在对话中粘贴私钥、密码等敏感信息
  • 使用 .claudeignore 文件(语法与 .gitignore 相同)排除敏感目录和文件
# .claudeignore 示例
.env
.env.*
secrets/
*.pem
*.key
node_modules/

6.2 可观测性

指标 查看方式 正常范围 警告阈值
Token 消耗 /cost 命令 依任务复杂度而定 单任务 > 100K Token 时需关注费用
循环轮数 任务日志 5-15 轮 > 30 轮可能陷入循环
任务耗时 终端时间 30s - 5min > 10min 建议中断重来

6.3 容灾策略

版本控制是最重要的保险

# 在让 Claude Code 进行大规模修改前,先创建 checkpoint
git add -A && git commit -m "checkpoint: before claude-code refactoring"

# 若结果不满意,可完整回滚
git reset --hard HEAD~1

任务中断与恢复

  • Escape 键可随时中断正在执行的 Agentic 任务
  • 中断后文件系统处于操作进行中的状态,需手动检查是否有半完成的修改
  • 重新启动新会话时,可用 git diff 了解 Claude Code 已做的修改

7. 使用实践与故障手册

7.1 典型生产配置

项目级配置文件/your/project/.claude/config.json):

{
  "model": "claude-opus-4-5",
  "maxTurns": 15,
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
    }
  }
}

CLAUDE.md — 项目上下文注入文件(最重要的配置之一):

在项目根目录创建 CLAUDE.md,Claude Code 每次启动时会自动读取此文件:

# 项目上下文

## 技术栈
- Node.js 20 + TypeScript 5.x
- PostgreSQL 15(ORM: Drizzle)
- 部署在 Kubernetes,镜像推送至内部 Harbor

## 开发约定
- 所有函数必须有 JSDoc 注释
- 数据库迁移文件放在 db/migrations/
- 禁止直接修改 db/schema.ts,需通过 drizzle-kit generate 生成

## 禁止操作
- 不要删除任何带有 `// DO NOT DELETE` 注释的代码
- 不要修改 .env.production 文件

7.2 故障模式手册


【故障一:Claude 陷入无限工具调用循环】

  • 现象:任务运行 > 30 轮,反复读写同一文件但没有进展
  • 根本原因:初始 Prompt 描述不清晰,或任务本身存在循环依赖(A 依赖 B,B 依赖 A)
  • 预防措施:在 Prompt 中明确"成功标准";为 SDK 模式设置合理的 maxTurns(建议 ≤ 20)
  • 应急处理:按 Escape 中断 → git diff 检查当前状态 → 重新用更清晰的 Prompt 启动

【故障二:上下文超限(Context Window Overflow)】

  • 现象:Claude 开始忽略之前定义的约束,或报告"无法记住之前的信息"
  • 根本原因:对话历史超过 200K Token,早期信息被截断
  • 预防措施:长任务中定期使用 /compact 压缩上下文;将核心约束写入 CLAUDE.md 而不是依赖对话历史
  • 应急处理:/clear 清空历史 → 重新注入关键上下文 → 继续任务

【故障三:文件被意外修改或删除】

  • 现象:Claude 在执行大型重构时删除了不应删除的文件或引入了错误修改
  • 根本原因:任务描述不够精确,或 Claude 对业务逻辑的理解有偏差
  • 预防措施:大改前创建 git commit checkpoint;使用 CLAUDE.md 明确禁止操作范围
  • 应急处理:git checkout -- <file> 还原单个文件 或 git reset --hard 全量回滚

【故障四:MCP Server 连接失败导致工具不可用】

  • 现象:Claude 报告无法使用某个工具,或工具调用返回连接错误
  • 根本原因:MCP Server 进程未启动、环境变量未注入、网络不通
  • 预防措施:在 CI 环境中明确检查 MCP Server 健康状态;本地开发时先用 npx <server> 手动测试
  • 应急处理:检查 .claude/config.json 中的环境变量配置 → 重启 Claude Code 会话

【故障五:API 费用超预期】

  • 现象:单次任务消耗 Token > 100K,月账单显著增长
  • 根本原因:频繁读取大文件、上下文未及时压缩、循环任务未设置 maxTurns 上限
  • 预防措施:在 CLAUDE.md 中告知 Claude 避免读取超过 X KB 的文件;SDK 模式设置 maxTurns;使用 /cost 监控消耗
  • 应急处理:立即中断任务 → 检查是否有 Agent 循环 → 优化 Prompt 减少不必要的工具调用

7.3 边界条件与局限性

  1. 大型 Monorepo:代码库超过 100 万行时,Claude Code 无法在单次会话内理解全局结构,需要通过 CLAUDE.md 人工标注关键模块边界
  2. 二进制文件:无法处理图片、视频、编译产物等非文本文件
  3. 实时性要求:每次工具调用都有 API 往返延迟(通常 1-5 秒),不适合需要毫秒级响应的场景
  4. 网络隔离环境:Claude Code 需要访问 api.anthropic.com,在完全隔离的内网环境中无法使用
  5. 并发执行:⚠️ 存疑:多个 Claude Code 实例同时操作同一文件系统时的行为未明确记录,建议避免并发写入

8. 性能调优指南

8.1 Token 效率优化

Prompt 工程对 Token 消耗影响最大(优先级最高)

# ❌ 低效 Prompt(会导致大量探索性工具调用)
"帮我优化这个项目"

# ✅ 高效 Prompt(明确范围、成功标准、约束)
"优化 src/services/user.service.ts 中的 getUserById 函数:
1. 目标:将 P99 查询延迟从当前 ~200ms 降低到 <50ms
2. 方法:仅考虑添加数据库索引和查询优化,不修改业务逻辑
3. 成功标准:提供 EXPLAIN ANALYZE 结果证明优化有效"

CLAUDE.md 预加载上下文,减少 Claude 探索文件结构的工具调用次数(可节省 20-40% Token)。

8.2 调优参数速查

参数/配置 默认值 推荐值 调整方向
maxTurns(SDK) 10 简单任务: 5-10 / 复杂重构: 15-25 过小导致任务截断,过大增加费用风险
CLAUDE.md 大小 无限制 < 5KB 过大占用宝贵 Token
/compact 频率 手动 每 30-50 轮对话触发一次 过频会丢失上下文细节
.claudeignore 覆盖 覆盖 node_modules、build 等 减少无效文件被读入

9. 演进方向与未来趋势

9.1 MCP 生态扩展

MCP 协议自 2024 年底开源以来,第三方 MCP Server 数量快速增长(⚠️ 存疑:截至 2025 年社区 MCP Server 数量的具体统计)。随着更多企业内部系统接入 MCP,Claude Code 的能力边界将从"本地文件系统"扩展到"企业全量数据"。

对使用者的实际影响:未来可以直接问 Claude Code “把 Jira 上本周所有 P0 bug 转换成对应的测试用例并提交 PR”——而无需在多个系统间手动切换。

9.2 多 Agent 协作模式

Anthropic 正在探索让多个 Claude Code 实例并发协作的模式(Swarm / Multi-agent),其中 Orchestrator Agent 负责任务分解,Sub-agents 负责并行执行。

对使用者的实际影响:超大规模重构任务(如"将整个后端从 REST 迁移到 GraphQL")将不再需要人工切分子任务,Claude Code 可以自主并行处理。


10. 面试高频题

【基础理解层】

Q:Claude Code 和 GitHub Copilot 最本质的区别是什么?
A:Copilot 是"代码补全工具",在 IDE 中实时预测下一行代码;
   Claude Code 是"任务执行 Agent",在终端中通过 Agentic Loop 自主完成多步骤任务(读文件→分析→修改→验证)。
   本质差异:Copilot 是"辅助输入",Claude Code 是"委托执行"。
考察意图:考察候选人是否理解 AI Coding 工具的不同范式,而不只是停留在"都是 AI 写代码"层面。
Q:什么是 Agentic Loop?为什么 Claude Code 需要它?
A:Agentic Loop 是"推理→行动→观察→再推理"的循环。
   之所以需要它,是因为复杂任务无法一步完成——Claude 需要先读代码才知道怎么改,改完还需要运行测试才知道改对了。
   没有 Agentic Loop,Claude 就只能"说说而已",无法真正执行任务。
考察意图:考察对 LLM Agent 架构的理解深度。

【原理深挖层】

Q:Claude Code 的 Permission Gate 设计背后体现了什么工程哲学?
A:体现了"默认最小权限"原则,同时兼顾了可用性。
   每次高风险操作前询问用户,本质上是在 AI 自主性(效率)和人类控制(安全)之间寻找动态平衡点。
   这与 Unix 的 sudo 模型类似:你可以执行高权限操作,但必须明确地确认你知道自己在做什么。
   开放 --dangerously-skip-permissions 则是允许用户在受控场景(CI)中主动放弃这层保护,换取自动化能力。
考察意图:考察对 AI 安全工程和权限设计原则的理解。
Q:CLAUDE.md 文件的本质是什么?它解决了什么问题?
A:CLAUDE.md 本质上是"注入到每次会话系统提示的持久化上下文"。
   它解决的问题是:Claude 没有跨会话记忆,每次重启都是"新人"——CLAUDE.md 相当于给新入职的员工写的《项目指南》,
   确保 Claude 每次都了解项目的技术约定、禁止事项和关键边界,而不需要每次都口头重新解释。
考察意图:考察候选人是否真正理解 LLM 无状态性带来的工程挑战及解决方案。

【生产实战层】

Q:在 CI 流水线中使用 Claude Code 的 Headless 模式,你会重点关注哪些风险?
A:
1. 费用失控风险:Agent 陷入循环会消耗大量 Token,必须设置 maxTurns 上限和 API 费用告警
2. 代码质量风险:无人值守时 Claude 可能做出不符合预期的修改,必须配合 git 检查和测试套件自动验证
3. 敏感信息泄露:CI 环境中的数据库连接串、API Key 等绝不能出现在传给 Claude 的 Prompt 中
4. 非幂等操作风险:如果 CI 失败重跑,Claude 的操作是否可以安全地重复执行?需要在设计上保证幂等性
考察意图:考察候选人将 AI 工具引入生产流程时的工程素养和风险意识。

11. 文档元信息

验证声明

本文档内容经过以下验证:
✅ 与官方文档概念一致性核查:https://docs.claude.com/en/docs/claude-code/overview
⚠️ 以下内容未经本地环境验证,仅基于文档与推断:
   - 第 5.2 节:上下文管理的具体 Token 占比为推断值
   - 第 5.3 节:权限分类为推断,非官方分类体系
   - 第 6.2 节:可观测性指标阈值为经验推断
   - 第 9 节:演进方向基于公开信息,未来产品规划可能变化
   - 第 7.3 节第 5 条:并发行为未查到官方说明,已标注存疑
⚠️ 文档撰写时网络访问受限,无法实时核查最新官方文档,请以 Anthropic 官方文档为准

知识边界声明

本文档适用范围:Claude Code 命令行工具(@anthropic-ai/claude-code),基于截至 2025 年底的公开资料
不适用场景:
  - Anthropic API 直接调用(不通过 Claude Code CLI/SDK)
  - Claude.ai Web 界面
  - 企业内部部署的私有化版本(如有)
  - Claude Code 与特定 IDE 插件集成的具体行为

参考资料

官方文档:
  - Claude Code 概览:https://docs.claude.com/en/docs/claude-code/overview
  - MCP 协议规范:https://modelcontextprotocol.io
  - Anthropic API Tool Use 文档:https://docs.anthropic.com/en/docs/tool-use

延伸阅读:
  - ReAct: Synergizing Reasoning and Acting in Language Models(Agentic Loop 的学术基础)
  - Anthropic 博客:Introducing Claude Code(产品发布文章)
  - MCP GitHub 仓库:https://github.com/modelcontextprotocol

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐