教程

大模型 Token 是什么?如何估算成本并减少 API 费用

大模型 Token 完整解析:Token 定义与中英文计算规律、API 费用双向计费机制、上下文长度与成本关系,以及 5 个降低 API 费用的方法(选对模型/批量 API 省 50%/Prompt 缓存省 90%/控制输出长度/管理对话上下文),附 Anthropic Console 成本监控指南。

2026/3/135分钟 阅读ClaudeEagle

调用 Claude API 被扣了很多钱但不知道为什么?这篇文章解释清楚 Token 是什么、怎么计算、API 费用如何产生,以及 5 个有效降低成本的方法。

Token 是什么?

Token 是大模型处理文本的基本单位,既不是字符也不是单词,而是介于两者之间的"词片段"。

英文规律:大约 1 个单词 = 1.3 个 Token

  • "Hello" → 1 token
  • "Hello world" → 2 tokens
  • "anthropic" → 1 token
  • "AI programming" → 3 tokens

中文规律:大约 1 个汉字 = 1-2 个 Token

  • "你好" → 2-3 tokens
  • "人工智能编程" → 7-10 tokens
  • 中文比英文消耗更多 Token(同样含义的内容)

代码:代码通常比自然语言更"Token 密集"

  • 变量名、括号、缩进都单独计 Token
  • 一行 Python 代码大约 5-15 tokens

如何估算 Token 数量

工具:Anthropic Tokenizer

官方提供在线工具:console.anthropic.com/tokenizer

粘贴文本,立即显示 Token 数量。

API 方式预估

调用前先数 Token,避免超额:

python
import anthropic

client = anthropic.Anthropic()

# 不实际发请求,只统计 Token
response = client.messages.count_tokens(
    model="claude-opus-4-5",
    system="你是一个 Python 专家",
    messages=[
        {"role": "user", "content": "解释什么是装饰器,给一个实际例子"}
    ]
)

print(f"预计输入 Token: {response.input_tokens}")
# 输出:预计输入 Token: 34

API 费用是怎么算的?

Claude API 按 Token 双向计费:输入 Token + 输出 Token

2026 年 Claude 模型定价(参考)

模型输入(每百万 Token)输出(每百万 Token)
claude-opus-4-5$15$75
claude-sonnet-4-5$3$15
claude-haiku-3-5$0.8$4

最新价格以 Anthropic Console 为准

一次 API 调用的费用计算

场景:用 claude-sonnet-4-5 写一篇 500 字的技术总结 输入:系统提示(50 tokens) + 用户消息(200 tokens) = 250 tokens 输出:生成内容约 600 tokens 费用 = (250/1,000,000 × $3) + (600/1,000,000 × $15) = $0.00000075 + $0.000009 ≈ $0.00001(不到 1 分钱)

看起来很便宜?但输出比输入贵 5 倍,高频调用或长上下文时成本会快速累积。

上下文长度为什么会影响成本?

每次 API 调用,整个对话历史都作为输入 Token 计费

第 1 轮:输入 100 tokens,输出 200 tokens → 计 300 tokens 第 2 轮:输入 (100+200+新问题100) tokens,输出 200 tokens → 计 600 tokens 第 3 轮:输入 (100+200+100+200+新问题100) tokens ... → 越来越贵

这就是为什么长对话成本会指数级增长。

5 个降低 API 成本的方法

方法 1:选对模型

不是所有任务都需要最强模型:

任务类型推荐模型理由
简单分类、格式转换claude-haiku-3-5速度快、成本低 10-20 倍
日常问答、代码补全claude-sonnet-4-5质量和成本均衡
复杂推理、架构设计claude-opus-4-5最强推理,值得多花钱

实战技巧:先用 Haiku 跑,只有结果不满意才升级到 Sonnet/Opus。

方法 2:批量 API(省 50%)

非实时任务用批量 API,费用减半:

python
import anthropic

client = anthropic.Anthropic()

# 批量提交 1000 个任务,异步处理,费用 -50%
batch = client.messages.batches.create(
    requests=[
        {
            "custom_id": f"task-{i}",
            "params": {
                "model": "claude-haiku-3-5",
                "max_tokens": 200,
                "messages": [{"role": "user", "content": texts[i]}]
            }
        }
        for i in range(len(texts))
    ]
)

# 稍后轮询结果
print(f"批次 ID: {batch.id}")

适合:批量分类、大量数据处理、离线生成任务。

方法 3:Prompt 缓存(Cache Control)

系统提示或大段文档不变时,用缓存避免重复计费:

python
response = client.messages.create(
    model="claude-opus-4-5",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "你是一个代码审查专家..." + 长达 10000 token 的规范文档,
            "cache_control": {"type": "ephemeral"}  # 缓存这部分
        }
    ],
    messages=[{"role": "user", "content": "审查这段代码..."}]
)

