架构师不砌砖:在昂贵模型与廉价模型之间拆分 AI 编码

发表于 Jul 20, 2026,作者:斯特凡·莫拉维克。
AI Agents AI Development Claude Code Cost Optimization
本页内容 2 分钟阅读
  1. 1第一部分——陷阱与原则
  2. 2fable-architect 模式如何运作
  3. 3我们测到了什么
  4. 4第二部分——账单
  5. 5第二条通道:把 issue tracker 当作委派总线
  6. 6更广泛的数据教给我们什么
  7. 7更新——阶梯在我们脚下移动了
  8. 8第三部分——这是刻意要走的方向
  9. 9你周一可以做什么

几天前,Anthropic 把 Fable 变成了 Max 套餐的永久组成部分。时机本身就在讲故事:它刚好落在 OpenAI 发布 GPT-5.6 Sol 之后,而且——更能说明问题的是——紧跟在 Kimi K3 开放权重之后。逼得这家最大的 AI 实验室面对现实、终结其旗舰模型营销喧嚣的,竟是一个开源模型。仅凭这一点,就值得所有为这些账单付钱的人举杯。

但“包含在你的订阅里”不等于“便宜”,更不等于“永远便宜”。正因如此,趁 Fable 还在按量计费时,我们重建了工作流,让昂贵模型在机制上被禁止编写代码。它负责思考、规划与审查。更便宜的模型负责敲键盘。这篇文章会说明它如何运作,以及在我们手头所有会话记录中——横跨一个生产环境 SaaS monorepo、一个无人机运营应用、一个营销站点,以及为它们服务的 CI 代理——606 次真实会话——它实际测算出什么结果。

第一部分——陷阱与原则

先坦白我们的出发点:没有前沿模型,我们已经无法运转。团队里没人能在没有它们的情况下维持当前产出——而这种依赖正是大实验室手里的杠杆。按我们的解读,今天的 AI 订阅所提供的算力明显高于其价格;这是抢地盘的价格,而抢地盘的价格终会结束。到那一天,凡是把工程文化建立在“无限前沿 token”之上的人,都得对方开什么价就付什么价。

有两种防御。第一是保留一条可信的退路:像 DeepSeek 和 Kimi 这样的开放模型,正是它们逼出了这周的价格回调,而只有当我们真的让工作流保持可迁移到它们之上,它们才继续是杠杆。第二是工作流纪律:只在没有任何更便宜方案可行的地方花费前沿 token。本文讲的是第二点——因为这是你周一就能开始做的事。

这个原则古老到有建筑以它命名:架构师不砌砖。 前沿模型相对于中端模型的优势,在设计、拆解和审查上巨大——而在把一次重命名敲进四十个文件时接近于零。所以要拆分角色。价格阶梯用美元说着同一件事:

每百万 token 的输出 token 标价:Fable 50 美元、Opus 25、Sonnet 15、Haiku 5

fable-architect 模式如何运作

fable-architect 技能是一个约 100 行的 markdown 文件加一个 shell hook,每当 Claude Code 会话在前沿模型上运行时就会被加载。它强制执行一种分工:

  • 架构师负责: 追问需求、探索代码库、做出每一个设计决策——方案、数据流、命名、签名、边界情况——把工作拆解为相互独立的切片、审查返回的 diff、运行验证,并撰写所有文字内容(计划、简报、PR 描述、提交信息)。
  • 架构师绝不做: 编写或编辑源文件。聊天中不出现代码,简报内的简短签名除外。
fable-architect 循环的流程图:架构师探索并决策,为每个切片写一份简报,实现者子代理返回 diff,架构师进行审查;一个守卫 hook 阻止架构师直接编辑代码

有三件事让这套做法能在实践中落地,而不只是停留在幻灯片上。

1. 简报就是接口

每个切片得到一份实现简报。实现者从全新的上下文窗口开始——凡是不在简报里的内容,它必须重新发现或者靠猜。这个约束是个优点:它迫使架构师在委派之前把决策做完。简报里是决策,不是选项。

## 实现简报:<slice>
目标:      一句话,可观察的结果
上下文:    探索已发现的内容——片段摘录、最接近的
            可参照模式、行号锚点、坑点
文件:      要创建/修改的路径——本切片的专属所有权
设计:      已决定的方案——数据流、命名、签名、边界
约束:      适用的项目规则:风格、分层、安全
范围之外:  不要碰什么,包括属于其他切片的文件
委派:      本切片是否可以派生次级实现者,以及数量
验证:      确切命令与预期结果

