Proactive Agent: Shifting LLM Agents from Reactive Responses to Active Assistance

2026/11/5

  • ICLR 2025 · 清华大学、中国人民大学等 · Proactive Agent / 数据合成 / 主动任务预测

这篇文章研究的是如何让 LLM Agent 从"用户提出需求后被动执行",转变为"观察用户行为,主动预测需求并提供帮助"。作者没有设计新的模型架构,而是提出了一套基于用户行为数据、环境模拟和人类反馈的数据驱动训练方案,让现有 LLM 学会什么时候应该主动帮助用户、应该提供什么帮助,以及什么时候应该保持沉默。

文章最重要的贡献是提出了 ProactiveBench 数据集和一套可迭代的数据生成流水线。实验表明,通过合成数据微调,Qwen2-7B 的主动任务预测 F1 从 60.74% 提升至 66.47%,超过了论文测试的 GPT-4o 等模型。不过,模型仍然存在较高的无效主动建议比例,距离真正可靠的个人主动智能体还有明显差距。

一、研究背景:从 Reactive Agent 到 Proactive Agent

现有 LLM Agent 已经能够完成复杂任务,例如检索信息、编写代码、操作工具和安排日程。但这些能力通常依赖用户先明确下达指令。

作者认为,这种交互范式限制了 Agent 的价值。因为在真实生活中,用户往往并不会把所有潜在需求都明确表达出来。一个更理想的 Agent 应该能够从用户当前的活动和周围环境中识别潜在任务,主动提出帮助建议。

清华&面壁开源新一代主动Agent交互范式!让AI从被命令到主动帮助_交互_bagell-AI Agent技术社区

agent.csdn.net

论文 Figure 1:Reactive Agent 与 Proactive Agent 的交互方式对比。

例如,当用户收到一封邀请开会的邮件时,传统 Agent 必须等待用户说"帮我把这个会议添加到日历"。而 Proactive Agent 可以观察到邮件内容,主动询问用户是否需要安排会议。

这里的关键并不在于 Agent 能不能操作日历,而在于它能否在没有明确指令的情况下发现一个值得执行的任务。

作者还强调了一点:Proactive Agent 并非越主动越好。如果用户只是打开了 VS Code,Agent 就立刻提供编程教程,这种主动行为不仅没有价值,还会造成打扰。

因此,文章实际上研究两个紧密关联的问题:一是识别用户当前可能需要什么,二是判断当前是否适合主动提供帮助。

二、核心方法:通过数据合成训练主动行为

作者首先将主动任务预测定义为一个条件决策问题。Agent 接收三类信息:

  • Environment Events(环境事件):例如收到新邮件、打开应用程序。
  • User Activities(用户活动):例如输入代码、浏览网页、与 Agent 对话。
  • Environment States(环境状态):例如当前打开的网页内容、文件系统状态。

模型根据这些信息输出一个预测任务,也可以输出 null,表示目前不需要主动干预。

这与一般 Agent 的区别是:用户指令不再是必需的任务入口,环境事件本身就可以触发任务预测。

但如何训练模型具备这种能力?作者认为,直接收集大量真实用户的主动交互数据成本太高,因此提出了一个利用 LLM 模拟环境、用户和主动 Agent 的数据生成框架。

Cheng Qian

qiancheng0.github.io

论文 Figure 2:数据生成流水线,由 Environment Gym、Proactive Agent 和 User Agent 三部分构成。

整个框架包含三个角色。

1. Environment Gym:模拟用户所处的环境

首先,作者通过 ActivityWatch 相关的监控程序,收集真实用户操作计算机的事件,包括键盘鼠标操作、浏览网页和使用开发工具等。这些原始数据会被整理成更容易被 LLM 理解的自然语言事件。

然后,利用 GPT-4o 根据真实活动构建模拟场景,包括用户正在完成的工作、环境中有哪些应用程序,以及这些应用程序当前处于什么状态。

Gym 不仅负责生成新事件,还负责维护环境状态。例如,用户打开网页、Agent 操作文件后,相应的环境状态也会随之更新。

这一设计的出发点是:让合成数据不只是独立的任务描述,而是具有前后因果关系的连续事件序列。

2. Proactive Agent:根据环境预测用户需求

Proactive Agent 持续接收 Gym 生成的事件,结合历史记录和用户特征,预测当前是否存在值得主动提出的任务。

如果发现潜在需求,就提出任务建议;如果没有明确需求,就保持沉默。当用户接受建议后,Agent 会调用模拟工具执行任务,执行结果又会产生新的环境事件。

