LLM 推理成本工程:从 Token 计量到分层路由的生产降本实践

引言:Token 是新的电费

你的 LLM 月度账单是多少?

两年前,这个问题几乎没有工程师关心------用量小、单价高、成本被增长焦虑掩盖。现在不一样了。主流推理模型的价格已从两年前的 20/百万Token降至20/百万 Token 降至 20/百万Token降至0.07/百万 Token,降幅超过 99%。但这个「好消息」的另一面是:中国日均 Token 调用量从 2024 年初的 1000 亿飙升至 2025 年底的 100 万亿。

价格下降,用量爆炸。多数团队的 LLM 支出不是在下降,而是在指数级上升。

我见过一个典型的团队:2025 年 Q3 月度 LLM 支出 ¥5600,Q4 推出了 Agent 产品后飙升至 ¥29400,2026 Q1 继续涨到 ¥84000。他们最贵的模型 Qwen-Max 每百万输出 Token ¥40,而同一任务用 DeepSeek-Chat 只需要 ¥1------40 倍的单价差异。他们根本不知道哪些请求用了哪种模型,也说不清楚哪笔支出在「浪费」。

这就是 LLM 推理成本工程的核心问题:你无法优化你没有计量的东西。

本文给出一套五层成本防御体系,从最简单的 Token 计量,到最复杂的智能路由与预算熔断。每一层都有可运行的代码,每一层都有实测数据。读完本文,你可以在两周内将 LLM 账单降低 40%~70%,同时不牺牲输出质量。


第一层:摸清底数------Token 成本建模

1.1 成本公式与计价结构

LLM 推理成本的核心公式极其简单:

scss 复制代码
日成本 = (输入Token数 × 输入单价 + 输出Token数 × 输出单价) × 日请求数

但其中三个变量都不是常量。

输入/输出 Token 比例因场景差异巨大

  • 代码补全:输入 200 tokens / 输出 50 tokens,比例 4:1
  • 文档摘要:输入 4000 tokens / 输出 500 tokens,比例 8:1
  • 深度推理(reasoning model):输入 1000 tokens / 输出 1500 tokens,比例 1:1.5

上下文长度对成本的影响是非线性的。主流大模型厂商的 Prompt Cache 机制可以降低重复前缀的成本,但当你的 System Prompt + 历史对话累积到 64K tokens 时,即使有缓存,单次请求的成本仍然是 8K 场景的 8 倍------这是线性增长的 Token 量背后被忽略的常数因子(KV Cache 压力、内存占用、调度开销)。

输出 Token 的定价通常是输入的 2~4 倍。这意味着:让模型「简洁回答」比「压缩输入」更有成本效益。

1.2 主流国产模型定价对比(2026年6月)

模型 输入价格 (¥/百万 tokens) 输出价格 (¥/百万 tokens) 适用场景
Qwen-Max ¥20 ¥60 复杂推理
Qwen-Plus ¥4 ¥12 代码/分析
Qwen-Turbo ¥1 ¥2 通用任务
DeepSeek-V3 ¥1 ¥2 高性价比
DeepSeek-R1 ¥4 ¥16 推理任务
GLM-4 ¥5 ¥15 多模态
Baichuan-4 ¥6 ¥18 长文生成

一个 4000 输入 + 800 输出的典型对话,各模型单次成本:

  • Qwen-Max:¥0.068
  • DeepSeek-V3:¥0.0056
  • 差距:12 倍

1.3 Token 计量中间件

第一步永远是「看清」。接入计量层不需要更换模型,不需要改动业务逻辑,只需要包装 API 调用:

python 复制代码
import time
import json
from openai import OpenAI

class TokenCostTracker:
    def __init__(self, storage_path: str = "token_usage.jsonl"):
        self.storage_path = storage_path

    def tracked_completion(self, model: str, messages: list,
                           user_id: str = None, project: str = None,
                           **kwargs):
        client = OpenAI(
            api_key=kwargs.pop("api_key", "sk-xxx"),
            base_url=kwargs.pop("base_url", "https://dashscope.aliyuncs.com/compatible-mode/v1")
        )

        start = time.time()
        resp = client.chat.completions.create(model=model, messages=messages, **kwargs)
        latency_ms = (time.time() - start) * 1000

        usage = resp.usage
        # 简化成本计算(按 DeepSeek-V3 基准)
        input_cost = usage.prompt_tokens * 1 / 1_000_000       # ¥1/M tokens
        output_cost = usage.completion_tokens * 2 / 1_000_000  # ¥2/M tokens
        total_cost = input_cost + output_cost

        record = {
            "timestamp": time.time(),
            "model": model,
            "user_id": user_id,
            "project": project,
            "input_tokens": usage.prompt_tokens,
            "output_tokens": usage.completion_tokens,
            "total_cost_cny": total_cost,
            "latency_ms": latency_ms,
        }
        with open(self.storage_path, "a") as f:
            f.write(json.dumps(record) + "\n")

        return resp

