Claude 的 1M 长上下文能力让很多原来需要 RAG 编排的任务变简单,但它也会把输入 token 成本放大。技术团队如果只看"能塞多少内容",很容易把一次 API 调用做成不可控账单。
1. 先把成本公式写清楚
大模型调用通常可以粗略理解为:
text
单次成本 = 输入 token 成本 + 输出 token 成本 + 缓存写入/读取成本 + 工具调用与重试带来的额外成本
长上下文场景里,输入 token 往往是大头。比如代码仓库分析、长文档审阅、知识库问答,输出可能只有几千 token,但输入可能几十万 token。Agent 工作流还会多轮调用,同一份上下文可能被重复提交。
所以长上下文成本优化的核心不是"少输出一点",而是减少无效输入、减少重复输入、减少不必要的强模型调用。
2. 哪些场景适合 1M context
适合使用长上下文的场景一般有两个特征:材料之间存在强关联,且召回错误的代价较高。
例如大型代码库迁移评审、跨文件 bug 定位、合同群组比对、审计材料核对、复杂投研资料分析。这些任务如果只靠普通检索,很可能漏掉上下文关系。长上下文可以让模型直接看到更完整的证据链。
不适合的场景也很明确:简单分类、短文本改写、单轮客服问答、固定模板生成、低价值批量摘要。这些任务用 1M context 是成本浪费。
3. 切片、摘要和缓存
切片不要只按固定长度切。代码项目可以按目录、依赖关系、最近变更、调用链切。文档可以按章节、权限、版本、主题切。客服记录可以按用户问题、时间窗口、工单状态切。
一个常见做法是保留两级上下文:
text
一级上下文:任务说明、系统规则、少量高相关片段
二级上下文:可按需追加的原文、代码文件、历史记录
长文档第一次进入系统时,可以生成结构化摘要。合同摘要可以包含合同主体、金额、期限、违约条款、数据处理条款、争议解决方式。代码库摘要可以包含模块职责、入口函数、外部依赖、敏感配置、最近变更。
Anthropic 官方文档明确提供 Prompt caching。适合缓存的内容包括系统提示、工具定义、长文档前缀、稳定知识库片段、代码规范等。工程实现上,建议把稳定前缀和动态问题拆开:
text
stable_prefix = system_prompt + tool_schema + policy_doc + project_summary
user_turn = current_question + selected_context
4. 模型路由
现在很多团队会同时评估 Claude Opus 4.7、Claude Sonnet 系列、GPT-5.5、Gemini。模型路由可以按任务分层:
text
轻量任务:分类、标签、短摘要、格式转换
中等任务:普通知识库问答、代码解释、文档整理
高价值任务:复杂推理、跨文件代码修改、合规审阅、长上下文分析
高价值任务才值得使用强模型和长上下文。轻量任务应该走更经济的模型,或者走批处理。
5. 接入层建议
业务代码里不要直接散落多个模型 SDK。建议抽象一个 LLM gateway:
text
业务服务 -> LLM Gateway -> Provider Adapter -> Claude / GPT-5.5 / Gemini
Gateway 负责模型路由、重试、缓存、限流、账单统计、日志脱敏和降级。这样以后模型升级或供应商切换,不需要大面积改业务代码。
国内团队还要面对账号、网络连通、支付、企业结算、发票、数据合规和访问稳定性等限制。很多公司最后会在业务代码前面加一层统一 API 入口,把模型选择、账单、重试、缓存和降级放到这一层处理。
如果不想自建这层,可以评估词元无忧 API(token5u API)这类统一入口。它支持用 OpenAI 兼容方式接入 Claude、GPT-5.5、Gemini 等模型,并提供人民币结算、专线优化和用量统计。是否适合生产,建议用真实并发、真实 prompt 和预算阈值压测。
6. 检查清单
上线前至少检查这些指标:单任务输入 token 上限、单任务成本上限、缓存命中率、P95 延迟、失败重试次数、不同模型调用占比、日志脱敏策略、用户数据权限边界、国内访问链路稳定性。
长上下文不是问题,失去边界的长上下文才是问题。