DeepSeek V4 的 1M context 怎么真正用起来:长文档、代码库和知识库实战
DeepSeek V4 支持 1M context,但长上下文不等于把所有资料一次性塞给模型。本文用实战派方式拆解长文档、代码库、知识库和 Agent workflow 中的 1M context 使用方法,重点讲切片、引用、降噪、模型路由和验收。
需要继续找相关内容?
如果你想继续查工具名、术语、对比页或相关问题,可以直接搜全站,不用回到博客列表页重找。
核心结论
DeepSeek V4 的 1M context 最适合解决长材料的证据保留问题,但不能替代检索、结构化、引用和任务拆分。实战里应该先减少噪声,再让模型处理有边界的长上下文任务。
适合谁看
适合正在把 DeepSeek V4 用于长文档分析、代码库阅读、知识库问答、会议材料整理和 Agent workflow 的开发者与内容工程团队。
关键判断
DeepSeek V4 Preview API 模型 deepseek-v4-pro 和 deepseek-v4-flash 均支持 1M context;旧 deepseek-chat 与 deepseek-reasoner 计划在 2026-07-24 15:59 UTC 后退役。
下一步建议
先把长上下文任务拆成长文档、代码库、知识库和 Agent 记忆四类,再分别设计输入边界和验收标准。
你将学到
- + 1M context 适合解决什么问题,不适合解决什么问题
- + 长文档、代码库和知识库场景应该如何组织输入
- + 如何避免长上下文污染、错引和成本失控
- + 什么时候用 deepseek-v4-flash,什么时候升级到 deepseek-v4-pro
DeepSeek V4 的 1M context 很容易让人兴奋。
但实战派用法不是:
既然能放 1M,那就把所有材料都塞进去。
更稳的理解是:
1M context 让你在需要时保留更多证据,但你仍然要做任务拆分、来源标注、去重和验收。
本文只讨论 DeepSeek V4 的长上下文实战,不做泛泛参数复述。
官方入口:
先给结论:1M context 是阅读窗口,不是仓库
1M context 可以解决这些问题:
- 单次任务里需要看更多证据
- 多份文档之间需要互相对照
- 代码库分析时需要保留更多相关文件
- Agent 需要带上较长的操作历史
- 长报告需要跨章节总结和查漏
但它不能自动解决这些问题:
- 文档是否可信
- 信息是否过期
- 权限是否允许暴露
- 哪些内容更重要
- 输出是否引用准确
- 成本是否可控
长上下文不是“免整理”,而是“整理后可以少丢证据”。
场景一:长文档分析
长文档最适合 1M context 的场景,不是简单摘要,而是带问题阅读。
例如:
阅读这份 180 页方案,只回答:
1. 哪些承诺涉及交付时间?
2. 哪些承诺缺少验收标准?
3. 哪些风险在前后章节表述不一致?
输入前建议先做三件事:
- 保留章节标题。
- 给每段加来源标记,例如
[section 3.2]。 - 删除页眉、页脚、重复目录和无意义免责声明。
不要这样问:
帮我总结这份文档。
这会浪费 1M context。
更好的问法是:
请根据带 section 标记的原文,输出:
- 关键承诺
- 未定义验收标准的承诺
- 前后冲突的描述
- 每条结论对应的 section 编号
长上下文的验收重点是引用准确,不是回答长度。
场景二:代码库分析
代码库场景最容易误用 1M context。
很多人会把整个目录粘进去,然后问:
这个项目有什么问题?
这通常效果不好。
更稳的方式是按调用链组织输入:
任务:分析登录失败的原因。
输入:
1. 路由文件
2. 登录表单组件
3. auth service
4. session / cookie 工具
5. 相关测试
6. 最近错误日志
要求:
- 先列出可能路径
- 再指出最可能根因
- 每个判断引用具体文件名
- 不要修改代码,只给最小复现和修复建议
代码库输入要保留这些标记:
// FILE: apps/web/app/login/page.tsx
// FILE: apps/web/lib/auth.ts
// FILE: tests/auth-login.test.ts
没有文件边界,模型很容易把 A 文件里的逻辑说成 B 文件里的逻辑。
场景三:知识库问答
1M context 不应该直接替代 RAG。
更好的流程是:
- 先检索候选文档。
- 去掉重复和低可信结果。
- 按时间、来源和主题排序。
- 把候选材料放入长上下文。
- 要求回答必须引用来源。
推荐输入结构:
## 用户问题
DeepSeek V4 Pro 和 Flash 应该怎么选?
## 可用来源
### Source A
- url:
- date:
- type: official_docs
- excerpt:
### Source B
- url:
- date:
- type: site_article
- excerpt:
## 回答要求
- 先给结论
- 再给选择表
- 每个关键事实标注来源
- 不确定的地方明确说不确定
这比直接塞 100 篇文档更稳。
场景四:Agent workflow
Agent 里使用 1M context,要格外小心。
因为 Agent 的上下文里经常混着:
- 用户原始需求
- 中间计划
- 工具输出
- 错误日志
- 旧决策
- 临时假设
- 已废弃方案
如果全部保留,模型会被旧信息污染。
建议把 Agent 上下文分成四层:
| 层级 | 内容 | 是否长期保留 |
|---|---|---|
| 当前任务 | 用户最新目标、约束、成功标准 | 是 |
| 证据层 | 工具输出、日志、文件片段 | 按相关性保留 |
| 决策层 | 已确认选择、已放弃方案 | 保留结论,不保留噪声 |
| 草稿层 | 临时想法、失败尝试 | 尽快压缩或丢弃 |
1M context 可以容纳更多历史,但不代表历史都值得留下。
什么时候用 Flash,什么时候用 Pro
可以先按这张表:
| 长上下文任务 | 推荐模型 |
|---|---|
| 单文档摘要 | deepseek-v4-flash 起步 |
| 多文档去重 | deepseek-v4-flash |
| 多文档冲突判断 | deepseek-v4-pro |
| 长代码上下文解释 | Flash 起步,复杂问题用 Pro |
| 生产故障根因分析 | deepseek-v4-pro |
| 知识库最终回答 | 视用户可见程度选择 |
| Agent 关键规划 | deepseek-v4-pro |
更完整的路由策略见:
长上下文的 6 个验收点
每次上线 1M context 相关能力,都建议检查:
| 验收点 | 具体看什么 |
|---|---|
| 引用准确 | 是否能指出来源段落或文件 |
| 时间正确 | 是否把旧信息误当最新信息 |
| 结论收敛 | 是否回答问题而不是泛泛总结 |
| 噪声控制 | 是否被无关材料带偏 |
| 成本可控 | 是否所有任务都不必要地走长上下文 |
| 可回滚 | 是否能切回短上下文或检索优先模式 |
长上下文能力越强,越需要输入纪律。
一个可复制的长上下文输入模板
## 任务
用一句话说明本次任务目标。
## 输出格式
- 结论:
- 证据:
- 风险:
- 下一步:
## 判断边界
- 只能根据提供材料判断。
- 不确定时写“不确定”,并说明缺少什么信息。
- 每条关键结论必须引用来源标记。
## 来源材料
### Source 1
- type:
- date:
- reliability:
- content:
### Source 2
- type:
- date:
- reliability:
- content:
这个模板的重点不是格式漂亮,而是强迫模型区分:
- 任务是什么
- 材料来自哪里
- 哪些是证据
- 哪些只是推断
和 API 迁移的关系
如果你的项目还在用旧模型,先完成迁移,再扩大长上下文能力。
原因很简单:旧模型退役时间已经明确,长上下文优化可以迭代,但旧模型依赖不能拖到最后。
参考与延伸
继续延伸
要点总结
- - 1M context 的价值是保留证据,不是鼓励乱塞资料
- - 长上下文任务要先做去重、分段、标注来源和问题收窄
- - 代码库场景要按文件角色和调用链组织输入,而不是按目录一次性粘贴
- - 知识库场景仍然需要检索和引用,不能把长上下文当作数据库
常见问题
DeepSeek V4 的 1M context 是否可以替代 RAG?
不建议这样理解。1M context 可以减少切片损失,但知识库仍然需要检索、权限控制、时间排序和来源引用。它更像是增强后的阅读窗口,不是数据库。
长上下文任务应该默认使用 deepseek-v4-pro 吗?
不一定。简单抽取、去重、分段摘要可以先用 deepseek-v4-flash;需要跨文档推理、冲突判断、根因分析或最终决策时,再升级到 deepseek-v4-pro。
长上下文最常见的失败是什么?
常见失败包括上下文污染、引用错误、把旧信息当新信息、输出过长、成本失控,以及模型没有区分原文证据和自己的推断。