TL;DR

本文核心观点:

  1. Agent 成本的主要来源不是计算,而是上下文管理 — 这是 2026 年最被低估的成本结构
  2. 上下文每年膨胀 2-3 倍 — 如果不做主动管理,成本将随模型升级同步爆炸
  3. 80% 的上下文是噪声 — 大多数 Prompt 工程师不知道他们在为什么付钱
  4. 成本优化核心在架构层 — 压缩上下文比换便宜模型有效 10 倍

📋 本文结构

  1. 一个反直觉的账单 — 从真实案例看成本来源
  2. 上下文膨胀定律 — 什么在驱动成本上升
  3. 成本结构解析 — 你的钱到底花在哪了
  4. 四象限优化框架 — 如何系统性降低上下文成本
  5. 实施路径 — 从诊断到优化的完整路线图
  6. 结论 — Takeaway 与延伸思考

一、一个反直觉的账单

真实案例

一家中型 SaaS 公司接入了 AI Agent 来做客服。3 个月后,他们收到了账单:

  • API 调用次数:50,000 次/月
  • Token 消耗:2 亿 tokens
  • 月度账单:$12,000

他们第一反应是:太贵了。换小模型。

换完之后测试,质量下降导致客诉率上升 40%。被迫换回来。

然后他们找我来诊断。

我的发现:这 50,000 次调用中,超过 60% 是重复的同类问题。2 亿 tokens 中,超过 70% 是上下文冗余——每次对话都带着完整的产品知识库,而其中只有 15% 的内容与当前问题相关。

重新核算后

  • 语义缓存命中 60% 的请求 → 成本降至 $4,800
  • 上下文压缩(只注入相关知识片段)→ 再降 50%
  • 最终实际成本:$2,400,而不是 $12,000

差距:5 倍。


二、上下文膨胀定律

什么是上下文膨胀?

上下文膨胀(Context Inflation)是指:随着 Agent 能力增强和应用场景扩展,模型处理的上下文体积每年增长 2-3 倍的现象。

这不是 Bug,是趋势。

驱动因素:

因素 说明 膨胀贡献
功能扩展 Agent 能做的事越多,需要的记忆越多 30%
对话历史累积 长期运行的 Agent 对话历史无限增长 25%
知识库增大 RAG 场景下知识库越来越大 20%
多模态 图像、表格、文档的上下文比文字贵 10 倍 15%
多 Agent 通信 Agent 间消息也是上下文 10%

为什么这是 2026 年的核心问题?

2023-2024 年,AI 成本优化的焦点是模型价格。GPT-4 从 $0.03 降到 $0.01,便宜了 70%。

但 2026 年,模型价格已经降不动了。成本优化的焦点必须转向架构层

而架构层最大的成本来源,是上下文

2023 年成本 = 模型价格 × Token 数
2026 年成本 = 架构效率 × (模型价格 × Token 数)

架构效率 = f(缓存命中率, 上下文压缩率, 路由优化, 批处理效率)

三、成本结构解析

你的钱到底花在哪了?

让我们拆解一个典型 Agent 请求的成本构成:

总成本 = Base Cost(模型计算)+ Context Cost(上下文处理)+ Tool Cost(工具调用)

典型比例(未优化系统):
- Base Cost:30%
- Context Cost:55%  ← 主要成本来源
- Tool Cost:15%

优化后目标比例:
- Base Cost:25%
- Context Cost:35%  ← 通过架构优化压缩
- Tool Cost:15%
- 缓存节省:25%     ← 通过缓存回收

上下文成本的三个层次

层次 1:输入上下文(Input Context)

每次请求携带的 prompt + 对话历史 + 知识检索结果。

这是最明显的成本,也是大多数优化工具聚焦的地方。

层次 2:输出上下文(Output Context)

模型生成的响应 token。

听起来理所当然,但你有没有想过:减少输出 token 不仅是加快速度,也是省钱。

层次 3:隐式上下文(Implicit Context)

系统 prompt、Agent 描述、工具定义、约束条件。

这些在每次请求中都存在,但很少有人关注。系统 prompt 写得好不好,直接影响 10-20% 的 token 浪费。


四、四象限优化框架

优化矩阵

                    高频
                      ↑
                      │
       缓存层 ←———+———→ 压缩层
       (命中>60%)      |    (结构性)
                      │
    低价值 ←————————+—————————→ 高价值
                      │
       精简层 ←———+———→ 路由层
       (快速见效)      |    (精准匹配)
                      │
                      ↓
                    低频

象限 1:高频高价值 → 智能缓存

适用场景:重复性问题、常见查询、可预测的请求模式

核心策略

  • 语义缓存(Semantic Cache)— 不是精确匹配,是语义相似度匹配
  • 结果缓存(Response Cache)— 完全相同的请求直接返回
  • 预热缓存(Warm Cache)— 高峰期前预加载热点数据
class SemanticCache:
    def __init__(self, threshold=0.92):
        self.threshold = threshold
        self.vector_store = VectorStore()
        self.cache = {}
    
    def get(self, query: str) -> Optional[str]:
        """语义检索缓存"""
        query_embedding = embed(query)
        results = self.vector_store.search(query_embedding, top_k=1)
        
        if results and results[0].score >= self.threshold:
            return results[0].cached_response
        return None
    
    def set(self, query: str, response: str):
        """写入缓存"""
        embedding = embed(query)
        self.vector_store.add(embedding)
        self.cache[hash(query)] = response

