⌕ ESC
↑↓ 选择↵ 打开esc 关闭⌘K 唤起
← 主页 NO.137
专栏 · Agent 工程手艺 ›
第 137 期 · AGENT 工程 · 收录于 2026 年 8 月 16 日

把 Anthropic 的 CCA 考试当作 agentic 工程的野外指南——Frank Coyle

FC
Frank Coyle · AI Engineer
Agent 工程
视频 19:53 原文约 1.6 万字 预计阅读 12 分钟 来源视频 ↗ 中英对照全文
原平台热度 YouTube ↗ 高赞
8.9万观看
2,174赞
2.5%点赞率
52评论
62.7万频道订阅
数据截至 8 月 27 日
TL;DR · 三句话
  1. 一Anthropic 三月刚发布的 Claude Certified Architect(CCA,Claude 认证架构师)考试,与其当成一张证书,不如当成一本 agent 工程的「反模式手册」——它给六个生产场景、考试随机抽四个出题,而答对的钥匙常常是"知道什么不能做"。→ 详细
  2. 二讲者逐个走场景,每个都先甩反模式再给正解:拿到模型响应就用(应按 stop reason 分支)、一个 agent 塞满工具(应专一)、子任务把完整输出倒进主线程(应 fork 出去只回灌汇总)、持续集成流水线里留着交互模式(应配成一路跑到底)。→ 详细
  3. 三底层逻辑是 1990 年代设计模式运动的重演:那时有面向对象的模式,也有反模式;现在有了 agent 的模式,反模式同样是"通向该怎么做的钥匙"。→ 详细
01

元命题:agent 时代缺的不是模式,是那半本「反模式」

  • 讲者 Frank Coyle 教了三十多年计算机,现在在 UC Berkeley。他做这件事的起点很实在——"计算机科学已经不再是通往一份工作的那条魔法通道了",学生撞上 AI 这堵墙,他得给他们找个抓手。→ 详细
  • 他的类比是 1990 年代初伴随面向对象编程兴起的 design patterns(设计模式)运动:那时候人们不光总结"该怎么写对象",也总结 anti-pattern(反模式,被反复验证过的错误做法)。他的原话是——"反模式是理解「什么不该做」的关键,而搞清楚什么不该做,恰恰是通向「该怎么做」的钥匙"。agent 这一波,模式已经有人在写了,反模式那半本还空着。→ 详细
  • 所以整场演讲是固定套路:每个生产场景先甩反模式,再给正解。他直说这也是答题技巧——"解决问题的方式有很多种,但很关键的一点是「什么不能做」,这往往就是答对这些题的钥匙"。→ 详细
  • 贯穿全场的个人理念来自 Corita Kent 修女的一句话:"没有什么是错误,没有赢也没有输,只有去做。" 配上 Edison 那句"我没有失败,我只是找到了一万种行不通的办法"。落点是:别只读,要做。→ 详细
02

CCA 考试本身:三月刚发布、99 美元、半年一次

  • 形式:基于场景、有时间限制、有监考;Anthropic 生态里的公司可以考,个人 99 美元、每六个月能考一次。题型是选择题,但"题目都建立在真实的约束条件和真实的场景之上"。(讲者只说"三月份发布、非常新",未提年份。)→ 详细
03

五个考纲领域与分值

五个考试领域及其分值权重 ▲ 图注:五个考纲领域按权重从高到低:Agentic 架构与编排、Claude Code 配置与工作流、Prompt 工程与结构化输出、工具设计与 MCP 集成、上下文管理与可靠性。权重排序本身就是一张优先级表——架构与编排的分量最重,上下文管理垫底。(图为 360p 截帧,具体百分比数字请以原片为准。)

  • 他只报了两个明确配比:agentic 架构 27%、Claude Code(怎么配置这套系统和工作流)20%。→ 详细
  • 其余只念了名字、没报分值:prompt engineering 与输出结构化("到处用 JSON")、tool 设计、MCP(Model Context Protocol,让模型接外部工具和数据源的标准协议)集成、context 管理与可靠性。(口播里这几项并没有严整对齐成"五个桶",此处照他念的顺序保留。)→ 详细
  • 他的建议:不考也该弄懂这几块——"它能帮你为 agentic 世界扔给你的各种状况做好准备"。→ 详细
04

六个生产场景,考试随机抽四个

六个生产场景总览 ▲ 图注:六个生产场景一览:客服问题解决 agent、用 Claude Code 做代码生成、多 agent 研究系统、开发者生产力、Claude Code 进 CI/CD、结构化数据抽取。最后一个「结构化数据抽取」讲者预告了但时间到了没讲——本报告因此只覆盖前五个。

  • 考试给 六个生产场景,系统 随机抽四个,所有题目围绕抽中的这四个出。→ 详细
  • 预告的清单:① 客服问题解决 agent;② 代码生成;③ 多 agent 研究系统;④ 用代码提升开发者生产力;⑤ Claude Code 用于持续集成;⑥ 结构化数据抽取的模式。→ 详细
  • 实际只走完前五个——第六个(结构化数据抽取)开头预告过,但 19 分钟讲完时间到了,没讲。→ 详细
