Skip to content
Published on

ノートブック環境 2026 — Jupyter / Marimo / Quarto / Observable Framework / Deepnote / Hex / Positron 徹底比較

Authors

プロローグ — 「ノートブック」という言葉が指すものは多すぎる

2026 年、データ分析者・ML エンジニア・学生・研究者がそろって「ノートブック」と呼ぶものは、実は 4 種類の異なるツールだ。

  • クラシックノートブック — Jupyter Lab 5 / Notebook 7、VSCode Notebooks。セルを上から順に実行し、状態はカーネルが保持する。
  • リアクティブノートブック — Marimo、Observable Framework、Pluto.jl。セル間の依存関係をグラフとして追跡し、1 つのセルを変更すれば下流セルが自動で再実行される。
  • 出版システム — Quarto、R Markdown、Curvenote。ノートブックを PDF・HTML・論文・書籍にレンダリングする。
  • 協業型 SaaS — Deepnote、Hex。クラウドホスティング、チームでの同時編集・共有・スケジュール実行。

これら 4 つは「.ipynb」拡張子を共有することもあるが、解こうとしている問題が異なる。そして 2026 年現在、どれも他を吸収していない — むしろ各カテゴリ内での競争が激化している。

本稿はその地図を描く。Jupyter 陣営の安定化、Marimo の挑戦、Quarto が築いた出版パイプライン、Observable Framework の静的サイト戦略、そして 2 つの SaaS 軸(Deepnote / Hex)。最後に カカオ・トス・Mercari・ZOZO が実際にどう使っているかまで。


1. 2026 年のノートブック地図 — 4 分類

分類代表的ツールファイル形式中核価値弱点
クラシックJupyter Lab 5, Notebook 7, VSCode.ipynb (JSON)標準・生態系・カーネル多様性隠れた状態、差分が取りにくい
リアクティブMarimo, Observable Framework, Pluto.jl.py / .md / .jl再現性、依存関係の自動追跡学習コスト、生態系が小さい
出版Quarto, R Markdown, Curvenote.qmd / .Rmd / .myst1 ソースで PDF/HTML/論文インタラクティブ性が弱い、ビルドが遅い
SaaSDeepnote, Hexクラウド専用協業、スケジュール、権限ロックイン、価格、オフライン不可

要点: 「ノートブック」という一語で異なるカテゴリ同士を比較すると、必ず誤った結論になる。 「Marimo は Jupyter より優れている」はリアクティブ vs クラシックの文脈でだけ意味があり、「Hex は Quarto より優れている」はカテゴリ自体が異なる。

もうひとつ: 言語生態系が選択の半分を決める。 R ユーザーは自然と RStudio → Positron / Quarto に流れる。Julia ユーザーは Pluto.jl。JS・D3 ユーザーは Observable。Python は全カテゴリに存在する — だからこそ Python ユーザーは選択肢が一番多く、一番混乱する。


2. Jupyter Lab 5 + Notebook 7 — 標準の定着

2024 年に JupyterLab 5 が正式リリースされ、Lab 4 時代の遺物(旧拡張機構、jupyter-server の競合)は綺麗に片付いた。2026 年現在 Lab 5 は以下を安定して提供する。

  • 連合型拡張機構(Federated extensions) — npm ビルドなしで pip install のみで導入。
  • JupyterLab Desktop — Electron ベースの単独デスクトップアプリ、Anaconda 依存なし。
  • リアルタイム協業(RTC) — y-py ベースの同時編集、Lab 4 で実験段階だった機能が安定化。
  • AI アシスタント統合 — jupyter-ai 4.x でセル単位の LLM 呼び出しが一級市民。

Notebook 7 は「クラシック Notebook の UI を Lab の上に載せたもの」。UI は昔ながらの Jupyter だが、バックエンドは Lab と同じ jupyter-server。教育市場が今も「Lab UI は複雑だ」と感じるため残っている。

それでも残る問題 — 隠れた状態

Jupyter の本質的な弱点はセル実行順だ。次のパターンを見たことがあるだろう。

# セル 1
x = 10

# セル 2
y = x * 2

# セル 3
x = 100  # 後から追加