优化效果:成本降低 40-60%,延迟降低 50%


象限 2:高频低价值 → 上下文压缩

适用场景:每次请求携带大量上下文,但大部分不相关

核心策略

  • 知识检索优化(只获取 top-k 相关片段)
  • 对话历史压缩(只保留关键轮次)
  • 动态上下文窗口(根据任务类型调整窗口大小)
class ContextCompressor:
    def __init__(self, max_tokens: int):
        self.max_tokens = max_tokens
    
    def compress(self, context: dict) -> dict:
        """智能压缩上下文"""
        compressed = {}
        
        # 知识库:只保留 top-10 相关片段
        if 'knowledge' in context:
            docs = context['knowledge']
            scored = [(d, relevance(d.query)) for d in docs]
            top_docs = sorted(scored, key=lambda x: x[1], reverse=True)[:10]
            compressed['knowledge'] = [d for d, _ in top_docs]
        
        # 对话历史:只保留关键轮次
        if 'history' in context:
            compressed['history'] = self.extract_key_turns(context['history'])
        
        return compressed
    
    def extract_key_turns(self, history: list) -> list:
        """提取关键对话轮次"""
        key_turns = []
        for turn in history:
            if self.is_key_turn(turn):
                key_turns.append(turn)
        return self.truncate_to_token_limit(key_turns)

优化效果:成本降低 30-50%,对质量影响 < 5%


象限 3:低频高价值 → 智能路由

适用场景:复杂请求、罕见场景、高价值用户

核心策略

  • 任务复杂度分类(简单/中等/复杂)
  • 智能模型路由(简单任务用小模型)
  • 人机协作(极复杂任务转人工)
def route_request(query: str, user_segment: str) -> str:
    """智能路由"""
    complexity = estimate_complexity(query)
    
    # 高价值用户:始终用最强模型
    if user_segment == 'enterprise':
        return 'claude-3-5-sonnet'
    
    # 低复杂度:便宜模型
    if complexity < 0.3:
        return 'gpt-3.5-turbo'
    
    # 高复杂度:强模型
    elif complexity > 0.7:
        return 'claude-3-opus'
    
    # 中等复杂度:平衡选择
    else:
        return 'claude-3-sonnet'

优化效果:成本降低 50-70%,高价值场景质量不降


象限 4:低频低价值 → 精简层

适用场景:内部工具、低优先级任务、可延迟处理

核心策略

  • 批处理(聚合多个低价值请求)
  • 异步处理(非实时,降低优先级)
  • 边缘计算(简单判断在端侧完成)
class BatchProcessor:
    """低价值请求批量处理"""
    
    def __init__(self, batch_size=10, max_wait_seconds=30):
        self.batch_size = batch_size
        self.queue = []
        self.max_wait = max_wait_seconds
    
    def add(self, request: dict) -> Future:
        """加入批处理队列"""
        future = Future()
        self.queue.append((request, future))
        
        if len(self.queue) >= self.batch_size:
            self.process_batch()
        
        return future
    
    def process_batch(self):
        """批量执行"""
        batch = self.queue[:self.batch_size]
        results = self_llm.batch_generate([r for r, _ in batch])
        
        for (req, future), result in zip(batch, results):
            future.set_result(result)
        
        self.queue = self.queue[self.batch_size:]

优化效果:成本降低 60-80%,延迟增加但可接受


五、实施路径

阶段 1:诊断(Week 1)

目标:搞清楚钱花在哪了

行动

  • 接入成本监控(每请求级别的 token 消耗)
  • 拆分三段成本(Base/Context/Tool)
  • 识别高频重复请求(Top 20% 请求占据 80% 成本)
  • 分析上下文构成(输入/输出/隐式各占多少)

输出:成本结构分析报告 + Top 10 优化机会


阶段 2:快速优化(Week 2-3)

目标:零成本见效

行动

  • 实施语义缓存(目标:命中 50%+ 的重复请求)
  • 优化系统 prompt(减少隐式上下文浪费)
  • 精简 RAG 检索(只获取 top-5 而非 top-20)

预期效果:成本降低 30-40%


阶段 3:结构性优化(Month 2)

目标:改变成本结构

行动

  • 实现智能路由(按任务类型分配模型)
  • 构建对话历史压缩机制
  • 建立批处理队列(低价值请求聚合)

预期效果:成本再降 30-40%


阶段 4:持续治理(Month 3+)

目标:成本可持续优化

行动

  • 月度成本 Review
  • 新功能成本预估(上线前)
  • 成本优化自动化(工具链集成)

六、结论

🎯 Takeaway

传统思维 AI-Native思维
成本来自模型计算 成本来自上下文管理
换便宜模型省钱 重构架构省钱
上下文多多益善 上下文按需供给
缓存是加速手段 缓存是核心成本杠杆

一句话总结

上下文膨胀是 2026 年 Agent 成本的核心问题。能管好上下文的团队,成本是竞争对手的 1/5。不能管好上下文的团队,每天都在为噪声付钱。


金句:最贵的 token 是那些本来不该存在的 token。


📚 延伸阅读

经典案例

本系列相关

学术理论

  • 《Designing Data-Intensive Applications》— 缓存范式与一致性
  • 《The Pragmatic Programmer》— 代码即负债的观点来源

AI-Native软件工程系列 深度阅读时间:约 8 分钟