无需 LLM 也能聚类 LLM 调用:Seldon Trace Audit 实践
Seldon 团队发布 Trace Audit v0,用确定性合约特征与 DBSCAN 对 12,517 条 LLM 调…
在长期运行 OpenAI 兼容网关后,团队会发现大量看起来不同、本质却相同的 LLM 调用:相同的 JSON Schema、相同的「返回答案片段」、相同的「归一化发证方名称」。它们只是承载着不同的公司、金额和句子。Seldon 团队围绕这一观察构建了 Trace Audit v0:在 12,517 条调用轨迹上做聚类,全部用确定性特征与 DBSCAN 完成,模型成本接近 0,并取得了 1.000 / 0.9999 / 1.000 的精确率 / 召回率 / 纯度。这篇文章梳理了他们的方法、踩过的坑,以及把聚类结果当作「受限程序合成规格」的更大设想。
为什么值得做这件事
很多团队起步时直接用前沿模型做抽取、分类、归一化,调试快、效果稳。但一旦量级上来,就会发现相当比例的调用其实在重复同一套动作:同一份 prompt 模板、同一套 response_format,只是 payload 不同。团队因此在用推理价格跑批量的 ETL 任务,既缺乏调用谱系,也缺少「哪类工作流吞掉了最多预算」的视图,更没有一条安全的「下模型」路径。
Seldon 的整套思路被刻意设计得很朴素:第一步用 Trace Audit 把网关流量切成合约一致的桶;第二步把每个桶当成受限程序合成的 spec,去类型化算子库里搜出更便宜的等价管线;第三步在影子流量上验证,必要时回退到 LLM。这一篇聚焦的是第一步——如果桶切错了,后面所有编译都是空谈。
常见路径为什么是错的
业内流行的「理解 LLM 流量」做法是:先让 LLM 给轨迹写摘要、再做 embedding、最后按相似度聚类。这条路径来自产品分析栈,直观、好解释。但对编译器来说,它的目标函数是错的。
- 正确目标:识别「同一段可编译的抽取程序」,而不是「同一主题」。
- 错误合并:把输出为
{vendor, invoice_number, total}的结构化抽取和输出为自由段落描述的同类主题调用混在一起。 - 错误切分:把两份实体不同但角色、模式、输出形状完全一致的 span 抽取当成两段程序。
结论:程序同构性 ≠ 文档相似性。用 LLM 摘要+embedding 的链路,应当让位给确定性合约特征。
Trace Audit v0 的做法
聚类在合成之前必须完成,且必须足够干净:合并错误会让合成 spec 失真,分割过细则会漏掉真正的省钱机会。
流水线
- 解析 OpenAI 形态的轨迹,抽取确定性合约特征。
- 硬合约块(precision gate):先把 prompt 模板、response_format、工具定义等结构完全一致的调用分组。
- 诚实门(honesty gate):跳过过短或全自由文本的块,避免把噪声当信号。
- 在每个块内部用 DBSCAN 对短确定性特征串(embedding_text)做聚类。
- 后续步骤:为每个簇打 Family A–G 标签或标记为不可编译;可选地用 LLM 生成解释与 dossier。
实验结论
- 在 12,517 条轨迹上达到 1.000 / 0.9999 / 1.000 的精确率 / 召回率 / 纯度。
- 模型成本约 0 美元。
- 引入 GPT-4.1、GPT-5.6-luna、Phi-4 等在线摘要器并不能提升聚类效果,反而会损害纯度。
实操建议:把 LLM 留给聚类之后的标签与 dossier 生成,而不是拿它做聚类信号本身。
更大的图景:Audit → Compile → Runtime
Trace Audit 只是 Seldon 三段链路的第一段。接入网关后,团队第一天就能用 base_url 替换拿到普通网关能力;运行一段时间后,重复的轨迹会沉淀出免费的 I/O 规格。
- Audit:把相同程序从不同 payload 里挖出来。
- Compile:把每个簇当作一个 spec,在类型化算子库(Family A–G 加适配器)里搜更便宜的等价实现。
- Runtime:编译确定的路径走便宜管线,置信度不足时回退到前沿模型作为安全网。
这一设计借鉴了经典的程序合成范式:spec 由聚类轨迹充当(programming-by-example),搜索空间是固定的类型化算子库,提议先验用前沿模型在编译时给出,验收则在 hold-out 轨迹上做统计式匹配。三处偏离教材的地方值得记下:验收是统计而非证明;LLM oracle 本身有噪声;I/O 合约是从流量里反推出来的。整套管线只覆盖浅层 DAG,不处理需要真正推理或递归的调用——遇到这种情况,Gate 1 直接判否,不勉强合成。
小结
Trace Audit v0 的核心结论可以用一句话概括:聚类 LLM 轨迹这件事,不需要 LLM 来做。硬合约先行、块内 DBSCAN 兜底,几乎不花钱就能拿到 1.000 级的精确率与纯度。下一个挑战是更难的——把这些干净簇真正编译成可执行的等价管线,Seldon 团队表示会另起一篇展开编译器细节。
