注意力操控式任务复述
定义
注意力操控式任务复述,是指让 Agent 在执行长任务时,反复以自然语言重写当前任务清单、全局目标、阶段计划或待办事项,并把这些复述内容持续写入上下文后部,从而把关键目标重新推回模型的近期注意力区域。
它最常见的形式,是 Agent 创建并不断更新一个 todo 清单:把已完成事项勾选,把未完成事项重新排列,把下一步行动明确写出。这样做的目的不是展示“工作痕迹”或提升可读性,而是主动干预模型在长上下文中的注意力分配,减少遗忘、偏航和目标错位。
在本文语境中的含义
在 Manus 与 Peak 讨论的上下文工程实践里,这不是装饰性设计,而是针对长链路 Agent 的现实问题提出的工程解法。
文中给出的典型背景是:一个任务平均需要约 50 次工具调用。对这种多轮循环型 Agent 来说,模型每一步都要基于不断增长的上下文做决策。随着动作、观察结果、错误信息和中间产物不断累积,最初的用户目标很容易被埋在上下文前部,进而出现以下问题:
- 忘记原始任务约束
- 在复杂任务中逐渐偏离主题
- 被局部子问题吸走注意力
- 出现“中间丢失”,即早先重要信息既不在最前也不在最近位置,导致调用时权重下降
因此,注意力操控式任务复述 的核心价值,不是“更好地记录进度”,而是让全局计划反复出现在上下文尾部,持续提醒模型:现在到底在做什么、已经做到了哪里、接下来应该做什么。
关键机制
1. 用 todo 清单持续复述目标
文中明确提到,Manus 在处理复杂任务时,往往会创建一个 todo 文件,并在任务推进过程中逐步更新,把已完成项目逐一勾选。这种持续更新本身,就是复述机制。
它通常至少包含三类信息:
- 全局任务目标:最终要交付什么
- 当前阶段拆解:有哪些关键子任务
- 执行进度状态:哪些已完成、哪些待做、下一步是什么
与一次性写死的初始计划不同,这里的关键是“持续重写”。因为只在任务开头写一次计划,并不能保证它在经过数十轮工具调用后仍处在高注意力位置;而每轮或每阶段重写一次,等于把目标重新送回模型最近可见的位置。
2. 把全局计划推到上下文末尾
这项做法的重点,不只是“有计划”,而是“计划出现在上下文末尾”。
在长上下文里,模型通常更容易直接利用最近出现的内容。文中将这种策略描述为把目标“背诵”到上下文的末尾,让全局计划进入近期注意力范围。换句话说,Agent 不是被动等待模型自己记住早期目标,而是主动把目标重新复制到最容易被当前决策使用的位置。
这也是它被称为“注意力操控”的原因:
- 不改变模型参数
- 不改变底层架构
- 只通过重写自然语言上下文,改变模型当前更容易关注什么
3. 缓解长任务中的目标漂移
长任务里最常见的问题之一,就是目标漂移。Agent 起初理解的是 A 目标,但在执行过程中不断响应局部反馈,最终开始围绕 B、C、D 这些中间目标打转,忘了真正的完成标准。
注意力操控式任务复述 正是用来缓解这种漂移的。它通过反复明确:
- 原始目标是什么
- 当前工作为什么存在
- 还有哪些未完成约束
- 下一步与总目标的关系是什么
这样可以降低“越做越忙、越忙越偏”的情况,尤其是在任务链条长、工具多、观察噪声大的场景中更明显。
4. 无需改模型架构
文中特别强调,这种方法“无需任何特殊架构改动”。这是一条很重要的边界。
它不是:
- 新的训练方法
- 新的注意力层设计
- 新的记忆网络
- 新的推理器架构
它只是上下文工程层面的技巧:通过文本重写来影响当前注意力分布。因此它的落地门槛很低,只要 Agent 能在流程中写出、读取、更新任务清单或摘要,就可以使用。
这也使它特别适合快速迭代的产品环境:不需要重新训练模型,不依赖特定模型提供商,也不要求底层推理系统提供特殊接口。
5. 适合多步工具调用流程
这种方法尤其适合多步工具调用型 Agent。因为在这类系统里,真正造成遗忘和偏航的,不是单轮问答,而是“动作—观察—再动作”的长循环。
文中的 Manus 就属于这类形态:模型反复调用工具,读取环境反馈,再决定下一步。在平均约 50 次工具调用的任务里,如果没有周期性复述,最初目标很容易被后续的大量观察结果淹没。
因此,注意力操控式任务复述 往往适用于以下流程:
- 浏览、检索、整理、写作串联的复杂任务
- 多工具协作的自动化工作流
- 长时间运行的研究、分析、审阅任务
- 会产生大量中间结果、日志或页面内容的 Agent 回路
具体实现方式
虽然原文以 todo 文件为例,但这一概念并不局限于某一种载体。常见实现方式包括:
- 持续更新待办清单:每完成一步就重写未完成项和下一步
- 阶段性目标摘要:每个阶段结束后重新总结“总目标—当前状态—下一步”
- 执行前自我提醒:在下一次工具调用前先输出当前任务复述
- 外部化计划文件:把计划写入文件,再在关键节点重新读取并刷新到上下文
其中,持续更新的 todo 清单之所以常见,是因为它天然同时承担了三种功能:记录状态、组织步骤、复述目标。
一个有效的复述通常不是简单重复原话,而是带着执行状态重写,例如:
- 已完成哪些关键步骤
- 还剩哪些硬约束未满足
- 当前分支是否仍服务于主目标
- 现在最该做的下一步是什么
细节与边界
复述不是越频繁越好
虽然这种方法依赖反复重写,但并不意味着每一步都要冗长重复。如果复述过长、过机械,可能带来新的问题:
- 占用过多上下文空间
- 让模型沉迷于重复表述而非推进执行
- 增强模板化惯性,反而形成新的模式锁定
因此,合适的做法通常是保留高价值信息:目标、进度、未完成约束、下一步,而不是每次复制整段大计划。
复述缓解遗忘,但不等于完整记忆系统
注意力操控式任务复述 能把关键目标推回近期注意力区域,但它并不能替代真正的外部记忆、文件存储或可恢复状态。
如果任务涉及大量文档、网页、代码、表格、日志或长观察结果,仅靠反复复述目标并不足以保存全部事实。它更像“注意力校准器”,而不是“无限记忆仓库”。
因此,它通常要与 文件系统外化记忆 等机制结合:
- 用文件保存大体量事实和中间产物
- 用复述把当前最重要的目标与指针重新放到上下文尾部