Agentic 数据流水线:大规模离线富化与分类
· 阅读需 11 分钟
你有一个批量任务,一夜之间可以对 1,000 万张客户支持工单进行分类。你将正则分类器换成了大语言模型(LLM),准确率从 61% 飙升至 89%。然后你上线了它,却发现:这项任务现在的成本增加了 40 倍,运行速度慢了 12 倍,当模型返回无法解析的输出时会静默跳过 3% 的记录,而且由于标签架构(label schema)在无人察觉的情况下发生了偏移,你的下游分析团队正在不断提交 Bug。
Agentic 数据管道的损坏方式是 ETL 工程师以前从未见过的,修复它们需要一套不同于传统批处理或实时 LLM 服务的思维模型。
核心设计转变:单条记录的可变计算量
传统的 ETL 有一个便利的属性:每条记录的处理成本大致相同。你可以通过将记录数乘以单条记录成本来预测任务时长、确定集群规模并设置成本预算。
Agentic 管道打破了这一属性。当 Agent 必须对一条记录进行推理时 —— 获取相关上下文、决定是否调用工具、迭代提取过程 —— 每条记录的计算预算就变成了一个分布,而不是一个常量。有些记录通过一次模型调用就能解决。而另一些则会触发三次工具调用、一个澄清循环和第二次提取尝试。处理相同架构的同一个管道,在不同数据集上的成本可能相差 2 倍,纯粹是因为数据处理起来更难。
这会带来具体的架构后果:
- 任务规模估算是概率性的。 如果不了解输入数据的复杂度分布,你就无法估算运行时间。上个月在 4 小时内完成的 1,000 万条记录的任务,在你为模糊案例添加推理步骤后,可能需要 11 小时。
- 成本上限需要针对单条记录进行限制。 如果没有针对单条记录的明确 Token 预算,一小部分复杂的记录可能会消耗掉任务成本的绝大部分。为单条记录设置最大 Token 上限;当超过上限时优雅地失败,而不是让少数极端案例耗尽预算。
- 并行计算的逻辑发生了变化。 批处理吞吐量取决于并发处理记录时的 GPU 利用率。如果 5% 的记录需要 10 倍的计算量,你要么在等待长尾记录时导致资源利用不足,要么就让它们拖慢整个批次。
实际的解决办法是在处理前根据预估的复杂度对记录进行分段。一个轻量级的预分类器(基于规则或小型、廉价的模型)将记录路由到快/慢车道。快车道以最大并发量并行运行。慢车道则在更严格的并发控制和明确的成本追踪下运行。这种模式 —— 而不是简单地将所有内容都投入到最大并行度中 —— 是让 Agentic 管道运行可预测而非产生账单冲击的关键。
