Agent Skills
返回列表
💻

Jupytext 笔记本配对

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/pair-jupyter-notebooks-with-plain-text-files-so-review-and-agent-edits-stay-readable-with-jupytext。

技能介绍

问题:笔记本 JSON 让审查与协作变重

Jupyter 笔记本整体以 JSON 存储,单元格里混杂了代码、输出、图片的 base64 编码和元数据。一次简单编辑在 Git diff 中可能膨胀成数百行,审查者很难看清逻辑上究竟改了什么;自动化代理直接编辑笔记本 JSON 时,既可能破坏结构,生成的补丁也几乎不可读。团队往往只能在放弃版本控制和接受不可审查的历史之间二选一。

核心思路:给笔记本配一份纯文本副本

这个技能借助 jupytext 为每个笔记本维护一个平行的纯文本表示——.py 或 .md 文件,并让两者保持同步,任一侧的修改都会反映到另一侧。

关键能力与步骤:

  • 格式映射:笔记本可编码为 py:percent 等格式,.py 文件用百分比标记划分代码与输出,看起来就像一份普通脚本。
  • 编辑器集成:在 JupyterLab 中激活 Jupytext 后,.py 和 .md 文件会带笔记本图标,右键即可当作笔记本打开。
  • 工作流迁移:开发者可以在纯文本上做版本控制、diff 和重构;审查者读 .py 或 .md 的 diff 就能看懂改动;代理编辑的对象是可读文本,而不是脆弱的 JSON 结构。

适用边界与注意点

  • 该方案依赖 jupytext 的同步机制,笔记本与文本表示必须成对管理,只改一侧可能产生不一致。
  • py:percent 等格式会把单元格边界和部分输出编码进文本,并非所有笔记本元素都能无损映射。
  • 需要 JupyterLab 或 Jupyter Notebook 环境支持,重启服务器后应确认 Jupytext 已生效。
  • 对输出密集、含富媒体的笔记本,首次转换后需要检查文本表示的可读性。

使用场景

  • 团队用 Git 管理数据分析笔记本,希望代码改动能以纯文本 diff 被审查,而不是整段 JSON 变更
  • 自动化代理批量修改笔记本中的分析逻辑时,直接改 JSON 容易出错,想改为操作可读的 .py 文件
  • 笔记本混入大量输出和图片后难以看清逻辑改动,想改用纯文本表示逐段比对
  • 项目同时维护 .py 脚本和 .ipynb 笔记本,需要两者保持同步,避免只改一侧造成不一致

适合人员

  • 用 Git 管理 Jupyter 笔记本的数据分析工程师,想让每次代码改动都能被清晰审查
  • 负责维护大量分析笔记本的技术团队负责人,需要在合并前快速看懂别人改了什么
  • 为 AI 代理准备可编辑任务的工程师,想让代理直接读写可读的 .py 文件而不是笔记本 JSON
  • 既写 .py 脚本又跑 .ipynb 笔记本的数据科学从业者,需要两条线内容保持一致