Skip to content

docs: 修正第 7 章解释器技能中间件配置并补充说明 - #167

Merged
webup merged 2 commits into
datawhalechina:mainfrom
KissFeng:fix/ch07-quickjs-middleware-config
Oct 26, 2026
Merged

webup merged 2 commits into
datawhalechina:mainfrom
KissFeng:fix/ch07-quickjs-middleware-config

Conversation

@KissFeng

@KissFeng KissFeng commented Oct 26, 2026 •

Copy link
Copy Markdown

修复 #166

问题描述

在早期实验版本中曾探索通过 CodeInterpreterMiddleware(skills_backend=backend) 导入 Skill 脚本。自 langchain-quickjs 0.2.0 起,官方移除了 skills_backend 参数以及向 QuickJS 导入 Skill 模块的机制;若仍使用旧配置,运行时会抛出:
TypeError: CodeInterpreterMiddleware.__init__() got an unexpected keyword argument 'skills_backend'

修改内容

  • 修正配置:将 content/ch07-skills.md 中的示例调整为当前标准可运行的 CodeInterpreterMiddleware(mode="call")。
  • 更新版本说明:注明示例基于 langchain-quickjs 0.3.9 核对,说明 skills_backend 与模块导入自 langchain-quickjs 0.2.0 起移除。
  • 说明当前执行方式:补充解释器在内存中通过 eval 执行循环、筛选与聚合等逻辑,说明 mode="call" 每次使用全新环境且不保留变量状态;说明复用业务逻辑可结合 ptc 白名单暴露工具或使用沙箱运行脚本。
  • 对齐概述与小结:同步调整章节引言及小结中关于解释器技能直接 import 代码模块的表述。

验证

  • npm run assets:check:通过(61 张图片、22 份 PDF、61 个正文图片引用验证无误)
  • npm run assets:test:5 项通过
  • npm run docs:test:2 项通过
  • npm run ci:test:10 项通过
  • npm run build:全站 21 个页面静态构建成功通过

@webup

webup commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

感谢 @KissFeng 发现并修正这处失效用法!按当前 langchain-quickjs 0.3.9 核对,移除 skills_backend、改用 CodeInterpreterMiddleware(mode="call") 的方向正确,代码配置可以保留。

正文再调整两处即可:

  1. 更新版本说明:建议注明“本节示例按 langchain-quickjs 0.3.9 核对”,去掉“0.2.0 对应 Deep Agents 0.7.0”和“官方要求 >=0.2.0”的旧描述。若保留历史说明,写清 skills_backend 与 Skill 模块导入自 langchain-quickjs 0.2.0 起移除即可;这项变化早于 Deep Agents 0.7。请同步修正 PR 描述。
  2. 说明当前执行方式:模型将 JavaScript 交给 eval 执行循环、筛选和聚合;skills 配置不会自动导入辅助函数,mode="call" 每次使用新环境,也不保留上一次 eval 的变量或函数。因此,“不必每次都由 LLM 重新生成”的表述需要调整:复用已有业务逻辑可通过 ptc 白名单暴露工具,或使用沙箱运行脚本。请同步调整章节概述和小结中“解释器技能直接 import 代码模块”的说法。可参考官方 Interpreters 说明。

配图由我们这边更新,你专注正文即可,无需扩展成完整的 PTC 教程。再次感谢你的贡献!

@KissFeng

Copy link
Copy Markdown
Author

非常感谢 @webup 的细致评审与指导!已根据建议完成调整并推送到分支:

  1. 更新版本说明:在正文提示框中注明示例基于 langchain-quickjs 0.3.9 核对,去除了旧的版本推导描述,明确说明 skills_backend 与 Skill 模块导入机制自 langchain-quickjs 0.2.0 起移除;并已同步更新 PR 描述。
  2. 说明当前执行方式:在正文中补充了模型将 JavaScript 交由解释器 eval 执行循环、筛选与聚合的机制,明确了 skills 不会自动向解释器导入辅助函数、mode="call" 下每次执行均使用全新隔离环境的特性,并说明了复用业务逻辑可结合 ptc 白名单暴露工具或使用沙箱运行脚本。
  3. 章节引言与小结对齐:同步修正了“用 Skills 执行代码”小节引言与章末小结中关于“解释器技能直接 import 代码模块”的表述。

本地完整跑通 npm run assets:check、npm run assets:test、npm run docs:test、npm run ci:test 以及 npm run build,麻烦抽空再次审阅!

@webup
webup merged commit d9a98f3 into datawhalechina:main Oct 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants