에이전트 실행 환경으로 활용 가능한 반응형 파이썬 노트북
AI 에이전트를 실행 중인 marimo 노트북 환경에 연결하여, 에이전트가 작업 기억 공간과 파이썬 런타임으로 이를 활용할 수 있게 해주는 'marimo pair' 툴킷이 공개되었습니다. 이를 통해 에이전트가 코드를 실행하고 변수를 검사하며 UI를 제어할 수 있어, 인간과 에이전트 간의 원활한 데이터 작업 및 연구 협업이 가능해집니다. 기존 REPL과 달리 데이터플로우 그래프를 기반으로 실행되어 재현 가능한 프로그램을 점진적으로 구축할 수 있다는 것이 핵심 기술적 차별점입니다.
안녕하세요 해커뉴스 여러분! 저희는 AI 에이전트를 실행 중인 marimo 노트북 세션에 투입할 수 있는 툴킷인 marimo pair [1] [2]를 공유하게 되어 매우 기쁩니다. 이를 통해 에이전트는 marimo를 작업 기억 공간(Working memory)과 반응형 파이썬 런타임으로 사용할 수 있으며, 동시에 인간과 에이전트가 컴퓨팅 연구 및 데이터 작업에서 쉽게 협업할 수 있도록 지원합니다.
GitHub 저장소: https://github.com/marimo-team/marimo-pair 데모 영상: https://www.youtube.com/watch?v=6uaqtchDnoc
marimo pair는 에이전트 스킬(Agent skill)로 구현되었습니다. 다음 명령어를 통해 원하는 에이전트를 실행 중인 노트북에 연결할 수 있습니다:
/marimo-pair pair with me on my_notebook.py
에이전트는 인간이 marimo로 할 수 있는 모든 작업과 그 이상을 수행할 수 있습니다. 예를 들어, 일시적인 스크래치패드(Scratchpad)에서 코드를 실행하여(변수 검사, 프로그램 상태에 대한 코드 실행, 출력 읽기) 피드백을 얻을 수 있습니다. 상태를 지속적으로 유지하고 싶다면 에이전트가 셀을 추가 및 삭제하고 패키지를 설치할 수 있습니다(marimo는 이러한 작업을 연결된 노트북, 즉 단순한 파이썬 파일에 기록합니다). 에이전트는 심지어 marimo의 사용자 인터페이스(UI)도 조작할 수 있습니다. 재미로 pair 세션 내에서 에이전트에게 인사를 건네보라고 요청해 보세요.
에이전트는 marimo 커널에서 파이썬 코드를 실행함으로써 모든 작업을 수행합니다. 내부적으로 marimo pair 스킬은 marimo 세션을 검색하고 생성하는 방법과, '코드 모드(Code mode)'라고 부르는 반공개(Semi-private) 인터페이스를 사용하여 이를 제어하는 방법을 모델에 안내합니다.
코드 모드를 통해 모델은 marimo를 자신의 컨텍스트 윈도우(Context window)를 확장하는 REPL(대화형 실행 환경)처럼 다룰 수 있으며, 이는 재귀적 언어 모델(RLMs, Recursive Language Models)과 유사합니다. 하지만 기존의 전통적인 REPL과 달리 marimo "REPL"은 점진적으로 재현 가능한(Reproducible) 파이썬 프로그램을 구축합니다. 왜냐하면 marimo 노트북은 명확하게 정의된 실행 의미론(Semantics)을 갖는 데이터플로우 그래프(Dataflow graphs)이기 때문입니다. 코드 모드를 사용할 때, 에이전트는 숨겨진 상태(Hidden state)를 제거하는 등 marimo의 안전 장치(Guardrails)에 의해 올바른 궤도를 유지합니다.