其中两行比其余内容更新,它们之所以存在,是因为实现者层级在我们脚下发生了变化——见下文的更新。

2. 靠强制,不靠感觉

一个 PreToolUse 守卫 hook 监视着会话:如果架构师试图编辑非文字类文件,就会触发权限提示。批准该提示就是针对琐碎编辑(一个错别字、一次版本号提升——这些情况下委派的开销比直接敲键盘还高)的成文例外。摩擦本身就是政策。没有这个 hook,“昂贵模型不该写代码”这条规矩最多撑到第一个截止日期。

3. 审查循环补上质量缺口

架构师会读代理的报告和实际的 diff——两者都不单独采信——并在说法重要时重新运行关键验证命令。发现问题了?修正会回到同一个代理,它仍持有完整的工作上下文。不用手工修补,也不用重新唤醒一个空白实例。

注意,这是架构师的验证,它保留。我们开始移除的是过去写进简报里的验证——那些让实现者自我复核的指令。更新的实现者模型会主动这么做,再让它们做一遍,只会买来一次你已经付过钱的重复劳动。

FlowHunt 标志

准备好发展您的业务了吗?

今天开始免费试用,几天内即可看到结果。

我们测到了什么

为了检验这是一个真实的经济机制还是只是一场令人愉悦的仪式,我们挖掘了各个项目里所有的 Claude Code 会话记录,对 API 请求去重,并按当前标价给每个 token 定价。三个假设,在看到单次会话数字之前就已登记:

  • H1——敲键盘的是实现者。 若成立,在委派型会话中,实现者子代理产出的输出 token 应多于架构师的主循环。
  • H2——委派更便宜。 若成立,把实现者的工作量按架构师模型的价格重新计价,结果应明显贵于我们实际支付的费用。
  • H3——质量守得住。 这是最难的一个:被委派产出的代码所需返工不应多于架构师亲自敲出的代码。

基本规则。 一个 API 请求横跨多行会话记录,它们重复同一个 usage 对象——我们按请求 ID 分组,每个请求只计一次输入和缓存 token,并取输出快照的最大值(按行朴素累加会多算 2–3 倍)。成本使用 Anthropic 当前标价——Fable 每百万输入/输出 token 为 $10/$50,Opus $5/$25,Sonnet $3/$15——缓存读取按输入价格的 10% 计,缓存写入按各自的 TTL 费率计。在保守分类器下,354 个交互式存储会话中有 31 个符合 fable-architect 会话;图表展示的是最贵的八个。我们报告比率和百分比,而非绝对支出。

第二部分——账单

每次会话输出 token 的分组柱状图:在多数头部会话中,实现者子代理的产出超过架构师主循环

H1——参半……第一轮核算是这么说的。 在最大的几个委派型会话里,假设被决定性验证——实现者的输出最多达到架构师输出的 2.3 倍。但在全部 31 个 fable-architect 会话中,架构师的产出仍然超过实现者,359 万对 315 万 token。这部分是合理的——架构师的输出包含所有计划、简报和审查文字,而这正是它的本职工作——部分则看起来像是有些会话只委派了一个切片、其余自己留着。后来我们想起,我们的站点改版根本不觉得架构师占了多大比重,于是开始寻找子代理核算看不到的那些 token。

第二条通道:把 issue tracker 当作委派总线

子代理核算有一个盲点:它只能看到发生在会话内部的委派。站点改版那次会话——上图里最粗的那一条——其实是完全不同的东西:一个架构师循环会话连续运行了 107 小时(292 次定时唤醒),把改版拆成 GitHub issue,打上标签交给我们的 CI 流水线,然后进行监督:轮询运行、审查流水线提交的 pull request、在 QA 暴露 bug 时开跟进 issue。

敲键盘的动作发生在我们按会话挖掘根本没看过的地方:一支独立的自托管 runner 机群,流水线的 plan → implement → gap-evaluation → review 各阶段在那里以 4.5 天内 252 个独立的 Opus 会话执行,触及 48 个不同的 issue 和 PR。

时间线:单个架构师循环会话横跨四天半;下方按天的柱状图显示它派发出去的 Opus issue 流水线会话

