Insights·2026-08-20

五个智能体反模式 —— Anthropic 认证考试选的答案,全都指向「给得更少」

Anthropic 于今年三月推出了首个官方技术认证 Claude Certified Architect:60 道题、120 分钟,100 至 1000 分制,及格线 720 分。一位教了三十多年计算机科学、目前在伯克利授课的讲师把这份考卷拆开后说,这「不是证书,而是课程」——考试问的,正是生产环境中的智能体所要求的。他归纳出五个反模式,而五个答案全都指向同一个方向:给得更少。工具更少,上下文更少,信息更少。

안티패턴 다섯 가지 요약 도식. 「툴은 네다섯 개까지 — 넘으면 에이전트를 쪼갠다」, 「stop_reason 먼저 — 잘린 답을 쓰지 않는다」, 「CLAUDE.md 계층 분리 — 규칙은 적용되는 자리에」, 「15만 토큰에서 압축 — 긴 출력은 떼어낸다」 네 항목이 놓이고, 아래에 다섯째로 「CI에서는 비대화식으로 부르고 JSON으로 받는다」가 적혀 있다.
네 항목이 각각 툴·응답·규칙·컨텍스트를 줄이는 쪽이고, 다섯째가 CI다.

Claude Certified Architect 是什么

Claude Certified Architect 考试规格图:60 题 120 分钟,100~1,000 分制、及格线 720 分,有效期 12 个月,由 Pearson VUE 实施。

先说考试本身。Claude Certified Architect 是 Anthropic 推出的首个官方技术认证,Foundations 等级的代码为 CCAR-F,由 Pearson VUE 以线上监考或考场形式进行。共 60 题、120 分钟,计分区间为 100 至 1000 分,及格线 720 分,资格有效期十二个月。

这是不能带书、也不能用 AI 的闭卷考试,涵盖智能体架构、MCP 集成、Claude Code 工作流、提示工程与上下文管理。

但这篇文章要谈的不是证书。重点在于:就算你不打算考,这份题目清单本身也有用。讲者的理由很简单——Anthropic 是最清楚人们如何使用、又在哪里弄坏自家系统的公司。这样一家公司出题,题目清单就等于现场会出问题的清单。

讲者自己教了三十多年计算机科学。他说,在必须告诉学生「计算机科学学位不再保证就业」的处境下,他一边找能交到学生手上的东西,一边遇到了这场考试。

为什么先看错误答案 —— 反模式目录

这场演讲底下埋着一套方法论:不从该做什么出发,而从不该做什么出发。

他引用的先例是九十年代初的软件设计模式运动。随着面向对象编程站稳脚跟,「这样做就对了」的模式目录出现了;几乎同时,「别这样做」的反模式目录也一起出现。在实务中,失败清单比成功清单见效更快。

他认为现在需要的正是这个:智能体的反模式目录。关于怎么把智能体做好的建议满地都是,关于什么会让它悄悄坏掉的清单却很少。

他引的爱迪生那句话很贴切:「我没有失败,我只是找到了一万种行不通的方法。」下面五个,就是那一万种里最常被踩到的五个。

分数占比先说明了一切 —— 设计是最大的一块

以下是考试蓝图中的五个领域及其占比。数字取自演讲幻灯片。

领域占比
智能体架构与编排27%
Claude Code 配置与工作流20%
提示工程与结构化输出20%
工具设计与 MCP 集成18%
上下文管理与可靠性15%

循环被补上的那一刻 —— 1966 年的证明

在进入反模式之前,演讲先回到了 1966 年,用来解释为什么智能体如今忽然给人不一样的感觉。

计算的早期,编程语言急剧增加,人们争论谁的语言能做更多事。1966 年,科拉多·伯姆与朱塞佩·雅可比尼用一个证明结束了争论:任何计算只需要三样东西——按顺序执行、按条件分支,以及循环。

把如今的 AI 代进去,画面就清晰了。抛出一次提示、拿到一个回答,那是顺序;加上条件分支,很多人也已经在做。缺的是循环——把回答再喂回去,再拿一个,再喂回去。

智能体之所以感觉不同,一部分是模型变强了,但从结构上说,正是这第三件被补上的时刻。所以第一个反模式讲的就是循环。

反模式一 —— 别直接用回答,先看它为什么停下

先看最常见的错误:调用模型,拿到回答,原样使用。

这里有个误解要先拆掉。LLM 无法执行工具。除了按概率预测下一个词,它什么也做不了。就算把工具交给它,它也执行不了,只能告诉你「用这些参数调用这个工具」。真正去调用的是你的代码。

所以回应到达时,不是拿答案就用,而是先看 stop_reason,也就是模型为什么停下。是 tool_use,就执行工具、把结果喂回去、再转一圈;是 end_turn,就跳出循环。

还有一种。因为 token 用尽而停下时,回应照样会来,而且读起来也像模像样,但那是被截断的答案。不看 stop_reason,你会把它当成完整答案拿去用。悄悄出错的地方就在这里。

