Skip to content

Deep Agent

Deep Agent(深度智能体/长时自治 Agent)是 Agent 系统从"一步一回应"向"长时间自主执行"演进的范式。传统 Agent 遵循 ReAct 循环——收到用户指令、执行一步操作、返回结果等待下一步指令,整个过程的粒度受限于用户的交互节奏。Deep Agent 则在收到一个高层次目标后,可以在无人干预的情况下自主执行数十分钟到数小时,期间自行管理任务分解、上下文压缩、错误恢复和子 Agent 调度。

从短步到长程

传统 Agent(如 ChatGPT 的插件调用、LangChain 的 Agent Executor)的工作模式是"一呼一应"。用户在每一轮对话中给出明确的指令,Agent 执行一个或几个工具调用后返回结果,然后等待用户的下一步指示。这种模式适合交互式任务(信息查询、表单填写、简单的代码生成),但无法处理需要长时间执行、涉及多步骤复杂决策的任务——比如"帮我调研过去三个月 AI 安全领域的主要论文,总结研究趋势并给出值得关注的 5 个方向"。

Deep Agent 的目标是将 Agent 从"对话式的单步执行器"升级为"自治式的长程任务完成器"。它的关键能力包括:任务的自动分解与调度(将高层目标拆解为子任务执行图)、执行过程中的上下文管理(在长时间运行中自动压缩和总结已完成的步骤)、子 Agent 的动态生成与销毁(为特定子任务创建专门的 Agent 实例,完成后回收)、以及中断后的状态恢复(任务被意外中断后能从上次的 checkpoint 继续执行而非从头开始)。

核心机制

自动上下文压缩

在长时间运行中,Agent 的执行历史(包括思考过程、工具调用结果、中间产出)会迅速膨胀到超出上下文窗口的容量。Deep Agent 需要内置上下文压缩机制:周期性地将已完成步骤的详细记录压缩为结构化的摘要,保留关键决策点和产出,释放上下文空间给当前正在执行的步骤。

压缩策略通常是分层的。最细粒度的是步骤级压缩——每个子任务执行完毕后将其输出摘要化,原始的执行轨迹被丢弃,只保留最终产出和关键决策理由。较粗粒度的是阶段级摘要——当完成一个完整的阶段(如文献检索阶段)后,将该阶段的整体工作流和产物压缩为一段简洁的阶段报告。最终层是全局摘要——当前活跃上下文中只保留全局目标的描述、最近几个步骤的完整信息、以及之前所有步骤的摘要,形成一个"活跃工作区 + 归档区"的二级存储结构。

虚拟文件系统

在长时间任务执行中,Agent 需要持久化存储中间产出(如检索到的论文列表、分析草稿、代码执行结果)。将所有中间数据塞在上下文中既不经济也不可靠。Deep Agent 通常配备一个虚拟文件系统(可以基于实际的文件系统或云存储),作为 Agent 的"草稿纸"和"工作台"。

虚拟文件系统让 Agent 可以在执行过程中读写文件、创建目录结构、维护 Todo 列表、记录 checkpoint。这模拟了人类处理复杂项目时的工作方式——不是将所有信息记在脑子里,而是将中间产出保存在外部存储中,随时可以重新读取或修改。文件系统的引入还使得 Agent 之间的协作成为可能:Agent A 将分析结果写入文件,Agent B 从文件中读取并继续加工。

子 Agent 生成

Deep Agent 在执行复杂任务时,可以将特定的子任务委托给临时创建的子 Agent。例如,在"调研 AI 安全文献"这个大任务中,主 Agent 可以创建搜索 Agent 负责论文检索、分析 Agent 负责论文摘要和质量评估、写作 Agent 负责撰写综述报告。每个子 Agent 拥有自己的上下文窗口和执行环境,专注于完成一个具体的子任务。

子 Agent 生成的关键在于任务描述的明确性和输出契约的清晰性。主 Agent 需要将任务描述、预期输出格式和可用的工具集传递给子 Agent,子 Agent 在完成后将结果返回给主 Agent,自身被销毁。这种"创建-委派-收集-销毁"的模式与操作系统中进程的 fork/exec/wait 生命周期高度相似。

Claude Code 等 AI 编程工具已经实践了这种模式:主会话 Agent 可以派生子 Agent 执行独立的搜索或编码任务,子 Agent 在独立的工作空间中运行(可选使用 git worktree 隔离),完成后将结果返回主 Agent 进行整合。这种实践为 Deep Agent 的长程任务执行提供了工程上的可行性验证。

中断恢复与状态持久化

长时间运行意味着遇到中断的概率大大增加——网络波动导致的 API 调用失败、服务端的临时限流、或者用户主动发起的暂停。Deep Agent 需要将执行状态持久化到外部存储中,使得任务可以从中断点恢复。

状态持久化的粒度取决于任务的性质。对于探索性任务(如文献调研),checkpoint 可以设置在"完成了一个搜索阶段"的粒度——保存已搜索的关键词、已筛选的论文列表、已完成的摘要。对于确定性任务(如代码重构),checkpoint 可以更细粒度——保存当前正在处理的文件、已完成的修改步骤。关键原则是:持久化的成本(序列化状态、写入存储)应远小于从头重新执行的成本,且 checkpoint 不应该在不确定状态中(如某个 API 调用进行到一半时)。

工程落地现状

Deep Agent 目前仍处于早期探索阶段。现有的 Deep Agent 实现大多建立在 Agent 框架的能力组合之上:LangGraph 提供状态机和持久化能力,虚拟文件系统和子 Agent 管理通过框架的自定义组件实现,上下文压缩依赖 LLM 本身的摘要能力。

在实际工程中,长程自治的可靠性是最大的挑战。经过几十步的自主执行后,Agent 可能积累微小的决策偏差,最终偏离原始目标——类似于数值计算中误差的累积传播。目前的缓解手段包括:关键检查点的人工审核(在敏感操作前暂停等待批准)、执行预算限制(最多执行 N 步后必须汇报进度并等待用户确认)、以及反向目标检查(每完成一个阶段后由独立的验证 Agent 检查当前的产出是否仍然对齐原始目标)。