管理 Claude Code 的上下文:实用手册

CometAPI
AnnaSep 12, 2025
管理 Claude Code 的上下文:实用手册

Anthropic 的 Claude Code 以及更广泛的 Claude 系列如今让开发者前所未有地掌控模型“看见多少”和“思考多深”。近期产品更新(尤其是 Sonnet 4 的 100 万 token 上下文窗口与 Claude 扩展的“思考”控制)让上下文管理更强大也更重要:你可以在单次会话中处理整个代码仓库——但前提是你要有意识地组织提示、文件与会话状态。本文将解释如何可靠地管理 Claude Code 的上下文:命令与用法、思考预算控制、CLAUDE.md 模式、子代理工作流、进阶技巧、故障排查,以及可直接复制粘贴的代码示例。

什么是 Claude Code

Claude Code 是 Anthropic 的 agentic coding CLI——一个以终端为先的工具,将你的开发环境与 Claude 模型连接起来,使助理能够读取代码仓库、运行命令、编辑文件、运行测试、创建提交,并从终端执行多步工作流。它的设计让 AI 可以“驻留”在你的 shell 中并对代码库采取行动,具备仓库扫描、斜杠命令、子代理(具有隔离上下文的专用助理)以及与外部工具的 Model Context Protocol (MCP) 集成等特性。


为什么要管理 Claude Code 的上下文?

因为上下文 = 相关性 + 成本 + 安全。如果听之任之,冗长的历史会导致:

  • 更高的 token 使用量(更高成本、更慢响应)。
  • 上下文漂移(过时/不相关信息干扰输出)。
  • 信息泄露(机密或敏感日志滞留在会话中)。
    管理上下文能让输出更准确、可预期且更省钱。

Claude Code 如何组织与保存项目上下文?

Claude Code 是一个具备智能体能力的 CLI,它将你的仓库、工具与配置视为一等上下文来源。它会读取项目文件、CLAUDE.md、本地工具与已配置的 MCP 服务器;同时支持子代理,每个子代理都有自己的上下文窗口(有助于避免污染主对话)。据此可将顶层策略与专用代理的记忆相互隔离(例如测试运行器、代码审阅者)。

Claude Code 如何摄取仓库上下文与辅助文件?

  • 扫描工作目录以及你添加的任何额外目录(--add-dir)。
  • 查找 .claude/ 子文件夹(commands、agents)与 CLAUDE.md
  • 你可以连接 Model Context Protocol (MCP) 服务器以访问外部工具;Claude Code 可将这些工具继承到其工具集中。

我可以采用哪些方法在 Claude Code 中管理上下文?

  1. 掌握上下文相关的基础 CLI 命令。将可复用提示存为 .claude/commands/ 下的斜杠命令,避免重复粘贴长提示。
  2. 合理设计 CLAUDE.md 文件。在仓库根目录添加 CLAUDE.md,用于定义目标、允许的工具、风格、升级规则以及实用斜杠命令。(Claude Code 会自动读取,并将其作为权威指引。)
  3. 使用子代理进行任务隔离——每个子代理拥有独立的上下文窗口与工具权限,避免污染主会话。将子代理定义存入 .claude/agents/ 并纳入版本控制。

基础的上下文管理命令有哪些

下面是管理 Claude Code 会话状态最常用的命令。包含行为说明、示例用法、推荐场景与相关 CLI 标志的提示。


/clear — “重新开始”

作用: 清除当前会话中的对话历史,使后续提示从干净状态开始。REPL 会话保持不变,但来回消息将不再进入模型上下文。(项目文件与 CLAUDE.md 仍对 Claude Code 可见。)

适用时机

  • 完成一个功能或工单后,希望为不相关任务开启干净会话。
  • 会话累积了大量探索性轮次、回答质量开始下降。
  • 在移交会话给他人/其他代理前,避免泄露先前对话状态。

用法

# in the interactive REPL

/clear

备注与技巧

  • /clear 会对该会话的对话历史产生不可逆影响;如需回到磁盘上保存的旧会话,可使用 /resume/--continue

/compact — “总结与压缩”

作用: 将当前对话压缩为更短的摘要,保留要点与决策,并用该摘要替换冗长历史,使会话在不丢失重要上下文的情况下继续。这能降低 token 使用同时保持连贯性。

适用时机

  • 想保留线程中的重要状态但降低 token 占用。
  • 在开始一个较长的新任务前,避免接近上下文窗口极限。
  • 需要简明的会话“记忆”并保留关键决策。

