AI coding agents edit files at the disk level and modify code line by line. Neither approach works inside Jupyter notebooks. Notebooks are stored as JSON, not flat source files, so disk-level edits do not synchronize to the user interface in real time and cell-based structure breaks line-by-line agent operations entirely. The result is a broken feedback loop between the agent and the notebook environment.
In this interview on TFiR, Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing at Amazon, breaks down why existing coding assistants were never built for notebooks, how Jupyter AI closes that gap, and what it means for data scientists and researchers building on top of Jupyter today.
Guest: Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing at Amazon
Show: TFiR
Here is what every data scientist, ML engineer, and platform engineer running notebooks needs to know.
Technical Deep Dive
Q: What is Jupyter and why do data scientists still rely on it?
Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing at Amazon, describes Jupyter as an open source software suite for interactive scientific computing. Its core user base includes data scientists, researchers, and scientists who work in notebook environments where code, data, images, and widgets coexist in a single document. The project includes multiple sub-projects: JupyterLab, Jupyter Notebooks, and JupyterLite, each serving specific use cases within that ecosystem.
“It is basically a document where you can actually mix code, data, images, widgets, all in one single place. And that’s what makes it so special.” — Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing, Amazon
Q: How is Jupyter evolving as AI agents become more capable?
Chowtorri describes a shift in how Jupyter is positioned: rather than a coding environment, it is becoming a visual analysis and research platform where AI agents complete the notebook work and users arrive with data and questions. She identifies three layers of this evolution: AI in Jupyter, where agents help users complete work inside notebooks; AI for Jupyter, where AI acts as a force multiplier for maintainers building future features; and Jupyter as a foundation, where the platform itself is used to evaluate and build next-generation large language models. SageMaker is a live example of the third layer.
“Users actually come with their data and the questions to Jupyter notebooks. It’s the agents that are completing the notebooks for you and then you explore the answers.” — Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing, Amazon
Q: What is Jupyter AI and how does it differ from standard Jupyter notebooks?
Jupyter AI is an extension for JupyterLab, analogous to a browser extension in the way it adds capability without replacing the underlying platform. Users install it via pip the same way they install JupyterLab itself. After restarting the lab environment, a chat interface appears that provides access to frontier agent integrations, notebook-native tools, MCP support, and additional tooling. The distinction Chowtorri draws is precise: Jupyter remains the platform, and Jupyter AI is the AI layer on top of it.
“Jupyter is still a platform and Jupyter AI is the AI layer on the top.” — Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing, Amazon
Q: What specific technical problems did existing AI coding agents have with Jupyter notebooks?
Chowtorri identifies two structural incompatibilities between existing coding agents and notebooks. First, standard agents edit code line by line, but notebooks are JSON under the hood, which means that editing model does not translate to the notebook format. Second, agents typically edit files at the disk level, and disk-level changes do not reflect synchronously in the user interface. Both problems required purpose-built solutions rather than adaptations of existing agent tooling.
“Notebooks are basically JSON under the hood. So this doesn’t work the similar way how the coding agents were doing.” — Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing, Amazon
Q: How did the Jupyter AI team solve the real-time synchronization problem between agents and the notebook UI?
The team built two solutions to address the structural gaps. Notebook-native tools were created so agents can edit notebook cells correctly, accounting for the JSON structure of the format. For the synchronization problem, they built a real-time collaboration backend called Jupyter Server Documents, which reflects agent-driven changes in the user interface synchronously as they happen. These were not incremental improvements to existing tools but new infrastructure built specifically for the notebook environment.
“We had to build a real time collaboration backend called Jupyter Server Documents that would actually enable us to reflect these changes in real time on the user interface.” — Lahari Chowtorri, Technical Program Manager, AI/ML Open Source Strategy and Marketing, Amazon
Resources & Documentation
- Amazon SageMaker, Amazon’s platform for building, training, and deploying machine learning models, powered by Jupyter for notebook-based workflows and LLM evaluation
- Project Jupyter, open source software suite for interactive scientific computing, including JupyterLab, Jupyter Notebooks, and JupyterLite
- Jupyter AI, official JupyterLab extension providing a native chat interface, notebook-native agent tools, and MCP support
- JupyterLab Documentation, official documentation for the JupyterLab environment and its extension system
***
👇 Click to Read Full Raw Transcript
Swapnil Bhartiya: Now the fact is that developers love AI tools, but they are clunky. You are hopping and jumping between terminals. Chat windows is such a mess. If you look at the other side, Jupyter notebooks. They have been extremely popular with the data scientists and developers for almost a decade now. And now Jupyter is bringing AI into the fold, into its environment. Today we have with us Larry Chautauri, technical program manager for Open Source AI at Amazon, to talk about what’s new here. Nari, it’s great to have you on the show.
Lahari Chowtorri: Nice to meet you. Swab. Thank you so much for having me. I’m excited to be here as well.
Swapnil Bhartiya: Can you talk about what is Jupyter and why data scientists still love and use it?
Lahari Chowtorri: To put it very simply, Jupyter is basically an open source software suite that is used for interactive scientific computing. So the usual user base for this project would be data scientists, researchers, scientists all over the world working in notebooks essentially. So it also has multiple sub projects underneath it. We have Jupyter Lab, we have Jupyter Notebooks, we have jupyterlight, so which are used for various reasons. So I mean, to put it very simply, for somebody who has never heard of Jupyter, it is basically a document where you can actually mix code, data, images, widgets, all in one single place. And that’s what makes it so special.
Swapnil Bhartiya: How is Jupyter evolving as AI coding and AI tools are also evolving and changing and developers and data scientists are becoming more and more reliant on them.
Lahari Chowtorri: So yeah, like you said, AI agents are actually becoming incredibly powerful and most of the users today are using these AI agents to write code and they’re not doing it anymore by hand these days. So obviously the platform for rich editing experience shifts in this landscape. Right. So we are currently seeing Jupyter as visual analysis and a research platform where the agents get all the work done for you underneath and users actually come with their data and the questions to Jupyter notebooks. And it’s actually the agents that are completing the notebooks for you and then you explore the answers essentially. And we are also actually seeing it in three different layers, I would say. So the first one being AI in Jupyter, where the AI agents within the notebooks actually help you to complete your work. And then the second one being AI for Jupiter. So obviously AI has become a force multiplier for all of us, so it will definitely be a force multiplayer for maintainers as well to build the future features at a larger scale. And then the third One we are actually seeing it as is Jupyter itself as a platform or a foundation where you can actually evaluate and build the next generation of large language models. So how, for example, Jupyter actually powers the SageMaker, and SageMaker is actually being used for this exact purpose today.
Swapnil Bhartiya: What sets Jupyter AI different from classic Jupyter notebook?
Lahari Chowtorri: Think of it like this. So Jupyter AI is basically an extension within the Jupyter lab. So the most easiest way to understand The Jupyter, the Jupyter AI extension is think of it as JupyterLab extensions basically is to think of it like browser extensions. So we are just adding an additional ability to JupyterLab here. So users can actually install Jupyter AI by going to pip, just like how they install Jupyter Lab. And then what actually happens is when they restart this Jupyter Lab again, they actually see a chat interface where they have access to Frontier agent integrations, notebook native tools and MCP support and all other tools. So to put it simply, Jupyter is still a platform and Jupyter AI is the AI layer on the top.
Swapnil Bhartiya: Can you talk about what problem is Jupyter AI trying to fix that the current breed of AI agent or coding assistants cannot solve?
Lahari Chowtorri: I mean, existing coding agents were okay with notebooks. I mean, there were a lot of technical challenges that weren’t solved for notebooks, especially with the existing agents, because the agents today edit your code line by line. But whereas this doesn’t work with notebooks, the reason being notebooks are basically JSON under the hood. So this doesn’t work the similar way how the coding agents were doing. Right? So we had to build notebook native tools so that the agents can edit the notebooks easily. And also on the other hand, agents edit the files at the disk level. When you edit the files at the disk level, what actually happens is the changes do not reflect on the user interface synchronously. So we had to build a real time collaboration backend called Jupyter Server documents that would actually enable us to reflect these changes in real time on the user interface.





