LangChain集成ScaleDown:用专用小模型替Agent管理上下文
LangChain博客介绍了langchain-scaledown集成及LangSmith LLM Gateway对ScaleDown约束解码模型(CDM)的支持,提供三个中间件分别用于摘要历史、压缩工具结果和提取结构化数据。ScaleDown官方称其模型在该类窄任务上比前沿模型快 200 倍、便宜 467 倍。
AI解读:LangChain发布langchain-scaledown集成,并在LangSmith LLM Gateway中支持ScaleDown的约束解码模型(CDM)。CDM针对单一任务训练,只返回该任务允许的答案,因此可以做得更小、更快、更便宜。
集成附带三个中间件:ScaledownSummarizationMiddleware摘要旧历史、ScaledownToolCompressionMiddleware压缩大型工具结果、ScaledownExtractionMiddleware从对话中提取结构化数据。
ScaleDown提供Summarize、Compress、Extract、Classify四个模型,每个模型最多接受 100 万token输入,Extract、Summarize、Classify还支持图像和扫描版PDF。
LangChain建议把开放式生成任务留给通用大模型,只在上下文管理这类高频步骤上使用ScaleDown专用模型。
LangChain在其博客中宣布推出langchain-scaledown集成,并在LangSmith LLM Gateway中支持ScaleDown的约束解码模型(CDM),用于处理长运行Agent的上下文管理。集成附带三个中间件,分别负责摘要历史、压缩工具结果和提取结构化数据。
ScaleDown的四个约束解码模型
据LangChain博客,ScaleDown的CDM与通用LLM逐token生成任意字符串不同:它针对单一任务训练,只返回该任务允许的答案,例如列表中的某个标签或输入文本中的片段,因此可以更小、更快、更便宜。ScaleDown官方称其模型在这些窄任务上比前沿模型快 200 倍、便宜 467 倍。
ScaleDown目前有四个模型,每个只训练一项任务:Summarize为长文本写短摘要;Compress将一段上下文裁剪到与问题相关的部分;Extract按用户描述的字段从文本中抽取内容,每个字段附带置信度和在原文中的位置;Classify按用户定义的标签给文本打分并返回每个标签的概率,可选择是否返回自然语言理由。
在LangChain博客描述的用法中,Agent模型负责主循环,ScaleDown负责周边的上下文工作:每次模型调用前做Summarize、对模型输出做Classify、对工具结果做Compress、对用户消息做Extract。
博客称每个模型最多接受 100 万token输入,因此一份完整合同、一页长策略文档或一小时的Agent历史可以在一次调用中处理,无需分块。Extract、Summarize、Classify还支持多模态,可直接接收图像和扫描版PDF。
LangChain博客引述ScaleDown在自有基准上的数据:对照GPT-5.5、GPT-5.4 Mini和GPT-5.4 Nano在公开数据集上的平均值,Summarize便宜 41 倍、快 2.7 倍,Compress便宜 138 倍、快 1.8 倍,两者准确率均更高。这些是ScaleDown自家测试结果。
三个中间件的工作方式
ScaledownSummarizationMiddleware替换Deep Agents内置的摘要中间件,接受相同的trigger和keep参数来决定何时摘要以及保留哪些近期消息,摘要由ScaleDown生成。触发后,它用一条摘要替换较早的消息,近期消息保持原样。Agent继续用自己的模型做规划和写代码,只有摘要任务交给ScaleDown。默认返回与LangChain摘要提示相同的几个部分:意图、摘要、产物和后续步骤。如果ScaleDown调用失败,中间件保持历史不变,Agent继续运行。该中间件也适用于LangChain的create_agent。
ScaledownToolCompressionMiddleware给工具加一个可选的compression_query参数。模型在工具调用中填写这个参数,例如“欧盟订单的退款政策”;中间件在工具执行前把它剥掉,然后用ScaleDown将输出压缩到相关部分再交给模型。博客示例中,ScaleDown在模型看到之前将一份长文档页面压缩了接近 90%,压缩结果以一条说明开头,提示模型如需完整内容可去掉compression_query重新调用。博客称工具本身无需改动,因此任何工具包括MCP工具都适用。
ScaledownExtractionMiddleware把字段抽取交给ScaleDown。用户用自然语言描述每个字段,Extract从文本中原样复制值;字段也可以是一组标签,此时由Classify回答,用于按问题类型路由工单。在运行中第一次模型调用前,中间件把用户消息发给Extract,将字段保存到agent状态的scaledown_extraction下供工具读取。博客称Extract只读用户消息、不读Agent回复,因此每个值都来自客户实际说过的内容;配合checkpointer,抽取每轮重新运行,记录随客户补充细节而补全。
漂移检测与自定义中间件
博客还给出一个没有预置中间件的用例:检测Agent的漂移,即反复执行同一个失败的工具调用,或陷入无产出的循环。示例代码在每次模型调用后用 @after_model装饰器发一个自定义中间件,把历史发送到ScaleDown Classify,标签包括progressing、looping、drifting;当最高标签不是progressing且其概率超过 0.8 时,中间件结束运行并在消息中附上模型给出的一行理由。博客称也可以采用更温和的版本:第一次触发不结束运行,而是把理由加入对话作为改变方向的提示,只有再次漂移才停止。
LangSmith LLM Gateway接入与使用边界
据博客,ScaleDown现在是LangSmith LLM Gateway的直接模型提供商之一,位于 /scaledown路径。管理员将ScaleDown密钥以SCALEDOWN_API_KEY加入工作区提供商密钥,然后让langchain-scaledown指向网关并用LangSmith密钥认证。每次ScaleDown调用会作为一条LangSmith trace出现,并计入与其他模型调用相同的限额。
LangChain建议开放式生成任务仍留给通用大模型,例如写代码、起草回复和规划,只把上下文管理这类高频步骤交给ScaleDown专用模型。博客称ScaleDown足够快和便宜,可以在每一轮运行。安装方式为uv pip install -U langchain-scaledown并设置SCALEDOWN_API_KEY;博客称新ScaleDown账户可获 5000 万免费token。