# 使用
tracker = TokenCostTracker()
response = tracker.tracked_completion(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "解释什么是 RAG"}],
    user_id="u_12345",
    project="customer-support",
    base_url="https://api.deepseek.com",
    api_key="sk-deepseek-xxx"
)

运行一周后,你第一次拥有了真实的成本画像:

bash 复制代码
# 统计每个项目的日均成本(单位:元)
cat token_usage.jsonl | jq -r '
  select(.timestamp > now - 86400*7) |
  [.project, .total_cost_cny] |
  @tsv' | awk -F'\t' '{sum[$1]+=$2} END {for(k in sum) printf "%s: ¥%.2f/天\n", k, sum[k]/7}'

典型输出:

makefile 复制代码
customer-support: ¥128.80/天
code-generation: ¥225.05/天
data-extraction: ¥50.40/天
agent-orchestration: ¥317.10/天  ← 这是重点优化目标

没有这个数据,所有后续优化都是盲人摸象。


第二层:Prompt 压缩与 Prefix Cache

2.1 System Prompt 去冗余

这是成本最低、见效最快的优化手段,却也是最常被忽视的。

我审计过一个 Agent 产品的 System Prompt:3,842 tokens。其中:

  • 角色描述(必要):120 tokens
  • 任务指令(必要):380 tokens
  • 示例对话(冗余):1,680 tokens
  • 安全限制声明(重复):620 tokens
  • 工具函数 Schema(臃肿):1,042 tokens

压缩后:980 tokens,节省 74%。每次对话都省,每人每天触发 N 次,年化节省显著。

Prompt 压缩的三板斧

  1. 删除示例对话中的冗余解释,只保留输入/输出对
  2. 合并重复的安全指令(「不要回答 XX」「禁止输出 YY」通常可以用一句话概括)
  3. 使用 JSON Schema 代替自然语言描述工具函数,LLM 原生支持
python 复制代码
# 压缩前:620 tokens
TOOL_DESC_BEFORE = """
你有以下工具可用:
1. search_database:搜索数据库。参数:query(搜索关键词,字符串类型,必填),
   limit(返回条数,数字类型,默认10)。返回:结果列表。
   使用方式:当你需要查找信息时使用此工具。
2. send_email:发送邮件。参数:to(收件人邮箱,字符串,必填),
   subject(邮件主题,字符串,必填),body(邮件正文,字符串,必填)。
   返回:发送状态。使用方式:当你需要发送邮件时使用此工具。
"""

# 压缩后:180 tokens(工具 schema JSON 格式)
TOOL_DESC_AFTER = """[{"name":"search_database","desc":"搜数据库",
"params":{"query":"string,required","limit":"int,default:10"}},
{"name":"send_email","desc":"发邮件",
"params":{"to":"string,required","subject":"string,required","body":"string,required"}}]"""

2.2 Prefix Cache 机制

Prefix Cache 是当前最有性价比的「被动优化」------不需要改代码,只需要理解它的触发条件。

工作原理:LLM 推理服务会缓存已计算的 KV 张量(Key-Value Cache)。当新请求的前缀与历史请求完全匹配时,直接复用缓存的 KV,跳过 prefill 计算。

国产模型 Prefix Cache 支持情况

厂商 机制名称 缓存粒度 最小缓存长度 价格折扣
DeepSeek Prefix Cache Token 级前缀 64 tokens 输入价格 -90%
阿里云 DashScope Context Cache 显式配置 1024 tokens 输入价格 -80%
智谱 GLM Prefix Cache Token 级前缀 1024 tokens 输入价格 -50%
百度文心 Context Cache 显式配置 4K tokens 按时间计费

DeepSeek 的 Prefix Cache 最值得关注------64 tokens 即可触发,且折扣力度最大:

python 复制代码
from openai import OpenAI

client = OpenAI(
    api_key="sk-deepseek-xxx",
    base_url="https://api.deepseek.com"
)

