Skip to content
AI 智能体将 Jupyter Notebook 转变为数据科学协作助手

Runcell:让你的 Jupyter Notebook 变身为数据科学协作助手的 AI 代理

Updated on

Runcell 是一个 JupyterLab 扩展和 Python 包(`pip install runcell`),它将 AI 代理直接插入您的 notebook 工具栏。不同于附加在 IDE 上的聊天窗口,代理可以读取 notebook 的实时状态——单元格、变量、图表,甚至中间的 DataFrame,并在决策下一步操作时利用这些上下文信息。

如果你大部分时间都在使用 Jupyter notebooks,你可能已经尝试过代码生成工具,比如 GitHub Copilot 或 cursor。它们在自动补全方面表现出色,但仅止步于“文本”层面:你还得自己粘贴片段、运行、调试错误、跟踪变量。Runcell 跨出了一步,它将一个完全自主的代理 嵌入 到 Jupyter 中,让代码生成、执行和迭代在一个连续的循环中完成。


什么是 Runcell?

Runcell 是一个 JupyterLab 扩展和 Python 包(pip install runcell),它能将 AI 代理直接插入你的 notebook 工具栏([Reddit][1])。不同于附加在 IDE 上的聊天窗口,代理可以 读取 notebook 的实时状态——单元格、变量、图表,甚至中间形成的 DataFrame,并在决策下一步时利用这些上下文信息。

其官网将功能分为四个模式:runcell.dev (opens in a new tab):

模式为你做什么
交互式学习使用可运行的示例讲解算法,让初学者“通过执行学习”。
智能编辑原地建议重构、文档字符串和性能优化。
AI 加强回答关于你自己代码或数据的自然语言问题,然后将回答以 Markdown 或新单元格形式插入。
自主代理“YOLO” 按钮:代理会规划、编写、运行、调试并反复运行单元格,直到任务完成。

由于代理可以_调用_ Jupyter 的操作(添加单元格、运行单元格、重启内核等),它感觉不像普通的自动补全,更像是与一个可以动手操作的初级开发者配合。


为什么上下文如此重要?

传统助手生成的代码是孤立的。如果片段中引用了当前内核不存在的变量,就会出现 NameError,你不得不手动解释上下文。而 Runcell 在生成代码之前会检查 globals(),因此它已经知道 df_sales 是一个 100 MB 的 pandas DataFrame,且你在前面两个单元格导入了 matplotlib。r/Jupyter 上的早期用户表示,这种上下文感知让工具 完成 某个任务变得可能,而不是只给出半成品的框架([Reddit][1])。

支持 notebook 感知的 agent 是更大趋势的一部分。Jupyter 社区的 Notebook Intelligence(NBI) 项目最近展示了工具调用如何在 Lab 4 中解锁多步骤的代理([Jupyter Blog][3]),而官方的 Jupyter AI 插件在 2023 年也发布了支持 LLM 的魔法命令([Jupyter Blog][4])。Runcell 依托这些思想打包成了一个倾向于为数据科学家提供“即用即走”体验的方案。


常见工作流程

  1. 安装

    pip install runcell
    jupyter labextension enable runcell  # Lab 4 会自动检测扩展
  2. 打开任意 notebook,点击 Runcell 图标打开聊天侧栏。

  3. 描述你的目标:

    “加载 sales.csv,按区域计算同比增长,并绘制 seaborn 热图。”

  4. 观察代理:

    • 创建新代码单元格。
    • 按正确顺序执行。
    • 遇到导入错误,则安装 seaborn 并重试。
    • 插入一个 Markdown 单元解释分析内容。

你可以随时介入——编辑单元格、固定变量——代理会根据你的更改重新规划。


Runcell 的亮点

  • 探索性分析:自动化模板(导入、数据清洗),让你专注于假设验证。
  • 重复性 notebook:每月报告 notebook 只差日期范围,让代理自动更新参数并重新执行。
  • 教学与演示:交互式学习模式将抽象的解释(如“K‑均值 vs. DBSCAN”)转化为可实时调整的示例(runcell.dev (opens in a new tab))。

局限与注意事项

  • 模型成本与隐私 — Runcell 目前依赖云端的 LLM,较大的 DataFrame 可能会在离开本地前被总结,但请注意遵守合规规则。
  • 自主性不是魔法 — “YOLO” 模式可能会消耗 API 令牌,特别在请求模糊时。建议使用明确范围的提示。
  • Jupyter ≠ 仅支持 Python — 多语言(R、Julia) notebook 正在开发中,但目前还处于试验阶段。

核心要点

Runcell 让 AI 辅助从“花哨的自动补全”迈向 完整的 notebook 自动化。通过将 notebook 视作一个活的工作空间——代码、数据、输出——而非仅仅是文本缓冲区,它缩短了“告诉计算机你想要什么”和“让它完成”的距离。

如果你准备好让代理来处理繁琐的任务,而自己专注于洞察生成,那么只需在下一份 notebook 中输入:

pip install runcell

然后便可以轻松呼吸一口,让自己专注于更核心的工作了。