用法

# in the interactive REPL

/compact
# or with an instruction to guide the summary

/compact Summarize decisions, open TODOs, and config changes only

备注与技巧

  • 当会话长度接近限制时,某些版本或环境可能会自动启用 auto-compactmicrocompact 等智能压缩行为;这些功能正在逐步推出,可能在你的本地安装或托管环境中出现。(社区与更新日志中讨论了 microcompact 与 auto-compact 的行为。)

--continue--resume 与会话控制(CLI 层面)

作用: 从 CLI 控制会话的持久化与选择。

  • claude --continue(或 claude -c)——重新打开并继续当前项目目录中最近一次会话。
  • claude --resume(或 claude -r <session-id>)——显示交互式选择器(或通过 ID 恢复特定会话)。当你保存了许多会话并希望挑选其一继续时很有用。

用法示例

# continue the most recent session

claude --continue

# open an interactive session picker

claude --resume

# resume by id (non-interactive)

claude --resume 550e8400-e29b-41d4-a716-446655440000

影响上下文的交互模式快捷键(终端 UX)

  • Ctrl+L —— 清空终端屏幕(视觉效果),但会话历史会被保留。实际重置历史请用 /clear
  • Ctrl+D —— 退出会话(EOF)。
  • Ctrl+C —— 取消当前生成。
    这些是便捷控制;除非显式运行 /clear--continue/--resume,否则只影响终端行为。

其他与上下文相关的控制与标志

  • --add-dir <path> —— 额外纳入 Claude 可读取的目录(有助于限定 Claude 可访问范围、减少不必要的文件读取)。
  • --allowedTools —— 预先允许工具,使 Claude 无需重复权限确认(减少往返与嘈杂的工具授权对话)。
  • 斜杠命令(/.claude/commands/ 或 MCP 提供)——存储常用且 token 高效的提示;调用斜杠命令比反复粘贴长提示更省成本。

我应如何设计 CLAUDE.md 来控制项目上下文?

CLAUDE.md 是什么,为什么重要

CLAUDE.md 是项目级的预置提示,Claude Code 在仓库启动时会自动读取。用它记录关于项目的短、小、可执行且稳定的信息(名词、架构、规范)。由于模型会将 CLAUDE.md 摄入提示,一个良好设计的文件能减少重复提供相同信息的需要,节省宝贵的 token 预算。

CLAUDE.md:实用模板(推荐)

遵循这些规则:简短(尽量 100–200 行)、分层(全局 → 项目 → 子目录覆盖)、分段机器可读。

# CLAUDE.md — top of repository

