LangChain.js 于 2026-09-27 发布 @langchain/[email protected]:移植 Python 侧能力,在 Chat Completions 与 Responses 两条 API 上转发显式 prompt cache 选项,保留 content-block 断点,并把 cache-write token 用量映射到 cache_creation。同日补丁修正 promptCacheRetention: "in-memory" 必须序列化为 API 接受的 "in_memory",且 promptCacheKey/promptCacheRetention 优先级与 promptCacheOptions 一致(调用级 → modelKwargs → 构造参数);Chat Completions 上 modelKwargs 不再被丢弃。

核心要点速览 (Key Takeaways)

🔬

深度技术解析与实战评估

核心背景与行业痛点

长上下文 Agent 多轮调用若不能稳定打开 OpenAI prompt cache,会重复付提示前缀费用,也会在「中间断点」处丢掉可缓存块。LangChain.js 先前缺少与 Python 对齐的显式 cache 选项透传;把 promptCacheRetention 写成带连字符的 in-memory 还会被 API 直接拒绝,线上表现为「开了缓存却从不命中」。

架构亮点与底层机制

@langchain/[email protected] 经 PR #11232 移植 langchain-ai/langchain#38762:在两条 OpenAI API 路径转发显式 prompt cache 选项,保留 text/image/file 等 content-block 断点(含 null),并将 cache-write token 记到用量字段 cache_creation。PR #11735 把 "in-memory" 序列化为 "in_memory",统一 promptCacheKey/promptCacheRetention 与 promptCacheOptions 的三级覆盖顺序,并修复 Chat Completions 丢弃 modelKwargs 的问题。

权威 Benchmark 与实测跑分对比

发行说明与 PR 未给出统一的公开延迟/成本榜;验收应以同一长前缀多轮脚本对比升级前后的 cache_creation / cache-read token 与账单。确认 retention 为 in_memory(或文档允许的其他枚举)且断点块在中间轮次仍被识别。勿把「支持 cache」直接外推为固定省钱百分比。

开发者实战落地与开箱指南

npm i @langchain/[email protected]。按 Chat OpenAI 集成文档 在模型构造或调用级传入 promptCacheOptions / promptCacheKey / promptCacheRetention。若使用 @langchain/xai,可同步到 1.4.15。升级后打一条带长 system 前缀的金丝雀,检查用量元数据是否出现 cache 字段。