很多人刚开始用ChatGPT、Codex做开发时,会形成一个很直接的习惯:
既然更强的模型效果更好,那就所有任务都用最强模型。
复杂Bug,用最强的。
补测试,用最强的。
改文档,用最强的。
查几个文件,也用最强的。
从单个任务看,这个逻辑似乎没问题。
因为更强的模型通常意味着更好的理解、推理和复杂任务处理能力。
但当AI开始真正进入开发工作流以后,这种方式会越来越像:
团队里所有事情都让最资深的工程师亲自处理。
架构设计找他。
改一个变量名也找他。
排查线上事故找他。
整理README还是找他。
结果不是能力不够。
而是:
最贵、最稀缺的能力,被大量低价值工作占满了。
所以未来真正成熟的AI开发方式,很可能不是:
永远选择最强模型。
而是:
把不同任务,交给刚好足够的模型。
这背后其实是一种新的工程能力:
Model Routing。
一、以前选择模型,现在开始变成“分配计算资源”
聊天时代选择模型比较简单。
你要么想:
更快一点。
要么想:
更聪明一点。
但Agent时代完全不同。
因为一次任务可能包含:
理解Repository。
搜索文件。
分析Root Cause。
写代码。
运行测试。
修改失败。
重新规划。
代码Review。
生成文档。
这些环节对模型能力的要求根本不一样。
比如:
把某个字段从旧名字批量替换成新名字,
和:
判断一个跨服务并发Bug到底出在哪里,
显然不是同一级别的计算任务。
如果它们都使用同一种最高强度模型,
本质上就是:
Compute Overprovisioning
计算能力过度配置。
二、真正该问的不是“哪个模型最强”,而是“这个任务最低需要什么能力”
这是思维方式最大的变化。
过去我们经常比较:
A模型和B模型谁更强。
但真正进入工程环境以后,
更重要的问题可能变成:
这个任务达到可靠完成,最低需要什么能力等级?
例如:
生成一个简单Shell脚本。
可能不需要最高强度推理。
整理测试Case。
也不一定需要。
但如果任务是:
定位复杂竞态条件。
理解大型Repository的跨模块依赖。
评估高风险数据库迁移。
就明显需要更强的推理和Context能力。
所以未来模型选择会越来越像:
Task Matching
任务匹配。
而不是单纯:
模型排名。
三、简单任务用最强模型,最大的浪费不是“贵”,而是占用了高价值计算
很多人会觉得:
只要额度够,
一直用强模型有什么关系?
真正的问题不是这一单多用了多少。
而是:
高能力模型本身是一种有限资源。
假设一天里有10个任务。
其中:
6个是简单任务。
3个是中等复杂任务。
1个是真正困难的Root Cause分析。
如果前9个任务已经消耗掉大量高强度计算,
等真正困难的任务出现时,
你可能反而开始:
容量紧张。
窗口紧张。
上下文吃紧。
所以真正成熟的AI工作流应该考虑:
Capacity Reservation
为真正重要的问题保留高能力计算。
四、未来任务可能天然分成三个等级
可以把日常AI Coding任务简单分成三层。
第一层:
Light Task
轻任务。
例如:
格式调整。
简单重命名。
生成基础测试模板。
补注释。
整理文档。
明确范围的小修改。
这类任务特点是:
目标清楚。
搜索空间小。
错误恢复成本低。
一般不需要持续使用最高强度推理。
第二层:
Medium Task
中等任务。
例如:
普通Bug。
小型Feature。
代码Review。
几处文件之间的修改。
已经基本明确Root Cause的修复任务。
这类任务需要一定理解能力,
但通常Scope仍然可控。
适合使用:
平衡型模型。
第三层:
Heavy Task
重任务。
例如:
Root Cause未知。
大型Repository。
跨模块推理。
并发问题。
安全敏感代码。
复杂迁移。
系统架构调整。
这些任务真正昂贵的是:
错误判断。
如果一开始方向错了,
后面可能产生大量:
错误修改。
Retry。
测试。
Context累积。
恢复成本。
所以这种任务反而值得优先使用更强能力。
五、这背后真正应该优化的是Value per Compute
未来开发者不应该只看:
一次调用用了多少资源。
更值得看的指标是:
Value per Compute
单位计算价值。
简单理解:
每消耗一份AI能力,最终产生了多少真正有效的工程价值。
比如:
用最强模型花很长时间生成一份普通README。
技术上完成得很好。
但Value per Compute可能并不高。
反过来,
如果强模型用在一个关键生产Bug上,
快速判断出Root Cause,
哪怕单次计算成本更高,
整体价值可能极高。
所以“更省”不是:
每个任务都用轻模型。
而是:
让高强度计算尽可能集中在高价值任务上。
六、为什么最便宜的模型也不一定最省?
这里还有另一个容易走向的极端:
既然不能所有任务都用强模型,
那就尽量全部用轻模型。
这同样不对。
因为:
Cheap per Call ≠ Cheap per Task
一次调用更轻,
不代表整个任务成本更低。
假设一个复杂Bug:
强模型一次分析就把Root Cause缩小到两个模块。
轻模型则不断:
搜索。
猜测。
修改。
测试。
Retry。
最后跑了很多轮才找到问题。
那么轻模型的单轮成本虽然低,
但:
总Tool Calls。
总Context。
总Retry。
总时间。
全部可能更高。
这时候“省模型”反而变成:
False Economy
假节省。
七、所以真正关键的是First-pass Quality
复杂任务里,可以再看一个指标:
First-pass Quality
第一轮有效判断质量。
如果任务简单,
第一次方向错一点,
恢复成本很低。
但如果任务复杂,
第一次判断错了以后,
Agent可能沿错误方向跑很远。
所以高风险任务里,
强模型的价值不只是:
回答更漂亮。
而是:
减少错误搜索空间。
这也是为什么模型路由不能只根据:
“这个模型更省。”
必须同时看:
任务不确定性。
八、判断任务该用多强模型,可以先看Search Space
一个非常实用的变量是:
Search Space
搜索空间。
如果任务是:
“只修改这个函数里的返回格式。”
搜索空间极小。
模型很容易知道:
去哪里。
改什么。
什么时候结束。
这种任务通常适合轻模型。
但如果任务是:
“线上偶尔出现重复扣费,帮我找原因。”
它可能涉及:
数据库。
消息队列。
Retry。
并发。
第三方回调。
幂等。
缓存。
网络。
搜索空间巨大。
这种时候越需要高质量:
Hypothesis Ranking。
也就是:
先判断哪些方向最值得查。
强模型的价值会明显提高。
九、第二个变量是Error Cost
还有一个更重要的问题:
Error Cost
错误代价。
比如AI把一个注释改错。
恢复成本几乎为零。
但如果AI在:
权限系统。
支付。
数据迁移。
生产配置。
安全逻辑。
上判断错误,
影响就完全不同。
所以任务越高风险,
越不能单纯为了省资源而降模型。
这时候真正要优化的是:
Expected Total Cost。
不仅包括AI计算成本,
还包括:
错误以后的修复成本。
十、第三个变量是Task Value
有些任务即使复杂,
也未必值得用最高能力。
例如:
一个内部临时脚本。
即使写得不够优雅,
影响也很有限。
但某个影响核心业务的线上Bug,
价值就非常高。
因此模型路由最终应该同时看三个东西:
Complexity。
Risk。
Value。
任务复杂度。
错误风险。
业务价值。
这三个组合起来,
才真正决定:
该分配多少AI能力。
十一、未来最成熟的方式,可能不是“一任务一模型”,而是“一阶段一模型”
甚至同一个任务,
不同阶段也不一定需要同样强度。
比如一个复杂Bug。
第一阶段:
Explore
确认Root Cause。
这个阶段搜索空间最大,
需要强推理。
可以优先用更强模型。
第二阶段:
Execute
Root Cause已经明确。
方案已经确定。
现在主要是:
修改代码。
补测试。
跑验证。
这部分可能就可以交给更轻模型。
第三阶段:
Review
如果任务风险较高,
最后再切回更强模型:
检查副作用。
检查边界条件。
验证有没有遗漏。
这就形成:
Strong → Light → Strong
强模型负责最重要的决策点。
轻模型负责稳定执行。
强模型再做关键把关。
这比一个任务从头到尾都使用同一个模型,
通常更加合理。
十二、这会让未来AI开发越来越像“算力调度”
当一个开发者同时管理越来越多Agent任务以后,
问题就不再只是:
“这个Prompt交给谁?”
而更像:
Compute Allocation
算力分配。
你手里可能同时有:
一个复杂Bug。
两个普通Feature。
五个小修改。
几组测试。
一个Review。
一个文档任务。
真正成熟的工作流会自动判断:
什么任务值得最高能力。
什么任务可以使用平衡模型。
什么任务适合轻模型。
什么任务甚至根本不值得让Agent长时间跑。
这已经非常接近传统计算系统里的:
Resource Scheduling
资源调度。
十三、可以建立一个指标:高价值计算占比
可以给自己的AI工作流做一个很简单的自测:
高价值计算占比
也就是:
你使用高能力模型的时间里,
有多少真正花在:
高复杂。
高风险。
高价值。
的任务上。
如果大量高能力计算都花在:
格式。
机械修改。
简单搜索。
重复生成。
低风险整理。
那说明模型资源分配并不合理。
真正成熟以后,
高能力模型应该越来越集中到:
不可替代的决策点。
十四、模型路由还有一个隐藏收益:减少上下文浪费
不同任务混在同一种最高强度工作流里,
还有一个问题:
Context会越来越重。
比如一些简单任务,
本来只需要:
几个文件。
一个明确指令。
但如果被放进一个大型Agent Session,
它可能顺带读取:
整个Repository。
历史上下文。
大量工具输出。
最终产生很多不必要的Context。
如果轻任务独立路由,
反而可以保持:
Scope小。
Context短。
任务生命周期短。
整个系统更加干净。
十五、未来开发者最重要的能力之一,可能是“知道什么时候不用最强模型”
这一点其实很反直觉。
AI刚出现时,
大家拼的是:
谁能用到更强模型。
以后大家模型能力越来越接近以后,
差距可能来自:
谁更会分配模型。
真正成熟的人不会说:
“我永远用最强的。”
他会知道:
这个任务:
轻模型够。
那个任务:
需要平衡能力。
这个阶段:
一定要最强推理。
那个阶段:
没必要。
这种判断本质上就是:
AI Resource Judgment
AI资源判断能力。
十六、这也解释了为什么“更高套餐”不等于自动更高生产力
如果一个人的工作流是:
所有任务都交给最高能力。
所有问题都直接开长Agent。
所有小任务也持续占用大量Context。
那么给他更大容量以后,
很可能只是:
同一种低效率模式可以运行更久。
容量增加了。
但Value per Compute并没有提高。
所以在判断Plus和Pro之前,
一个很重要的问题应该是:
我的计算资源已经路由合理了吗?
十七、什么时候Plus其实已经够?
如果你的日常工作里:
大量任务是轻型或中型任务。
你已经会做:
Task Classification。
Model Routing。
复杂任务才使用更强能力。
执行阶段适当降级。
低价值任务不会占用大量Agent资源。
那么Plus很可能已经能覆盖相当多开发工作。
因为真正改变的不是:
额度突然变多。
而是:
每一份计算被分配得更合理。
十八、什么时候Pro才真正开始匹配?
如果你已经做到:
轻任务走轻模型。
中型任务合理分配。
复杂任务使用强模型。
执行和Review阶段也做了路由。
低价值消耗已经压缩。
但每天仍然存在大量:
高复杂度。
高风险。
高价值。
不可降级的Agent任务。
而且这些任务本身持续需要:
更强推理。
更长Context。
更多Agent并发。
这时你遇到的才更接近:
Real Compute Demand
真实计算需求。
此时Pro带来的更高容量,
才更容易真正转化成:
生产力。
而不是浪费空间。
十九、未来AI团队甚至可能出现“模型调度层”
再往前一步看,
未来大型团队可能不会让每个开发者自己手动选模型。
而是建立:
Model Router
模型路由层。
任务提交以后,
系统自动根据:
复杂度。
风险。
Context。
历史成功率。
执行长度。
业务价值。
把任务路由到不同能力等级。
简单任务走高吞吐路径。
复杂任务走强推理路径。
高风险任务增加Review。
失败以后动态升级模型。
这时候模型已经不再只是:
一个聊天窗口里的选项。
而会变成:
整个Agent基础设施的一部分。
最后
AI越来越强以后,
最容易出现的一种误判就是:
既然有最强模型,那就所有任务都用最强模型。
但真正的工程系统从来不是这样运行的。
我们不会让最昂贵的服务器处理所有工作。
不会让最高级工程师处理所有任务。
也不会让最高规格资源服务每一个请求。
AI也是一样。
未来真正高效的开发者,
不会追求:
每一次都用最强模型。
而会追求:
每一个任务,都使用刚好足够完成它的能力。
简单任务不要过度配置。
复杂任务不要错误降级。
执行阶段和推理阶段区别对待。
高能力计算留给真正高价值的决策。
最终真正值得优化的,
不是:
“我用了多少次最强模型。”
而是:
Value per Compute
每一份AI能力,
最终到底转化成了多少有效结果。
这才可能是Agent时代真正的效率差距。
持续更新Codex、大模型开发相关技术内容。
长期使用各类代码大模型,整理了稳定的Plus/Pro会员订阅渠道,有需要可自取!