2025 年 7 月 Moonshot AI 发布 Kimi K3 时,头条特性是百万 token 的上下文窗口。这个数字在每个基准盘点里都会出现,但很少用能帮你判断它对你的实际工作是否重要的方式来解释。
这篇指南涵盖你需要知道的一切:一百万 token 在实践中到底有多大、哪些文档和代码库能装下它、长上下文性能在哪里撑得住、哪里容易掉链子,以及如何调用 API 来利用它。没有炒作——只有具体的答案。
痛点:那些"长到够用,直到不够用"的上下文窗口
如果你花过时间把大型文档喂给语言模型,你懂那种挫败感。你有一份 300 页的合同、一个完整代码仓库,或六个月的客服日志,你需要模型同时跨全部内容推理——而不是一个摘要块。
标准方案都有成本:
- 分块与检索(RAG) 引入检索错误。如果你需要的事实落在两个块之间,检索管道可能完全漏掉它。
- 128K token 模型(GPT-4o)能处理约 90,000 个词——短书够用,但中型代码库或多卷文档集不够。
- 200K token 模型(Claude Sonnet 5)容量翻倍,但一本 400 页的小说仍会顶到上限。
- 反复摘要 在每一轮摘要中复合错误,并丢失细粒度细节。
百万 token 上下文不能消除所有这些问题,但它确实为一大类任务去掉了硬天花板。去掉这个天花板,才是 Kimi K3 真正的价值所在。
1,000,000 Token 到底意味着什么?
Token 数在你把它换算成能直观理解的单位之前都很抽象。
英文文本的粗略经验法则:1 个 token 约等于 0.75 个词。也就是说:
- 1,000,000 tokens ≈ 750,000 个词
- 750,000 个词 ≈ 2,500 页典型散文(按每页 300 词)
- 作为对比,莎士比亚全集约有 900,000 个词——所以 Kimi K3 的上下文窗口能在单个提示词里装下它的大部分
对代码,比例会变,因为变量名、缩进和标点的 token 化方式不同。粗略的代码估算接近每 1,000 token 40–60 行,具体取决于语言的信息密度。换算过来,每百万 token 约 40,000–60,000 行代码,覆盖大多数中小型开源项目。
对结构化数据(JSON、CSV),token 密度更低,因为分隔符和重复的键会消耗 token。一个 1M token 的 JSON 载荷根据 schema 不同可能代表 300–500 MB 原始数据。
1M Token 能装下什么
以下是撰写本文时你可以现实地载入单个 Kimi K3 提示词的内容:
文档与文本
- 一部长书(大多数小说 80,000–150,000 词;1M token 能装好几部)
- 完整的法律案件档案,包括合同、证词转录和往来通信
- 六到十二个月的客服工单历史
- 一个狭窄主题的完整研究语料(几十篇论文)
- 完整的 HR 政策手册、监管申报集或合规文档库
代码
- 一个中小型 SaaS 应用(约 50,000 行以内)
- 许多初创公司的完整前端加后端代码库
- 一个完整的语言 SDK 或带文档的客户端库
结构化数据
- 数月的服务器日志或分析事件(压缩或过滤后)
- 大型产品目录
- 带样本数据的完整数据库 schema 转储
仍然超过 1M token 的内容
- 大型 monorepo(Linux 内核、Chromium、主要框架)
- 企业数据仓库
- 活跃用户多年的对话历史
对这类情况,带向量库的 RAG 仍是更好的架构——这把我们引向一个重要提醒。
长上下文性能:"中间迷失"问题
百万 token 窗口不代表每个位置都能完美回忆。在围绕原始上下文填充设计系统之前,值得先理解这一点。
对长上下文 LLM 的研究一致显示一种**中间迷失(lost-in-the-middle)**退化模式:模型回忆长上下文最开头和最末尾的信息,比回忆埋在中间的信息更好。效果因模型和任务而异,但即使在训练良好的长上下文模型中也存在。
对 Kimi K3 具体来说:
- 需要理解文档整体结构的任务(摘要、主题分析、高层问答)即使在满上下文时也往往撑得住
- 需要从 1M token 文档深处精确检索某个具体事实的任务可能退化——模型可能漏掉或记错细节
- 推理任务——模型需要沿文档中多个点追踪一条链条——受位置效应影响最大
实用建议:
- 对摘要或高层分析:原始上下文填充效果很好
- 对已知位置的精确事实检索:把关键内容放在上下文开头或末尾附近
- 对回忆准确性至关重要的生产系统:把 Kimi K3 的长上下文与向量搜索步骤结合,把最相关的块推到提示词前面
这不是 Kimi K3 特有的弱点——这是当前 Transformer 架构的行业通病。1M 窗口确实有用;但它不是精心检索设计的魔法替代品。
竞争差异点:规模化成本
Kimi K3 上下文窗口一个被低估的方面是填满它的成本。
Kimi K3 定价为每百万输入 token $0.30。也就是说,处理一份完整的百万 token 文档恰好花 $0.30——三毛钱。输出定价是每百万输出 token $1.10,这只与响应长度相关,与输入文档大小无关。
对比用其他提供商处理同一文档要花多少钱(所有价格均为撰写本文时,仅输入 token):
| 模型 | 上下文上限 | 输入价格(每 1M tokens) | 处理 1M token 文档的成本 |
|---|---|---|---|
| Kimi K3 | 1,000,000 | $0.30 | $0.30 |
| Claude Sonnet 5 | 200,000 | 约 $3.00 | 需要分块 |
| GPT-4o | 128,000 | 约 $2.50 | 需要分块 |
| LLaMA 4 Scout | 10,000,000 | 开放权重 | 自托管成本 |
| Gemini 1.5 Pro | 1,000,000 | 约 $1.25 | 约 $1.25 |
两点很突出。第一,Kimi K3 是少数真正提供 1M token 而不是要求大型文档分块的商用模型之一。第二,以每百万输入 token $0.30 的价格,它是该档位最具成本效益的选项之一。
对高并发文档处理工作流——法律审阅、尽职调查、代码审计——成本差异在规模上有意义。处理 1,000 份大文档,Kimi K3 的输入 token 花费 $300,而更高价的同级长上下文替代方案要贵得多,这还没算分块管道的额外复杂度。
如何通过 API 使用 1M 上下文窗口
Kimi K3 的 API 与 OpenAI 兼容,这意味着如果你有调用 GPT-4o 或其他 OpenAI 格式模型的现有代码,切换只需改 base URL、模型名和你的 API key。解锁长上下文窗口不需要任何特殊参数——它默认可用。
基础设置:
from openai import OpenAI
client = OpenAI(
api_key="your-moonshot-api-key",
base_url="https://api.moonshot.cn/v1"
)
# Load a large document
with open("large_document.txt", "r") as f:
document_content = f.read()
response = client.chat.completions.create(
model="kimi-k3",
messages=[
{
"role": "system",
"content": "You are a precise document analyst. Answer questions based only on the provided document."
},
{
"role": "user",
"content": f"Here is the full document:\n\n{document_content}\n\nSummarize the key obligations in section 4."
}
],
max_tokens=2000
)
print(response.choices[0].message.content)
对代码库问答,把文件读取与结构化提示词结合:
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key="your-moonshot-api-key",
base_url="https://api.moonshot.cn/v1"
)
def load_codebase(root_dir: str, extensions: list[str] = None) -> str:
"""Load all code files from a directory into a single string."""
if extensions is None:
extensions = [".py", ".ts", ".tsx", ".js", ".go", ".rs"]
parts = []
for path in Path(root_dir).rglob("*"):
if path.suffix in extensions and path.is_file():
try:
content = path.read_text(encoding="utf-8", errors="ignore")
parts.append(f"### File: {path.relative_to(root_dir)}\n\n```\n{content}\n```\n")
except Exception:
pass
return "\n".join(parts)
codebase = load_codebase("/path/to/your/project")
response = client.chat.completions.create(
model="kimi-k3",
messages=[
{
"role": "system",
"content": "You are a senior software engineer. Answer questions about the codebase accurately."
},
{
"role": "user",
"content": f"Here is the full codebase:\n\n{codebase}\n\nWhere is the authentication middleware defined, and what routes does it protect?"
}
],
max_tokens=1500
)
print(response.choices[0].message.content)
关键的实际要点:你把完整文档或代码库作为普通 user message 传入。没有特殊的长上下文模式、没有不同的端点、没有要拨的配置开关。百万 token 上限只是 messages 数组可以容纳内容的天花板。
什么时候用原始上下文,什么时候用 RAG
既然你有一个 1M token 窗口,这里是一套在原始上下文填充和检索增强生成之间做选择的决策框架:
以下情况用原始上下文:
- 你的文档集在 800K token 内舒适容纳(为提示词和响应留出余量)
- 你需要跨完整文档的整体推理(模型需要一次"看到"所有内容)
- 你在做一次性或低流量分析,管道复杂度不值当
- 任务是摘要、主题提取或跨章节比较分析
- 你在早期原型阶段,想要最简单的配置
以下情况用 RAG:
- 你的内容超过 1M token,单次调用放不下
- 你需要对具体事实的精确检索(RAG + 高质量嵌入往往胜过"中间迷失"式回忆)
- 你在跑高并发生产负载,单次调用成本优化很重要
- 你的文档集合频繁变化(向量索引比每次查询都重新摄取完整文档更容易更新)
- 你需要亚秒级延迟(更小的上下文窗口处理更快)
在许多真实应用中,正确答案是混合式:用 RAG 把最相关的章节挑出来,然后把那些章节放进中等长度上下文(50K–200K token)而不是完整 1M。这结合了检索的精确性与模型同时跨多个检索段落推理的能力。
Kimi K3 的定位:它在更大版图中的位置
Kimi K3 不是唯一可用的大上下文模型,诚实地说清楚它的位置值得。LLaMA 4 Scout 为想要开放权重自托管、上下文更长的人提供 10M token 窗口。Gemini 1.5 Pro 也通过 Google API 提供 1M token。
Kimi K3 在这个档位带来较少见的组合:长上下文、在编码和数学上的强劲表现(由 Moonshot AI 的 MoE 架构支撑)、面向更难推理任务的思考模式,以及 $0.30 的输入定价。它也是中英混合工作流更强的双语模型之一,这对跨两种语言工作的团队很重要。
如果你已经在探索带强劲 API 支持的开放权重模型,GLM-5.2 API 值得作为一个平行选项看看——它覆盖同一档位的另一个能力模型,非常适合智能体和长上下文用例。
快速上手
测试 Kimi K3 长上下文行为最快的方式:拿一份你真正在意的大文档——合同、长 README、研究论文——通过 Moonshot API 对它跑几个查询。OpenAI 兼容接口意味着如果你已有 OpenAI API 经验,五分钟内就能跑起来。
对正在探索哪些前沿模型适合自己工作流的团队——包括 Kimi K3、GLM-5.2 等——glm5.app 提供了一个干净的环境,可以并排对比输出,不必从零搭建自己的多模型测试平台。
如果你正在构建长文档管道,想用自己的数据把 Kimi K3 和其他模型做基准对比,glm5.app 是投入生产集成前一个实用的起点。
总结
- Kimi K3 的 1M token 上下文窗口可以在单个提示词里装下约 750,000 个词、2,500 页散文或 40,000–60,000 行代码
- 以每百万输入 token $0.30 计算,处理一份完整的 1M token 文档只要三毛钱
- 对整体分析任务性能强劲;从长上下文深处精确检索事实可能因"中间迷失"效应而退化
- API 与 OpenAI 兼容——启用长上下文不需要特殊参数
- 对关键检索任务,把 Kimi K3 的长上下文与 RAG 层结合,比单纯原始填充更准确
- 模型还支持思考模式和函数调用,使其在简单文档摄取之外也能用于更复杂的智能体工作流
Sources
- Moonshot AI Kimi K3 API documentation: https://platform.moonshot.cn/docs
- Moonshot AI official site: https://www.moonshot.cn
- Kimi K3 model release: https://kimi.moonshot.cn




