XGrammar-2: Efficient Dynamic Structured Generation Engine for Agentic LLMs
XGrammar-2 是一款专为动态代理式大语言模型工作负载设计的高效结构化生成引擎,其通过标签触发的结构切换与跨语法缓存复用,实现了相较于先前系统超过 6 倍的编译速度提升以及近乎零的端到端开销。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你是一位厨师(即 AI),正试图遵循一份极其严格的食谱。有时,食谱很简单:“做一个三明治。”但在 AI 智能体(Agent)的世界里,食谱往往是一组复杂且不断变化的指令,例如:“写一句话,然后切换到 JSON 代码块以调用天气工具,接着切换回写一句话,再切换到数据库查询的特定格式。”
问题在于,传统的“厨房”(AI 引擎)非常擅长遵循单一固定的食谱,但当食谱在运行中发生变化,或者厨师需要在数十种不同的复杂格式之间瞬间切换时,它们就会显得力不从心。它们往往不得不暂停,从头开始重写整本食谱,然后才能开始烹饪,这使得整个过程变得缓慢。
XGrammar-2 是一款全新的、超高效的厨房引擎,专为这些混乱且动态的烹饪场景而设计。以下是它的工作原理,通过简单的类比来说明:
1. “魔法开关”(TagDispatch)
问题所在: 想象一份食谱写着:“保持正常书写,直到看到单词'STOP',然后切换到数学模式,再切换回来。”用旧方法来实现这一点,就像试图编写一本庞大且纠缠不清的说明书,其中每一个可能的单词都指向不同的页面。这既混乱又庞大。
XGrammar-2 的解决方案: 他们引入了一项名为 TagDispatch 的功能。将其想象为一个 魔法开关 或 交通信号灯。
- AI 正常书写(绿灯)。
- 一旦它看到特定的触发器(例如标签
<function=weather>),信号灯瞬间变红,引擎便确切知道要切换到哪个“子食谱”(即天气的 JSON 格式)。 - 一旦该子食谱完成,信号灯再次变绿,AI 便恢复正常的书写。
- 为何酷: 引擎无需编写一本巨大且令人困惑的说明书,只需跟随交通信号灯即可。这使得在自由流动的文本和严格的代码之间进行切换变得瞬间且轻松。
2. “共享库”(Cross-Grammar Cache)
问题所在: 想象你要烹饪 100 道不同的菜肴。其中 90 道菜都使用完全相同的“切洋葱”步骤,但旧引擎将每道菜视为全新的任务。它每做一道菜都要从头重新学习如何切洋葱。这是对时间的浪费。
XGrammar-2 的解决方案: 他们构建了一个 共享库(Cross-Grammar Cache)。
- 即使最终的菜肴(完整语法)不同,但食材和步骤(子结构)往往是一样的。
- XGrammar-2 会查看步骤。如果它发现“哦,我已经为类似的菜肴算过如何切洋葱了”,它就不会重新计算。它直接从共享库中取出预先切好的洋葱。
- 为何酷: 它阻止了引擎反复进行相同的计算。即使整体请求不同,它也会重用已经完成的“工作”。
3. “即时”厨师(JIT Compilation)
问题所在: 在过去,在你能吃上一口之前,引擎必须为每一个请求阅读 整本 食谱。如果食谱非常庞大(例如包含 500 种可能工具的调用请求),引擎会在开始烹饪前坐在那里几秒钟,仅仅是在阅读食谱。
XGrammar-2 的解决方案: 他们采用 即时(JIT) 方法。
- 厨师不再先阅读整本书,而是只阅读 此刻 需要的页面。
- 当 AI 思考前几个词(即“预填充”阶段)时,引擎正在悄悄准备食谱的后续几页。
- 为何酷: 它隐藏了准备时间。当 AI 准备好说出下一个词时,引擎已经准备好了下一步。这使得“第一个词”几乎瞬间出现,即使对于复杂任务也是如此。
4. “压缩地图”(Repetition State Compression)
问题所在: 有些食谱包含重复的步骤,例如“重复此动作 1,000 次”。旧引擎会尝试绘制一张地图,为每一步画 1,000 个独立的点。这张地图变得巨大,并拖慢了所有进程。
XGrammar-2 的解决方案: 他们使用 重复状态压缩。
- 他们不再绘制 1,000 个点,而是画一个大的“循环”箭头,并说:“在这里绕 1,000 圈。”
- 为何酷: 无论 AI 需要重复一个步骤多少次,它都能保持地图小巧简洁。这防止了引擎被长长的列表或循环所拖累。
结果:他们发现了什么?
该论文将这款新引擎与当前最佳方法进行了测试:
- 速度: 它编译“食谱”(即语法)的速度比之前的引擎快 6 倍。
- 效率: 它给 AI 的响应时间增加了几乎 零延迟。它快得 AI 甚至察觉不到它的存在。
- 兼容性: 它与流行的 AI 系统(如 SGLang 和 vLLM)无缝协作,并能轻松处理调用工具或遵循严格响应格式等复杂任务,毫不费力。
简而言之,XGrammar-2 就像是将 AI 的大脑从一位缓慢、僵化的图书管理员(他在回答问题前必须重新整理每一本书)升级为一位超快、灵活的助手,他确切知道在哪里找到答案,重用之前的知识,并在不打断节奏的情况下瞬间切换话题。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。