TECH 으로 돌아가기
TECH GITHUB 오늘 12분 읽기 34 READS

[심층분석] 나를 기억하는 AI 과외 선생님 — DeepTutor가 보여주는 '평생 학습 파트너'의 설계도

[심층분석] 나를 기억하는 AI 과외 선생님 — DeepTutor가 보여주는 '평생 학습 파트너'의 설계도
SOURCE IMAGE · GITHUB
[심층분석] 나를 기억하는 AI 과외 선생님 — DeepTutor가 보여주는 '평생 학습 파트너'의 설계도

매일 처음 만나는 선생님, 지겹지 않으세요?

ChatGPT로 뭔가를 배워본 분이라면 한 번쯤 답답했던 순간이 있을 거예요. 어제 분명히 '저는 재귀 함수가 헷갈려요'라고 한참 대화했는데, 오늘 새 창을 열면 완전히 처음 보는 사람 취급을 하거든요. 대화창을 닫는 순간 어제의 나는 사라지는 거죠. 단순 질문·답변이라면 큰 문제가 아닌데, '학습'에서는 이게 치명적이에요. 좋은 선생님의 진짜 실력은 지식의 양이 아니라, 이 학생이 어디서 막히는지 기억하고 거기에 맞춰 설명을 바꿔주는 능력이니까요.

오늘 소개할 DeepTutor는 바로 이 문제를 정면으로 겨냥한 오픈소스 프로젝트인데요. 만든 곳은 홍콩대학교의 HKUDS 연구실이에요. 이름이 낯설 수 있지만, RAG 쪽을 조금이라도 공부해본 분이라면 LightRAG라는 프로젝트로 이미 만나봤을 가능성이 커요. 그 팀이 이번에는 'Lifelong Personalized Tutoring', 그러니까 학습자를 평생 기억하면서 맞춤형으로 가르치는 AI 튜터를 들고 나온 거예요. 웹 앱, CLI, 도커 배포까지 갖춘 꽤 완성도 높은 형태로요.

핵심은 '기억'이에요: DeepTutor의 구조 뜯어보기

1. 평생 기억(Lifelong Memory) — 3년째 같은 선생님이 주는 힘

DeepTutor가 내세우는 첫 번째 키워드는 '평생(lifelong)'이에요. 이게 뭐냐면, 학습자와 나눈 대화, 틀렸던 문제, 이해가 빨랐던 주제 같은 것들을 세션이 끝나도 계속 쌓아두는 장기 기억 시스템이거든요.

비유하자면 이런 거예요. 매번 다른 단기 알바 과외 선생님을 만나면, 수업 시작할 때마다 '제가 어디까지 배웠냐면요…' 하고 브리핑부터 해야 하잖아요. 반면 3년째 같은 선생님이라면 '지난번에 포인터에서 막혔으니까 오늘은 그림부터 그려볼까?' 하고 바로 들어가죠. DeepTutor는 후자를 소프트웨어로 구현하려는 시도예요. 릴리스 노트를 보면 설정 화면에서 실시간 메모리 사용량을 보여주는 기능까지 넣었는데, 기억 시스템이 장식이 아니라 실제로 관리해야 할 핵심 자원이라는 방증이에요.

2. LightRAG — 교재를 '지식 그래프'로 소화하기

두 번째 축은 같은 연구실의 대표작인 LightRAG예요. 먼저 RAG부터 짚고 갈게요. RAG(Retrieval-Augmented Generation)라는 건, 쉽게 말해 AI가 답하기 전에 관련 자료를 먼저 찾아보고(검색), 그 자료를 근거로 답을 만들어내는(생성) 방식이에요. 시험으로 치면 암기 시험이 아니라 오픈북 시험을 보게 하는 거죠. 덕분에 AI가 그럴듯한 거짓말을 지어내는 환각 현상을 크게 줄일 수 있어요.