# DeepSeek 自动启用 Prefix Cache,无需手动标记
# 只要连续请求的前缀一致,自动命中缓存
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": VERY_LONG_SYSTEM_PROMPT},  # 固定前缀,自动缓存
        {"role": "user", "content": user_query}
    ],
    max_tokens=1024
)

# 查看缓存效果
print(f"Cache hit tokens: {response.usage.prompt_cache_hit_tokens}")
print(f"Cache miss tokens: {response.usage.prompt_cache_miss_tokens}")

缓存命中率的工程判断

  • 重复率 > 30%(多用户问同一类问题)→ 开启 Prefix Cache,ROI > 1
  • 重复率 < 10%(每次都是全新问题)→ Cache 写入反而增加成本,慎用
  • 多轮对话(有固定 System Prompt)→ 几乎总是值得缓存 System 部分

实测数据

  • Prompt Caching 平均降低 API 成本 45%~80%
  • 同时 Time-to-First-Token(TTFT)提升 13%~31%(因为跳过了 prefill 计算)

第三层:语义缓存------相同问题不再重复计算

Prefix Cache 节省的是「重复前缀的计算」,但请求本身仍然会到达 LLM。语义缓存更进一步:如果用户的提问和历史某条查询「语义相似」,直接返回历史答案,完全跳过 LLM 推理。

3.1 工作原理

vbscript 复制代码
用户 Query → Embedding 模型 → 向量
            ↓
    向量数据库(已缓存的向量)
            ↓
    相似度匹配 → 命中(> 阈值)→ 返回缓存 Response
            ↓
    未命中 → 调用 LLM → 存储 Query 向量 + Response

核心参数:

  • 相似度阈值 :0.92 是工程实践的 sweet spot
    • 过高(0.98):命中率低,优化效果差
    • 过低(0.85):误命中,返回不相关的缓存答案
  • TTL(生存时间):时效性内容设 30min,通用知识设 24h
  • 缓存粒度:按 project/user 隔离,避免跨业务答案污染

3.2 实现方案:基于 Milvus + GPTCache

python 复制代码
from gptcache import cache
from gptcache.adapter import openai
from gptcache.embedding import DashScope
from gptcache.manager import CacheBase, VectorBase, get_data_manager

# 初始化 GPTCache(使用阿里云 DashScope Embedding)
dashscope_embedding = DashScope(model="text-embedding-v3")
data_manager = get_data_manager(
    cache_base=CacheBase("sqlite", sql_url="sqlite:///gptcache.db"),
    vector_base=VectorBase("milvus", host="localhost", port=19530,
                           collection_name="llm_cache"),
    max_size=10000
)

cache.init(
    embedding_func=dashscope_embedding.to_embeddings,
    data_manager=data_manager,
    similarity_threshold=0.92
)

def cached_completion(prompt: str,
                      model: str = "deepseek-chat",
                      project: str = "default") -> str:
    """
    语义缓存包装器:命中缓存则直接返回,未命中则调用 LLM 并存储。
    """
    response = openai.ChatCompletion.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
        cache_session_id=f"llm:{project}"
    )
    return response.choices[0].message.content

# 使用
answer = cached_completion(
    "RAG 和 Fine-tuning 的区别是什么?",
    model="deepseek-chat",
    project="docs-chatbot"
)

3.3 命中率监控

语义缓存的价值完全取决于命中率。建立监控是必须的:

python 复制代码
import time
from dataclasses import dataclass
from typing import Dict
from collections import defaultdict

@dataclass
class CacheMetrics:
    hits: int = 0
    misses: int = 0
    hit_savings_cny: float = 0.0

    @property
    def hit_rate(self) -> float:
        total = self.hits + self.misses
        return self.hits / total if total > 0 else 0.0

class CacheMonitor:
    def __init__(self):
        self._metrics: Dict[str, CacheMetrics] = defaultdict(CacheMetrics)

    def record_hit(self, project: str, estimated_cost_saved: float):
        m = self._metrics[project]
        m.hits += 1
        m.hit_savings_cny += estimated_cost_saved

    def record_miss(self, project: str):
        self._metrics[project].misses += 1

    def report(self) -> dict:
        return {
            proj: {
                "hit_rate": f"{m.hit_rate:.1%}",
                "total_queries": m.hits + m.misses,
                "savings_cny": f"¥{m.hit_savings_cny:.2f}"
            }
            for proj, m in self._metrics.items()
        }

命中率的经验阈值

  • < 5%:说明查询高度个性化,语义缓存 ROI 为负(存储 + embedding 成本 > 节省)
  • 15%~35%:正常水平,客服/文档问答类场景典型值
  • 40%:高重复场景(FAQ、知识库问答),ROI 极高