セル 1 → 2 → 3 の順に実行すれば y = 20 になる。保存して開き直し、セル 3 → 2 → 1 の順に実行すれば y = 200 になる。同じノートブック、異なる結果。 これが隠れた状態だ。

さらに、セル 3 を削除しても x = 100 はカーネルメモリに残る。「Restart kernel and run all」を押すまで真実はわからない。データ分析レポートがこの罠に落ちると、「再現できない分析」になる。

2018 年から問題は指摘されており、いくつもの解決案が出てきた(papermill、nbdev、jupytext)。2024 年、Marimo が正面から答えを出した — 「ならばランタイムをリアクティブに作り直そう」。


3. Marimo(2024 年 6 月公開) — リアクティブ + .py ファイル形式

Marimo は Akshay Agrawal と Myles Scolnick による。2024 年 6 月一般公開、同年シードラウンド完了。中核アイデアは 2 つ。

  1. リアクティブな実行グラフ — セル間の変数依存を追跡し、1 つのセルを変更すれば影響を受ける全セルが自動で再実行される。スプレッドシートのように。
  2. .py ファイル形式 — ノートブックが純粋な Python ファイル。JSON ではない。git diff が綺麗に出て、IDE からそのまま import 可能。
# my_notebook.py — Marimo ノートブック
import marimo

__generated_with = "0.10.0"
app = marimo.App()


@app.cell
def __():
    import pandas as pd
    return pd,


@app.cell
def __(pd):
    df = pd.read_csv("data.csv")
    return df,


@app.cell
def __(df):
    df.describe()
    return

ノートブック全体が 1 つの .py ファイルになっている。セル間の変数が関数の引数・戻り値として明示されるので、依存グラフが静的に追跡できる。

隠れた状態が消える

  • セル 3 で x = 100 を作ると、x を使うセル 2 が自動再実行 → y = 200。
  • セル 3 を削除すると x はなくなる。他のセルで x を参照していればすぐエラー表示。
  • 「Restart and run all」は不要。あらゆる時点で「画面の状態 = コードを最初から実行した結果」が保証される。

その他の機能

  • marimo run — ノートブックをそのままインタラクティブな Web アプリとして実行。Streamlit のような別コード不要。
  • marimo edit — 編集モード。Lab とほぼ同じ UI。
  • WASM ランタイム — ブラウザで Pyodide により実行。サーバーなしでノートブック共有。
  • AI アシスタント — Claude・OpenAI モデル統合、セル単位呼び出し。

弱点

  • Jupyter に比べ生態系が小さい。ipywidgets 互換性は部分的。
  • 「1 セル = 1 関数」の構造のため、グローバル変数に慣れた人は窮屈に感じる。
  • 同じ変数名を 2 つのセルで再定義するとエラー — Jupyter のような「最後のセルが勝つ」挙動ではない。

2026 年の Marimo の位置付け: Jupyter を置き換えてはいないが、新規 ML / データプロジェクトでは徐々にデフォルト化している — 特に再現性を重視する研究室・MLOps チームで。


4. Quarto(Posit) — R / Python / Julia 統合出版

Quarto は、RStudio が 2022 年に会社名を Posit に変更した際に発表した次世代出版システムだ。R Markdown の後継として始まり、2026 年現在は R・Python・Julia・Observable JS をひとつの文書に混在させられる出版パイプラインになっている。

.qmd — すべてのソース

---
title: "月次売上分析"
format:
  html:
    toc: true
  pdf:
    pdf-engine: xelatex
  docx: default
---

## データの読み込み

