
你以为账单涨是因为用户变多了其实是你楼下那家菜贩趁你没留神悄悄换了价签——而你连去别家问一句价的余地都没有。先说一句可能让你有点不舒服的话一个 Agent 产品最危险的时刻往往不是没人用的时候而是它跑得好好的、你正准备大干一场的时候突然被上游供应商掐住了脖子。这听起来有点吓人。产品跑通了用户来了收入有了怎么反倒危险了因为你可能一直没意识到一件事你这门生意的命脉——那个让 AI 能思考、能回答的大模型——从头到尾都攥在别人手里。你只认一家供应商进货人家哪天想涨价、想限流、想改规矩你一点还手的余地都没有只能认栽。这一篇咱们就把这件你以为是自己的生意、其实一半握在别人手里的怪事从头到尾摊开讲清楚。不讲怎么解决——解决办法留到下篇卷起袖子干活——这一篇只干一件事把为什么会被绑架、被绑架有多痛讲到你心里去。一、客户的第二张发懵账单先讲个故事。有个做 AI 产品的小团队咱们就叫它A 团队负责人叫小 K。产品上线大半年好不容易熬过了最难的冷启动期用户稳住了收入也开始有模有样。小 K 心里那块石头刚落地正盘算着下个季度怎么扩规模。结果某个月底账单一出来小 K 又懵了。这回懵的不是没在用也涨那种账——那笔账他之前已经吃过一次亏、也想明白了。这回是另一张脸更陌生的账单模型调用费凭空翻了将近一倍。他第一反应是是不是用户暴涨了翻了翻后台没有用户量该多少还是多少用得也没比上个月凶。那这多出来的钱是从哪冒出来的小 K 一行一行往下扒最后目光钉死在一个地方单价变了。上游那家模型供应商在某个不起眼的时间点悄悄调了计费规则——有的按 token 涨了价有的把原来的优惠取消了还有的把他一直在用的那个型号标了个即将下线请迁移到新版。新版更贵。小 K 盯着屏幕憋出一句话“我啥也没改啊产品还是那个产品用户还是那些用户怎么它自己就贵了”这个困惑几乎是每一个把 Agent 产品跑起来的中小厂负责人迟早都要撞上的第二根钉子。第一根钉子是没在用也烧钱那笔账好歹还算在自己头上这第二根钉子更憋屈——账是别人替你涨的你连讨价还价的资格都没有。想把这事讲透得先请出这一篇会一直陪着咱们的一个比喻——楼下那家菜贩。你开了一家小餐馆生意还不错。你的厨房每天都得进一批食材——葱姜蒜、油盐酱、鸡鸭鱼肉。这些食材你全都在楼下那家菜贩那儿进。为啥因为方便啊就在楼下熟门熟路一个电话人家就送上来了。日子久了你几乎不去想别家。菜谱是按他家的货配的进货的时间、包装、结账的方式全按他那套来。你甚至懒得记别家菜贩的电话。直到有一天他悄悄把价签换了。葱涨了油涨了连你天天要的那种鱼他说以后不进这种了换成隔壁那种更贵的。你想理论两句人家慢悠悠一句话把你噎回去“嫌贵你去别家买啊。”可你去得了别家吗你的菜谱、你的流程、你厨房里的一切早就是按他家的货长出来的。你真要换一家等于把整个后厨推倒重来。于是你只能咽下这口气认了这个涨价。小 K 那张翻倍的账单就是这家菜贩换掉的价签。而最要命的地方在于——这不是你不够精明而是你从一开始就把整个厨房的命押在了一家你根本管不住的菜贩身上。二、为什么你会不知不觉只认一家菜贩你可能会想我又不傻怎么会把命押在一家身上问题就在这儿——这事从来不是你哪天拍脑袋决定的而是你在不知不觉中一步一步走进去的。咱们倒回去看看小 K 当初是怎么走到这一步的。产品最开始起步的时候小 K 要接一个大模型。市面上供应商一大把他随手挑了一家——不是因为这家最好而是因为这家的文档最全、例子最多、注册最快半天就能跑通一个 demo。对一个恨不得明天就上线的小团队来说最省事就是唯一的标准。于是他接了。接的时候一切都顺理成章按这家的 SDK 写代码按这家的鉴权方式配密钥按这家返回数据的格式解析结果连出错了怎么办都是照着这家的错误码来处理的。这些东西一开始只是接一家。可它们像藤蔓一样慢慢缠进了产品的每一根血管里。三个月后小 K 的代码里到处都是这家供应商的影子。哪个功能调模型、怎么调、调完怎么处理全都跟这家的接口死死焊在了一起。这时候有人劝他要不要多接一家备着小 K 摆摆手——“现在跑得好好的接那玩意儿又要改一大堆代码等有空再说。”等有空再说这五个字就是绑架的开始。你看这就是那口温水。你不是被谁按着头绑死的而是你自己为了图一时省事一点一点把绳子缠到自己身上的。回到菜贩的比喻这个过程再熟悉不过了你不是一开始就发誓我这辈子只认这一家而是第一次图方便在他那儿进了货然后第二次、第三次菜谱慢慢按他的货调流程慢慢按他的节奏走直到有一天你回头一看——你已经离不开他了可你自己完全没察觉这个过程是什么时候完成的。这就是温水煮青蛙最阴的地方水不是一下子烧开的是一度一度往上升的。等你觉得烫了想跳才发现腿早软了。小 K 的迁移成本就是这么一天天滚大的。刚接的时候换一家可能就是改几行代码的事跑了大半年之后换一家意味着把产品里几百处调用全部翻出来重写一遍还要重新测试、重新踩坑。越用越深越深越换不动越换不动就越只能忍——这是一个会自己收紧的死结。所以别怪自己当初没长眼。绑死一家供应商往往不是一个错误的决定而是一连串太合理的省事选择攒到最后的结果。这话你得品一品单看每一步都对。第一次图省事对跑通了不折腾对有空再优化也对。可这一串对叠在一起就把你叠进了一个动不了的墙角。绑住你的从来不是某一个坏决定而是一堆好决定叠出来的惯性。三、绑死一家的三笔隐性代价想清楚了你是怎么被绑上的接下来得算算被绑着到底要付出什么代价摊开看是三笔藏在暗处的账平时你根本感觉不到一旦爆发笔笔要命。第一笔涨价传导——你把定价权拱手交给了别人。这是小 K 这回撞上的那笔账。当你只认一家菜贩他涨不涨、涨多少、什么时候涨全是他一句话的事。他涨你的成本立刻跟着涨一分都躲不掉因为你没有第二个选择去牵制他。token 是 Agent 产品最大的一块边际成本——用户每问一句、AI 每想一次都在烧 token。你把这块成本的定价权交给一家供应商等于把自己利润的生死线交到了别人手里。他不用抢你的客户只要动一动价签就能从你碗里舀走一大勺利润。说白了只认一家进货省下的不是当下那点对接功夫而是你以后讨价还价的资格。第二笔条款单方变更——什么时候关门、卖什么、怎么卖全是他说了算。涨价还算是明面上的。更让人没脾气的是那些规矩上的变动。今天他给你限个流说你调用太频繁得排队明天他把你正用得好好的那个型号下线了逼你迁到新版后天他改一条使用条款某个功能不给用了。这些你一个都拦不住因为这不是你的菜摊你只是个来进货的。菜摊几点开门、卖不卖某样菜、给不给你留货从来轮不到你做主。对一个把产品架在这家供应商之上的团队来说这意味着你的产品稳定性永远悬在别人的一念之间。人家改条款的时候根本不会先问问你方不方便。这不是合作这是寄人篱下。你以为你是客户其实你是房客而且是个连房东电话都不敢多打的房客。第三笔单点故障——他一打烊你整条街都得关灯。前两笔好歹还是贵一点“烦一点”这第三笔是直接要命的。只认一家菜贩还有一个你平时压根不会去想的风险万一哪天他自己出事了呢他的仓库着火了、他的车坏在半路了、他这个片区临时停业了——不管什么原因只要他今天送不上货你的厨房就一粒米都下不了锅。你的餐馆只能挂上今日暂停营业。放到 Agent 产品上就是那家模型供应商一旦服务中断——不管是他自己宕机还是限流还是某个区域出故障——你的产品当场就是一块砖。用户点进来AI 一句话都答不出来转个圈就是报错。你没有任何 B 计划因为你从来就只有一个 A。一家菜贩正常营业的时候你觉得这安排挺好省心。可它就像一根只有一股的绳子——平时吊着东西看不出毛病哪天这一股断了东西直接摔地上连个缓冲都没有。只认一家平时省的是心出事赔的是命。这三笔账合起来就是绑死一家的真实代价价格上任人拿捏规矩上任人摆布命脉上系于一线。平时风平浪静你甚至觉得这样挺高效可只要上游那家有任何一点风吹草动这三笔账就会同时找上门来把你按在地上。四、还有一笔更冤的钱顿顿去米其林点炒青菜前面三笔账都是绑死一家这个结构惹的祸。但还有一笔钱冤得更彻底——它不是供应商坑你是你自己把钱往贵里花还浑然不觉。咱们先看一个反常识的事实。你产品里那个 AI一天到晚在处理各种各样的请求。可你有没有想过这些请求难度天差地别有的用户问的是硬核问题——帮我分析一份复杂的报告、写一段有点门道的代码、理清一团乱麻的逻辑。这种活儿确实得用最聪明、最贵的那个大模型来干就像疑难杂症得挂专家号。可更多的时候用户问的是什么“你好”“这个怎么用”“帮我把这句话改通顺点”“今天几号”……这些说白了都是常识题随便一个便宜的小模型就能答得又快又好。问题来了在只认一家、而且图省事只用它最贵那个型号的架构里这些常识题也全都一股脑打到了那个最贵的专家模型上。用大白话说就是你让一个挂了专家号的老教授天天坐在诊室里给人量体温、发感冒药。这有多浪费咱们看一组公开数据来自 2024-2025 年公开的模型能力与价格对比随时会变别当死数字在衡量模型综合能力的一个公开测评里那些顶级的贵模型能力得分在 88 到 92 分之间价格是每百万 token 五到十美元而一些够用的小模型得分也有 75 到 82 分价格却低到每百万 token 一两毛人民币甚至更低。你把这两层价差分开看顶级贵模型和够用小模型直接比较账面单价能拉开数百倍即便只在够用这一档里横向比较最贵的和最便宜的单价也能差出大约 50 倍。50 倍是什么概念就是同样一笔活儿你花的钱可能是本该花的 50 倍。而这 50 倍的差价里绝大部分是你拿去给量体温、发感冒药这种常识题买单了。这就是所谓的大模型滥用不是模型太贵是你拿高射炮打蚊子还顿顿都打。回到餐馆的比喻这事就更荒诞了你不光只认一家菜贩你还顿顿都去这家菜贩最贵的那个柜台进最高级的食材回来就为了炒一盘再普通不过的青菜。炒青菜要用得着神户牛肉级别的价格吗不要。可你就是这么干的一天三顿月月如此。更扎心的是这笔冤枉钱账单上根本不会单列出来告诉你。它就悄悄混在那笔模型调用费里跟着你的用量一起月复一月地滚大。你甚至会误以为AI 就是这么贵然后认了。你回头看看小 K 那张翻倍的账单里头一部分是供应商涨价涨上去的另一部分其实是他自己长年累月拿专家号看常识病、一点点堆上去的。两笔钱混在一起他连哪些贵是别人涨的、哪些贵是自己花的都分不清楚。而这恰恰是绑死一家、又图省事只用一个贵型号最隐蔽的连带伤害——你不光被人拿捏了价格还失去了把钱花在刀刃上的能力。所以你以为的AI 太贵很多时候不是 AI 贵而是你把每一道家常菜都送去了米其林后厨。五、为什么我直接多接几家 if-else救不了你聊到这儿你脑子里大概已经冒出一个特别自然的念头了“这好办啊我不就是绑死了一家吗那我多接几家不就行了代码里写个判断这种情况用 A 家那种情况用 B 家A 家挂了就切 C 家——问题不就解决了”这个念头几乎是每个人的第一直觉。听起来天衣无缝实则是个更大的坑。咱们把它掰开看。你说的多接几家、写个判断来回切翻译成大白话就是在你的产品代码里硬生生塞进一堆如果……就……否则……的岔路。如果是这种请求就调 A 家的接口——按 A 家的格式否则如果 A 家挂了就调 B 家的接口——按 B 家的格式再否则用 C 家——按 C 家的格式……第一眼看好像是解耦了从一家变成了三家。可你仔细想想你到底干了什么你不是把绳子解开了你是把一根绳子换成了三根缠在一起的绳子。因为每一家供应商的接口都不一样鉴权方式不一样、参数格式不一样、返回结构不一样、错误码不一样。你这堆如果否则里塞的全是这些乱七八糟的差异。它们像一团越缠越紧的毛线死死缠在你产品最核心的业务逻辑里。于是新的噩梦开始了你想加第四家供应商对不起回去改代码在那团毛线里再加一坨。某一家改了接口格式对不起回去改代码把那一坨拆了重织。你想调整一下什么请求走哪家的策略对不起还是回去改代码。你每动一次供应商就得动一次产品最核心的代码。而每一次动核心代码都是一次风险——可能引入新 bug可能测试没覆盖到可能上线就炸。回到菜贩的比喻这就好比你为了不被一家绑架干脆让每个厨师各自去认识一批不同的菜贩每个人手里攥着一沓不同菜贩的电话、不同的砍价话术、不同的送货时间表。厨房是热闹了、也不怕一家断供了可整个后厨彻底乱成一锅粥——没人知道今天到底该找谁、哪个便宜、哪个靠谱换个菜贩全厨房都得跟着重新记一遍规矩。所以你看明白了直接 if-else 多接几家不是解耦是把绑死一家换成了绑死一堆 if-else。你没有获得自由你只是把一个枷锁换成了一副更重、更乱的枷锁。这里藏着整件事最关键的一句话你一定要记住解耦真正的难点从来不是能不能换第二家而是每家的接口都不一样你得有一个统一的地方把这些乱七八糟的差异全接住、抹平。if-else 恰恰做反了——它非但没把差异抹平反而把每一家的差异全都摊在了大太阳底下摊进了你最不该碰的核心代码里。那到底该怎么办该有一个什么样的统一的地方来把这些差异接住别急这正是下篇要卷起袖子干的活儿。这一篇咱们先把为什么 if-else 救不了你这个坑认认真真绕明白。六、把痛点钉死几句你该记住的话一大圈绕下来咱们把这一篇摊开的账收一收。我想用几句反着说的话帮你把这件事真正刻进脑子里。不是 AI 本身贵而是你把进货的定价权整个交给了一家你管不住的菜贩。小 K 那张翻倍的账单涨的不是AI 变聪明了的钱是你没有第二个选择的代价。只认一家你就永远只能当那个被通知涨价的人。不是你当初瞎了眼选错了供应商而是你在一连串太合理的省事里把自己一点点缠死了。第一次图方便对跑通了不折腾对有空再优化对。可这一串对攒成了一个你动不了的死结。绑架从来不是一个坏决定是一堆好决定叠出来的惯性。不是多接几家就叫解耦而是你得有个统一的地方把各家的差异全接住。直接 if-else 硬切不是把绳子解开是把一根绳子换成三根缠一起的绳子。你没获得自由只是换了副更重的枷锁。不是 AI 干的活太高级才贵而是你拿专家号去看了太多本该挂普通号的常识病。同一档能力的模型价差能到大约 50 倍。你把家常菜顿顿送进米其林后厨账单当然下不来——可这笔冤钱账单上从来不单列。不是这门生意不能做而是你不能把命全押在一家你管不住的供应商身上。这句话是这一整篇的核心。你把它记住就等于把这一篇读明白了。金句听着痛快但你要真信这几句才算真看懂了小 K 那张翻倍的账单——它涨的从来不是AI 的钱是你没得选的钱。把这几笔账并在一起看你就会发现一个共同的根子问题的根源从来不是你选了哪一家而是你只有一家。只要你只有一家涨价你得认、改规矩你得认、断供你得认、贵型号你也只能硬用——所有的被动都从只有一家这四个字里长出来。看懂了这个根子你其实已经离答案不远了。七、写在最后咱们把这一整篇收个尾。小 K 盯着那张翻倍账单发懵的时候他撞上的是中小厂做 Agent 的第二根钉子——只认一家模型供应商进货人家一涨价、一改规矩、一断供你连还手的余地都没有。这根钉子扎得深是因为它背后是一整串环环相扣的被动图省事绑死了一家绑死之后迁移成本越滚越大越大越换不动越换不动就越只能任人拿捏——价格上被涨价传导、规矩上被单方变更、命脉上系于单点故障还顺带被顿顿用最贵型号这笔冤枉钱慢慢放血。而你想靠多接几家 if-else自救结果只是把一副枷锁换成了一副更重的。所有这些痛归到最后都是同一个根子你只有一家你没得选。那答案是不是就呼之欲出了既然痛的根子是只有一家、没得选、还得自己在代码里手忙脚乱地切——那能不能请一个专门的人来管这摊事一个不站在任何一家菜贩那边、只替你厨房打算的人。你只管说我今天要这些菜剩下的——去哪家进最划算、这家断供了立刻切哪家、每一笔进货花了多少钱记在哪本账上——全交给他去操心。你的厨房从此只跟这一个人打交道再也不用记一沓菜贩的电话再也不用被谁一句嫌贵去别家噎得说不出话。这个人就是解开整个困局的那把钥匙。而这恰恰是下篇要卷起袖子干的活儿——怎么给你的厨房配一个会比价、会兜底、会记账的采购总管。怎么让它替你在多家供应商之间挑最划算的怎么让它在一家断供时不声不响切到备用的怎么让它把每一笔账都记得清清楚楚。这一篇咱们把为什么非得请这么个人讲透了下篇咱们就动手看看这位采购总管到底该怎么搭出来。先记住这一篇最要紧的一句你为 Agent 烧的冤枉钱大头不在 AI 有多贵而在于你把整个厨房的进货大权全交给了一家你根本管不住的菜贩。关于 ArchAIHarness这篇文章是「看懂 AI 与智能体」专栏的一部分由ArchAIHarness持续输出。ArchAIHarness 是一套面向 AI 时代软件工程的人机协同架构哲学与公开工程资产主张架构师定义秩序AI 在秩序中生长。人立法AI 执行体系审计。如果你也希望 AI 在明确的架构边界内协作而不是在混沌中碰运气欢迎到 GitHub 上看看我们在做什么组织主页github.com/ArchAIHarness — 了解完整理念与资产全景本专栏zhuanlan-ai-and-agents— 所有文章的源码与发布记录实践指南docs— 架构哲学、工程方法和落地指南开源工具agent-workflows— 可复用的 AI 协作 Agents、Skills 与 Tools工程样例framework— DDD AI 协作的工程底座展示如何在开发中融合 AIEngineered by Architects · Empowered by AI · Audited by Discipline