MIT Carnot:把深度研究查询拆成可见、可纠偏的执行图

Carnot: Interpretable, Interactive, and Optimized Execution of Deep Research Queries

Matthew Russo, Yash Agarwal, Tianyu Li, Zhuohan Gu, Michael Cafarella, Omar Khattab, Tim Kraska, Samuel Madden

cs.DB, cs.AI

2026-08-10

Carnot 把自然语言查询编译成可视执行图,notebook 里逐算子检查改写,改一格只重跑该格,并按成本与延迟预算自动换实现。

这篇在解决什么

企业分析师想用自然语言查数据湖,现有两条路都不顺手。一类是深度研究 agent,丢一个问题进去等一个答案出来,中间的检索、变换、LLM 调用全藏在黑盒里,既看不到它在哪一步跑偏,也拦不住它基于错误前提往下编;另一类是语义算子,流程透明但按 LLM 调用计费,放大到企业级数据湖上贵得用不起。结果是分析师既没法核实中间结果,也没法纠正系统的走向,要改只能整条重跑,把昂贵的算力再付一遍。

方法

Carnot 把自然语言请求编译成一张物理执行图,在执行开始前就摊开给用户看。每个算子是一个 notebook 单元,可以切到三个抽象层看:自然语言意图、生成的代码或 prompt、原始输入输出。执行是增量的,带缓存,改一个单元,只有这个算子重跑,上游没动的结果直接复用。这条设计直接对应了前面那个痛点:不用为每一次迭代付全价。

几个关键设计:

结果

这里要诚实说:Carnot 是一篇 demo 论文,没有给传统意义上的定量 benchmark,也没有跟其他系统做数字对照。它用两个工作负载展示交互流程:一份脱敏的 1000 条消费品类目评论,和学术基准 KramaBench 的法律任务,跑了三个场景:执行前检查计划 DAG、用对话追加约束让系统重规划、直接在单元里改 prompt 然后看下游重算。

维度Carnot 提供的论文未提供
计划透明度执行前可见的 DAG 加三层单元视图与其他系统的数字对比
成本控制按用户预算动态换实现实际节省金额或 token 数
正确性无保证计划准确率的量化评估

代码开在 github.com/mitdbg/carnot。

为什么重要

对在搭企业级 AI 分析系统的人来说,这是把「黑盒 agent」和「昂贵的语义算子」之外那条折中路线做实了:既保留 LLM agent 的灵活性,又把过程暴露出来让人能拦、能改、能控成本。增量执行加缓存这一点尤其实际,迭代式数据分析里大头开销是反复重跑,能只重跑改动部分就省下来。

局限与存疑

论文自己承认系统对计划的准确性或正确性没有任何保证。它提了一条软统计保证的思路(借用 Lotus 那套,相对某个 oracle 给统计保证),但作者也说明这是软的,oracle 本身也可能错。此外 demo 论文体例决定了没有跟现有 deep research 系统的端到端数字对比,成本的「节省」目前是机制论证不是实测。作者列了几个还没做的:web 搜索、通用 tool calling,以及把 notebook 界面改进得更能体现执行图的非线性 DAG 结构。

术语

原文与代码

社区讨论

相关论文

全部论文解读