H1 再审视——在项目尺度上得到确认。 把两条通道都算上,图景就反过来了:流水线敲出的输出 token 是派发它的架构师循环的 10 倍(907 万对 87.7 万),而且全部按 Opus 费率计。把那一波实现工作跑在架构师的模型上,成本会是 2.1 倍——而且这还只是一个小改版、一周时间,尚未计入会话内的子代理。一个 issue 不过是一份粒度更粗的简报:同样的接口,同样的经济学,只是高一层。

柱状图:若由架构师模型敲出实现者 token,每次会话的成本溢价为 2% 到 54%

H2——得到确认,但有个转折。 把实现者精确的 token 量按架构师模型的费率重新计价,会让每一次会话都更贵——从 +2% 到 +54%,头部八次平均 +17%。这是真金白银,但比输出价格 2 倍的差距所暗示的要小。转折在于:钱并不花在输出上。 在最大的那次会话中,架构师的缓存读取成本约等于它敲出的所有内容的 13 倍——主要支出是昂贵模型持有并反复读取一个庞大的编排上下文,而不是打字。委派为输出账单设了上限;下一个杠杆是让架构师的上下文保持精简。

H3——本文未测量。 Token 核算看不见代码质量。我们能从观察上说的是:审查循环是承重的——报告和 diff 不一致的频率高到必须两者都读——而把修正送回一个上下文尚热的代理,收敛得很快。如果你复现这套做法并恰当地测量返工,我们想看,尤其是当它推翻我们的时候。

更广泛的数据教给我们什么

  • 采用是一条渐变带,不是一个开关。 在无人机运营应用上——更小、迭代更快——18% 的会话运行 fable-architect 模式;在更老的 SaaS monorepo 上是 9%。委派得最狠的那个项目同时在两种粒度上做了:会话内的实现者简报以及通过 issue tracker 派发的 252 个流水线会话。
  • CI 机群不运行这个技能——因为它就是实现者。 我们的自动化 runner 会话从不派发实现者子代理,起初这看起来像是没有采用。但提示词说的正相反:每一个都是一个流水线阶段——verify、review、gap-evaluation——而且大约每十个里有六个是针对某个具体 issue 或 PR 工作的。在项目尺度上,流水线 runner 就是实现者层级。
  • 最便宜的那一层还没上过第一天班。 所有 78 次以上实现者运行都是 Opus 级;Sonnet 机械编辑层是最近才加的,还没被调用过。这套做法测出的任何节省,都是下限。

接口才是重点:简报进,diff 出——issue 进,PR 出。涨价落地的那天,你换的是砌砖工,不是流程。

完整披露。 模型是从会话记录字符串中验证的,不是假定。我们两次修正了自己(一次是逐行 token 多算,一次是占位价格表)。反事实假设架构师会花费与实现者相同的 token 量——误差条两个方向都有。流水线会话存放在我们最初两轮挖掘没有覆盖到的会话记录存储中;一条核算边界把一条 900 万 token 的委派通道藏在了我们眼前,你的大概率也有一条。这是单个工程师的项目,以 review-and-fix 和功能开发为主——不是受控基准测试。语料也在 Opus 5 发布前就关闭了:上面每一个数字都是 Fable 作为架构师、Opus-4 级实现者的结果。Opus 5 落地时各层级的价格没有变,所以测得的比率依然成立——但什么变了,见下一节。

更新——阶梯在我们脚下移动了

这些测量结束之后,Opus 5 发布了,而价格阶梯没有任何变化:Opus 仍是每百万输入/输出 token $5/$25,Fable 仍是 $10/$50,上面的图仍然正确。变的是每一级的能力。Anthropic 把 Opus 5 定位为在深度推理和长时程代理式工作上的阶跃式提升——也就是说,恰恰是架构师角色所由构成的那类工作,而价格只有架构师层级的一半。

这直指我们自己 H2 的那个转折。如果架构师的主要成本是缓存读取,而缓存读取按输入价格的 10% 计费,那么跑在 Opus 5 上的架构师重读其编排上下文的成本是每百万 token $0.50,而不是 Fable 的 $1.00。那个相当于架构师敲出的所有内容 13 倍成本的条目被砍掉一半。我们尚未测量这一点——它是在与 2.1 倍反事实相同的等 token 量假设下的算术,我们已标记过该假设,而这是我们打算测试的下一件事。如果它成立,有趣的问题就不再是该用哪类模型,而是架构师到底需不需要最高那一级。

