"上下文窗口"是指语言模型在生成新文本时可以回顾和参考的全部文本量,加上它生成的新文本。这与语言模型训练所用的大型数据语料库不同,而是代表模型的"工作记忆"。较大的上下文窗口允许模型理解和响应更复杂和冗长的提示,而较小的上下文窗口可能会限制模型处理较长提示或在扩展对话中保持连贯性的能力。
下面的图表说明了API请求的标准上下文窗口行为1:
1对于聊天界面,例如claude.ai,上下文窗口也可以设置为滚动"先进先出"系统。
使用扩展思考时,所有输入和输出令牌,包括用于思考的令牌,都计入上下文窗口限制,在多轮情况下有一些细微差别。
思考预算令牌是您的max_tokens参数的子集,作为输出令牌计费,并计入速率限制。
但是,之前的思考块由Claude API自动从上下文窗口计算中删除,不是模型在后续轮次中"看到"的对话历史的一部分,为实际对话内容保留令牌容量。
下面的图表演示了启用扩展思考时的专门令牌管理:
context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens。thinking块和redacted_thinking块。这种架构在令牌方面是高效的,允许进行广泛的推理而不浪费令牌,因为思考块的长度可能很大。
您可以在我们的扩展思考指南中阅读更多关于上下文窗口和扩展思考的内容。
下面的图表说明了结合扩展思考和工具使用时的上下文窗口令牌管理:
第一轮架构
工具结果处理(第2轮)
tool_result。扩展思考块必须与相应的工具结果一起返回。这是您必须返回思考块的唯一情况。user消息之前没有额外的扩展思考)。第三步
User轮次的地方。User轮次,Claude将生成新的扩展思考块并从那里继续。Assistant轮次中的思考块计为上下文窗口的一部分。context_window = input_tokens + current_turn_tokens。Claude Sonnet 4和4.5支持100万令牌的上下文窗口。这个扩展的上下文窗口允许您处理更大的文档、维护更长的对话,并使用更广泛的代码库。
1M令牌上下文窗口目前对使用层级为4的组织和具有自定义速率限制的组织处于测试阶段。1M令牌上下文窗口仅适用于Claude Sonnet 4和Sonnet 4.5。
要使用1M令牌上下文窗口,请在您的API请求中包含context-1m-2025-08-07测试版标头:
from anthropic import Anthropic
client = Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Process this large document..."}
],
betas=["context-1m-2025-08-07"]
)重要注意事项:
Claude Sonnet 4.5和Claude Haiku 4.5具有上下文感知功能,使这些模型能够在整个对话中跟踪其剩余的上下文窗口(即"令牌预算")。这使Claude能够通过理解它有多少工作空间来更有效地执行任务和管理上下文。Claude本身经过训练,可以精确使用此上下文来坚持任务直到最后,而不必猜测剩余有多少令牌。对于模型来说,缺乏上下文感知就像在没有时钟的烹饪节目中竞争。Claude 4.5模型通过明确告知模型其剩余上下文来改变这一点,以便它可以最大限度地利用可用令牌。
工作原理:
在对话开始时,Claude收到有关其总上下文窗口的信息:
<budget:token_budget>200000</budget:token_budget>预算设置为200K令牌(标准)、500K令牌(Claude.ai企业版)或100万令牌(测试版,适用于符合条件的组织)。
每次工具调用后,Claude收到剩余容量的更新:
<system_warning>Token usage: 35000/200000; 165000 remaining</system_warning>这种感知帮助Claude确定剩余多少容量用于工作,并在长时间运行的任务上实现更有效的执行。图像令牌包含在这些预算中。
优势:
上下文感知对以下方面特别有价值:
有关利用上下文感知的提示指导,请参阅我们的Claude 4最佳实践指南。
在较新的Claude模型中(从Claude Sonnet 3.7开始),如果提示令牌和输出令牌的总和超过模型的上下文窗口,系统将返回验证错误,而不是静默截断上下文。这种改变提供了更可预测的行为,但需要更仔细的令牌管理。
要规划您的令牌使用并确保您保持在上下文窗口限制内,您可以使用令牌计数API来估计您的消息在发送给Claude之前将使用多少令牌。
有关按模型的上下文窗口大小列表,请参阅我们的模型比较表。