实测数据:高重复工作负载下语义缓存可降低约 73% 的推理成本,缓存命中响应时间在毫秒级,对比 LLM 推理的秒级延迟。


第四层:智能模型路由------用对的模型处理对的任务

这是成本优化的核心杠杆。

4.1 为什么需要路由

同一个产品里,不同请求的「难度」差异可能是 100 倍:

  • 「今天星期几?」→ 任意模型都能回答
  • 「用 Python 写一个带重试机制的 Redis Sentinel 连接池」→ 需要中等模型
  • 「分析这段 Rust 异步代码的生命周期错误并给出完整修复方案」→ 需要顶级模型

用 Qwen-Max 回答「今天星期几」,成本是 DeepSeek-Chat 的 20 倍,质量完全相同。

路由的本质:将请求发送到「刚好够用」的最便宜模型。

4.2 路由策略

基于规则的路由(最简单,最稳定):

python 复制代码
from enum import Enum

class Complexity(Enum):
    TRIVIAL = "trivial"    # 简单:分类、格式化、简单问答
    MEDIUM = "medium"      # 中等:摘要、翻译、代码补全
    COMPLEX = "complex"    # 复杂:推理、长文生成、多步骤

MODEL_MAP = {
    Complexity.TRIVIAL: "deepseek-chat",       # ¥1/M tokens
    Complexity.MEDIUM:  "qwen-plus",           # ¥4/M tokens
    Complexity.COMPLEX: "qwen-max",            # ¥20/M tokens
}

def classify_complexity(prompt: str, context: dict) -> Complexity:
    token_count = count_tokens(prompt)
    has_code = "\`\`\`" in prompt
    task_type = context.get("task_type", "general")

    if token_count < 100 and not has_code:
        return Complexity.TRIVIAL
    elif task_type in ["summarize", "translate", "extract"]:
        return Complexity.MEDIUM
    elif has_code or token_count > 2000 or task_type == "reasoning":
        return Complexity.COMPLEX
    return Complexity.MEDIUM

基于模型的路由(更智能,需要训练分类器或使用轻量模型):

python 复制代码
from openai import OpenAI

def smart_route(prompt: str, context: dict) -> str:
    """
    用 DeepSeek-Chat 做路由决策(成本极低),然后调用对应模型。
    """
    router_client = OpenAI(api_key="sk-deepseek-xxx",
                           base_url="https://api.deepseek.com")

    # 用低成本模型判断复杂度
    decision = router_client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": "判断用户问题复杂度,只回复 trivial/medium/complex"},
            {"role": "user", "content": prompt[:200]}  # 只取前 200 token
        ],
        max_tokens=10,
        temperature=0
    )

    complexity = decision.choices[0].message.content.strip()
    model = MODEL_MAP.get(Complexity(complexity), "qwen-plus")

    # 调用对应模型
    target_client = OpenAI(api_key=get_api_key(model),
                           base_url=get_base_url(model))
    response = target_client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": prompt}]
    )
    return response

4.3 生产级路由:LiteLLM Router

LiteLLM 是目前最成熟的 LLM 路由 + 负载均衡 + 预算管理框架,完美支持国产模型:

python 复制代码
from litellm import Router

router = Router(
    model_list=[
        {
            "model_name": "cost-optimized",
            "litellm_params": {
                "model": "deepseek/deepseek-chat",
                "api_key": "sk-deepseek-xxx",
                "rpm": 1000
            }
        },
        {
            "model_name": "cost-optimized",
            "litellm_params": {
                "model": "qwen/qwen-plus",
                "api_key": "sk-qwen-xxx",
                "rpm": 500,
                "api_base": "https://dashscope.aliyuncs.com/compatible-mode/v1"
            }
        },
        {
            "model_name": "frontier",
            "litellm_params": {
                "model": "qwen/qwen-max",
                "api_key": "sk-qwen-xxx",
                "rpm": 200,
                "api_base": "https://dashscope.aliyuncs.com/compatible-mode/v1"
            }
        },
    ],
    routing_strategy="usage-based-routing-v2",
    fallbacks=[{"cost-optimized": ["deepseek/deepseek-chat", "qwen/qwen-plus"]}],
    num_retries=2,
    timeout=30,
)

response = router.completion(
    model="cost-optimized",
    messages=[{"role": "user", "content": prompt}],
    max_tokens=1000
)

