GitHub - eduly-ai/eduly: Manim Coding Agent
핵심 포인트
- 1Eduly는 3Blue1Brown 스타일의 애니메이션 시각화를 통해 텍스트 콘텐츠를 교육용 비디오로 변환하는 Manim Coding Agent입니다.
- 2이 시스템은 Gemini 2.5와 LangChain을 활용하여 문서를 원자적인 토픽으로 분해하고, 시각적인 스토리보드를 생성한 후, Manim 코딩 에이전트가 반복적인 개선 과정을 통해 최종 애니메이션 비디오를 제작합니다.
- 3학생, 교육자, 연구자 등 다양한 사용자를 위해 PDF, 슬라이드, 학술 논문 등을 애니메이션 설명 비디오, 대화형 슬라이드, 시각적 개념 분석 자료 등으로 변환하여 학습과 정보 전달의 효율성을 높입니다.
Eduly는 텍스트 기반 학습의 비효율성을 해결하고 추상적인 개념을 시각적으로 명확하게 전달하기 위해 개발된 Manim 코딩 Agent입니다. 이 시스템은 어떠한 콘텐츠라도 3Blue1Brown 스타일의 애니메이션화된 시각 자료로 변환하여, 학생들이 교재를 이해하고, 교육자가 자료를 만들며, 연구자가 논문을 시각화하는 데 도움을 줍니다. 주요 대상은 학생, 교육자, 연구자, 콘텐츠 크리에이터, 기업, 그리고 오픈 소스 커뮤니티이며, PDF, 노트, 슬라이드, 학술 논문, 스크립트, 기업 문서, 기술 문서 등을 입력으로 받아 애니메이션 비디오, 상황별 애니메이션이 추가된 슬라이드, 시각적 개념 분석, 또는 온보딩 가이드 등을 출력합니다.
Eduly는 Google의 Gemini 2.5와 LangChain 프레임워크를 기반으로 구축되었으며, 세 가지 단계의 파이프라인을 통해 콘텐츠를 애니메이션 교육 비디오로 변환합니다.
- Document Breakdown (EdulyBreakdownClient): 이 단계에서는
google.genai.Client를 사용하여 원본 문서(예: PDF)를 분석합니다. 주요 목표는 문서를 5분 내외의 비디오로 만들 수 있는atomic topics또는self-contained concepts로 분해하는 것입니다. 이 클라이언트는 Gemini 모델과 Google Search를 활용하여 각 토픽에 대한 포괄적인 설명과 핵심 요약(key takeaways)을 생성합니다. 출력은 문서 제목과 식별된 토픽들의 목록을 포함하는breakdown객체입니다.
- Storyboard Generation (EdulyBreakdownClient): 이전 단계에서 식별된 각
atomic topic에 대해,EdulyBreakdownClient는 3Blue1Brown 스타일의 시각적 스토리보드를 생성합니다. 이 스토리보드는 개념을 직관적으로 만드는 핵심 시각적 은유(visual metaphor)를 정의하고, 8~15개의 상세한 시각적 장면(visual scenes)을 구성하며,text-to-speech에 최적화된 내레이션 스크립트를 작성하고, 구체적인 예시와 수치를 포함합니다.
- Manim Animation Agent (EdulyAnimationClient): 마지막 단계는
langchain_google_genai.ChatGoogleGenerativeAI(gemini-2.5-pro-preview모델)를 활용하는iterative coding agent를 통해 애니메이션을 생성하는 것입니다. 이 Agent는 스토리보드 프롬프트와 전체 문맥을 입력받아 Manim 애니메이션 코드를 작성하고 렌더링합니다. Agent는 다음과 같은 순환적인 정제(iterative refinement) 과정을 거칩니다:- PROMPT: Agent는 스토리보드와 전체 문맥을 포함한 프롬프트를 수신합니다.
- LLM AGENT: Gemini 모델은
ls,glob,grep,read_file,edit_file,write_file과 같은 파일 시스템 도구를 사용하여 Manim 문서를 조사하고,Manim Scene클래스를 생성하는 파이썬 코드를 작성합니다. - MANIM RENDER: 생성된 Manim 코드가 실행되어 애니메이션을 렌더링합니다.
- SUCCESS?: 렌더링 성공 여부를 확인합니다.
- ERROR FEEDBACK: 만약 렌더링이 실패하면, 오류 메시지가 Agent에게 다시 전달되어 코드를 수정하고 재시도(
retry)합니다. 이 과정은 성공적인 렌더링(MP4 video출력)이 이루어질 때까지 반복됩니다.
이 Agent는 전체 Manim 문서를 도구로 활용할 수 있어 복잡한 시각화를 생성할 수 있습니다. Eduly는 CC-BY-NC-SA-4.0 라이선스 하에 배포되며, 지식은 모두에게 속한다는 신념 아래 오픈 소스로 개발되고 있습니다.