Simulating Complex Multi-Turn Tool Calling Interactions in Stateless Execution Environments
本文介绍了 DiGiT-TC,这是一种新颖的数据生成方法,它通过将工具调用隐式地嵌入用户请求中,为无状态执行环境合成复杂的多轮工具调用对话,从而能够在不依赖有状态验证的情况下有效微调较小的语言模型。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在教一个机器人管家如何处理复杂的差事,比如“找一部电影,查询放映时间,并为第一个可预订的场次购票”。
在现实世界中,如果你要测试这个机器人,你会让它在一个真实的电影院系统中实际运行这些指令。你会观察它如何查询数据库、查看结果,然后购买门票。如果它成功了,你就知道它学得很好。到目前为止,大多数 AI 研究人员都是这样做的:他们构建了“游乐场”,让机器人能够实际接触并改变事物(即有状态的环境)。
问题所在:
但如果你不能让机器人接触真实世界呢?也许数据过于敏感(例如银行的机密客户名单),或者构建“游乐场”的成本太高。在这些情况下,你无法通过让机器人实际运行来测试它。你只能使用一份指令列表(工具规范)来教导它,而永远无法看到实际结果。
大多数以往的方法试图通过假装机器人确实执行了命令来模拟这种情况。但它们遗漏了人类对话中的一个关键部分:隐式步骤。
当你请人类助手“为第一个放映场次购票”时,你不会说:“首先,运行‘查询放映时间’工具,然后运行‘购票’工具。”你只需给出目标。助手知道它必须先查询,即使你并未明说。这就是一个隐式工具调用。以往的方法难以创建能够教导机器人自行推断这些隐藏步骤的训练数据。
解决方案:DiGiT-TC(“逆向工程”方法)
IBM 的研究人员引入了一种名为DiGiT-TC的新方法。他们不再问机器人“接下来该做什么?”,而是反其道而行之。
将其想象为一位电影导演倒着工作:
- 导演先写剧本:系统首先要求一个强大的 AI 写出机器人解决问题所需的完整动作序列(例如:查询放映时间 -> 购票)。
- “编辑”隐藏线索:随后,系统扮演一位聪明的编辑。它拿这份完整剧本,决定向“用户”隐藏哪些步骤。它保留最终目标(购票)可见,但隐藏中间步骤(查询放映时间)。
- “翻译”撰写提示:现在,系统要求 AI 撰写一个仅与可见部分相匹配的用户请求。因此,用户说“为第一个放映场次购票”,而 AI 则必须自行推断出隐藏的“查询放映时间”步骤。
- “双重检查”(回译):为了确保 AI 没有产生混淆,系统运行一项“反向测试”。它拿用户的请求(“购票……"),要求 AI 从头开始解决它。如果 AI 得出的隐藏步骤与原始剧本完全一致,则该数据有效;如果 AI 出错,则该数据被丢弃。
为何这很重要:
通过这种“逆向工程”方法,研究人员创建了一个庞大的训练数据库,让机器人学会填补空白。他们在标准的“考试”基准测试(如 BFCL 和 τ-bench)上进行了测试,发现:
- 在此数据上训练的机器人在处理多步骤任务方面有了显著提升。
- 它们的性能与那些使用顶级闭源模型生成的、成本高昂得多的数据所训练的机器人相当,甚至更优。
- 该方法甚至无需在真实的“游乐场”中测试机器人即可生效,使其适用于银行或医院等敏感环境。
核心结论:
该论文声称,通过“逆向”生成数据——从解决方案出发,反向推导至问题——他们能够教导更小、更便宜的 AI 模型处理复杂的多步骤任务,效果与那些庞大、昂贵的模型相当,且无需在训练过程中访问真实的敏感数据系统。他们已将所有代码和数据开源,供任何人使用。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。