实测效果:正确的模型路由策略可以在不降低任务完成质量的前提下,将平均 Token 成本降低 40%~60%。


第五层:批处理与预算熔断

5.1 批处理的经济学

LLM 推理的主要成本来自 GPU 内存占用,而非计算本身。将多个请求打包成一个 batch 并行处理,内存占用几乎不变,但 GPU 利用率显著提升,服务商可以给出更低的单价。

国产模型批处理支持

厂商 批处理折扣 延迟容忍 适用场景
DeepSeek Batch 输入 -50%,输出 -50% 12 小时内完成 批量标注、文档分析
阿里云 DashScope -30% 24 小时 大规模数据处理
智谱 GLM -40% 12 小时 批量摘要

典型场景:日报生成、用户反馈分类、文档批量摘要、数据标注。

python 复制代码
import json
from openai import OpenAI

client = OpenAI(api_key="sk-deepseek-xxx",
                base_url="https://api.deepseek.com")

# 准备批量请求(JSONL 格式)
tasks = [
    {"custom_id": f"task-{i}", "method": "POST", "url": "/v1/chat/completions",
     "body": {"model": "deepseek-chat",
              "messages": [{"role": "user", "content": prompt}],
              "max_tokens": 500}}
    for i, prompt in enumerate(prompts)
]

with open("batch_input.jsonl", "w") as f:
    for task in tasks:
        f.write(json.dumps(task) + "\n")

# 上传并创建批量任务
file = client.files.create(file=open("batch_input.jsonl", "rb"), purpose="batch")
batch = client.batches.create(input_file_id=file.id,
                               endpoint="/v1/chat/completions",
                               completion_window="24h")
print(f"Batch ID: {batch.id} --- 等待完成...")
# 节省:300 条 x 500 output tokens x ¥2/M = ¥0.30 → 批处理后 ¥0.15

Continuous Batching(自建推理服务场景):

如果使用 vLLM 或 TensorRT-LLM 自建推理服务,continuous batching 是默认开启的。它比 static batching 更高效:

  • Static batching:等攒齐 N 个请求一起处理,延迟高,GPU 空转多
  • Continuous batching:新请求随时插入正在运行的 batch,GPU 永远满载

实测数据:Batching 32 个请求,per-token 成本降低 85%,延迟仅增加 20%。

5.2 预算熔断器(Budget Circuit Breaker)

这是一道安全阀。在所有优化之外,预算熔断器确保你的 LLM 支出永远不超出预算:

python 复制代码
import time
import threading
from enum import Enum

class BreakerState(Enum):
    CLOSED = "closed"      # 正常:允许请求
    OPEN = "open"          # 熔断:拒绝所有请求
    HALF_OPEN = "half_open"  # 试探:允许少量请求测试恢复

class BudgetCircuitBreaker:
    def __init__(self, daily_limit_cny: float,
                 warning_threshold: float = 0.8,
                 cooldown_seconds: int = 300):
        self.daily_limit = daily_limit_cny
        self.warning_threshold = warning_threshold
        self.cooldown_seconds = cooldown_seconds
        self.spent_today = 0.0
        self.state = BreakerState.CLOSED
        self.last_tripped = 0.0
        self._lock = threading.Lock()

    def check(self, estimated_cost: float) -> bool:
        with self._lock:
            if self.state == BreakerState.OPEN:
                elapsed = time.time() - self.last_tripped
                if elapsed > self.cooldown_seconds:
                    self.state = BreakerState.HALF_OPEN
                else:
                    return False

            if self.state == BreakerState.HALF_OPEN:
                if self.spent_today + estimated_cost > self.daily_limit * 0.5:
                    return False

            projected = self.spent_today + estimated_cost
            if projected > self.daily_limit:
                self._trip()
                return False

            if projected > self.daily_limit * self.warning_threshold:
                self._warn(projected)

            return True

    def record(self, actual_cost: float):
        with self._lock:
            self.spent_today += actual_cost
            if self.state == BreakerState.HALF_OPEN and actual_cost > 0:
                self.state = BreakerState.CLOSED

    def _trip(self):
        self.state = BreakerState.OPEN
        self.last_tripped = time.time()
        print(f"🚨 BREAKER TRIPPED: ¥{self.spent_today:.2f} / ¥{self.daily_limit:.2f}")

    def _warn(self, projected):
        print(f"⚠️  WARNING: projected ¥{projected:.2f} / ¥{self.daily_limit:.2f}")

    def reset_daily(self):
        with self._lock:
            self.spent_today = 0.0
            self.state = BreakerState.CLOSED