```{python}
import pandas as pd
df = pd.read_csv("sales.csv")
df.head()

可視化

library(ggplot2)
ggplot(df, aes(month, revenue)) + geom_line()

同じ .qmd 内で PythonR のセルを混在させ、`quarto render`HTML / PDF / Word / EPUB を出力。学術論文(quarto-academic)、書籍(Quarto Book)、ウェブサイト(Quarto Website)も同じツールで生成。

### Pandoc + Jupyter の上のレイヤー

内部的に QuartoJupyter カーネルでセルを実行し、結果を Pandoc Markdown にシリアライズしてから、Pandoc が最終形式を生成する。つまり **Quarto は新しいノートブックランタイムではなく、出版オーケストレーター**である。

### 2026 年の位置付け

- 大学の統計講義の新標準 — R Markdown をほぼ完全に吸収。
- データサイエンティストの成果共有 — Jupyter notebook を PDF にする手段として最も使われる。
- 政府・金融レポート — PDF 出力が一級市民であるため。

### 弱点

- ビルドが遅い。Pandoc + LaTeX チェーンが重い。
- インタラクティブ要素は Observable JS または Shiny に依存 — 自前の UI ウィジェットは弱い。
- 初期セットアップが面倒 — quarto CLI + TinyTeX + 言語ランタイム。

---

## 5. Observable FrameworkMike Bostock の静的サイトジェネレーター

Mike Bostock(D3.js 作者、Observable 創業者)2024 年に発表した Observable Framework は、「ノートブック = 静的サイトジェネレーター」というモデルだ。既存の Observable Cloud(observablehq.com 上でホストされるインタラクティブノートブック)とは別の OSS プロジェクト。

### 中核アイデア — データローダー

- Markdown ファイルに JavaScript コードセルを混在。
- ビルド時に「データローダー」(Python・R・shell — どの言語でも)を実行し、結果を静的 JSON・Parquet として保存。
- クライアントは静的データを D3・Plot で可視化。サーバーランタイム不要。

```markdown
---
title: 売上ダッシュボード
---