作者没有引入特殊的网络结构,而是使用现有 LLM 完成事件理解与任务预测,核心改进来自训练数据。

3. User Agent:模拟用户对建议的判断

这是整套框架中特别重要的一部分。

仅靠 Proactive Agent 不断生成任务,并不能保证这些任务真正有价值。为此,作者引入 User Agent,判断某个主动建议是否值得接受。

例如,用户正在查询 OAuth 认证教程,Agent 主动提出帮忙总结相关文档,可能是一个合理建议;但如果用户只是打开 VS Code,Agent 就提出提供编程入门指导,通常属于不必要的干预。

为了让 User Agent 的判断更接近真实用户,作者先收集人类标注数据,再训练一个 Reward Model(RM)模拟人类的接受与拒绝判断。

最终,数据生成过程形成闭环:

Environment Gym

生成事件 / 更新环境状态

Proactive Agent

理解上下文 / 预测任务或保持沉默

User Agent + Reward Model

模拟用户接受或拒绝

执行接受的任务,产生新事件

回到 Gym,进入下一轮交互

迭代生成训练样本

需要注意,论文中的 Environment Gym 是基于 LLM 的环境模拟器,而不是真正的操作系统或物理环境。其主要价值是以较低成本生成具有连续上下文的训练数据。

三、ProactiveBench:如何构建训练数据

通过上述流水线,作者构建了 ProactiveBench,覆盖 Coding、Writing 和 Daily Life 三类场景。

数据类别 规模 主要用途
Coding 2,275 编程场景中的主动任务预测
Writing 2,354 写作场景中的主动任务预测
Daily Life 2,161 日常生活中的主动任务预测
总训练集 6,790 微调 Proactive Agent
测试集 233 基于真实采集事件进行评估
Reward Model 数据 1,640 / 120 训练集 / 测试集

其中一个值得注意的设计是,训练数据主要来自模拟生成,而测试数据来自真实用户活动。作者希望借此检验模型是否能够从模拟场景迁移到真实交互场景。

对于 Reward Model,作者收集了 1,760 条人工标注样本,由三名标注员判断任务是否应该被接受,并采用多数投票确定最终标签。

其中允许标注"Reject All",表示当前场景不存在值得主动提出的任务。这相当于显式告诉模型:不提供帮助也可能是正确决策。

作者随后用这些数据微调 LLaMA-3.1-8B-Instruct,得到用于自动评价和模拟用户判断的 Reward Model。

对于 Proactive Agent 本身,则分别微调 LLaMA-3.1-8B-Instruct 和 Qwen2-7B-Instruct,使模型学习从连续事件中预测合适的主动任务。

四、实验:主动能力是否真的得到了提升?

论文主要从两个方面验证方法:一是 Reward Model 能否准确模拟人类判断,二是合成数据能否提升 Agent 的主动任务预测能力。

1. Reward Model 的评估

作者在 120 条人工标注测试数据上比较不同模型的判断结果。

微调后的 Reward Model 达到 91.80% F1,而未经微调的 GPT-4o 为 67.04%,LLaMA-3.1-8B 为 58.46%。

这说明一个有趣的现象:通用 LLM 虽然能够理解用户任务,但不一定善于判断某个主动建议是否值得提出。 经过专门的人类偏好数据训练后,小模型反而可以更好地完成这项判断任务。

当然,91.80% 是在论文构建的有限标注测试集上取得的结果,并不能直接理解为模型在现实个人生活中有 91.80% 的用户满意度。

2. Proactive Agent 的性能

论文 Table 3 的主要结果

0%20%40%60%80%GPT-4oLLaMA-3.1-8BLLaMA-ProactiveQwen2-7BQwen-Proactive

F1-Score,越高越好。数据来自论文 Table 3。

LLaMA-3.1-8B 经过训练后,F1 从 55.06% 上升至 66.25%;Qwen2-7B 则从 60.74% 上升至 66.47%。

结果说明,主动任务预测并不完全依赖基础模型规模和通用能力。通过专门的数据构建和微调,可以显著改善模型对主动交互场景的适应性。

不过,论文也暴露了一个重要问题:即便是表现最好的 Qwen-Proactive,其 False-Alarm 指标仍然达到 50.22%。按照作者的评估定义,这表明相当一部分主动预测无法获得接受。

换句话说,模型已经能够发现许多潜在任务,但还没有很好地学会克制。

3. 多任务候选与 Reward Model 反馈

作者还研究了两项改进策略。

第一项是让 Agent 一次预测三个候选任务,而不是只提出一个。这样可以增加至少一个任务符合用户需求的概率。实验中,GPT-4o 的 F1 从 64.60% 提升到 77.72%。