缓存命中时,这部分 Token 费率降低 90%。适合:

  • 固定的长系统提示
  • 每次调用都带入的大文档
  • 多轮对话中不变的背景信息

方法 4:控制输出长度

python
# 设置合理的 max_tokens,避免无限生成
response = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=500,  # 根据实际需要设置
    messages=[{"role": "user", "content": "用 2 句话总结这篇文章"}]
)

在 Prompt 里明确说明长度要求:

  • "用不超过 200 字回答"
  • "只给代码,不要解释"
  • "一句话总结"

方法 5:管理对话上下文

长对话中定期清理不必要的历史:

python
# 不要无限积累历史,保留最近 N 轮
def keep_recent_messages(messages, max_turns=10):
    # 保留 system 消息 + 最近的对话
    recent = messages[-max_turns * 2:] if len(messages) > max_turns * 2 else messages
    return recent

或者用 Claude Code 时,任务完成后 /clear 清空上下文,开新任务从干净状态开始。

监控成本的工具

Anthropic Consoleconsole.anthropic.com/settings/limits

  • 查看当月用量和费用
  • 设置支出上限(超额自动停止)
  • 按 Workspace 隔离不同项目的费用

代码里统计

python
response = client.messages.create(...)

print(f"本次调用:")
print(f"  输入: {response.usage.input_tokens} tokens")
print(f"  输出: {response.usage.output_tokens} tokens")
print(f"  缓存命中: {response.usage.cache_read_input_tokens} tokens")

快速估算工具

简单记忆公式:

英文文本:字符数 ÷ 4 ≈ Token 数 中文文本:字符数 × 1.5 ≈ Token 数

来源:Anthropic API 文档 + 定价页面

相关文章推荐

教程Anthropic Claude API 完整开发指南 2026:Prompt 缓存、自适应推理、工具调用全解析Claude API 2026 年完整开发指南:模型选型和最新定价(Haiku/Sonnet/Opus 对比)、Prompt 缓存实现(最高节省 90% 成本,含代码示例)、自适应推理替代旧 budget_tokens(含流式实现)、工具调用完整循环、流式响应(含 Next.js App Router 示例)、视觉能力(Opus 4.7 支持 3.75MP),以及生产最佳实践(重试、成本监控)。2026/4/24教程深入理解 Claude Code 上下文窗口:每个操作消耗多少 Token,一目了然深入分析 Claude Code 200K 上下文窗口的使用方式:每个操作消耗多少 Token、什么被自动加载、如何优化上下文使用。含 7 个实用优化技巧。2026/4/7教程Anthropic Claude SDK Java 完全接入指南:Java/Spring Boot 调用 Claude API(2026)Anthropic 官方 Java SDK 完整使用指南:Maven/Gradle 安装、基础消息调用、流式输出(Streaming/SSE)、Spring Boot 集成(@Bean/@Service/REST API)、多轮对话状态管理、异步调用(CompletableFuture 并发)、Spring WebFlux 流式 SSE 接口,覆盖 Claude Sonnet/Haiku 全系列模型,附企业级生产代码示例。2026/3/27教程Anthropic Claude SDK Go 完全接入指南:Go 语言调用 Claude API 实战(2026)Anthropic 官方 Go SDK 完整使用指南:安装配置、基础消息调用、流式输出(Streaming)、多轮对话状态管理、System Prompt 设置、并发批量调用(信号量控制并发/Rate Limit)、图片视觉理解(Vision/Base64)、错误处理与自动重试,覆盖 Claude Sonnet/Haiku 全系列模型,附生产级代码示例。2026/3/27教程Claude API Vision 图像理解完全指南:图片分析、截图解读与多图处理Claude API 视觉能力(Vision)完整使用指南:支持的图像格式(PNG/JPEG/GIF/WebP)与大小限制、Base64 编码图像传入方式、URL 直接引用图像、多张图片同时分析、图像与文字混合输入、典型应用场景(截图调试/图表解读/文档扫描/UI分析)、图像 Token 计算方式和成本优化,以及 Python/TypeScript 完整代码示例。2026/3/20教程Claude API 流式输出完全指南:Server-Sent Events 实时响应实战Claude API 流式输出(Streaming)完整教程:为什么用流式输出(用户体验提升50%+)、Server-Sent Events 协议原理、Python/Node.js/curl 三种实现方式、stream=True 的事件类型(message_start/content_block_delta/message_stop)、流式 Tool Use 的特殊处理、在 FastAPI/Express/Next.js 中实现流式 API 端点,以及流式输出的错误处理和超时配置。2026/3/20