🟡 🤝 智能体 发布于: · 2 分钟阅读 ·

LangChain:Deep Agents引入QuickJS解释器,可在工具调用之间执行代码

Editorial illustration: LangChain Deep Agents的QuickJS解释器在工具调用之间保持状态,减少Token消耗

LangChain于2026年5月20日在Deep Agents框架中引入解释器——内置QuickJS运行时环境,允许代理在LLM工具调用之间编写和执行代码,无需将状态序列化到消息历史。公司称在某些任务上可节省高达35%的Token消耗,因为状态持久保存在运行时内而非模型上下文中,且默认不允许访问文件系统、网络或Shell,具有明确的可控动作空间。

🤖

本文由人工智能基于一手来源生成。

LangChain于2026年5月20日Deep Agents框架中引入解释器——内置QuickJS运行时环境,允许代理在LLM工具调用之间编写和执行代码,无需将状态序列化到消息历史。公司称在某些任务上可节省高达35%的Token消耗,因为状态持久保存在运行时内而非模型上下文中。

解释器与代码执行工具有何区别?

在经典工具调用模式中,LLM选择工具,工具在模型外执行,结果作为工具输出消息返回,模型决定下一步。每个中间步骤都填充上下文窗口,复杂的多步任务很快就会达到Token限制解释器引入了一个中间层:代理编写在QuickJS引擎中执行的JavaScript代码(具有内存限制和超时),该代码直接调用工具、操作数据并在步骤之间保持状态。

这与OpenAI Code InterpreterClaude代码执行不同,后者作为工具运行——解释器是一个运行时层,代理可以在其中以单一程序单元调用多个工具,无需为每个步骤经过LLM上下文。

35%更少Token的说法有何依据?

LangChain在公告中给出了具体基准场景:处理大型文档集的代理(如分析200份PDF)传统上在消息历史中生成200个步骤。使用解释器后,代理编写一个循环代码,对每个文档调用工具,将结果聚合到局部变量,只将最终摘要返回给模型。这既节省了输入(后续每次调用的历史上下文更小),也节省了输出(模型不再需要生成重复的工具调用指令)。

安全性如何解决?

QuickJS解释器具有明确的最小动作空间。默认不允许访问文件系统、网络或Shell。所有能力必须通过组织配置的宿主桥显式开放。这避免了提示注入问题——被篡改的提示会诱导代理访问本不应访问的资源——边界在运行时层面而非LLM层面定义。

对代理生态有何意义?

这一方法在哲学上与Anthropic的「计算机使用」模型(Claude在沙盒中执行操作)和OpenAI Code Interpreter相似,但针对工具编排而非开放式代码执行进行了优化。AutoGPT、CrewAI和AWS Strands Agents很可能也将遵循类似模式——LLM与工具之间的程序化层正成为现代代理架构的标准组件

常见问题

Deep Agents中的QuickJS解释器是什么?
QuickJS是一个具有内存限制和执行超时的轻量级JavaScript引擎,在Deep Agents运行时中执行。代理可以在LLM调用之间编写JavaScript代码——该代码直接调用工具、操作数据并在步骤之间保持状态,无需经过LLM上下文。
为什么Token消耗更少?
在经典工具调用模式中,每个工具结果和中间状态都必须进入消息历史,代理才能知道当前进度。解释器在本地保持状态——模型无需看到所有中间步骤,只需看到最终结果或摘要,上下文不会随步骤数线性增长。
安全性如何保障?
解释器设计为最小动作空间。默认不允许访问文件系统、网络或Shell。所有能力必须通过宿主桥显式开放,使组织能够精确控制代理可执行的操作。