但要注意,论文的评估方式是三个候选任务中只要有一个被接受,就认为此次预测成功。因此,结果并不意味着向用户同时推送三个任务一定能够改善真实体验。

第二项是将 Reward Model 反馈引入推理过程,让 Agent 先提出草稿,根据 RM 的判断再修改。

这项策略单独使用时效果并不稳定。虽然模型会减少一些不必要的建议,但也容易变得过度保守,错过真正需要提供帮助的时机。相比之下,将多候选预测与 RM 反馈结合,取得了更好的整体结果。

这一实验实际上说明:主动 Agent 的优化并不是简单地让模型更积极或者更谨慎,而是需要同时处理任务发现能力与干预成本之间的平衡。

五、这篇文章的价值与局限

我认为,这篇论文最有价值的地方不在模型算法,而在于把 Proactive Agent 的问题明确转化成一个可以训练和评测的数据问题。

过去我们通常关注 Agent 能不能完成某个任务,而这篇文章将问题提前了一步:Agent 如何从用户行为中发现任务,以及如何判断任务是否值得主动提出。

这使得主动能力可以通过专门的行为数据、接受/拒绝反馈和模型微调进行优化,而不再完全依赖基础模型的通用推理能力。

但文章也有三个明显的局限。

首先,用户行为理解仍然相对浅层。模型主要处理文本化的环境事件,并未建立成熟的长期用户画像和个性化需求建模机制。不同用户对于主动建议的接受程度可能截然不同,但论文中的 Reward Model 主要学习的是人工标注员的总体判断偏好。

其次,评测仍然依赖代理指标。模型提出的任务由 Reward Model 判断是否合理,但缺少长期真实用户参与下的体验评估,例如用户实际节省了多少时间、是否被频繁打扰,以及是否逐渐信任 Agent。

最后,论文虽然在模拟环境中实现了任务执行闭环,但实验核心仍然是任务预测与接受判断,而不是现实环境中长时间运行的完整 Agent 系统。因此,它并没有充分解决持续感知、异步任务管理、异常恢复和真实工具执行可靠性等工程问题。

这些也与作者在附录 Limitations 中讨论的场景覆盖、误报、用户中心评估和隐私问题基本一致。

六、对你们 Proactive Agent 项目的启发

结合你们目前希望先在软件侧建立特定场景的 Workflow 闭环,再逐步扩展到全天候感知和个人化硬件的方向,我认为这篇文章最值得参考的是三个思想。

第一,将任务发现与任务执行分开考虑。

当前许多 Agent 框架主要解决的是如何规划、调用工具和完成任务。但对于 Proactive Agent,首先需要有一个独立的机制判断"是否应该启动任务"。

你们可以将这部分理解为 Proactive Trigger 或 Task Proposal 模块。它负责消费来自软件、日程、通信等来源的事件,结合用户上下文形成潜在任务,再决定是否向下游 Workflow 执行层发起请求。

这里是对论文思路的工程延伸,并非作者已经实现了这一完整系统。

第二,建立主动任务的评价机制可能比单纯提高任务生成能力更重要。

论文显示,通用模型很容易生成大量看似合理、实际上并不必要的建议。因此,仅仅用 Prompt 让 LLM 从用户活动中发现任务,可能很快就会遇到误报问题。

你们可以借鉴 Reward Model 的思想,为候选任务建立独立的价值判断机制。初期不一定需要微调专门模型,可以先通过 LLM Judge、显式规则和少量真实用户反馈实现,再逐步积累训练数据。

第三,Environment Gym 的思想适合作为早期冷启动方案。

对于一个新的 Proactive Agent 产品,很难直接获得大量用户主动需求数据。论文展示了一条可行路径:先收集少量真实用户事件,再利用 LLM 在特定场景下扩展连续的交互轨迹,生成可用于测试和微调的任务预测样本。

但实际产品中,需要特别注意合成行为与真实用户需求之间的差距,不能仅依赖模拟用户的判断来定义产品是否成功。

总体而言,我会把这篇论文定位为一项Proactive Agent 主动任务预测与数据训练方面的基础工作,而不是一个成熟的通用主动智能体框架。

它回答的是"怎样让 Agent 学会在适当的时候主动提出任务",尚未完整回答"怎样让一个 Agent 长期理解特定用户、持续发现需求,并安全可靠地自主完成工作"。

对于你们的项目,最值得深入研究的是论文第 3.2–3.5 节的数据生成闭环,以及第 4.3 节关于 Reward Model 反馈的实验。这两部分可以直接为未来的主动任务发现模块和数据闭环设计提供参考。