```js
const sales = FileAttachment("data/sales.parquet").parquet();

月次売上

Plot.plot({
  marks: [
    Plot.line(sales, {x: "month", y: "revenue"})
  ]
})

別ファイル `data/sales.parquet.py` がビルド時に実行されデータを生成。

### 誰のためのツールか

- データジャーナリスト — NYTFT のグラフィックスチームが実際に使う。
- 社内ダッシュボード — 静的サイトなのでホスティングが安く高速。
- BI ツールを作るのは嫌だが可視化品質は妥協できないチーム。

### 弱点

- 「ノートブック」というより「静的サイトビルダー」。インタラクティブ分析ツールではない。
- Python・R はデータローダー内のみ。本流は JS- D3・Plot の学習コストが急。

2026 年現在、Observable Framework**可視化が中心となるプロジェクトの新標準** になりつつある。一般的な分析には使わない。

---

## 6. Deepnote — 協業型クラウドノートブック

Deepnote はチェコ・米国を拠点とする SaaS、2019 年創業。2024-2025 年に OpenAI が後続シリーズ B に参加。中核価値は協業。

### 特徴

- ブラウザでの同時編集 — Google Docs のように。
- Snowflake・BigQuery・Postgres などのデータソースに直接接続、セルから SQL 実行。
- チャートセル — コードなしでドラッグ&ドロップ可視化。
- スケジュールノートブック — ノートブックを cron のように定期実行。
- 権限モデル — ワークスペース・プロジェクト・セル単位の権限。

### 誰が使うか

- データサイエンティストが PM・分析者と共有する必要がある場合。
- Notion + Slack 文化の会社 — Deepnote がその流れに合う。
- 「Snowflake のクエリ結果を毎週自動で受け取りたい」要件。

### 弱点

- ロックイン — .ipynb への export はできるが、チャートセル・variables explorer 等は Deepnote 専用。
- 価格 — チームプランが 1 名月額 30 ドル超。
- 重いコンピュートは別途 — 大規模 GPU ジョブは Modal・Beam で実行し、結果のみ Deepnote に取り込むパターン。

---

## 7. Hex — データサイエンティスト向け SaaS

Hex(サンフランシスコ、2019 年創業)Deepnote の直接の競合だ。2024 年に Snowflake が一部出資したと報じられた。ポジショニングは似ているが、強調点が異なる。

| 観点 | Deepnote | Hex |
| --- | --- | --- |
| 中核ユーザー | データサイエンティスト + 分析者 | データサイエンティスト + BI |
| 協業 | 強い | 強い |
| SQL · Python 統合 | 良い | 非常に良い — SQL 結果が Python df に自動連携 |
| Magic AI | あり(基本) | 非常に強い(Hex Magic) |
| アプリ化 | Notebook → app 変換 | Notebook → app 変換(アプリが一級市民) |
| 価格 |||
| 韓国・日本市場 |||

### Hex の差別化要素

- **Hex Magic** — セル単位 AI アシスタントが最もスムーズ。SQLPython 変換、チャート生成、デバッグまで。
- **App mode** — ノートブックをそのままインタラクティブアプリとしてデプロイ。Streamlit 代替。
- **Magic SQL** — 自然言語から SQL、dbt モデル認識。

### 弱点

- 価格が高め — エンタープライズ向け。
- 韓国・日本での営業力が弱い — 英語圏の会社中心。

---

## 8. Curvenote / Polars Notebook / Pluto.jl — その他注目

### Curvenote

科学出版に特化したノートブック + 協業ツール。MyST Markdown(Markdown の科学拡張)をベースに、引用・数式・figure ラベルを一級サポート。arXiv・ジャーナル への PDF 投稿用ワークフロー。

### Polars Notebook

Polars(高速 DataFrame ライブラリ)チームが 2025 年に発表した新ノートブックプロジェクト。Rust バックエンドでインメモリ DataFrame 操作が高速、SQL・Python・Polars expression が 1 ノートブックでスムーズに混在。まだベータ。

### Pluto.jl

Julia 生態系のリアクティブノートブック。Marimo と同じ哲学(セル依存グラフ、.jl ファイル形式)2019 年から Julia 世界で実装してきた先輩格。Julia ユーザーならほぼデフォルト。

### Jupytext

Jupyter .ipynb.py / .md / .Rmd の双方向変換。「Jupyter を使いつつ git diff は綺麗にしたい」チームの解。Marimo 登場前は最も一般的な解決策で、現在も広く使われる。

---

## 9. VSCode Notebooks + Positron(Posit、20245)IDE ノートブック

### VSCode Notebooks

VSCode2020 年から .ipynb を一級サポート、2026 年現在は JupyterLab とほぼ同等の機能。Python 拡張 + Jupyter 拡張の組み合わせでセル実行・デバッグ・変数インスペクタ・プロットビューアが揃う。**AI アシスタント統合(Copilot、Cursor、Cline など)が最も自然** — これが VSCode をノートブック環境として選ぶ最大の理由。

### PositronRStudio の後継

Posit20245 月に公開した次世代 IDE。RStudio が R 中心だったのに対し、Positron は RPython を対等に扱う。VSCode の OSS ベース(Code OSS)を fork したもの。

特徴:

- RPython のコンソールが別パネルで常設。
- データビューア — DataFrame をスプレッドシートのように検査。
- プロットビューア — 左サイドパネルでチャート履歴管理。
- IDE 内で Jupyter カーネル直接実行。
- 2025 年に 1.0 GA2026 年現在は安定版。

### 誰がどこへ向かうか

| ユーザー | 推奨 |
| --- | --- |
| R ユーザー(統計・疫学・金融) | PositronRStudio の流れそのまま |
| Python + AI 統合重視 | VSCode(+ Cursor / Cline) |
| Python + RTC 協業重視 | JupyterLab 5(RTC) |
| R + Python の両方を日常的に | Positron |

---

## 10. 「隠れた状態」問題とリアクティブの答え

隠れた状態はノートブックの最大の罠だ。整理すると。

### 問題の本質

1. セルが任意の順序で実行されうる。
2. カーネルメモリはコードより長く生きる — セルを削除しても変数は残る。
3. 同じ変数名を複数セルで再定義すると、どの定義がアクティブかコードからわからない。

これらが組み合わさると、**「このノートブックを最初から実行し直したら同じ結果になるか?」に自信を持って答えられない** 状態になる。

### 解決策 1規律(Jupyter 陣営)

- ノートブック commit 前に必ず「Restart kernel and run all」。
- 1 セルに 1 関数だけ定義、グローバル変数は最小限。
- nbQA で ruff・black 検査、nbdev でノートブック → ライブラリ変換。
- 弱点: 人間の意志に依存。実際にはよく破られる。

### 解決策 2リアクティブランタイム(Marimo · Observable · Pluto.jl)

- セル依存グラフを静的追跡。
- 1 セル変更で下流セルを自動再実行。
- 変数再定義はエラーで遮断 — 曖昧さを排除。
- 結果: **「今見ているセルの状態 = コードを最初から実行した結果」が常に保証される**
### 解決策 3永続成果物を分離(Quarto · Papermill)

- ノートブックは入力、レンダリング後の HTML / PDF が成果物。
- 「最終成果物はレンダラーが最初から最後まで実行した結果である」という契約。
- 弱点: インタラクティブな探索には合わない。

2026 年の合意: **研究・分析コードはリアクティブで、出版は Quarto で、学習と実験は Jupyter で。** 1 つのツールがすべてをカバーするわけではない。

---

## 11. R MarkdownQuarto への移行

Posit2022 年に Quarto をリリースして以来、R Markdown は「メンテナンスのみで新機能は Quarto」という方針になった。2026 年現在、R ユーザーの Quarto 移行はほぼ完了している。

### 移行対応表

| R Markdown | Quarto 対応 |
| --- | --- |
| .Rmd | .qmd |
| YAML output: html_document | format: html |
| knitr::opts_chunk\$set() | execute: オプション |
| bookdown | Quarto Book |
| blogdown | Quarto Website |
| pkgdown | quartodoc(Python) — パッケージサイトは別ツールと併用可 |
| flexdashboard | quarto-dashboard(2024 リリース) |

### 変換ツール

- `quarto convert input.Rmd` — 自動変換。単純な .Rmd はほぼそのまま動く。
- 複雑なケース(独自 output format、child documents)は手作業必要。

### なぜ移行するか

- 新機能(quarto-dashboard、Observable JS 統合など)Quarto のみ。
- Python・Julia ユーザーが R ユーザーと同じツールを使える — 社内に両者がいる場合に有利。
- PDF 出力品質の向上 — Typst バックエンド対応が追加された。

---

## 12. 韓国 / 日本での実際の使われ方

### カカオ — データノートブック環境

カカオのデータ組織は社内 Kubernetes 上で JupyterHub を運用している。ユーザー別コンテナ、GPU 要求・返却自動化、S3 互換オブジェクトストレージ統合。2024-2025 年に jupyter-ai 統合でセル単位 LLM 呼び出しが追加され、2026 年から一部チームが Marimo をパイロット。

特徴的なのは、社内データワークフロー(Airflow + DataHub)とノートブックが分離されており、ノートブックで作った分析は別途 Airflow DAG に移植しないと運用に乗らない点。これが韓国大企業の一般的なパターン。

### トス — 分析環境

トス(韓国の金融アプリ)では、データ分析者は SQL 中心で働き、ノートブックはもう一段深く入る場面(コホート・異常値検知・ML 実験)で使う。JupyterHub + 社内 BI(Querypie)の組み合わせが標準。2025 年の求人公告に Hex 導入検討の痕跡があった。Magic SQL と協業機能が SQL 中心の分析者にとって魅力的。

### Mercari — データチーム

東京本社のデータチームは GCP ベースで、BigQuery + Vertex AI Workbench(GCP がホストする Jupyter Lab)を長く使っている。2024 年から一部チームが Deepnote 導入 — 協業とスケジュールノートブックが必要な BI チームで。Quarto は社内リサーチレポートの標準フォーマットとして採用された旨のエンジニアリングブログがある。

### ZOZO — データ・MLOps

ZOZO Research(ZOZOR&D 組織)Jupyter Lab + Kubeflow Notebooks の組み合わせで ML 実験を行う。社内 GPU クラスター上。論文発表用の結果は Quarto で整理 — 学会の PDF 投稿まで 1 パイプライン。2026 年に発表された推薦システム論文の一部はノートブック原本まで OSS 公開された。

### APAC 企業の共通パターン

- 大規模運用は JupyterHub on Kubernetes — 社内インフラチームが管理。
- 協業重視の分析は Deepnote / Hex — ただし英語圏の会社が導入は早い。
- 出版・論文は Quarto — 特に R ユーザー比率が高い日本のアカデミアで強い。
- Marimo2026 年現在アーリーアダプター段階 — グリーンフィールドの新規プロジェクトで採用率上昇中。

---

## 13. 誰が何を選ぶべきか

状況別に整理。

### 学生 / 講義

- **初めての Python データ分析授業**: Jupyter Lab 5(または Google Colab)- **統計・R の授業**: RStudio または Positron、課題提出は Quarto。
- **再現性重視の授業**: Marimo — 隠れた状態問題に最初から遭遇しない。

### 個人のデータ分析

- **1 日に 1-2 回ざっと見て終わり**: Jupyter Lab 5 + jupytext(git diff が綺麗)- **結果を PDF・ブログに出版**: Quarto。
- **可視化が主成果物**: Observable Framework。

### ML 研究

- **再現性 + 実験管理**: Marimo + Weights & Biases / Aim。
- **クラスター GPU**: JupyterHub on Kubernetes(社内)または Vertex AI Workbench / SageMaker Notebooks(クラウド)- **論文執筆まで**: Quarto + LaTeX。

### チーム協業

- **小規模 + 無料優先**: Jupyter Lab 5 RTC- **データサイエンティスト + 分析者の協業**: Hex または Deepnote。
- **分析者 + PM の共有**: Deepnote(UI が非技術者に親しみやすい)
### データジャーナリズム · インタラクティブ可視化

- **Observable Framework** ひとつで完結。
- 次点: Quarto + Observable JS
### 出版 · 論文 · 書籍

- **Quarto**R・Python・Julia のどれでも。
- 科学出版特化: Curvenote。

### R ユーザー

- **Positron**(または RStudio)+ Quarto。これが 2026 年の正解。

### Julia ユーザー

- **Pluto.jl** + Quarto。

### 「ひとつだけ選ぶなら」

- Python · 一般分析者: **Jupyter Lab 5 + Quarto**- Python · 新規プロジェクト + 再現性: **Marimo**- R: **Positron + Quarto**- チーム + 会社予算: **Hex** または **Deepnote**- D3 好き: **Observable Framework**
---

## 14. 参考 / References

### Jupyter

- [JupyterLab Documentation](https://jupyterlab.readthedocs.io/)
- [Jupyter Notebook 7 announcement](https://blog.jupyter.org/notebook-7-0-released-9663b73da722)
- [JupyterLab Desktop](https://github.com/jupyterlab/jupyterlab-desktop)
- [jupyter-ai](https://github.com/jupyterlab/jupyter-ai)

### Marimo

- [Marimo official site](https://marimo.io/)
- [Marimo GitHub](https://github.com/marimo-team/marimo)
- [Marimo launch announcement (2024-06)](https://marimo.io/blog/announcing-marimo)
- [Marimo Why blog](https://marimo.io/blog/python-not-json)

### Quarto / Posit / Positron

- [Quarto documentation](https://quarto.org/)
- [Quarto Dashboards](https://quarto.org/docs/dashboards/)
- [Positron IDE](https://positron.posit.co/)
- [RStudio rebrands to Posit](https://posit.co/blog/rstudio-is-now-posit/)
- [R Markdown to Quarto migration](https://quarto.org/docs/faq/rmarkdown.html)

### Observable

- [Observable Framework](https://observablehq.com/framework/)
- [Observable Plot](https://observablehq.com/plot/)
- [Mike Bostock - Why we built Framework](https://observablehq.com/blog/observable-2-0)

### Deepnote / Hex

- [Deepnote](https://deepnote.com/)
- [Hex](https://hex.tech/)
- [Hex Magic AI](https://hex.tech/product/magic-ai/)

### その他

- [Curvenote](https://curvenote.com/)
- [Pluto.jl](https://plutojl.org/)
- [Polars Notebook](https://github.com/pola-rs/polars)
- [Jupytext](https://github.com/mwouts/jupytext)
- [Papermill](https://github.com/nteract/papermill)
- [nbdev](https://github.com/AnswerDotAI/nbdev)

### 比較 / 解説

- [Marimo vs Jupyter (Marimo blog)](https://marimo.io/blog/lessons-learned-rebuilding-jupyter)
- [Joel Grus - I Don't Like Notebooks (2018 JupyterCon talk)](https://www.youtube.com/watch?v=7jiPeIFXb6U)
- [Quarto vs R Markdown (Posit blog)](https://posit.co/blog/announcing-quarto-a-new-scientific-and-technical-publishing-system/)

### 韓国 · 日本の事例(ブログ · 発表)

- [カカオ データ分析環境 (tech.kakao.com)](https://tech.kakao.com/)
- [トス データエンジニアリング (toss.tech)](https://toss.tech/)
- [Mercari Engineering Blog](https://engineering.mercari.com/en/blog/)
- [ZOZO Tech Blog](https://techblog.zozo.com/)