LightRAG는 여기서 한 발 더 나가요. 문서를 그냥 조각내서 검색하는 게 아니라, 문서 안의 개념들과 그 관계를 지식 그래프(개념들을 점으로, 관계를 선으로 잇는 지도)로 만들어두거든요. 교재 PDF를 넣으면 '재귀 함수 — 스택 — 메모리 구조'처럼 개념이 서로 어떻게 이어지는지까지 파악한 상태로 가르칠 수 있는 거예요. 선행 개념을 모르면 다음 개념을 설명해도 소용없는 게 교육이라, 이 구조가 튜터링과 특히 궁합이 좋아요.

재미있는 건 최근 릴리스에서 'LightRAG 인덱싱을 이벤트 루프 밖으로 뺐다'는 항목인데요. 파이썬 비동기 서버에서는 모든 요청이 하나의 이벤트 루프(작업 순서를 관리하는 회전 초밥 레일 같은 것) 위에서 처리되는데, 문서 인덱싱처럼 무거운 작업이 레일 위에 그대로 올라가면 다른 사용자의 채팅 응답까지 다 밀려버려요. 이걸 별도 작업으로 분리했다는 건, 데모 수준이 아니라 여러 명이 동시에 쓰는 서비스 품질을 신경 쓰고 있다는 뜻이에요.

3. 도구를 직접 쓰는 튜터 — MCP와 101개의 CLI 앱

세 번째 특징은 이 튜터가 말로만 설명하지 않는다는 거예요. DeepTutor에는 계정별 MCP 서비스 스토어가 있고, 튜터가 실행할 수 있는 CLI 앱이 101개나 등록돼 있어요. MCP(Model Context Protocol)가 뭐냐면, AI가 외부 도구나 데이터에 연결될 때 쓰는 표준 규격이에요. 기기마다 충전 단자가 달랐던 시절을 USB-C가 통일한 것처럼, 도구 연결 방식을 하나의 규격으로 통일한 거라고 보면 돼요.

이게 왜 중요하냐면, '정렬 알고리즘은 이렇게 동작해요'라고 설명만 하는 선생님과, 그 자리에서 코드를 직접 돌려서 결과를 보여주는 선생님의 차이거든요. 학생이 '이 코드 왜 안 되죠?'라고 물으면 튜터가 실제로 실행해보고 에러 메시지를 같이 읽어줄 수 있는 구조예요.

4. 특정 모델에 묶이지 않는 설계

릴리스 노트를 훑어보면 설계 철학이 하나 더 보여요. 계정마다 각자의 Codex로 로그인하고, 구글의 Gemini Embedding 2를 네이티브 엔드포인트로 쓰고, Novita 같은 AI 게이트웨이도 붙이고, 모델별로 추론 강도(reasoning effort)를 따로 조절할 수 있게 해뒀거든요. 임베딩이라는 건 텍스트를 컴퓨터가 비교할 수 있는 숫자 좌표로 바꾸는 기술인데, 검색 품질을 좌우하는 핵심 부품이에요. 대화용 모델과 검색용 임베딩 모델을 각각 다른 회사 제품으로 조합할 수 있다는 건, 특정 벤더에 종속되지 않고 부품을 갈아 끼우는 조립 PC 같은 구조라는 뜻이에요.

소소한 개선 목록도 눈여겨볼 만해요. 잘려버린 답변을 끊지 않고 이어가게 하고, 빈 도구 호출은 재시도 대신 거부하고, 파일 업로드가 서버를 멈추지 않게 하고, LLM 클라이언트 캐시에 상한선을 두는 식의 항목이 매주 꾸준히 올라오거든요. 화려한 기능 자랑보다 이런 지루한 안정화 작업이 쌓이는 프로젝트가 실제로 오래가는 경우가 많아요.

업계 지형에서 보면: 프랜차이즈 학원 vs 입주 과외

