[TOOLS] 3 min readOraCore Editors

Claude Code 的架构、治理与工程实践

Claude Code 的上下文治理、Skills、Hooks、Subagents 与 Prompt Caching,决定了它能不能真正在工程里跑起来。

Share LinkedIn
Claude Code 的架构、治理与工程实践

Claude Code 最近被很多开发者当成“AI 结对编程”的默认选项,但真正把它用顺的人并不多。原因很简单:它不是一个单纯的聊天框,而是一套会读代码、调工具、记上下文、执行动作的工程系统。你要是只把它当问答机器人,它很快就会把上下文弄乱。

这篇文章最有价值的地方,是把 Claude Code 拆成了几个工程问题来看:底层怎么运作、上下文为什么会漂、Skills 和 Hooks 怎么设计、Subagents 该放在哪些任务上,以及 Prompt Caching 会怎样影响成本和响应速度。说白了,这不是“会不会用”的问题,而是“怎么让它长期可控”的问题。

Claude Code 不是聊天工具,而是执行系统

Get the latest AI news in your inbox

Weekly picks of model releases, tools, and deep dives — no spam, unsubscribe anytime.

No spam. Unsubscribe at any time.

Claude Code 的使用体验很像一个会自己读仓库、找文件、改代码、跑命令的助手,但它背后更接近一个带工具调用能力的执行框架。它会把你的指令、项目文件、历史上下文和工具结果拼在一起,再决定下一步该做什么。这个过程一旦失控,模型就会开始“记错事”,然后把错误延续到后续操作里。

Claude Code 的架构、治理与工程实践

文章里强调的一个核心点是,Claude Code 的能力边界不在模型本身,而在上下文管理。模型能不能持续产出正确结果,取决于它拿到的信息是不是干净、稳定、可追踪。对工程团队来说,这意味着你不能只优化提示词,还要优化信息流。

这也是为什么真正好用的 Claude Code 用法,通常都带着强约束:明确项目结构、明确任务边界、明确哪些文件可以改、明确哪些指令可以执行。少一点自由度,往往比多一点“智能”更靠谱。

  • Claude Code 会读取仓库内容,再结合当前任务决定工具调用顺序。
  • 上下文污染通常来自重复信息、过长历史记录、无关文件混入。
  • 工程化使用时,任务边界比“更长的提示词”更重要。
  • 模型输出质量和上下文治理直接相关,不是单靠模型大小决定。

上下文治理:别让模型替你做记忆管理

Claude Code 最容易出问题的地方,就是上下文越来越长以后,模型开始把前面的旧信息当成当前事实。文章把这个问题讲得很直接:上下文不是越多越好,而是越清晰越好。你把整个项目历史、所有讨论记录、所有临时想法都塞进去,最后模型只会更难判断什么该信、什么该丢。

这里最实用的思路是分层治理。项目级信息放在固定位置,任务级信息只在当前会话里保留,临时结论及时写回文档,不要靠模型“记住”。Anthropic 的 Claude Code 文档 也一直在强调,好的上下文不是堆出来的,而是整理出来的。

“Good context is the result of good curation.” — Anthropic, Claude Code documentation

这句话很适合工程团队。你要的不是一个什么都知道的助手,而是一个每次都能拿到正确材料的助手。把上下文治理当成仓库治理的一部分,Claude Code 的稳定性会高很多。

文章还提到,Prompt Caching 会让这个问题更值得认真处理。缓存能减少重复输入的成本,但前提是你把稳定内容和变化内容分开。否则缓存只是把混乱放大得更久。

Skills、Hooks、Subagents:别把它们用成装饰品

很多人第一次接触 Claude Code 的 Skills、Hooks、Subagents,会下意识把它们当成“高级功能”。文章的观点很明确:这些东西不是装饰,而是治理结构。用得好,它们能把大任务拆成可控的小块;用不好,它们只会让系统更难预测。

Claude Code 的架构、治理与工程实践

Skills 更适合沉淀稳定能力,比如代码风格、测试流程、提交规范、常用操作模板。Hooks 更适合处理事件驱动动作,比如文件变更后自动检查、提交前自动验证、任务完成后同步日志。Subagents 则适合做明确分工,比如一个负责检索,一个负责重构,一个负责测试。

这三者的区别,不在名字,而在职责边界。Skills 是规则库,Hooks 是触发器,Subagents 是分工单元。你如果把所有逻辑都塞进一个地方,最后就会得到一个难维护的 AI 工作流。

  • Skills 适合沉淀长期不变的团队规范。
  • Hooks 适合把动作自动化,减少人工检查。
  • Subagents 适合把复杂任务拆开,避免单个上下文过载。
  • 三者一起用时,最好先定义输入、输出和失败条件。

Prompt Caching 的真正价值,是把成本变成架构问题

Prompt Caching 经常被说成“省钱功能”,但文章更像是在提醒你,它其实会改变系统设计方式。只要你开始缓存系统提示、项目规则、固定上下文,整个 Claude Code 的调用模型就会从“每次全量发送”变成“稳定部分复用,变化部分单独处理”。这会直接影响响应速度、调用成本和会话稳定性。

对团队来说,这种变化很现实。比如一个大型代码库里,项目规则、编码约定、目录说明往往不会频繁变化,这些内容非常适合进入缓存层。变化最大的反而是当前任务、具体文件和最近几轮讨论,它们应该保持短小、明确、可替换。

如果你把缓存和上下文治理一起做,Claude Code 的表现会更像一个“有记忆边界的工程助手”,而不是一个每次都从零开始的聊天机器人。这个差别在长会话、复杂重构、跨文件修改时尤其明显。

  • 固定规则适合缓存,临时任务不适合缓存。
  • 缓存能降低重复输入开销,也能减少无意义的上下文膨胀。
  • 大仓库场景下,缓存设计会直接影响交互延迟。
  • 缓存不是万能的,错误的固定内容也会被稳定复用。

真正有用的 CLAUDE.md,应该像项目操作手册

文章最后回到一个很实在的问题:CLAUDE.md 到底该怎么写。答案不是“写得越多越好”,而是“写得越像操作手册越好”。它应该告诉 Claude Code 这个项目的边界、目录结构、常见命令、测试方式、提交规范、危险操作,以及哪些事情必须先问人。

一个好的 CLAUDE.md 不是给人看的笔记,而是给模型执行的说明书。它要短、清楚、稳定,最好能让模型在不反复追问的情况下完成大部分常规任务。换句话说,它应该减少歧义,而不是增加信息量。

如果把 Claude Code 真正用到生产环境,CLAUDE.md 往往比花哨的提示词更重要。它决定了模型第一次读仓库时看到什么,也决定了团队能不能把经验沉淀下来,而不是每次都重新教一遍。

我更愿意把这篇文章看成一份工程实践说明,而不是一篇功能介绍。Claude Code 的上限不只取决于模型能力,也取决于你有没有把上下文、自动化和分工设计好。接下来真正值得追问的,不是“Claude Code 能做什么”,而是“你的仓库准备好让它稳定工作了吗”。