教程

大模型 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 文档 + 定价页面

相关文章推荐

教程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教程Anthropic Node.js SDK 完全指南:TypeScript/JavaScript 接入 Claude APIAnthropic 官方 Node.js SDK(@anthropic-ai/sdk)完整教程:安装与初始化、基础对话调用、流式输出(stream)、图像输入(Base64/URL)、Tool Use 函数调用、系统提示、消息历史管理、Prompt Caching 配置、错误处理最佳实践(指数退避重试),以及 TypeScript 类型系统深度使用,适合 Node.js / Next.js / NestJS 开发者快速上手。2026/3/20教程Anthropic Python SDK 完全指南:从安装到生产级集成的最佳实践Anthropic Python SDK 完整使用指南:安装配置、同步与异步客户端、流式输出、工具调用(Tool Use)、视觉 API、Prompt Caching、错误处理与重试、Token 用量追踪、httpx 客户端自定义,以及在 Django/FastAPI/Flask 框架中的集成最佳实践。2026/3/16教程Claude API Key 申请完整教程:从注册 Anthropic Console 到第一次调用Claude API Key 申请完整指南:Anthropic Console 注册、充值方式、API Key 生成与管理、Python/curl 第一次调用验证、用量监控、费用控制与限额设置,以及免费额度和各模型计费说明。2026/3/15教程Claude API 接入完全教程:从零开始调用 Claude,Python/Node.js 实战(2026)Claude API 从零接入完整教程:Console 注册与 API Key 获取、核心接口概览、Python/Node.js SDK 安装与首次调用、多轮对话、流式输出、System Prompt 配置、REST 直调、模型选择、Token 成本控制与批量 API 省费技巧。2026/3/13