Skip to content
AI Agent Turns Jupyter Notebook Into a Data Science Co-Pilot

Runcell: Jupyter Notebook을 데이터 사이언스 코파일럿으로 바꾸는 AI Agent

Updated on

Runcell is a Jupyter-native AI agent that reads your notebook context, writes Python code, executes cells, debugs errors, and accelerates end-to-end data analysis inside JupyterLab, classic Notebook, and VS Code.

하루 대부분을 Jupyter notebook 안에서 보낸다면 GitHub Copilot이나 Cursor 같은 AI 코딩 도구를 이미 써봤을 가능성이 큽니다. 이런 도구들은 자동 완성에는 뛰어나지만, 텍스트에서 멈춥니다 — 여전히 당신이 직접 코드 조각을 붙여넣고, 셀을 실행하고, 에러를 디버깅하고, 빠진 패키지를 설치하고, 변수 상태를 추적해야 합니다.

Runcell은 그 다음 단계를 제공합니다.

자율적인 AI agent를 Jupyter 내부에 직접 임베드해서, 실행 중인 환경 — 변수, 셀, DataFrame, 시각화 결과 — 을 읽고, 코드를 작성·실행·디버깅·반복까지 자동으로 수행합니다. 프롬프트와 셀 사이를 왔다 갔다 하는 대신, 전체 워크플로우가 하나의 연속적인 루프가 됩니다.


Runcell은 정확히 무엇인가?

Runcell은 JupyterLab extension + Python 패키지 (pip install runcell)로, 당신의 notebook을 AI 기반 자동화 환경으로 바꿉니다.

일반적인 독립형 채팅 어시스턴트와 달리, Runcell은 다음을 할 수 있습니다:

  • notebook 상태 읽기 (globals(), 셀 히스토리, 변수)
  • 코드 셀 삽입 및 실행
  • 시각화 생성
  • 실패한 코드 디버깅
  • 결과를 자연어로 설명
  • notebook이 바뀔 때마다 워크플로우를 재계획

자동 완성보다는, 직접 키보드를 칠 수 있는 주니어 개발자와 페어 프로그래밍을 하는 느낌에 가깝습니다.


네 가지 핵심 모드 (데모 영상 포함)

Runcell은 기능을 네 가지 모드로 구성합니다. 아래는 runcell.dev에 올라온 공식 데모들입니다.

🎓 Interactive Learning Mode

실행 가능한 예제로 알고리즘을 설명해 주는 AI 교사 모드입니다 — K-means vs DBSCAN, PCA, 클러스터링 같은 주제를 학습할 때 유용합니다.


🤖 Autonomous Agent Mode

일명 “YOLO 버튼.”
에이전트가 태스크를 계획하고, 코드를 작성하고, 셀을 실행하고, 에러를 고치고, 패키지를 설치하고, 목표를 달성할 때까지 재시도합니다.


✏️ Reasoning Agent

행동하기 전에 단계별로 깊게 사고하는 고급 추론 모드입니다. notebook을 깊이 분석해 신뢰할 수 있는 리팩터링, 코드 개선, 단계별 해법을 만들어 냅니다.


💬 AI-Enhanced Jupyter

코드에 대해 질문하고, 설명을 듣고, 차트를 생성하고, 요약을 요청할 수 있습니다 — 결과는 notebook 안에 직접 삽입됩니다.


왜 컨텍스트가 중요한가?

대부분의 AI 어시스턴트는 notebook 바깥에서 동작합니다. 이들은 다음을 모른 채로 코드 스니펫을 생성합니다:

  • 어떤 변수들이 존재하는지
  • 어떤 라이브러리가 import되어 있는지
  • DataFrame의 shape가 어떤지
  • 이전에 어떤 에러가 났는지
  • 어떤 셀이 어떤 출력을 만들었는지

이 때문에 전형적인 “복사 → 붙여넣기 → 실행 → NameError → 수동으로 수정” 루프가 반복됩니다.

Runcell은 코드를 생성하기 전에 환경 컨텍스트를 읽음으로써 이를 해결합니다.
즉, 다음과 같은 것들을 알고 있습니다:

  • df_sales가 100만 행짜리 pandas DataFrame이라는 점
  • matplotlib.pyplot as plt를 이미 import했다는 점
  • 이전 셀에서 seaborn heatmap을 그렸다는 점
  • 커널이 2분 전에 재시작되었다는 점