AI 튜터 시장 자체는 이미 붐비는 동네예요. 칸아카데미의 Khanmigo는 검증된 교육 콘텐츠 위에 GPT를 얹은 모범생 같은 서비스고, OpenAI는 ChatGPT에 학습 모드와 장기 메모리를 넣고 있고, 구글은 아예 학습에 특화된 LearnLM을 모델 차원에서 만들고 있죠. NotebookLM은 내 자료를 요약하고 설명해주는 데 강하고요.

이들과 DeepTutor의 결정적 차이는 두 가지예요. 첫째, 완전한 오픈소스라서 내 서버에 직접 설치할 수 있어요. 기존 서비스들이 잘 차려진 프랜차이즈 학원이라면, DeepTutor는 우리 집에 들어와 사는 입주 과외 선생님인 셈이죠. 커리큘럼(프롬프트와 지식 베이스)도, 학생 기록(메모리)도 전부 내 손안에 있어요. 둘째, 바로 그 이유로 데이터 주권 문제에서 자유로워요. 학습 기록은 생각보다 민감한 데이터거든요. 우리 아이가 뭘 못하는지, 우리 신입사원이 어디서 헤매는지가 전부 외부 회사 서버에 쌓이는 게 부담스러운 조직이라면, 셀프호스팅이 가능하다는 것 자체가 강력한 셀링 포인트예요. 도커 컴포즈 파일이 기본 제공되고, 배포할 때 data 디렉터리를 통째로 보존하도록 신경 쓴 흔적도 릴리스 노트에 보여요.

물론 약점도 분명해요. 검증된 교육 콘텐츠가 함께 오는 게 아니라서 지식 베이스는 직접 채워야 하고, LLM API 비용도 내 몫이에요. 프랜차이즈 학원은 등록만 하면 되지만, 입주 과외는 방도 내주고 식사도 챙겨야 하는 거죠.

한국 개발자에게: 어디에 써먹을 수 있을까

가장 현실적인 시나리오 세 가지만 짚어볼게요.

도입 전에 확인할 것도 있어요. 한국어 자료를 쓸 거라면 임베딩 모델의 한국어 검색 품질을 작은 데이터로 먼저 테스트해보세요. 다행히 임베딩 모델을 갈아 끼울 수 있는 구조라 선택지는 열려 있어요. 그리고 학생이나 직원의 학습 기록을 다루는 순간 개인정보 이슈가 따라오니, 셀프호스팅이라도 접근 권한 설계는 미리 해두는 게 좋아요.

학습 로드맵은 이렇게 제안할게요. 1단계로 RAG의 기본 개념을 잡고, 2단계로 LightRAG 저장소에서 지식 그래프 기반 검색이 일반 벡터 검색과 어떻게 다른지 훑어보세요. 3단계로 MCP 규격 문서를 가볍게 읽고, 마지막으로 DeepTutor를 도커 컴포즈로 띄워서 메모리 모듈 코드부터 뜯어보는 거예요. 에이전트 시스템의 기억 설계라는, 요즘 가장 뜨거운 주제의 실전 교과서로 손색이 없거든요.

마무리: '더 똑똑한 모델'에서 '나를 아는 모델'로

지난 몇 년간 AI 경쟁이 '누가 더 똑똑한가'였다면, 이제 승부처는 '누가 사용자를 더 잘 기억하는가'로 옮겨가고 있어요. 모델 지능은 상향 평준화됐고, 결국 서비스를 계속 쓰게 만드는 건 나와 쌓아온 맥락이거든요. DeepTutor는 그 흐름을 교육이라는, 기억이 가장 큰 가치를 만드는 영역에서 오픈소스로 보여준 사례예요.

여러분은 어떻게 생각하세요? AI 튜터가 내 학습 기록을 전부 기억한다면 어디까지 맡기고 싶으신가요? 그리고 회사에 온보딩 튜터를 만든다면, 가장 먼저 지식 베이스에 넣고 싶은 문서는 뭔가요? 댓글로 경험을 나눠주세요.


🔗 출처: GitHub

SOURCE · GITHUB
원문 전체 보기 → https://github.com/HKUDS/DeepTutor
SHARE
처리 중...