关注「索引目录」公众号,获取更多干货。
大多数人工智能代理都使用同一个模型来处理所有事情。这就像用大锤既敲钉子又敲螺丝一样。
事实是:你的智能体 70% 的推理调用不需要前沿模型。
问题
我经常看到这种模式:
# Every call goes to GPT-4
response = openai.chat.completions.create(
model="gpt-4-turbo",
messages=[{"role": "user", "content": "Classify this email as spam or not spam"}]
)
GPT-4 Turbo 的成本约为每百万个输入令牌 10 美元。而对于电子邮件分类来说,你支付的费用却是实际所需成本的 100 倍。
70/30 比例
通过分析不同工作负载下的数千次代理推理调用,可以发现一个清晰的模式:
70% 的来电都是“商品化”任务:
-
分类(垃圾邮件/非垃圾邮件,类别分配) -
提取(从文本中提取姓名/日期/金额) -
总结(提炼要点) -
嵌入(向量表示) -
格式转换(JSON ↔ 文本)
这些任务是确定性的。一个包含70亿个参数的模型可以以95%以上的准确率处理它们。
30% 的通话属于“前沿”任务:
-
复杂的推理链 -
创意内容创作 -
细致入微的分析,含糊不清 -
多步骤计划 -
针对新问题的代码生成
这些产品确实能从大型号中受益。
数学
让我们比较一下一名每天拨打 10,000 个电话的代理人的成本:
所有 GPT-4 Turbo:
10,000 calls × ~500 tokens avg × $10/1M tokens
= $50/day = $1,500/month
70/30 比例分配(Llama 3.3 70B 用于商品数据,GPT-4 用于前沿数据):
7,000 calls × ~500 tokens × $0.60/1M tokens = $2.10/day
3,000 calls × ~500 tokens × $10/1M tokens = $15/day
Total = $17.10/day = $513/month
每月节省:987 美元(减少 66%)
这还是保守估计。如果采用7B模型进行商品期权交易,节省的费用会更多。
如何实现拆分
第一步:对来电进行分类
添加一个轻量级分类器,在调用到达模型之前对其进行路由:
COMMODITY_TASKS = {
"classify", "extract", "summarize", "embed",
"format", "translate", "parse"
}
FRONTIER_TASKS = {
"reason", "create", "analyze", "plan",
"code", "debate", "synthesize"
}
def route_call(task_type: str, prompt: str) -> str:
if task_type in COMMODITY_TASKS:
return call_commodity_model(prompt) # Llama 3.3 70B via Groq
else:
return call_frontier_model(prompt) # GPT-4 / Claude
步骤二:衡量质量
不要想当然——要验证。在普通任务样本上运行这两个模型并进行比较:
def quality_check(prompt, expected_output):
commodity_result = call_commodity_model(prompt)
frontier_result = call_frontier_model(prompt)
commodity_score = evaluate(commodity_result, expected_output)
frontier_score = evaluate(frontier_result, expected_output)
print(f"Commodity: {commodity_score}% | Frontier: {frontier_score}%")
print(f"Cost savings: {1 - commodity_cost/frontier_cost:.0%}")
如果商品模型在某项任务上的得分与前沿模型的得分相差在 5% 以内,则永久将该任务分配给商品模型。
步骤 3:使用路由层
与其管理两个 API 客户端,不如使用一个统一的端点来处理路由:
# One endpoint, automatic routing based on service
import requests
# Commodity: embeddings via GPU-Bridge
embed_response = requests.post("https://api.gpubridge.io/run", json={
"service": "embeddings",
"input": {"texts": ["your text here"]}
})
# Commodity: fast LLM for classification
classify_response = requests.post("https://api.gpubridge.io/run", json={
"service": "llm-groq",
"input": {"prompt": "Classify: spam or not spam..."}
})
# Frontier: complex reasoning stays with GPT-4
reason_response = openai.chat.completions.create(
model="gpt-4-turbo",
messages=[{"role": "user", "content": "Analyze this complex scenario..."}]
)
实际结果
以下是实际客服工作流程(电子邮件处理)的拆分示例:
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
商品任务(前 4 项)占总量的 75%,但如果路线规划得当,成本仅占 3%。
复合效应
70/30 的分摊比例不仅仅意味着直接节省成本,它还能为您带来以下好处:
- 更低的延迟
——小型模型响应速度提升 5-10 倍 - 更高的吞吐量
——商品提供商(Groq)可以处理更多并发请求 - 更高的可靠性
——对单一供应商的依赖性更低 - 成本可预测
——商品价格更加稳定
入门
- 审核您的调用
——将每次推理调用分类为商品调用或前沿调用。 - 测试商品模型
——在商品任务上运行 Llama 3.3 70B(通过 Groq) - 衡量质量差距
——如果小于5%,则转向商品化。 - 实现路由
——可以是自定义逻辑,也可以是像 GPU Bridge 这样的中间件。 - 持续监控
——有些任务会随着时间推移在商品和前沿领域之间摇摆不定。
最优秀的代理人并非拥有最大模型的代理人,而是能够针对每项任务选择合适模型的代理人。
关注「索引目录」公众号,获取更多干货。

