技术

Data Agent 会规划,为什么任务仍然做不完

复杂分析不是生成一份步骤清单。本文拆解复杂度分流、状态机、检查点、失败恢复与多 Agent 边界,说明怎样把计划变成可完成、可审批的工作流。

技术 #Data Agent#任务规划#工作流编排#Agent Harness#多智能体#状态管理

“新客转化下降,帮我找原因并给建议。”Agent 先查了渠道,再查地区,第三步遇到超时,于是从头重跑;或者生成十几步计划,却在拿到第一张结果表后忘了最初要验证的假设。它看起来会“思考”,任务仍然没有完成。

规划层的职责不是输出一段漂亮的待办清单,而是把复杂目标变成一个能保存状态、检查证据、恢复失败并在必要时交给人的执行过程。

Data Agent 从任务解析到停止或升级的规划状态机

图中每一步都应该有输入、产物、通过条件和失败去向。缺少其中任何一个,所谓“自主循环”很容易变成无界重试。

先分流任务,再决定是否需要规划

并非所有问题都值得启动 Agent 循环:

  • 已有指标、单次只读查询、风险低的问题,可以直接走受约束的查询模板。
  • 需要多个数据源、多个假设或代码分析的任务,才进入计划—执行—验证循环。
  • 涉及写入、外发、敏感数据或高成本计算的任务,应在规划前标出审批节点。
  • 目标、口径或数据覆盖不清时,先澄清,不要用规划掩盖需求缺口。

复杂度分流既节省成本,也缩小故障面。让每个问题都进入多 Agent 编排,通常只会增加延迟和排错难度。

一份可执行计划需要七个字段

每个步骤至少包含:

字段作用
step_id稳定引用,便于恢复和审计
objective这一步要减少哪项不确定性
inputs使用的数据、语义版本和前置产物
tool_contract允许调用的工具、参数和权限
output_contract预期结果的结构、版本和保存位置
verification通过条件、容差和独立检查
on_failure重试、改计划、降级、澄清或升级给人

“分析渠道影响”不是合格步骤,因为它没有说明使用什么数据、怎样判定完成。更好的目标是:“按渠道计算本月与基准期转化率,在相同口径和覆盖范围下标记绝对变化最大的三个渠道,并验证分母完整性。”

状态不能只存在对话里

长任务的事实状态应存放在 Harness,而不是靠模型记忆:任务目标、约束、当前计划版本、完成步骤、产物引用、失败次数、预算、审批和未解决问题。模型每轮只接收完成当前判断所需的切片。

一个实用状态机可以包含:PLANNING → READY → RUNNING → VERIFYING → COMPLETED,以及 WAITING_INPUT、WAITING_APPROVAL、REPLAN_REQUIRED、FAILED 和 CANCELLED。状态迁移由规则和工具结果触发,模型可以建议迁移,但不能随意把失败改成完成。

检查点应保存逻辑产物与版本,而不是完整复制所有敏感数据。恢复时先检查数据、语义、权限和批准是否仍有效;不能拿昨天的批准运行今天已经改变参数的动作。

规划、执行和验证要分工

常用模式是 Planner 提出下一步,Executor 通过受控工具运行,Verifier 检查结果与约束。它们可以是三个独立组件,也可以由同一模型在不同权限和上下文下完成。关键不在角色名称,而在控制面是否隔离:

  • Planner 不能持有生产凭证。
  • Executor 不自行扩张任务范围。
  • Verifier 使用独立规则、查询结果或测试,不只让模型评价自己的输出。
  • Harness 决定预算、重试和停止。

多 Agent 只有在专业上下文、工具权限或并行工作确实需要隔离时才有价值。把一个任务拆成许多拟人角色,却共享同一上下文、权限和评分器,只增加通信损耗。

重新规划必须有触发条件

合理触发包括:关键来源不可用、验证失败、发现新的必要依赖、预算接近上限、用户改变目标。重新规划时保留已验证产物,不从头重复所有步骤;同时记录旧计划为什么失效。

需要禁止的模式包括:同一参数无限重试、为绕过策略更换工具、失败后静默扩大数据范围、为了让结论成立而修改原始目标。计划的目的不是不惜代价完成,而是在约束内找到可验证路径。

贯穿案例:诊断转化下降

一个窄而完整的计划可能是:

  1. 固定“新客转化”的指标版本、周期、渠道覆盖和基准期。
  2. 验证数据水位与分母完整性;不完整则停止归因。
  3. 计算渠道分解,找出贡献最大的变化项。
  4. 对候选渠道检查地区、设备和活动结构变化,避免辛普森悖论。
  5. 把观察、假设和缺失证据分开,生成进一步核查项。
  6. 由独立查询复算关键数字,再形成报告草稿。

如果第二步发现数据缺失,正确状态是 WAITING_INPUT 或 PARTIAL,不是继续生成“可能原因”。如果第五步只有相关性证据,计划也不能把输出合同偷偷改成因果结论。

衡量任务完成,而不是计划长度

规划层可以用这些指标验收:

  • 端到端任务成功率:最终产物满足输出合同且通过验证的任务比例。
  • 有效步骤率:产生被后续使用的合格产物的步骤比例。
  • 恢复成功率:工具或数据故障后,在预算内恢复且不重复副作用的比例。
  • 升级质量:需要人介入时,是否给出缺口、已完成工作和明确选择。
  • 预算遵守率:是否遵守步骤、时间、调用和扫描量上限。
  • 状态一致性:报告、动作与任务状态是否相互匹配。

不要把 Token 数或思考轮数当作规划质量。更长的轨迹有时只是更昂贵的迷路。

从两类任务开始落地

先选一种确定性较高的多步任务和一种允许部分完成的开放分析。为它们明确状态、步骤契约、验证器、最大预算和人工升级点。运行影子流量,积累真实的失败路径,再决定是否并行化或引入专业 Agent。

好的编排不会让系统显得更会说话,而是让人知道任务走到了哪里、为什么停下、哪些结果已经可信,以及下一步由谁接手。