内容来源:X 社区长文。https://x.com/servasyy_ai/status/2039138111566020867
原 X Article:https://x.com/i/article/2039123478234996737
作者:@servasyy_ai
原发布时间:2026-04-01

Claude Code CLI architecture source cover

Claude Code 架构启发:缓存、上下文和安全护栏

很多人讨论 Claude Code 时,容易把重点放在提示词上:怎么写提示词、怎么约束输出、怎么让它更听话。提示词当然重要,但 Claude Code 这类产品真正难的地方,不是某一段 prompt 写得好,而是整套 Agent 基础设施如何支撑长会话、工具调用、权限确认、上下文压缩、多任务协作和安全执行。

这篇社区长文试图从 CLI 架构角度拆解 Claude Code。由于原文涉及非官方源码分析和敏感实现细节,本文不做逐段转述,只提炼对开发者和团队有价值的安全版启发。

核心观点是:工业级编码 Agent 不是一个聊天框加一组工具,而是一套围绕上下文、缓存、权限、记忆、协作和安全构建的运行系统。

启发一:Prompt 不是一整块,而应该分层

普通 AI 应用常见做法,是把系统提示词、用户偏好、项目规则、工具说明和环境信息拼成一整块发给模型。这样实现简单,但每次变化都可能导致整段上下文重新计算,成本和延迟都不好控制。

更适合 Agent 的做法是分层:

  • 稳定层:身份、通用规则、安全原则、工具使用方式;
  • 会话层:当前任务、用户偏好、项目规则、环境信息;
  • 动态层:MCP 连接状态、临时指令、预算、当前工作进度。

稳定内容尽量保持不变,动态内容按需更新。这样可以减少不必要的上下文扰动,也更容易做缓存和调试。

对团队自建 Agent 或内部 Claude Code 工作流来说,这个思路很实用:不要把所有规则都塞进一个巨大提示词。应该把长期规则写进 CLAUDE.md 或 Skills,把临时任务写进当前会话,把会变化的工具状态通过 MCP 或脚本实时提供。

启发二:长会话需要多级 Compact 策略

Claude Code 能处理长任务,不只是因为模型上下文窗口更大。长会话真正难的是:哪些内容应该保留,哪些内容应该压缩,哪些内容可以删除,哪些内容必须转成外部文件。

一个成熟的 Compact 体系,至少要区分几类信息:

  • 用户目标和不可变约束;
  • 已经完成的步骤;
  • 当前失败或阻塞点;
  • 关键决策和原因;
  • 后续待办;
  • 可丢弃的中间日志和重复输出。

如果压缩只是“把前文总结一下”,很容易丢失工程约束。更好的方式是让 Claude Code 把长任务状态写进结构化文件,例如 plan.mdprogress.mdhandoff.md,再在新会话里读取这些文件继续工作。

对内容平台或研发团队来说,长任务不要只依赖聊天历史。真正可靠的上下文,应该沉淀到项目文件、测试、脚本和文档里。

启发三:Skills 是能力发现系统,不只是文档

Skills 的价值不只是“让 Claude 读一份 Markdown”。更重要的是让 Agent 在合适时机发现、加载和使用某个能力包。

一个成熟的 Skill 系统至少要解决三个问题:

  • 什么时候应该触发这个 Skill;
  • 触发后先读哪些入口说明;
  • 需要更详细信息时,再去哪读脚本、模板、示例和 Gotchas。

这就是渐进披露。会话开始时不需要把所有 Skill 全部塞给模型,只需要让模型知道有哪些能力,以及每个能力适合什么任务。真正相关时,再加载完整内容。

这对 Claude Code 专区前面写过的 Skills 文章是补充:一个好 Skill 的 description 是给模型看的,不只是给人看的摘要。它要清楚描述触发条件。

启发四:多 Agent 不是多开几个窗口

多 Agent 协作听起来很简单:一个写代码,一个写测试,一个做审查。但真正实现起来,会遇到很多系统问题:

  • 每个 Agent 的上下文如何隔离;
  • 子任务结果如何回传;
  • 权限请求由谁确认;
  • 多个 Agent 是否能并行修改文件;
  • 失败后如何恢复;
  • 中间过程是否污染主会话。

因此,多 Agent 更像一个任务编排系统,而不是“多开几个 Claude”。

在实践中,可以把多 Agent 分成三类使用:

  • 后台探索型:独立读取大量文件,最后只回传结论;
  • 专家审查型:安全、性能、测试、文档等专门视角;
  • 团队协作型:多个 Agent 长时间分工,需要共享状态和权限管理。

对普通团队来说,不必一开始追求复杂 Swarm。更现实的起点是:主会话负责计划和决策,子会话负责代码探索或独立 Review,最终由人查看关键 diff 和验证证据。

启发五:远程运行需要权限桥接和工作区隔离

当 Agent 从本地 CLI 走向远程容器、网页、IDE 或多设备协同时,问题会变复杂。

