
本文来自 Twitter @sairahul1 的分享,经 Obsidian Clippings 收集后迁移至此。
大多数开发者都在走弯路。
他们因为 Twitter 上的酷炫演示选了 CrewAI。
他们追逐每一个新框架。
他们在没有理解 context、tools、harness 的情况下就跳进多 Agent 系统。
结果总是一样的:大量框架旅游,零生产级技能。
这是一份完整的 17 周路线图,带你从零到独立拥有生产级 AI 功能。
一个改变一切的关键数字
Anthropic 在两个不同系统中用同一个基准测试了 Claude Opus 4.5:
- 在 Claude Code 中:78%
- 在 Smolagents 中:42%
同一个模型,同一个基准,36 分的差距。
这个差距不在模型,而在 harness 工程。
harness——你如何构建循环、管理上下文、分发工具、协调子 Agent——决定了你的 Agent 是生产级的,还是一个在真实条件下就崩溃的演示。
2026 年 AI Agent 工程师到底做什么
忘掉 Twitter 上的版本。以下是真实的工作内容:
- 设计 Agent 循环和工具分发
- 用四个原语工程化上下文:Write, Select, Compress, Isolate
- 编写模型能正确选择的工具——不只是能用的工具
- 用隔离的上下文窗口编排子 Agent
- 添加技能、记忆、持久化和沙箱
- 连接评估、追踪和 CI 关卡,让"更好"变得可衡量
- 交付能在真实用户和真实成本下存活的 Agent
2026 年最值得学习的两个栈:LangGraph 1.0 + Deep Agents 和 Claude Agent SDK。其他要么在衰落,要么正在被吸收,要么是这两个的更差替代品。
上下文四大原语(最先学会这些)
在接触任何框架之前,先理解上下文工程。这是基础技能。
- Write —— 草稿垫和记忆文件。Agent 将其工作状态外化,以免上下文压缩时丢失。
- Select —— 按需检索。你不需要把所有内容都扔进上下文。只获取当前步骤相关的信息。
- Compress —— 在上下文窗口的 85%~95% 处自动压缩。在窗口填满前主动压缩历史轮次。绝不让 Agent 在任务中途耗尽空间。
- Isolate —— 带有独立上下文窗口的子 Agent。派生子 Agent 处理子任务,将压缩后的摘要返回给父 Agent。不要原始数据。
Anthropic 的多 Agent 研究系统用这个模式在广度优先研究任务上击败了单 Agent Opus 4 达 90.2%——只用了约 15 倍的 token。教训是:把 token 花在隔离上,而不是一股脑倒进一个巨大的上下文里。
阶段 0 —— 基础(第 1~2 周)
目标: 在接触框架之前建立心智模型。
需要学习的内容:
Python 异步基础。 Agent 默认是异步的。不懂 asyncio 会立刻撞墙。
从头学 Anthropic API。 先别用封装库。自己手写一个原始工具调用循环——模型调用 → 工具分发 → 结果注入 → 下一轮模型调用。理解框架隐藏的东西,才能在它出问题时快速定位。
Prompt 工程。 学 Anthropic 的官方交互式 Prompt 工程教程——9 个章节的 Jupyter Notebook,直接在 Claude API 上练习。这是建立真实 Prompt 能力最快的方式。
上述 4 个上下文原语。 它们是你后续每个框架决策的透镜。
里程碑:一个原始 Python 循环,接受用户问题,调用 Claude,分发工具,注入结果,返回最终答案。不用 LangChain,不做任何抽象。只有你和 API。
免费资源:
- Anthropic 工程博客(本文路线图所有内容的原始来源)
- Anthropic 交互式 Prompt 工程教程(GitHub,免费)
- DeepLearning.AI Andrew Ng 的"Agentic AI"短课程(免费,1~2 小时)
- swyx 的 Latent Space 通讯——现在订阅,通读整个学习过程
阶段 1 —— LangGraph + Deep Agent(第 3~6 周)
目标: 学习主流编排运行时及其打包的 harness。
LangGraph 是状态机。节点是步骤,边定义流程,状态在图之间传递上下文。PostgresSaver 为每个节点做检查点,Agent 崩溃后可以恢复。
Deep Agents 是上面的中间件层——规划、文件系统、子 Agent、摘要、人在回路。它打包了工程团队花了数月才摸索出的模式。
重点关注:
- 状态模式、节点、边、条件边
- PostgresSaver 检查点、时间旅行调试、人在回路中断
- 中间件如何组合
大多数工程师忽略的中间件洞察:中间件是自定义打包 Agent 而不分叉的方式。 before_agent、wrap_model_call、before_tools、after_tools 钩子让你拦截每一步。用 30 行代码写一个自定义中间件。知道什么时候用中间件 vs 什么时候写新节点。
工具和 MCP: 朴素的"把所有 MCP 工具加载到上下文"的模式是错的。正确的方式是代码执行配合 MCP。Anthropic 的方法将工具 token 从 150K 降至 2K。仅 defer_loading: true 一个标志就削减了 85% 的工具 token,并将 MCP 评估从 79.5% 提升至 88.1%。
实践项目:构建一个"研究分析师" Deep Agent。
- 输入:一个研究问题
- Lead Agent 做规划,写待办列表到虚拟文件系统,并行派发 3 个搜索子 Agent——各自有隔离上下文
- 子 Agent 搜索、将结果写入文件、返回简短摘要给父 Agent。不要把原始搜索结果倒进父 Agent 的上下文
- 引用子 Agent 验证声明
- 写手 Agent 生成最终报告
- 所有状态通过 PostgresSaver 持久化
- 中途 Kill 进程,从停止处恢复
- 人在回路中断:Agent 在超过 1 美元 token 费用前请求确认
里程碑:一个可工作的多步骤 Agent,具备持久化、子 Agent、隔离上下文和人在回路中断功能。
阶段 2 —— 自己动手造 Harness(第 7~10 周)
目标: 不再使用打包的 harness。自己从头构建一个薄的 harness。
这是路线图中杠杆率最高的阶段。在你从零构建一个之前,永远无法在生产环境中做出正确的 harness 权衡。
现代 harness 必备的 10 个组件:
- 循环控制 —— 驱动模型 → 工具 → 模型的 while 循环
- 工具分发 —— 注册中心、模式验证、并行调用、错误恢复、重试
- 上下文管理 —— 系统提示组装、消息历史在窗口 85~95% 处的压缩、~20K token 处的工具响应卸载、Prompt 缓存
- 持久化 —— 每个节点检查点状态。恢复、回退、分叉必须可行
- 子 Agent 编排 —— 派生隔离上下文的子 Agent,路由压缩摘要回父 Agent
- 技能和渐进披露 —— 只在相关时加载能力。每个技能的上下文元数据控制在 50 token 以内
- 钩子 —— PreToolUse、PostToolUse、PreCompact、Stop、SessionStart
- 可观测性 —— 每个模型调用、工具调用、子 Agent 调用的 OTEL span,带 token 计数和延迟
- 沙箱 —— 代码执行和 MCP 工具调用发生在容器中,模型永远无法直接获取凭证
- 认证和密钥代理 —— 凭证绝不进入模型上下文
核心洞察:harness 不思考。它读文件、调用工具、写日志、运行钩子。所有智能都活在技能文件和记忆文件中。 这意味着你明天可以替换 harness 而不丢失任何东西。替换模型也不丢。唯一积累价值的是技能、记忆和协议——纯 Markdown 和 JSON,存放在 Git 仓库里。
实践项目:用约 1500 行 Python 写一个微型 harness。
包装 Anthropic API 的循环、基于装饰器的工具注册中心、CLAUDE.md 风格系统提示加载器、渐进披露技能加载器、子 Agent 派生原语、超过 20K token 的工具结果文件卸载、85% 上下文窗口处自动压缩、可插拔钩子系统、OpenTelemetry 追踪、SQLite 持久化恢复。
里程碑:一篇 1000 词的复盘文章,比较你的微型 harness 与 Claude Agent SDK 和 Deep Agents。什么做对了,什么砍掉了,如果重来会怎么改。代码是证据,复盘文章才是真正的交付物。
阶段 3 —— 构建评测 Harness(第 11~13 周)
目标: 让你的 Agent 可衡量。没有这个,每次"改进"都只是感觉。
这是大多数工程师卡住的地方。他们构建了一个很棒的 Agent,却无法判断下一次变更让它变好了还是变坏了。
必须实现的 4 种评测:
- 单轮评测 —— 给定这个输入,输出正确吗?成本最低。尽可能使用确定性评分器。持续运行。
- 轨迹评测 —— Agent 是否调用了正确的工具序列和参数?测试单步、全轮和多轮变体。
- LLM 判分 —— 对开放式输出(如研究报告、代码评审)。每周用人评分的样本校准。评分维度:事实准确性、引用质量、完整性、来源质量、工具效率。
- 终态评测 —— 对写入数据库或编辑文件的有状态 Agent。将最终状态与基准真相比较。
改变一切的 CI 关卡:将评测接入 GitHub Actions。每个 PR 运行完整套件。如果基准集通过率下降 ≥3 点,阻止合并。这让评测从仪表板壁纸变成开发工具。
一个警告:在设计评测之前,Anthropic 发现模型能检测到它们正在被评测并表现不同。从第一天起就设计抗 AI 作弊的评测套件,否则你会永远把偏差编进去。
选一个可观测平台,不要同时用两个:
- LangSmith —— 如果你用 LangGraph,原生追踪、实验、沙箱
- Braintrust —— 如果你想要框架无关的 CI 质量关卡,249$/月 包 unlimited 用户
- Arize Phoenix —— 如果你想要 OpenTelemetry 原生和开源
- Inspect(英国 AISI) —— 基准级评测,被 Anthropic、DeepMind 和 Grok 内部使用
里程碑:一个 make eval 目标,输出 CI 通过/失败摘要、LangSmith 实验 URL、以及通过 Inspect 获得的一个标准基准分数。
阶段 4 —— 生产加固(第 14~17 周及之后)
目标: 让一切在真实用户、真实成本和真实故障下存活。
这个阶段是永久的。你永远不会完成它。
成本纪律
积极使用 Prompt 缓存——在重复前缀上节省高达 90%。缓存系统提示、工具定义和 CLAUDE.md 到每次调用。
按难度路由:Haiku 4.5 处理简单轮次,Sonnet 4.6 处理标准任务,Opus 4.7 处理规划和硬推理。仅此一项就能在无损质量的情况下降低 50%+ 成本。
Batch API 用于非实时负载:便宜 50%。多 Agent 运行约 15 倍单 Agent 的 token——只在答案价值超过这个成本时使用。
延迟
并行工具调用不是可选项。Anthropic 自己的研究系统提示原文说:“在创建多个子 Agent 时,你必须使用并行工具调用。“在你的 harness 中也遵守同样的规则。
子 Agent 扇出是最大的延迟杠杆:一个 60 步的顺序 Agent 变为 10 步 Lead Agent 加 5 个并行的 10 步子 Agent。耗时降低 5~6 倍。
安全和沙箱
所有代码执行都在容器中——Modal、E2B 或 Daytona。永远不要在主进程中执行模型输出。
凭证代理到模型上下文之外——Composio 处理 SaaS 认证,无需凭证进入模型的上下文窗口。
PreToolUse 钩子阻止破坏性的 Bash、正则匹配密钥、在每个工具调用前验证文件写入路径。
任何不可逆操作都需要人在回路中断。让确认步骤成为显式的,而非可选的。
韧性
持久化执行对任何运行超过 60 秒的 Agent 都是必需的。使用 Inngest、Temporal 或 LangGraph PostgresSaver。每个节点后检查点。回退和分叉必须可行。
监控
告警:每次请求的 Token 成本、工具调用失败率、LLM 判分夜间平均分、p95 延迟、每次部署后的评测回归。
每次模型升级后重新建立评测基线。harness 编码了对模型能力的假设——这些假设会随着模型改进而过时。
让 Agent 随时间变聪明的记忆系统
大多数工程师跳过了这个。它是 Agent 停滞和 Agent 复利之间的分界线。
四层记忆架构:
- 工作记忆(WORKSPACE.md) —— 活动任务状态。易失性。每次任务后清除。
- 情景记忆(AGENT_LEARNINGS.jsonl) —— 原始经验日志。每个重要动作、失败、纠正。Agent 在做曾经出错的决定前会读取它。
- 语义记忆(LESSONS.md + DECISIONS.md) —— 蒸馏出的超越单个片段的模式。Agent 从失败中压缩出的经验教训。架构决策及其理由,让同一场辩论不再发生第二次。
- 个人记忆(PREFERENCES.md) —— 用户习惯和风格。上下文,而非指令。“我偏好函数式模式而非类"告诉 Agent 你是谁,而非如何写代码。保持为上下文,永远不要提升为程序化技能步骤。
夜间梦境循环: 后台进程在每个会话后运行。它读取情景日志,压缩值得保留的内容到语义记忆,衰减被证明错误的条目,归档超过 2 天的工作空间。Agent 第二天早上醒来时,记忆比入睡时更干净、更准确。
Garry Tan 说得最好:“如果你的记忆随着 harness 一起消亡,那你的 harness 就太厚了。记忆是 Markdown。技能是 Markdown。大脑是一个 Git 仓库。harness 只是一个薄的导体——它读文件,仅此而已。”
掌握你的记忆。掌握你的技能。把它们放在纯文件和 Git 中,放在没有人能从你手中夺走的地方。
赋予 Agent 专业知识的技能系统
技能是 Markdown 文件,编码了任务应该如何完成。每个技能都有触发条件(何时加载)、流程(骨架)、启发式(决策分支的默认值)和约束(活动范围的边界)。
对每个技能运行的审计问题:这行是在告诉 Agent 怎么做,还是在告诉它 好的结果长什么样?如果是"怎么做”,通常不需要在那里。
渐进披露:技能索引先加载——仅摘要,每个技能不到 50 token。只有当触发条件匹配时才加载完整的 SKILL.md。这让大量技能库不会压爆你的上下文预算。
自重写钩子:当一个技能连续三次失败时,钩子触发并提示 Agent 提出该技能的保守重写。系统自我修复。你审核并批准。
全部免费的资源栈
博客——一个就够了:
- Anthropic 工程博客 —— harness 设计、评测、多 Agent 模式的第一手来源
- LangChain 博客 —— harness 纪律在其中被公开规范化
- Hamel Husain 的博客 —— “Your AI Product Needs Evals” 是阶段 3 前的必读
课程——完成这两门:
- DeepLearning.AI Andrew Ng 的"Agentic AI”(免费,1~2 小时)
- LangChain Academy:LangGraph 介绍(免费,官方)
通讯——订阅一个:
- swyx 的 Latent Space——AI 工程师的技术通讯
社区——加入一个:
- LangChain Discord——LangGraph 和 Deep Agents 核心团队在此活跃
值得研究的仓库:
- Anthropic Cookbook(GitHub,免费)——每个工作流模式的参考实现
- LangChain 的 deepagents(GitHub,免费)——参考开源 harness。阅读中间件文件
17 周时间线
| 周次 | 阶段 | 内容 |
|---|---|---|
| 1~2 | 阶段 0 | Python 异步 + 原始 Anthropic API + 4 个上下文原语 |
| 3~6 | 阶段 1 | LangGraph + Deep Agents + 研究分析师项目 |
| 7~10 | 阶段 2 | 自建 harness + 复盘文章 |
| 11~13 | 阶段 3 | 评测 harness + CI 关卡 + LangSmith |
| 14~17 | 阶段 4 | 生产加固 + 成本 + 安全 + 监控 |
| 持续 | —— | 记忆系统 + 技能系统 + 漂移监控 |
到第 17 周,你就能独立拥有生产级 AI 功能:设计 Agent 循环、工程化上下文、编写模型能正确选择的工具、评估变更是否带来了改进、交付、监控、修复故障。
这就是这份工作。这就是市场愿意为之付费的技能。
“在读 LangChain 博客"和"交付一个带 PostgresSaver 持久化的 Deep Agent"之间的差距,正是大多数工程师永远停留的地方。
不要等到感觉准备好了才开始。你永远不会。
现在就开始申请、开始公开构建、开始交付。哪怕是一个微小的 Agent。市场不奖励完美,奖励的是那些能让模型做出真实成果并证明它没有退步的工程师。
17 周,足以改变一切。
原文来源:@sairahul1 的分享。本文经翻译和结构调整后发布。