读《Super-agent 设计探索》:Agent 的瓶颈,可能是人的注意力

原文:《Super-agent 设计探索:迈向更自主的 Agent 系统》

读完这篇文章,我最在意的不是“让 Agent 多调几个工具”,而是它试着把人从不断切换会话、补上下文、盯执行进度这些管理工作里解放出来。模型越来越能完成单项任务后,瓶颈可能真的开始转向人的注意力。

从会话管理,走向任务管理

我们现在常用的 Agent,大多还是围绕一个 Session 工作。事情一多,人就得自己开新会话、搬背景、记住哪个任务跑到哪一步。DeepSeek 提出的 Router / Worker 双层架构,把这部分协调工作放到了系统里:Router 接住人和外部渠道的消息、维护整体上下文并分派任务;Worker 在彼此隔离的会话里并行处理具体工作,再把结果交回 Router。

我理解这不只是“一个主管 Agent 带几个子 Agent”。关键是把交互和执行分开,让用户面对一个连续的入口,底层则能并发处理多个任务。否则即使有很多 Worker,最后仍要用户手动管理它们的上下文和进度,复杂度只是换了个地方。

主动性不是定时醒来,而是理解事件

文章把群聊、邮件、日程、代码评审和 CI 结果等环境输入视为 Trigger。要让 Agent 主动做事,第一步不是把所有消息都交给模型,而是先用程序规则挡掉大量无关事件,再让模型判断少数候选事件是否值得行动。之后还要把相关事件路由给已有任务,并在需要时召回上下文。

这个设计让我想到,真正有用的“主动”应该是有选择的主动。收到一个信号后,系统要知道它和哪项工作有关、是否已有 Worker 在处理、现在行动有没有价值。像根据 CI 失败尝试复现问题,或者先准备会议背景,听起来很自然;但如果过滤和上下文边界做不好,主动性也可能很快变成噪音。

异步执行也是交互设计

传统 ReAct Loop 执行耗时工具时会阻塞当前会话。异步方式让 Agent 启动后台任务后先返回状态,任务完成再把结果作为新事件送回来;用户可以继续发消息,Agent 也能按需停止耗时操作。

这看似只是工具调用方式的变化,实际上会改变用户体验。既然任务在后台运行,就需要清楚的状态、可追踪的结果、合适的通知,以及可靠的取消和接管入口。用户不应该因为 Agent 能异步执行,就失去对任务的控制。

Agent 持续在线靠的是系统工程

把计算、持久化状态和执行环境解耦,是文章里很工程化的一点:会话状态由存储保障,Agent Loop 可以在云端运行,而代码仓库、工具链和凭据等重状态环境可以留在原来的设备上,通过轻量组件接入。再加一个独立的 Watchdog,检查的不只是进程是否活着,也包括任务是否还在取得进展。

这提醒我,Agent 长期在线不是把一个 Agent Loop 拉得更长,也不是单纯增加上下文窗口。系统得能在进程重启后恢复任务,能区分执行环境,并能发现“还在运行、但已经跑偏”的情况。自主程度越高,故障恢复和状态管理就越是产品本身的一部分。

越主动,越需要清楚的权限边界

我认为文章列出的安全与隐私问题尤其重要:事件里可能带有不可信输入,Agent 可能跨设备访问环境,而本地环境又可能含有私有代码和凭据。提示词注入、凭据泄露和权限扩散都不是边缘问题,而是主动式系统的核心设计约束。

一个可信的 Agent,至少要让人能看清它依据什么事件行动、使用了哪些权限、改动了什么;对敏感操作要有清楚的授权和确认边界,也要能随时暂停或收回权限。越是希望它替人节省注意力,越不能把人的控制权一起省掉。

我会怎样看这类架构

这套思路最适合先落在边界清楚、结果可验证的工作流里:比如监控某类 CI 失败、整理指定渠道里的待办、在明确规则下准备修复建议。评估时也不能只看完成得快不快,还要看误触发有多少、需要人介入几次、失败后能不能恢复、权限是否收得住。

文中给出的初步实验基于合成消息负载和简化环境,主要观察调度与协作,不等于真实任务能力的普遍基准。这个限定值得保留:它证明的是一些系统设计方向值得继续验证,而不是说明所有工作都已经可以放心交给 Agent。

读完之后,我对“更自主”的理解更具体了:不是让 AI 不经允许地替人做更多事,而是让系统接住任务编排、并发、上下文同步和恢复这些繁琐环节,让人把精力留给目标、关键判断和结果验收。Agent 做得好不好,最后还是要看它有没有减少打扰、交付是否可信,以及人能不能随时介入。