05

为什么"loop 是新东西"这句话不成立

  • 现在人人谈 loop(循环):Boris Cherny 说他不写代码,他的工作是写 loop;Peter Steinberger(转写作 OpenClaw 的作者)说"我已经不写代码了,我只设计那些驱动 agent 的 loop"。→ 详细
  • 讲者的回应是"其实并不是什么新东西":1966 年 Böhm 和 Jacopini 证明,一门语言要图灵完备(能算出计算机原理上能算的一切)只需要三样东西——顺序执行、if-then 条件分支、loop。→ 详细
  • 他不是泼冷水,是在定位:过去的 LLM 用法基本停在"顺序 + 偶尔分支",补上 loop 这一样,agent 才拿到完整的计算能力——"这才是力量的来源"。→ 详细
06

场景一 · 客服问题解决 agent:反模式是"拿到响应就用",正解是"围绕 stop reason 循环"

按 stop_reason 分支的 agent 循环代码 ▲ 图注:场景一的正解代码:while True 里按 stop_reason 分支。要点是模型自己不执行工具——它只把工具请求递出来,真正执行的是你的代码,执行完再把结果回灌继续循环。

  • 反模式:直接让 agent 跑一趟,把返回的响应拿来就用。→ 详细
  • 正解:写一个 while true 循环,每轮按 stop reason(停止原因,即模型这一轮为什么把控制权交回给你) 分支。循环第一块调用模型,把 messages(context window 里那一串 prompt 的序列)连同 prompt、context、tool 一起传进去。→ 详细
  • 最容易被误解的一条:LLM 自己不执行 tool。讲者说得很直白——"它只是一个概率性的下一个词预测器……它除了跟你说话什么都做不了"。它能做的是把参数配好;真正执行工具的是你的代码。→ 详细
  • 分支怎么走:stop reason 若是 tool use(模型想用工具),就去执行那个工具、把结果回灌,继续循环;模型看到"跑成功了"、不再要工具,循环结束。→ 详细
  • 出口必须挂两个东西:① human in the loop(人在环里)——拿到答案先检查置信度,靠谱就留,不靠谱就升级给人处理;② token 耗尽也是一种 stop reason——这种情况模型照样返回一个响应,但那是被迫中断时基于不完整内容给出的,不看 stop reason 就会把半截答案当完整答案用。→ 详细
07

场景二 · 代码生成:CLAUDE.md 分三层

CLAUDE.md 三层规则的正例与反例 ▲ 图注:场景二的一句话原则:「CLAUDE.md:正确的规则要待在正确的层级」——项目顶层、项目文件夹、子目录各放各的规则,别把所有约定堆在一个文件里。

  • Claude Code 用 CLAUDE.md(一个 markdown 文件,把希望它知道的规矩写进去)来喂规则。→ 详细
  • Anthropic 建议设三层:项目最上层一份、项目文件夹里一份、各个子目录里还可以再指定——形成一套分层的规则来控制系统怎么响应。→ 详细
08

场景三(上)· 多 agent 研究系统:反模式是"一个 agent 塞满工具"

多 agent 系统的模式与反模式对照 ▲ 图注:本场最典型的一张对照表:左绿是 PATTERN、右黄是 ANTI-PATTERN。「专业化,别超载」对「一个 agent 什么工具都给」;「隔离子 agent 的上下文」对「把完整上下文泄漏出去」——这正是他整场「先讲反模式」讲法的样板。

  • 先摆出几个必须想清楚的问题:agent 怎么分工?是不是中心辐射式(hub and spoke,一个中心调度、多个分支执行)?谁当 orchestrator(编排者)?它们各自该知道多少信息?→ 详细
  • 反模式:只用一个 agent,往它身上塞满各种 tool。他的比喻很好记:你请木匠来家里干活,结果这人带着水管工的工具、木匠的工具、电工的工具,说"我什么都能干"——你想要的其实是一个专业的木匠。→ 详细
  • 正解:借函数式编程那条老规矩——一个函数只做一件事。"如果你能让你的 agent 只做一件事,最多配一两个 tool,那就是一次胜利。"一句话:要专一,别塞太满。→ 详细
  • 同一场景下还有一条老经验:多线程共享内存会引出同步问题、要加锁,所以让线程独立,也让 agent 独立——"让每个任务待在自己的小宇宙里"。→ 详细
09