远程运行至少要解决:

  • 本地用户如何审批远端工具请求;
  • 多个会话如何避免互相覆盖代码;
  • 网络断开后如何恢复;
  • 历史消息和新消息如何保持顺序;
  • 凭据如何注入、隔离和回收;
  • 每个任务的文件修改如何归属。

这里有一个很重要的工程启发:远程 Agent 不应该直接在同一个工作目录里混着改。更稳的方式是用独立 worktree、临时目录或容器隔离每个会话。这样多个 Agent 可以并行工作,最后通过 PR、diff 或 patch 合并结果。

这也适合团队内部使用 Claude Code:重大修改最好让 Agent 在独立分支或 worktree 里完成,不要直接在主工作区长时间自动改。

启发六:权限系统要集中、可审计、可回放

Claude Code 这类工具最敏感的地方,是它能读文件、改文件、运行命令、访问外部服务。权限如果只靠用户临时判断,很容易在长任务里失控。

一个更稳的权限系统应该具备:

  • 默认最小权限;
  • 高风险操作必须确认;
  • 权限请求说明影响范围;
  • 多 Agent 权限请求集中处理;
  • 所有授权和拒绝都有日志;
  • 执行结果可追踪到会话和任务。

对团队使用来说,建议把权限规则写进 CLAUDE.md 和项目 Hook:

  • 生产环境命令必须先解释;
  • 删除、覆盖、迁移、发布类操作必须等待确认;
  • 默认不能读取密钥文件;
  • 默认不能把本地敏感信息发到外部;
  • 重要修改必须经过测试和人工 Review。

权限设计不是为了拖慢 Agent,而是为了让它能在更大范围内被信任。

启发七:安全不是一个黑名单,而是多层护栏

原文提到 Claude Code 在命令执行安全上有多层检测。这里不展开任何绕过或实现细节,只提炼原则:编码 Agent 的安全不能只靠“禁止几个危险命令”。

更可靠的安全体系应该包括:

  • 命令级风险识别;
  • 文件系统沙箱;
  • 网络边界;
  • 凭据隔离;
  • 权限确认;
  • 操作日志;
  • Git diff 和 commit 归属;
  • 发布前检查;
  • 异常行为告警。

尤其是 Bash、Shell、脚本执行这类能力,风险很高。即使用户只是让 Claude Code“帮我清理一下目录”,也可能涉及删除、覆盖、重命名和移动文件。安全系统必须把“意图”和“实际命令影响”分开看。

对普通项目来说,可以先做几件简单但有效的事:

  • 让 Claude Code 默认先给计划,再执行危险操作;
  • 用 git 保持所有修改可回滚;
  • 关键目录只读;
  • 用 Hook 阻止明显高风险命令;
  • 部署和数据库操作走专门脚本,不让 Agent 临时拼命令。

启发八:成本管理要进入 Agent 行为本身

长任务 Agent 的成本不只是模型单价,也包括上下文长度、工具调用次数、重试次数、日志读取量、并行 Agent 数量和失败循环。

如果 Agent 能感知预算,就可以调整行为:

  • 接近预算时停止并汇报;
  • 收益递减时不再继续硬跑;
  • 简单任务不启用过重模型;
  • 大量探索转成文件摘要;
  • 中间日志不全部塞回主会话。

这和前面“长任务工作流:目标、预算和停止条件”可以连起来。预算不是财务功能,而是 Agent 编排的一部分。

对 Claude Code 使用者的落地清单

如果你不是在开发 Agent 基础设施,只是想把 Claude Code 用好,可以从下面几件事开始:

  • 把项目长期规则写进 CLAUDE.md
  • 把重复任务做成 Skills 或 slash commands;
  • 长任务用 plan.md 记录阶段状态;
  • 让 Claude 先探索和规划,再执行;
  • 每个任务设置停止条件;
  • 高风险命令必须人工确认;
  • 用独立分支或 worktree 承接大改;
  • 让测试、构建、截图和日志成为验证证据;
  • 任务结束后,把成功流程沉淀成模板。

这些做法本质上是在补齐 Claude Code 背后的工程系统:上下文管理、权限管理、验证管理和复用管理。

小结

Claude Code 的启发,不是“某个 prompt 很厉害”,而是工业级 Agent 需要围绕基础设施来设计。

真正决定体验的,是这些系统能力:

  • 缓存和 prompt 分层;
  • 长会话压缩;
  • Skills 发现;
  • 多 Agent 隔离;
  • 远程会话和工作区隔离;
  • 权限确认;
  • 安全护栏;
  • 成本预算;
  • 验证闭环。

对团队来说,最重要的不是复刻某个产品内部实现,而是把这些原则转成自己的工作流。Claude Code 越强,越要把规则、权限、验证和复盘做扎实。否则 Agent 的能力越大,跑偏时的成本也越高。