总览 · 2024 年 3 月 11 日 · 16 分钟
规划、工具、观察、纠错:智能体循环怎么接到问数上
传统工作流把步骤写死:先链接结构,再生成 SQL,再执行。问题含糊或执行报错时,流水线没有回头路。观远文把智能体循环写成:模型每次要么回答,要么调工具;工具结果回到对话;设迭代上限(例如 5–8 轮)。到上限仍无结论,要返回「已验证什么、还缺什么」。
DIN-SQL(Pourreza & Rafiei)把生成拆成子任务:结构链接、分类、生成、自纠错。这是循环的学术版:先分解,再在错误上改。CHASE-SQL 更进一步:多路生成候选,再用选择器挑,而不是只信一次解码。
接到软件上,循环的状态至少要包括:当前问题、已选表、已确认口径、候选 SQL、最后一次错误、已用轮数。每一轮只允许一种主动作:澄清、看结构、抽样、生成、执行、解释。禁止一轮里又改 JOIN 又改时间窗——那样成功了也不知道为什么。
安全阀有两条:迭代上限,和工具白名单。白名单里不放更新、删除、建表。公开实现文把只读和限时限行写在工具层,这是循环能进生产的前提。
出处
- 观远数据,智能问数落地清单:四工具 + 纠错循环
- Pourreza & Rafiei, DIN-SQL, arXiv:2304.11015
- Pourreza et al., CHASE-SQL, arXiv:2410.01943