Project: Acme Payment Gateway
Primary language: typescript
Build: pnpm build
Run tests: pnpm test
API routing: src/api/*
Database: Postgres via prisma (schema at prisma/schema.prisma)

# Conventions

- commit format: Conventional Commits
- test coverage threshold: 80%
- style: eslint + prettier (configs in .eslintrc, .prettierrc)

# What I'm asking Claude to do

- When asked to create a feature, always include tests and update the CHANGELOG.
- When modifying DB schema, present migration plan and migration files.

备注:

  • 将高价值条目(API、关键文件、基础设施命令、测试命令)置于最前。
  • 当不同模块有不同约定时,在子目录放置独立的 CLAUDE.md;Claude 会组合并优先采用更具体的文件。

我如何组装工作流与子代理来管理上下文并并行推进工作?

什么是子代理?

子代理是 Claude Code 的一种模式:主代理将离散任务委派给下属代理(例如:frontend-agentbackend-agentqa-agent),然后主代理整合它们的输出。子代理让你可以在系统不同部分并行工作,而无需把一切塞进同一聊天中。

示例工作流:特性实现(并行代理)

  1. main-agent 阅读 CLAUDE.md,制定计划。
  2. frontend-agent(子代理)获得聚焦上下文:UI 契约、storybook、特定文件。
  3. backend-agent(子代理)获取数据库模式、API 契约并实现端点。
  4. qa-agent 运行测试,将失败用例反馈给 main-agent
  5. main-agent 编排提交、合并请求,并更新 CLAUDE.md。

CLI 模式:

# start main session

claude --session main

# spawn frontend subagent (conceptually: new session with scoped CLAUDE.md)

claude --session frontend --cwd frontend/

提示:在子目录下创建作用域化的 CLAUDE.md 文件(frontend/CLAUDE.mdbackend/CLAUDE.md),使每个子代理只携带其所需的最小上下文启动。

子代理示例:.claude/agents/code-reviewer.md

---
name: code-reviewer
description: Focused code reviewer. Limited tools: Read, Grep, Bash
---

You are a code reviewer. When invoked:
1. Run `git diff --name-only` to see changed files.
2. Prioritize security, correctness, tests.
3. Return a patch (diff) and a 3-item actionable checklist.

如何以更健康的上下文与更低成本成为进阶用户?

1) 让 CLAUDE.md 精简且分层

避免巨大的单体 CLAUDE.md。使用一个全局文件记录开发者偏好,配合小而专的模块文件记录局部细节。参见前述模板。

2) 用斜杠命令承载动词,用 CLAUDE.md 承载名词

让 CLAUDE.md 成为记录“事实”的地方(有哪些文件、架构如何),而让斜杠命令成为记录“流程”的地方(创建测试、执行重构)。这样避免在每次会话中重复发送流程逻辑。

3) 详细模式 + 计划模式作为调试工具

当 Claude 行为异常时,启用详细模式查看精确上下文,并使用计划模式强制模型先给出可由你批准的明确计划,再进行编辑。

4) 谨慎预算思考

以默认/最小思考 token 为起点,仅在任务需要多步推理时(复杂重构、形式化验证)提高预算。对常规编辑使用更低预算。

5) 对输出与提交做监测

通过钩子自动运行测试,并将其输出附加到会话中(bash 模式用 ! 运行 shell 命令并将输出纳入上下文)。使用提交钩子创建清晰的原子化提交及消息。

当上下文“掉线”或 Claude 忘记指令时,如何排查?

常见症状与修复

  • 症状: Claude 忽略了 CLAUDE.md 或先前指令。
  • 修复: 确认文件位于会话当前工作目录;检查是否被更具体的子目录 CLAUDE.md 覆盖;使用详细模式查看当前提示。
  • 症状: 长会话中性能下降(模型“遗忘”早期内容)。
  • 修复: 压缩会话:将稳定事实提炼到 CLAUDE.md,或将对话中的部分内容快照到文件并以引用方式使用,而非重复粘贴。同时考虑重启短会话,仅传递精炼上下文。
  • 症状: 扩展思考耗时过长或超时。
  • 修复: 降低 thinking_budget,将任务拆分为更小子问题,或在需要极大预算时改为离线批量分析。当最佳思考预算超过约 32K tokens 时,Anthropic 建议采用批处理以避免超时。

结语

在 Claude Code 中管理上下文是一个多维问题:模型选择、子代理设计、CLAUDE.md 规范、思考预算与工具架构相互作用。先投入 1–2 小时撰写清晰的 CLAUDE.md,搭建 2–3 个聚焦的子代理,并为 token 与思考预算添加用量监测——你将立刻在可靠性、成本可预测性与团队生产力上看到收益。

通过 CometAPI 使用 Claude Code

CometAPI 是一个统一的 API 平台,将来自领先提供商的 500 多个 AI 模型(如 OpenAI 的 GPT 系列、Google 的 Gemini、Anthropic 的 Claude、Midjourney、Suno 等)聚合到一个对开发者友好的接口中。通过提供一致的认证、请求格式与响应处理,CometAPI 大幅简化了将 AI 能力集成到你的应用中的过程。无论你在构建聊天机器人、图像生成器、音乐创作工具,还是数据驱动的分析管道,CometAPI 都能让你更快迭代、控制成本并保持供应商无关,同时利用 AI 领域的最新突破。

我们很高兴地宣布,CometAPI 现已全面支持强大的 Claude Code。 你只需安装 Claude Code,并使用获取到的 Comet API key 与 base address 完成认证,即可在 Claude Code 上使用 Comet API 模型。

为什么要通过 CometAPI 使用 Claude Code?

顶级人工智能能力:使用专为开发者打造的模型轻松生成、调试与优化代码。

  • 灵活的模型选择:我们丰富的模型组合让你的开发更顺畅。
  • 无缝集成:API 始终可用。几分钟内将 Claude Code 直接集成到你现有的工作流中。
  • 通过 CometAPI 使用 Claude Code 将更省成本。CometAPI 提供的 API 比官方价格优惠 20%,并与官方保持最新模型更新。最新的模型为 Claude Opus 4.1

准备好使用 Claude Code 了吗?请参阅 API 指南 获取详细说明。

另请参阅 如何通过 CometAPI 安装并运行 Claude Code?

阅读更多

一个 API 中超 500 个模型

最高 20% 折扣