DeepTutor 소개
DeepTutor는 홍콩대학교 데이터 지능 연구실(HKUDS)에서 개발한 고도화된 AI 튜터링 및 연구 보조 시스템입니다. 기존의 거대언어모델(LLM)이 가진 한계인 환각(Hallucination) 현상과 얕은 추론 능력을 극복하기 위해 설계되었으며, 단순한 질의응답을 넘어 사용자의 학습 과정을 설계하고 연구를 능동적으로 지원하는 멀티 에이전트(Multi-Agent) 기반의 플랫폼입니다.
ChatGPT나 Claude와 같은 범용 LLM은 교육 분야에서 혁신적인 도구로 주목받았으나, 전문적인 학술 자료를 다루거나 복잡한 수학/과학 문제를 해결할 때 잦은 오류를 범하거나 출처가 불분명한 정보를 제공하는 문제가 있었습니다. 또한 텍스트 위주의 설명은 시각적 학습이 필요한 복잡한 개념을 전달하는 데 한계가 있습니다.
DeepTutor는 이러한 문제를 해결하기 위해 검색 증강 생성(RAG) 기술과 이중 루프(Dual-Loop) 추론 아키텍처를 결합했습니다. 이를 통해 교과서와 논문을 정확히 인용하고, 코드를 직접 실행하여 검증된 답을 제공하며, 학습자를 위한 맞춤형 시각화 자료까지 생성해 냅니다.
DeepTutor 핵심 기능 상세
DeepTutor는 단순한 챗봇이 아닌, 목적에 따라 특화된 기능을 제공하는 통합 플랫폼입니다. DeepTutor의 주요 특징은 다음과 같습니다.
듀얼 루프(Dual-Loop) 추론 아키텍처
DeepTutor의 가장 큰 특징은 인간의 사고 과정을 모방한 이중 루프 시스템입니다. 이중 루프 시스템은 다음의 분석 루프(Analysis Loop)와 해결 루프(Solve Loop)로 나뉘어 동작합니다:
먼저, 분석 루프(Analysis Loop) 에서는 InvestigateAgent가 사용자의 질문을 심층 분석하여 핵심 의도를 파악하고, 필요한 배경 지식을 문서나 웹에서 검색합니다. 이후, 해결 루프(Solve Loop) 에서는 PlanAgent가 문제를 해결하기 위한 단계별 계획(Step-by-step plan)을 수립하면, SolveAgent가 Python 코드를 실행하거나 수식을 계산하여 실질적인 답을 구합니다. 마지막으로 CheckAgent가 도출된 답안의 오류를 검증합니다.
인터랙티브 학습 시각화 (Interactive Visualization)

또한 DeepTutor는 텍스트로 설명하기 어려운 복잡한 개념을 시각적인 HTML/JS 컴포넌트로 변환하여 제공합니다. 예를 들어, 수학 함수의 변화나 물리 법칙을 그래프로 시각화하여 동적 그래프로 보여주거나, 컴퓨터 과학의 복잡한 알고리즘 작동 원리를 알고리즘 흐름도와 같은 다이어그램으로 그려줍니다.
이를 통해 사용자는 생성된 시각 자료와 상호작용하며 직관적으로 개념을 이해할 수 있습니다.
시험 시뮬레이션 (Mimic Exam Generator)


학생이나 수험생을 위한 강력한 기능으로, 기존 시험지나 문제집을 기반으로 새로운 실전 모의고사를 생성합니다.
사용자가 과거 기출 문제와 같은 예시 문제들을 PDF 파일로 업로드하면, AI가 해당 시험의 난이도, 문제 유형, 출제 스타일을 분석합니다. 또한, 분석된 스타일을 유지하면서 내용은 완전히 새로운 문제를 생성하여, 사용자가 무한히 연습할 수 있는 환경을 제공합니다.
심층 연구 모드 (Deep Research Agent)



