内容提要
Anthropic为Claude Messages API推出消息线程功能:首次请求发送完整对话以创建线程,后续仅需传新增内容和上条回复ID,历史由服务端暂存。长对话单次请求中位数从800KB降至1.8KB,首词等待时间缩短约35%。该功能不减少Token用量,价格不变,可与提示词缓存配合。线程闲置5分钟过期需重建,系统提示词等固定参数须保持一致。
延伸解读
线程机制:服务端暂存历史,客户端只传增量
消息线程将对话历史的存储与复用转移到服务端。首次请求需提交完整上下文以创建线程,后续请求仅需携带新增消息和上一条回复的 ID。这改变了开发者每轮重复上传全部历史的传统模式,尤其适合编程智能体等会产生数百次请求、上下文持续膨胀的场景。但线程并非无状态,客户端仍需自行保留完整消息记录,以备线程过期后重建。
性能收益明确,但 Token 成本不变
官方数据显示,长对话单次请求大小的中位数从 800KB 降至 1.8KB,首词等待时间缩短约 35%。这一优化主要减少客户端与服务器之间的传输开销和请求处理时间,模型每轮仍会处理完整上下文,因此 Token 用量、价格和速率限制均不受影响。开发者不应将其视为降低推理成本的工具,而应理解为提升响应速度的传输层优化。
使用限制:5 分钟过期与固定参数约束
线程在最后一次请求后闲置 5 分钟即过期,继续使用会返回错误,客户端需重新提交完整对话并创建新线程。此外,同一线程只能追加内容,系统提示词、工具定义等固定请求参数必须保持一致;若需修改这些设置或将早期对话替换为摘要,则必须重建线程。这些约束要求开发者在应用层设计好线程生命周期管理和回退逻辑。
与提示词缓存互补,而非替代
消息线程减少的是重复上传的历史内容,提示词缓存复用的是已缓存的上下文,两者可配合使用。符合缓存条件的内容仍按缓存价格计费。对于长对话应用,线程降低传输延迟,缓存降低重复计算开销,但二者均不改变 Token 计费的本质。开发者应根据对话长度、请求频率和参数稳定性,权衡是否启用线程及如何设计缓存策略。
Q&A
Claude API 的消息线程功能是什么?
消息线程是 Anthropic 为 Claude Messages API 推出的功能,旨在改善长对话中反复发送历史内容的问题。首次请求发送完整对话以创建线程,后续请求只需提交新增消息和上条回复的 ID,服务器会暂存线程内容,从而减少重复上传的开销。
消息线程功能如何降低请求大小和延迟?
该功能将历史内容的存储转移到服务端:首次请求创建线程并提交完整上下文,后续请求通过上一条回复的 ID 接续线程,只需传输新增内容。在长对话中,单次请求大小的中位数从 800KB 降低到 1.8KB,模型首词响应时间缩短约 35%。
使用消息线程会减少 Token 用量或费用吗?
不会。消息线程主要减少客户端与服务器之间重复传输的内容,但模型每轮处理时仍会使用完整的对话上下文,因此 Token 使用量不会减少,价格和速率限制也保持不变。该功能可与提示词缓存配合使用,缓存内容按对应价格计费。
消息线程的过期时间是多少?过期后如何处理?
线程在最后一次请求后闲置 5 分钟就会过期。继续使用已过期的线程时接口会返回错误,此时客户端需要重新提交保存的完整对话并创建新线程。建议应用自行保留完整消息记录,官方 SDK 的线程辅助功能可以处理重新发送的过程。
使用消息线程时有哪些参数必须保持一致?
同一线程只能持续追加内容,系统提示词、工具定义和部分固定请求参数需要在线程内保持一致。如果需要修改这些设置或将较早的对话替换为摘要,则必须重新创建新线程。
如何启用消息线程功能?
开发者可以在 Messages API 请求中增加 thread 参数,并在每次线程请求中提供测试版请求头 message-threads-2026-08-12。首次请求创建线程,后续请求传入新增消息和上一条回复的 ID 即可接续线程。