Rethinking Notebooks Powered by AI

Vincent Warmerdam from marimo discusses the recent acquisition by Weights & Biases and the future of Python notebooks. He argues that notebooks should evolve from static scratchpads into dynamic, AI-powered applications, highlighting marimo's features for LLM integration, agentic workflows, and creating interactive, reproducible development environments.

3 min read
Rethinking Notebooks Powered by AI
source: https://www.youtube.com/watch?v=XIShka3XHaU

Vincent Warmerdam, a founding engineer at marimo, posits that our understanding of Python notebooks must evolve. In the wake of marimo’s acquisition by Weights & Biases, he outlines a future where notebooks are no longer static scratchpads but dynamic, interactive, and AI-native development environments.

Acquisition by Weights & Biases

A few weeks prior, marimo was acquired by Weights & Biases (which sits under CoreWeave). The core team and the product roadmap remain unchanged, ensuring continuity for the open-source project. The acquisition provides a healthy incentive structure: to improve their hosted cloud offering, Molab, they must first enhance the open-source marimo core. This move also opens up future possibilities for Molab, such as providing more powerful cloud compute and GPU-backed machines, leveraging CoreWeave’s infrastructure.

Evolving Notebooks with LLMs and Agents

A significant focus is on deepening the integration of LLMs and coding agents directly within the notebook environment.

  • Intelligent Context Injection: A key challenge with using LLMs for code generation is providing sufficient context. Marimo addresses this by allowing users to reference variables directly in a prompt (e.g., @my_dataframe). The notebook then automatically enriches the prompt with relevant metadata, such as a DataFrame’s columns, types, and row count, enabling the LLM to generate more accurate and relevant code, like SQL queries.

  • Native Agent Integration: Through emerging standards like the Agent Protocol (ACP), marimo allows for the native integration of coding agents like Claude Code. This enables a powerful workflow where the agent can generate code within the notebook, and marimo’s linter can catch errors specific to its reactive environment (e.g., defining a variable twice). These errors can then be fed back to the agent for self-correction, creating a robust, iterative development loop.

  • Multimodal Interaction: For debugging or interaction with complex outputs, marimo can even provide visual context. If a cell’s output is a chart or a widget that an LLM can’t parse textually, marimo can send a screenshot to a multimodal model, allowing the user to interact with the agent about visual elements.

The Future is Dynamic and Interactive

The vision for notebooks extends beyond simple code execution to creating dynamic applications and learning tools. The dream is to enable users to ask an LLM to generate UI elements on the fly, such as a “copy to clipboard” button, or to reproduce a complex diagram from a research paper with interactive sliders to build intuition.

This vision is partly enabled by WebAssembly (Pyodide), which allows marimo notebooks to run in the browser without a Python backend. This opens the door to exporting notebooks as static HTML files that retain their dynamic and interactive components.

A New Paradigm for Development

Marimo challenges the traditional notebook format by being fundamentally different under the hood.

  • Git-Friendly by Design: Unlike the complex JSON structure of traditional notebooks that causes issues with version control, a marimo notebook is simply a Python file. This makes it inherently Git-friendly and easy to integrate into standard development workflows.

  • Beyond Data Analysis: This file-based structure means a marimo notebook can be a complete development environment. You can build a full Python package or a command-line application within a notebook, using decorators for CLI commands (with typer), including unit tests (with pytest), and managing dependencies (with uv).

Ultimately, the goal is to foster “intellectual freedom” and encourage developers to become producers of new ideas, not just consumers of existing tools. By providing an environment that invites play and makes rapid prototyping of interactive UIs seamless, marimo aims to change how developers think about and use notebooks.

Share post

Stay In The Loop! Subscribe to Our Newsletter.

Get updates straight to your inbox. No spam, just useful content.

Recommended for You

AI Coding Agents Change Software Development Forever

AI Coding Agents Change Software Development Forever

A discussion on the promise and limitations of coding agents, covering key challenges like verification and debugging, and exploring how they can support developers through improved abstraction, collaboration, and handling long-term tasks.

Coding Agents & Language Evolution: Navigating Uncharted Waters • José Valim • GOTO 2025

Coding Agents & Language Evolution: Navigating Uncharted Waters • José Valim • GOTO 2025

José Valim deconstructs coding agents into three core components—instructions, tools, and runtimes—arguing for a shift away from fragmented tools towards integrated runtimes. He introduces AGENTS.md for better instructions, critiques the security and usability limitations of current tool protocols (MCPs), and showcases how integrated runtimes can provide agents with the deep context (via introspection) needed to create a more powerful and secure developer experience.