如何让 Cloud 变聪明 8 倍(Anthropic 工程师的方法)

How to Make Cloud 8x Smarter (Anthropic Engineers' Method)

中文译文 · 12k 字

一句话摘要

标题主题:Anthropic 工程师让 Cloud 变聪明 8 倍的方法

如何让 Cloud 聪明 8 倍(Anthropic 工程师的方法) 2026年7月6日 · 10 分钟阅读 · 查看来源 ↗ Claude AI MCP 硬件 Anthropic 工程师每天合并的代码量比一年前多了 8 倍。模型没变,硬件没变,团队也没变。唯一改变的,是 Claude 在开始工作之前所看到的东西。 把这篇收藏起来。 你的时间只会流向两个地方之一。你可以把它投入到更精妙的提示词里,或者投入到更好的上下文里。这唯一的选择,就是那 8 倍差距的全部来源。 Anthropic 自己的研究说得非常直白:一个智能体的质量,更多取决于你喂给它的上下文,而不是模型本身。Claude 只能看到上下文窗口里的内容。窗口之外的一切,等同于不存在。所以一个 AI 工程师真正的本职工作,不是巧妙的措辞,而是确保 Claude 在动手之前,面前摆着正确的信息。 这份工作现在有了名字。上下文工程(Context engineering)。它正在取代提示词工程(prompt engineering),就像几年前提示词工程取代了手工编写脚本一样。 为什么你的智能体会给出糟糕的答案 当一个智能体失败时,背锅的往往是模型。它改错了文件,做了错误的假设,交出了一个任何开发者都能看出来的错误。 模型很少是原因。原因在于缺失的上下文。 大多数人给 Claude 的是 | 一个提示词 Claude 真正需要的是 | 知识、记忆、文件、 | 规则、示例、工具、 | 状态、之前的操作 提示词只是一句话。上下文是 Claude 在其中工作的整个信息环境。一个智能体成功还是失败,取决于那个环境里装着什么,而不是运行的是哪个模型。 Anthropic 的说法很简单:模型只能看到上下文窗口里的内容,而上下文是 AI 的操作系统。构建错了,一切都不工作,无论模型多强大。 上下文到底是什么 上下文不只是你在提问之前粘贴的那段文字。那只是其中一层。一个构建得当的上下文有 7 个部分协同工作。 记忆 | 智能体从过往会话中知道的东西 指令 | 规则、约束、编码风格 示例 | 好的输出到底是什么样子 文件 | 相关的代码、文档、架构 之前的操作 | 智能体已经尝试过什么 工具结果 | 搜索和函数返回了什么 状态 | 任务目前进行到哪一步 Claude 采取的每一个行动都会让上下文增长。工具结果返回,新文件被读取,状态更新。Claude 读取新的上下文,然后挑选下一步行动。是这个循环——而不是提示词,也不是模型——真正驱动着一个智能体运行。 用户请求 ↓ 从全部七个组件构建上下文 ↓ Claude 决定行动 ↓ 工具执行 ↓ 结果被加入上下文 ↓ Claude 看到新的上下文 ↓ 下一步行动 ↓ 重复直到完成 一个弱智能体在第 2 步就破坏了循环。上下文不完整,于是 Claude 用假设来填补空白,而错误的假设产生错误的输出。通常的修法是重写提示词。真正有效的修法,是把上下文构建正确。 三层上下文栈 Anthropic 把上下文框定为 3 层。每一层有自己的职责,并在工作的不同时刻加载。 全局上下文 | 始终存在,每个会话都在 项目上下文 | 在项目开始时加载 任务上下文 | 针对具体任务加载 全局上下文是永久层:身份、核心规则、编码风格、智能体绝对不能做的事情。它在各个会话之间保持不变,永远不需要重新解释。 全局上下文包含: - 智能体的身份和角色 - 编码标准和风格规则 - 安全约束 - 绝对不能触碰或修改的东西 - 如何处理不确定性 项目上下文是知识层:Claude 理解这个代码库所需要的一切。架构、正在使用的模式、决策及其背后的原因、以前坏掉过的东西。 项目上下文包含: - README 和架构概览 - 带项目专属规则的 AGENTS.md - 文件夹结构和命名约定 - 测试要求和模式 - 关键依赖以及为什么选择它们 任务上下文是执行层:它面前的文件、当前的工单、眼前的目标、适用于这个具体任务的限制。 任务上下文包含: - 当前文件和相关文件 - 本次会话的具体目标 - 最近的改动及其结果 - 当前的测试结果 - 针对这个任务的约束 只给 Claude 任务上下文,它每个会话都会对全局层和项目层视而不见,对所有从未被告知的事情全靠猜。那些猜测,就是错误的来源。 AGENTS.md,那个改变一切的文件 在一个严肃的 Claude Code 配置里,这是最重要的单个文件。AGENTS.md 已经成为了 AI 编码智能体的标准,现在存在于成千上万个生产仓库中,原因只有一个:它管用。 项目上下文永久地住在这里。Claude 在每个会话开始时读取 AGENTS.md,之后再也不需要被重新告知任何内容。 # AGENTS.md ## Architecture(架构) Monorepo,Next.js 前端加 Express 后端。 所有 API 路由都在 /api 下。永远不要直接修改 /legacy。 ## Coding Rules(编码规则) 永远不要用 axios。始终用 fetch。 每个组件:TypeScript、Tailwind、Server Actions。 除了页面之外,不允许默认导出。 ## Testing(测试) 单元测试用 Vitest。E2E 用 Playwright。 每次提交前运行 npm test。 永远不要禁用一个失败的测试——修好它或者上报。 ## Git 永远不要直接提交到 main。 始终开一个带清晰描述的 PR。 把每个 PR 关联到一个 Linear 工单。 ## Never Touch(绝不触碰) src/payments/ - 任何改动都需要人工审批 src/auth/tokens/ - 需要安全审查 .env 文件 - 永远不要读取或修改 那个文件里的每一行,都是 Claude 不会再犯的一个错误。一个项目运行得越久,AGENTS.md 就越锋利,因为它收集了智能体犯过的每一个错误、团队设定的每一条约定。 驱动严肃智能体的上下文栈 强大的 AI 工程师不会靠敲一个提示词来开始一项任务。他们会加载一个上下文栈——一组固定顺序的信息,在 Claude 采取任何行动之前就位。 第 1 步 | 加载全局上下文 - 身份、规则、风格 第 2 步 | 加载项目上下文 - AGENTS.md、架构、文档 第 3 步 | 在记忆中搜索相关的过往经验 第 4 步 | 为这个具体任务加载相关文件 第 5 步 | 加载当前状态 - 测试结果、最近的改动 第 6 步 | 用清晰的验收标准定义任务目标 第 7 步 | Claude 带着完整信息行动 下面是默认智能体和做了上下文工程的智能体的对比: 糟糕的智能体: 问题 → Claude → 答案 Claude 对所有它不知道的东西全靠猜 好的智能体: 问题 ↓ 搜索文档 ↓ 搜索记忆 ↓ 读 AGENTS.md ↓ 读相关文件 ↓ 检查当前状态 ↓ Claude ↓ 建立在完整信息之上的答案 第二个智能体并不更聪明。它只是信息更充分。同一个模型,不同的上下文。 记忆,那个在会话之间存活的上下文 Anthropic 区分了喂给上下文的记忆种类。大多数智能体只持有一种——当前对话——这就是为什么它们每次都要从零重启。 长期记忆 | 在所有过往会话中学到的一切 短期记忆 | 在这次对话中更早发生的事 工作记忆 | 此刻在上下文窗口里的东西 长期记忆是让一个智能体随着时间越来越值钱的东西。每个会话都在为它添砖加瓦,每个错误都被记录下来,每个奏效过的模式都被存储起来。一个在某个代码库上跑了 6 个月的智能体,知道一些任何提示词都无法复现的东西。 在实践中,这是一个记忆文件——一个位于对话之外的 markdown 文档,智能体在会话开始时读取它,在会话结束时更新它。 Project Memory(项目记忆) Architecture decisions(架构决策) - 选择 Supabase 而非 Firebase:实时性不那么关键,需要 SQL 查询 - 从 REST 迁移到 tRPC:全栈类型安全,2026 年 6 月 What has worked(奏效过的) - 重构前更高的测试覆盖率可以防止回归 - 把大 PR 拆成功能开关发布可以减少审查时间 What has not worked(没奏效过的) - 自动生成迁移:schema 漂移引发了一次生产事故 - 多个智能体并行写同一个文件:始终用 worktree Recurring patterns(反复出现的模式) - 认证问题几乎总能追溯到中间件顺序 - 性能问题通常始于数据库查询层 每个会话开始时读取,结束时更新。智能体不再遗忘。 MCP,来自四面八方的上下文 上下文不只是来自仓库里的文件。一个生产级的智能体需要团队所接触的每一个系统的上下文:问题追踪器、错误监控器、文档、数据库、聊天。 Model Context Protocol 就是 Claude 从外部系统拉取上下文的方式,而不需要为每一个系统做定制集成。 Filesystem | 本地文件、配置、代码库 GitHub | issues、PR、提交历史、CI 结果 Linear / Jira | 工单、优先级、项目状态 Slack | 已做出的决策、讨论中的上下文 Postgres | 实时数据、schema、查询结果 Google Drive | 文档、规格说明、会议记录 Sentry | 实时错误、频率、受影响的用户 一个接入了 MCP 的智能体看到的不只是代码。它看到解释这个功能为何重要的工单、做出架构决策的那条 Slack 线程、显示用户如何踩到这个 bug 的 Sentry 错误,以及修复必须遵守的数据库 schema。 那就是完整的上下文。Claude 做出正确判断、无需猜测所需要的一切。 一个做了上下文工程的任务长什么样 而不是这样: 构建导出功能。 你交给 Claude 的是这样: Goal(目标) 导出功能正在阻碍免费转付费的转化。 参考信号:/signals/export-too-hidden.md Relevant files(相关文件) src/features/export/ - 当前实现 src/components/ui/Button.md - 需要遵循的按钮模式 tests/features/export.test.ts - 现有的测试覆盖 Architecture constraints(架构约束) 阅读 AGENTS.md 的 Export Rules 一节 永远不要直接修改账单集成 Success criteria(验收标准) 所有现有测试通过 新测试覆盖三种导出格式 PR 开出来并关联 Linear 工单 EXP-47 不改动 src/payments/ 同一个任务,不同的上下文。输出不只是好一点点。它是完全不同性质的输出,因为 Claude 是在用完整信息做决定,而不是用聪明的猜测。 这个周末就把你的上下文栈搭起来 第 1 天 搭建三层栈。写一个带身份和核心规则的全局上下文文件。创建 AGENTS.md,写上你的架构、编码约定和绝不触碰清单。建立一个记忆文件,在会话开始时加载,在会话结束时更新。 第 2 天 用 MCP 接入外部上下文。加上 GitHub 连接器,让 Claude 看到你的 issues 和 PR 历史。加上文件系统连接器,让它快速穿行于代码库。如果你们团队在 Slack 或 Linear 上做决策,也加上。 第 3 天 测试差距。把同一个任务跑两遍,一遍用你旧的只用提示词的方式,一遍用完整的栈。那个差距,就是 8 倍提升的来源。 转变已经发生了 提示词工程是找到正确的措辞。上下文工程是构建正确的信息环境。 Anthropic 最强的工程师并不把一天花在打磨提示词上。他们花在确保 Claude 在行动之前拥有正确的知识、记忆、文件、规则和状态上。提示词是最后 1% 的工作。上下文是另外的 99%。 在薄弱的上下文之上叠加完美的提示词,你得到的仍然是聪明的错误。用平平无奇的提示词,把完整的上下文喂给同一个模型,它就能做出正确的判断。决定这个的不是模型,而是信息环境。 上下文是 AI 的操作系统。把它构建正确,8 倍就不再是 Anthropic 的故事,而是发生在你自己的代码库里。 收藏这篇,给它一个周末。 标签:# X # Claude # AI # MCP # 硬件 # Thread # Guide 相关文章 Anthropic 工程师输出提升 8 倍。这是背后的上下文工程系统。Anthropic 工程师每天合并的代码量比一年前多了 8 倍。模型没变。硬件没变。团队规模没变。变的是 Claude 在开始之前所看到的…… Claude AI MCP 硬件

原文参考:https://maxed.wiki/posts/how-to-make-cloud-8x-smarter-anthropic-engineers-method/ (Maxed.wiki,本页为站内中文整理)