跳出循环之后,也正是人该介入的位置。看一下置信度,够好就留下,不够就交给人。

agent-loop.py
while True:
    resp = client.messages.create(
        model="claude-opus-5",
        messages=messages,
        tools=tools,
    )

    # 用答案之前,先看它为什么停下
    if resp.stop_reason == "tool_use":
        result = run_tool(resp)          # 调用工具的是你的代码
        messages.append(result)          # 把结果喂回去,再转一圈
        continue

    if resp.stop_reason == "max_tokens":
        raise RuntimeError("答案被截断了 —— 不要当成完整答案")

    break                                # end_turn 就跳出

反模式二 —— 别把规则堆进一个文件,放到它生效的位置

第二个说的是用 Claude Code 生成代码时的情况。你会把「希望它知道的事」写进一个叫 CLAUDE.md 的 markdown 文件,而常见的反模式,就是把所有规则都堆进这一个文件。

Anthropic 建议按层级拆开。家目录里的 CLAUDE.md 对所有项目生效,项目根目录的只对该仓库生效,某个目录里的则只在你于那个文件夹中工作时生效。三者都会加载并合并,冲突时最具体的那个文件胜出。

全塞进一个文件,只在某个文件夹才需要的指令就会跟着你进入毫不相干的工作,然后悄悄相撞。它不会以失败的形式浮现,而是结果微妙地偏掉,你也看不出冲突发生在哪里。

这一段与本站此前的《怎样写出 Claude 真正会遵守的 CLAUDE.md》相接。那篇讲的是一个文件怎么写,这里讲的是文件该放在哪。

反模式三 —— 别把工具全挂上去,把智能体拆开

对比图:交给评审代理的内容与刻意不给的内容——只传主张与依据,思考过程和代理之间的讨论被排除在外。

第三个是关于同时使用多个智能体。演讲里的比喻很准确:你叫了个木匠到家里,他带着水管工具、木工工具和电工工具出现,宣称自己什么都能做。你多半不想要这个人,你想要的是一个像样的木匠。

幻灯片上的基准线是四到五个工具,讲者口头说的是一两个。无论取哪个,方向一致:越过那条线,推理质量会下降,工具选择会变得不稳定。所以与其把工具带做大,不如把智能体拆开,让每一个只做一件事。这就是函数式编程里「函数只做一件事」的老规矩,被原样搬了过来。

与此并行的,是别让子智能体的上下文渗回主上下文。上下文就是 token,token 就是钱;但更要紧的是,上下文越多,模型越糊涂,答案越不准。

演讲中最令人印象深刻的代码是一个 critic 智能体——用来检查此前工作的智能体——而它收到的东西正好两样:主张,与证据。得出该主张的思考过程被刻意拿掉了。

给负责验证的智能体更少的信息,听上去是反的,理由是群体思维。让多个智能体聚在一起互相交谈,它们会收敛到同一个结论。就像在派对上大家都想吃披萨、只有你不想,为了不扫兴你也跟着去了。智能体也是这样。所以每个智能体只拿到属于自己的那一片。

反模式四 —— 把长输出隔离出去,变大了就压缩

第四个是任由上下文无限增长。

处方有两个。一是隔离子任务的输出。像把所有日志翻一遍找错误这种输出量大的工作,放进单独的上下文里去做。演讲称之为 fork。冗长的输出留在里面,回到主对话的只有摘要。

二是压缩长会话。数一下 token,超过阈值就执行压缩。演讲代码里写的阈值是 15 万 token。

省着用上下文的理由有两个。上下文就是 token,token 就是钱,这是其一。其二是上下文越多,模型越糊涂,答案越不准。

很容易觉得既然开了百万 token 的窗口,那就全塞进去吧。恰恰相反:限制放进去的东西,才会准。

反模式五 —— 在 CI 里别用对话模式调用

最后一个是在流水线里运行时的情况,这个反模式有点好笑。用对话模式调用智能体,它会停在询问权限的那一步——「我可以这么做吗?」——等一个永远不会有人给的回答。在没有人的地方等人。

要用非交互方式运行,并让输出以 JSON 返回,流水线才读得懂。

这里还多了一条:Batch API。把提示和任务打包成批次提交,token 成本减半,结果承诺在 24 小时内返回。如果这件事并不需要马上要答案,那才是它该去的地方。

今天可以试的一件事

贯穿五条的只有一件事:答案全都是给得更少。工具、上下文、信息,都更少。

「会用智能体」常被说成是能挂上更多东西的能力,而这场考试选的答案正好相反——是知道什么不该给。

如果今天只挑一件事来查,就挑第三条。打开你正在用的智能体、自定义 GPT 或 MCP 配置,数一数挂了几个工具。超过四五个,有一半很可能一次都没用过。把那一半摘掉,再让它做同样的事,答案会不一样。

接着是 CLAUDE.md。如果一个文件里堆了超过二十行,挑出只在某个文件夹才需要的那几行,搬进那个文件夹的 CLAUDE.md。不是删掉,是换个位置。