场景三(下)· 子 agent 的 context 不许溢出,因为 agent 会「群体思维」

  • 第二条反模式:让子 agent 的 context 溢出到主 context 里。理由有两层——context 就意味着 token,token 就意味着钱;而且context 越多,LLM 给答案时越容易犯迷糊。别因为"一百万 token 的窗口"就什么都往里塞,限制进去的东西,系统才更准。→ 详细
  • 具体做法(critic 子 agent 的例子):你跑完一轮,想让一个 critic(评审 agent) 来审。只传给它 claim(结论/方案)和 evidence(支撑证据),不给它形成这个 claim 的整个思考过程。→ 详细
  • 为什么要藏起思考过程:一堆 agent 凑在一起协作、互相交流会出现 group think(群体思维)——"所有 agent 好像都会收敛到同一个想法上去"。他的比喻:派对上所有人都想吃披萨,就你不想,但别人一劝你也就跟着去了,因为你不想扫大家的兴。"agent 好像也是这么运作的。"→ 详细
  • 顺着披萨接出的总结句:每个 agent 只拿自己那一片。→ 详细
10

场景四 · 开发者生产力:context fork + 只回灌汇总 + 到点压缩

fork 噪声工作、窗口满时压缩 ▲ 图注:场景四的一句话:「把吵闹的活 fork 出去;窗口满了就压缩」——高消耗低结论的环节单开一条上下文,只把汇总回灌主线程。

  • 反模式(两条):① 让每个子任务把完整输出一股脑倒进主线程,把 context 挤爆;② 让 context 无限制地涨。→ 详细
  • 正解一 · context fork(上下文分叉):以"扫描所有日志里的 error 并汇总问题出在哪"为例——把 agent fork 到一个类似独立线程的地方,它在里面做的、想的、堆出来的那些 token 都不回流污染主 context;干完之后只把那份汇总、不带其他杂七杂八的东西加回上层 context。→ 详细
  • 正解二 · compaction(压缩,把长会话的 context 折叠成更短的摘要):先检查当前 token 数,设一个上限——"一旦超过 15 万 token,你就可以跑一次 compact"。讲者坦承 Anthropic/Claude 的 compaction 具体怎么实现的他也不确定,但这个机制确实存在。→ 详细
11

题外话:会场小册子里的「自定义 context 压缩」

  • 他插了一段现场见闻:会场外有人在发小册子,他昨晚翻到其中一段,说某人的公司提供自定义的 context 压缩逻辑——继承他的基类、写自己的压缩规则,留什么、压什么由你判断哪些重要来定。→ 详细
  • ⚠️ 转写存疑:作者名(转写作 "Sam Bagwell",讲者本人也卡了一下,并说"我根本不认识他")和"在线版第 32 页"这个出处,ASR 可信度低,不建议直接引用。→ 详细
12

场景五 · Claude Code 进持续集成:流水线里不能留交互模式

CI/CD 场景的模式与反模式 ▲ 图注:场景五的对照:PATTERN 是*无头运行、解析 JSON + 让延迟匹配任务;ANTI-PATTERN 是在流水线里留交互模式 + 为可以等的活阻塞。*

  • 反模式:在 CI(持续集成,代码提交后自动跑构建和测试的流水线) 里还留着交互模式——那样 Claude 会停下来问"你要做这个吗?这个能给我权限吗?",整条线就卡住。→ 详细
  • 正解:有办法把它配置成一路跑到底(讲者没展开具体参数)。→ 详细
13

省钱贴士:batch 模式便宜一半

  • 把 prompt、把要干的活打包成一个 batch(批处理) 提交,token 成本便宜 50%,24 小时内给结果。→ 详细
  • 适用场景他说得很生活化:要去睡个午觉、要去度假、要休一天假——那就用 batch 模式跑,账单会轻不少。→ 详细
14

闪电问答 / 收尾

收尾引用与讲者联系方式 ▲ 图注:收尾页引用 Corita Kent:「Nothing is a mistake. There is no win, no fail. Only MAKE.」——呼应全场「反模式不是失败清单,是造东西的路标」。页面下方是讲者的几个联系方式(截帧分辨率有限,具体账号请以原片为准)。

  • 闪电问答:(本期无)——19 分钟的单人演讲,没有问答环节。
  • 收尾金句(把开场那句改了一个词):"记住,没有什么是错误,没有赢,没有输,也没有什么考试,只有去做。你动手做,做出来,你就会成功。"→ 详细
15

联系方式

  • 邮箱:口播是 "coyle at Berkeley"(只念了这两截,完整域名没给全)。→ 详细
  • 个人网站:口播作 "co-supreme AI"(⚠️ 转写存疑,确切拼写不确定)——他说这名字是照 John Coltrane 的《A Love Supreme》 取的,因为他是爵士乐迷。→ 详细
接着读