一个策略,将 DeepSeek V4.1 Flash 在长任务中的能力提升 30%。
做开发的同学应该都体会过 AI 最大的痛就是给它一张任务清单。
前几个任务做得很好,跑着跑着开始偏离目标。
或者更离谱的是:
它告诉你“已经完成了”。
你一检查:
实际上只完成了 50% 不到。
经过多个项目实践,我发现了一个非常有效的策略:
任务原子化 + 上下文隔离。
AI 做小 Task 时,完成度往往接近 100%。
但 Task 一旦变长,完成度会明显下降。
所以第一反应通常是:
“那就拆任务”。这个方向没错。
但如果只是简单地把一个大任务拆成几十个 Todo,反而可能让问题更严重。
因为你只是把:
一个长任务
变成了:
一条更长的 Todo List。
AI 仍然需要在一个不断膨胀的上下文里,因为它要记住:
做了什么、没做什么、下一步做什么、哪些事情不能忘。
时间一长,还是会偏。
真正有效的方式是:
拆任务 + 隔离上下文。
比如一个大任务:
A → B → C → D → E
执行 A 的时候,只让 AI 关注 A。
A 完成之后:
立刻清空上下文。
不需要把整个 A 的执行过程继续塞给 B。
丢掉之前的上下文会带来一个新的问题,必要的关键信息也会被丢掉。
所以需要维护一套公共 Cache,将必要的信息放进cache中:
```text
/cache
├── task-A.md
├── task-B.md
├── architecture.md
└── decisions.md
```
接下来执行Task B 时:
重新建立一个干净的上下文。
只读取:
> 完成 B 所需要的必要状态。
于是整个执行过程变成:
Task A → Cache → 新 Context → Task B → Cache → 新 Context → Task C
而不是:
Task A → A+B → A+B+C → A+B+C+D → ……
这其实和 Context Compression 有点像。
但有一个非常重要的区别:
Context Compression 是“压缩历史”。
Context Isolation 是“直接切断历史”。
这是两个完全不同的思路。
因为 Agent 的上下文压缩,即使做得很好,多次压缩以后,仍然可能出现一个问题:
重要信息的权重会不断下降。
最后模型记住了大量“发生过什么”,
却忘了:
“什么事情绝对不能漏。”
而 Context Isolation 的思路是:
不要让模型一直背着历史往前跑。
把历史变成结构化状态。
把状态放进 Cache。
让下一次 Agent 从一个相对干净的上下文重新开始。
所以真正重要的不是:
让 AI 记住更多。
而是:
让 AI 在每一个阶段,只记住当前真正需要的信息。
这可能是 AI Agent 长任务工程化里,一个非常重要的设计原则:
不要让 Context 成为记忆。
让 Cache 成为记忆。
让 Context 只负责当前任务。