新的实现者层级有三点改变了模式本身,而不只是它的价格:

  • 它会主动伸手去派发子代理——与其前任正相反,后者得被说服才会委派。一个会悄悄派生出自己的实现者的实现者,在无人盯守的情况下会把账单翻倍。因此简报里有了 Delegation: 这一行:一个切片现在要声明它是否可以铺开,以及铺多宽。
  • 它会主动验证自己的工作。 为更老模型写的验证指令现在只会买来一次多余的重复检查,所以它们从简报里拿掉了。架构师的审查循环不受影响。
  • 它会扩大范围。 Out of scope: 不再是套话,而是让切片保持为切片的那个关键行。

而那一级我们从未用过的阶梯,在我们没注意的时候变得更锋利了:Sonnet 5 在编码工作上达到接近 Opus 的质量,价格 $3/$15,且截至八月底还有更低的推介价。“这套做法测出的任何节省,都是下限”在我们写下时还是一句对冲。现在读起来像是低估了。

第三部分——这是刻意要走的方向

我们正在有意地把方向调向一种拆分,我们认为每个工程团队最终都会被迫接受它:昂贵的前沿模型只用于头脑风暴、架构和审查;编程本身则交给越来越便宜的模型。 今天我们用的实现者是 Opus 级。当它们变成 Sonnet 级、DeepSeek 级或 Kimi 级时,工作流不会有任何变化——这个接口在构造上就是模型无关的。这正是全部的战略价值:补贴结束、账单翻倍的那天,有这套纪律的团队只改一行配置。没有的团队,则要在压力下重新谈判整个成本结构。

Fable-architect 只是一小步——采用是局部的,最便宜的那一层还没跑过第一次。但它是练肌肉的那一步:写能把一个切片完整说明白的简报、审查不是你敲出来的 diff、把昂贵模型的注意力当作预算来用。而改版那一波显示了这块肌肉能带你到哪里:一旦简报行得通,issue 就行得通,昂贵模型就完全不再参与实现过程。

你周一可以做什么

  1. 在你的代理 harness 里拆分角色。 一条会话级规则:前沿模型负责规划和审查;把所有文件编辑委派给更便宜的实现者代理。在 Claude Code 里,这是一个技能加几个子代理定义——一个下午的搭建工作。
  2. 让边界变成机制。 加一个预编辑 hook,对昂贵模型自己的文件写入发起质询。一条打破它没有任何代价的规则,周五之前就会被打破。
  3. 用固定模板写简报。 目标、上下文、文件、设计、约束、范围之外、委派预算、验证。模板就是纪律——而委派预算是阻止实现者悄悄雇用自己人的那一项。
  4. 报告和 diff 都要审。 绝不单独采信任何一方;重新运行真正重要的验证命令。
  5. 测量你自己的拆分。 你的会话记录里已经有数据——按请求分组、按模型计价,看看究竟是谁在敲键盘。我们的数据显示出一层从未被用过的便宜层级,以及一条我们此前不知道的 900 万 token 委派通道。
  6. 把接口从简报扩展到 issue。 一份简报委派一小时的工作;一个 issue 委派一天的工作。一旦你的 issue 带有流水线可以据以行动的验收标准,昂贵模型就能把工作提交进 tracker 并加以监督,而不必每个切片都坐在循环里。
  7. 保持一条热着的退路。 每周用一个便宜或开放模型作为实现者跑一个低风险切片。你从不使用的可迁移性,就是你没有的可迁移性。
  8. 重新给架构师定价,而不只是砌砖工。 每一次模型发布都会移动阶梯的每一级,却不移动阶梯本身。如果你的架构师支出主要花在上下文而非打字上,那么一个更便宜的架构师层级比一个更便宜的实现者层级更值钱——查查你自己的会话记录,看你买的到底是哪一个。

实验室会继续告诉我们,它们的顶级模型值任何价格,而且——令人恼火的是——就判断类工作而言,它们大体上是对的。要做的不是弃用。而是别再为 for 循环支付前沿价格。

常见问题

斯特凡是一位人工智能和软件工程师,正在构建FlowHunt。除了产品本身,他还为开发人员设计代理软件工程工作流,以降低开发成本,同时提高代码质量。

斯特凡·莫拉维克
斯特凡·莫拉维克
人工智能与软件工程师

用 FlowHunt 编排多模型 AI 团队

构建 AI 代理工作流,把每个任务路由到合适的模型——在关键之处使用前沿推理,在批量工作上使用高效模型。