이런 컨텍스트 인식 덕분에 Runcell은 반쯤만 동작하는 스캐폴딩을 주는 대신, 여러 단계로 이뤄진 태스크를 끝까지 수행할 수 있습니다.

이 아이디어는 Jupyter 생태계에서 최근 추진 중인 Notebook Intelligence (NBI), tool-calling, Jupyter AI magics 개념을 발전시킨 것으로, 이를 하나의 완성도 높은 플러그 앤 플레이 경험으로 묶어 제공합니다.


Typical Workflow

Runcell을 사용하는 느낌은 다음과 같습니다.

1. 설치

pip install runcell
jupyter labextension enable runcell  # Lab 4 auto-detects the extension

2. 아무 notebook이나 열기

Runcell 사이드바 아이콘을 클릭합니다.

3. 하고 싶은 일을 말하기:

"sales.csv를 로드하고, 지역별 YoY 성장률을 계산한 뒤, seaborn heatmap으로 시각화해 줘."

4. 나머지는 에이전트가 처리하는 걸 지켜보기:

  • 새로운 코드 셀을 만듭니다
  • 순서대로 실행합니다
  • seaborn이 없으면 설치합니다
  • import 에러를 고칩니다
  • 결과를 Markdown으로 설명합니다
  • 당신이 셀을 수정하면 자동으로 계획을 다시 세웁니다

Jupyter를 벗어나지 않고 누릴 수 있는, 완전 보조형 notebook 워크플로우입니다.


Runcell이 특히 빛나는 영역

🔍 Exploratory Data Analysis (EDA)

import, 전처리, 샘플링, 프로파일링, 차트 생성을 자동화합니다.

📊 Reporting Workflows

논리는 같고 데이터만 바뀌는 월간 리포트 notebook은 자율 실행에 특히 잘 맞습니다.

🧪 Teaching & Demos

Interactive Learning Mode는 추상적인 개념을 실시간으로 수정 가능한 예제로 바꿔 줍니다.

🧩 Refactoring & Debugging

Reasoning Agent는 버그를 찾고, 함수를 다시 쓰고, 지저분한 notebook을 단순화합니다.

💨 Rapid Prototyping

차트를 요청하고, 새로운 모델을 시도하고, 반복 실험을 할 수 있는데, 귀찮은 보일러플레이트를 직접 작성할 필요가 없습니다.


다양한 환경과의 매끄러운 통합

Runcell은 다음 환경을 지원합니다:

  • JupyterLab 4
  • Classic Notebook
  • VS Code Notebooks

에디터를 바꿀 필요도, 새로운 워크플로우를 배울 필요도 없습니다.
설치만 하면, 지금 쓰는 환경 안에 바로 agent가 나타납니다.


한계와 유의사항

🔐 지금은 Cloud LLM 중심

기본적으로 Runcell은 cloud 모델을 사용합니다. 민감한 데이터셋이라면 로컬 모델 설정이나 오프라인 모드 구성이 필요할 수 있습니다.

🧠 자율성은 명확한 목표를 필요로 함

Autonomous Agent 모드는 요청이 모호할수록 더 많은 토큰과 시도를 사용할 수 있습니다.

🧬 Multi-language notebook

현재는 Python에서 가장 잘 동작하며, R/Julia 지원은 실험적인 단계입니다.

🖥️ 무거운 notebook은 요약될 수 있음

매우 큰 DataFrame은 컨텍스트로 보내기 전에 샘플링되거나 요약될 수 있습니다.


핵심 정리

Runcell은 단순한 자동 완성이 아닙니다.
계획, 코딩, 실행, 디버깅, 설명까지 포함하는 풀스택 notebook 자동화이며, 이 모든 것이 Jupyter 내부에서 이뤄집니다.

수동 도구에 머물던 notebook을, 함께 생각하고 실험하고 결과물을 내는 협업형 AI workspace로 바꿔 줍니다.

당신의 notebook을 이해하고 함께 일하는 agent가 필요하다면, 이렇게 시작할 수 있습니다:

pip install runcell

당신의 Jupyter 워크플로우에 코파일럿을 붙이고 — 손가락은 조금 덜 써도 되게 만들어 보세요.

Get Started → (opens in a new tab)