# 使用
breaker = BudgetCircuitBreaker(daily_limit_cny=350.0)

def cost_aware_completion(prompt: str, model: str):
    estimated = estimate_cost(prompt, model)
    if not breaker.check(estimated):
        return {"error": "budget_exceeded", "spent": breaker.spent_today}
    response = completion(model=model, messages=[{"role": "user", "content": prompt}])
    actual = calculate_actual_cost(response)
    breaker.record(actual)
    return response

综合架构:五层成本防御体系

以上五层不是互斥的,而是叠加的。一个生产级 LLM 应用的成本优化架构如下:

scss 复制代码
用户请求
   ↓
┌─────────────────────────────────────────────┐
│  第5层  预算熔断器                            │
│    └─ 超限直接拒绝,防止失控                   │
├─────────────────────────────────────────────┤
│  第4层  智能路由                              │
│    └─ simple → DeepSeek-V3 (¥1/M)            │
│    └─ medium → Qwen-Plus (¥4/M)              │
│    └─ complex → Qwen-Max (¥20/M)             │
├─────────────────────────────────────────────┤
│  第3层  语义缓存                              │
│    └─ 相似 query → 返回缓存,零推理成本        │
├─────────────────────────────────────────────┤
│  第2层  Prefix Cache                         │
│    └─ System Prompt KV 缓存,输入成本 -90%    │
├─────────────────────────────────────────────┤
│  第1层  Token 计量                            │
│    └─ 全量记录,实时成本画像                    │
└─────────────────────────────────────────────┘
   ↓
  LLM 推理(或缓存命中直接返回)
   ↓
  记录实际成本 → 更新计量 → 触发预算检查

组合收益估算(以日均 ¥700 LLM 支出为基准):

优化层 假设条件 节省比例 节省金额/日
Token 计量 可视化,不做优化 0% ¥0(但看清了)
Prompt 压缩 压缩 50% 冗余 10% ¥70
Prefix Cache 命中率 60% 25% ¥175
语义缓存 命中率 20% 15% ¥105
模型路由 60% 请求降级到便宜模型 35% ¥245
批处理(非实时) 20% 请求走批处理 8% ¥56
总计 叠加(非简单相加) ~55-70% ¥385-490

开始优化的第一步:不要一上来就搭路由,先接入 Token 计量中间件(本文第一层),运行一周,看清你的真实成本画像。然后从命中率最高的那个优化层开始,逐层叠加。


结语:Token 经济学下的工程师思维

LLM 推理成本不是一个可以一劳永逸解决的问题。它是一个持续演进的工程系统------模型价格在下降,新模型在涌现,业务需求在变化。

但有一个不变的原则:先计量,再优化,再计量

那些让 LLM 账单失控的团队,几乎都有一个共同特征:他们知道「用了什么模型」,但不知道「每个请求花了多少钱」。他们优化的依据是「感觉贵了」,而不是「数据说这里花了 ¥30000」。

Token 计量不是优化手段,而是工程纪律。

建立这个纪律,然后从五层防御体系里选你最有 ROI 的那一层开始,一个月后你会惊讶于同样的请求量,账单可以少一半。

相关推荐
dy_Alley5 小时前
从输入到决策:意图识别在 AI 架构中的定位与应用 — 第六章《置信度决策路由》
llm
dy_Alley5 小时前
从输入到决策:意图识别在 AI 架构中的定位与应用 — 第七章《集成与组装》
llm
codefan※5 小时前
干掉幻觉实战:如何构建企业级知识图谱增强 RAG
人工智能·大模型·llm·知识图谱·neo4j·rag·graphrag
摸鱼同学6 小时前
LLM 是什么?从 API 调用到 Token 机制
ai·大模型·llm·token·claudecode
小锋学长生活大爆炸8 小时前
【培训】Agent与OpenClaw
llm·agent·教程·科普·知识·培训·openclaw
Lkstar21 小时前
高级提示技巧:Few-shot、Chain-of-Thought、自一致性——让大模型推理能力翻倍
程序员·llm·ai编程
qq_白羊座1 天前
DeepEval vs EvalScope 完整对比
llm
AlfredZhao1 天前
AI编程系列01:裸 API 账单场景下,如何自建 LLM 用量可视化看板
llm·vibecoding·氛围编程
CoderJia程序员甲1 天前
GitHub 热榜项目 - 周榜(2026-05-31)
ai·大模型·llm·github·ai教程