DeepTutor는 연구자와 대학원생을 위해 논문 작성과 선행 연구 조사를 자동화하는 기능도 제공합니다. 사용자가 연구 주제만 입력하면, Web에서 검색하거나 RAG, 관련 논문 검색(arXiv, Google Scholar) 등을 통해 핵심 내용을 추출합니다.
또한, 수집된 정보를 바탕으로 서론, 본론, 결론을 갖춘 문헌 검토(Literature Review) 보고서를 작성합니다. 단순 요약이 아니라, 여러 논문의 내용을 종합(Synthesize)하여 흐름을 잡아주는 등, 체계적인 보고서 작성 기능을 제공합니다.
그 외에도 기존 연구의 한계점을 분석하고 새로운 연구 방향이나 아이디어를 제안합니다. 상호작용을 통해 아이디어를 생성하고 팟캐스트를 생성하는 등의 IdeaGen 기능도 제공합니다.
멀티 모달 문서 처리 (Multimodal RAG)
텍스트뿐만 아니라 도표, 수식, 이미지가 포함된 복잡한 문서도 처리할 수 있습니다. 답변 생성 시 참고한 문서의 구체적인 페이지나 섹션을 명시하여 신뢰도를 보장하거나, PDF 내의 복잡한 수학 공식을 LaTeX 형태로 정확히 추출하고 이해하여 답변에 활용하는 등의 기능을 제공합니다.
DeepTutor 시스템 구성
DeepTutor는 LangChain과 유사한 구조의 자체 멀티 에이전트 프레임워크 위에서 작동합니다. 각 에이전트는 전문적인 역할을 수행하며 협업합니다. DeepTutor가 제공하는 주요 에이전트들은 다음과 같습니다:
- ManagerAgent: 사용자의 입력을 받아 적절한 하위 에이전트에게 작업을 분배하고 전체 프로세스를 감독합니다.
- InvestigateAgent: 문제 해결에 필요한 정보가 부족할 경우, 추가적인 문맥을 파악하거나 검색을 수행하는 탐정 역할을 합니다.
- PlanAgent: 복잡한 문제를 해결 가능한 작은 단위로 쪼개고 순서를 정하는 전략가입니다.
- SolveAgent: 실제 계산, 코딩, 논리적 추론을 수행하여 답을 내는 해결사입니다.
- ReviewAgent / CheckAgent: 생성된 답변이 정확한지, 환각은 없는지, 사용자의 의도에 맞는지 최종 검수합니다.
DeepTutor 설치 및 설정
DeepTutor를 원활하게 구동하기 위해서는 다음 도구들이 미리 설치 및 설정되어 있어야 합니다:
- Git: 소스 코드를 내려받기 위해 필요합니다.
- Anaconda (또는 Miniconda): Python 가상 환경을 관리하기 위해 권장됩니다.
- Python 3.10 이상: 최신 AI 라이브러리 호환성을 위해 3.10 이상의 버전이 필요합니다.
- OpenAI API Key: LLM(GPT-4 등)을 사용하기 위해 유효한 API 키가 필요합니다.
DeepTotur 설치 과정은 소스 코드 복제(Clone)와 가상 환경 설정, 그리고 의존성 라이브러리 설치의 3단계로 진행됩니다:
-
먼저 GitHub에서 DeepTutor 소스 코드를 로컬 컴퓨터로 복제(clone)합니다:
git clone https://github.com/HKUDS/DeepTutor.git cd DeepTutor -
다음으로, 의존성 충돌을 방지하기 위해 Conda를 사용하여 독립된 가상 환경을 생성하는 것이 좋습니다. Python 버전은 3.10을 권장합니다:
# deeptutor라는 이름의 가상 환경 생성 conda create -n deeptutor python=3.10 # 가상 환경 활성화 conda activate deeptutor -
마지막으로 프로젝트 실행에 필요한 의존성 해결을 위해 필요 Python 라이브러리들을 설치합니다:
pip install -r requirements.txt
설치 완료 후, DeepTutor가 OpenAI의 모델(GPT-4 등)을 사용할 수 있도록 API 키를 설정해야 합니다.
프로젝트 루트 디렉토리에 있는 설정 파일을 수정하거나 환경 변수를 설정해야 합니다. 일반적으로 DeepTutor는 config 폴더 내의 설정 파일을 사용하거나 .env 파일을 활용합니다.
DeepTutor 사용 방법
이상과 같이 DeepTutor 설치와 LLM 설정이 완료되었다면, Streamlit을 사용하여 웹 인터페이스를 실행할 수 있습니다. 이를 위해 터미널에서 다음 명령어를 입력합니다:
streamlit run app.py
명령어를 실행하면 로컬 서버가 구동되며, 브라우저가 자동으로 열립니다. 만약 자동으로 열리지 않는다면 터미널에 표시된 주소(예: http://localhost:8501)로 직접 접속하면 됩니다.
DeepTutor의 인터페이스는 직관적으로 구성되어 있습니다. 주요 사용 흐름은 다음과 같습니다.
문서 업로드 및 학습 (Learning Setup)
DeepTutor의 핵심 기능은 사용자의 문서를 기반으로 동작하는 것입니다. 이를 위해 먼저 사이드바(Sidebar) 메뉴에서 학습하고자 하는 PDF 파일(논문, 교과서 등)을 업로드합니다. 이후, 업로드가 완료되면 시스템이 문서를 분석하고 인덱싱(Indexing) 과정을 거칩니다.
사용 모드 선택 (Mode Selection)
사용 목적에 따라 적절한 모드를 선택합니다:
- 일반 대화(General Chat): 일반적인 질의응답을 수행합니다.
- 심층 리서치(Deep Research): 특정 주제에 대해 깊이 있는 조사를 수행하거나 논문 리뷰를 요청할 때 사용합니다.
- 시험/퀴즈(Exam/Quiz): 업로드한 자료를 바탕으로 시험 문제를 생성하거나 퀴즈를 풉니다.
질문 및 상호작용 (Interaction)
채팅창에 질문을 입력하면 에이전트가 답변을 생성합니다. 텍스트 답변과 함께, 정보의 출처(Source)가 표시됩니다.
또는, 복잡한 개념의 경우 "Show visual explanation" 등의 옵션을 통해 그래프나 다이어그램을 요청할 수 있습니다.
라이선스
DeepTutor 프로젝트는 GNU Affero General Public License v3.0 (AGPL-3.0) 라이선스로 배포되고 있습니다. AGPL-3.0은 코드를 수정하여 네트워크 서비스로 제공할 경우, 수정된 전체 소스 코드를 공개해야 하는 강력한 오픈소스 라이선스입니다.
DeepTutor 공식 홈페이지
DeepTutor 프로젝트 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()


