告别“失忆跑题”:揭秘AI智能体执行长任务的四大底层机制
你肯定遇到过这种情况:让AI智能体去跑一个长周期的复杂任务,一开始它表现优异,但跑着跑着就开始“前言不搭后语”,甚至忘了最初的目标是什么。
别急着怪大模型太笨。AWS近期发布的一份自主云编程智能体设计指南一语道破天机:这种“失忆跑题”的根源往往不在模型本身,而在于包裹模型的“执行框架”(harness)。浅层智能体在长周期任务中,极易遭遇上下文溢出、状态丢失和干扰跑题。想要修好这一层,关键在于管理好“除模型之外的一切”。
一项最新研究盘点了目前主流的五大框架——LangChain Deep Agents、Claude Code、Manus、OpenAI Codex以及Amazon Bedrock AgentCore。它们不约而同地依靠四台“发动机”,将浅层循环升级为能扛住长任务的深度智能体。
反直觉的真相:上下文窗口越大越好?错!
很多人的第一反应是:给模型更大的上下文窗口不就行了?事实恰恰相反。
Chroma发布的Context Rot报告对18款主流大模型进行了评估,发现在简单的检索任务中,输入文本越长,模型反而越不靠谱。Anthropic对此给出了技术解释:注意力机制会让N个token生成N²的两两关系,每一个新增的token都在消耗一笔有限的“注意力预算”。上下文其实是一种边际递减的资源,而不是一个无底桶。
Manus也透露了一组残酷的数据:一个典型任务平均要调用约50次工具,输入输出比接近100:1。这意味着最开始的指令会逐渐被淹没在上下文窗口的中段——而这恰好是模型回忆最容易退化的“盲区”。
为了对抗这种“遗忘”,顶尖框架们部署了四台核心发动机。
发动机一:上下文预算与卸载(给信息瘦身)
与其让无用的信息塞满内存,不如主动给上下文减负。
- Deep Agents 设下了两条硬性铁律:一旦工具返回的数据超过20000个token,就直接写入文件系统,在对话中只保留文件路径和前10行预览;当会话上下文占用达到窗口的85%时,旧的编辑调用会被强制截断为指针。
- Claude Code 采用同样策略,将自动记忆严格限制在200行或25KB以内,MCP工具模式默认只显示名字,按需拉取。
- AWS AgentCore 则更加激进:协调器会并行派生3个浏览器子智能体,把它们关在各自独立的MicroVM里。分析子智能体只能收到结构化结果。这套流程预计耗时4到6分钟,如果改成串行操作则会慢达3倍。
发动机二:动态压缩(去粗取精)
当卸载操作到达极限时,框架会把接近上限的对话进行摘要压缩,然后重启对话。
- Claude Code 的压缩逻辑非常精细:它会死死保住“架构决策”和“未解决的Bug”,丢掉冗余的输出。压缩完成后,它会重新读取最近修改过的至多5个文件,并重新注入技能说明。为了防止信息永久丢失,它还会把完整的原始记录写入磁盘,日后随时可查。
- Deep Agents 则把“保住目标”做成了结构化特性,强制把摘要分为三个字段:会话意图、已生成产物、下一步计划。
- API层面也已跟进:OpenAI Responses API通过
compact_threshold参数提供服务器端压缩,Codex正是靠这个功能撑住长编程任务的;Claude平台则允许开发者自定义压缩指令。
发动机三:待办状态与“念咒”(防止目标漂移)
Manus 的做法非常朴素:建一个todo.md文件,每完成一步就重写打勾。这相当于把目标强行“念”进上下文的末尾,推开那些被淹没在中间的指令漂移。
不过,这招并非稳赚不赔。Deep Agents 在2026年7月的v0.7版本中,发现关闭待办功能反而能让评估奖励略高、成本更低,于是将其改成了可选项。但LangChain依然建议:如果是跑长任务、使用弱模型,或者界面需要向用户展示进度,最好还是把这个功能打开。
发动机四:跨会话记忆(知识的跨次复用)
- Claude Code 每次压缩后,都会从磁盘重新注入
CLAUDE.md和自动记忆内容。 - AgentCore Memory 则在后台静默运行抽取策略,让协调器下次遇到类似问题时直接召回记忆,而不是从头研究。
但苏黎世联邦理工的研究泼了一盆冷水:像AGENTS.md这类上下文文件其实并不能提升任务成功率,反而会让推理成本暴涨20%到23%。因为每一次重载,都是对模型“注意力预算”的固定征税。正因如此,Claude Code强烈建议将CLAUDE.md死死压在200行以内。
结语:别被模型大小骗了
研究最后提醒开发者,框架到底有没有“抓住目标”,必须通过强制触发压缩的测试来验证。在这个过程中,最该警惕的两种失败信号是:智能体刚做完摘要就立刻反问用户要澄清细节,或者莫名其妙地错误宣布任务已完成。
想让智能体在长路跑中不迷路,拼的从来不是你的模型参数有多大,而是这套执行框架的发动机调校得有多精细。