감성형 AI 학원 운영의 필요성
프로젝트의 배경과 목표
기존 학원 자동화는 대부분
출결, 숙제, 문자 발송, 리포트 생성 같은 관리 중심이었습니다.
그런데 실제 현장에서 아이들을 가르치다 보면
수업의 집중도와 분위기에 훨씬 큰 영향을 주는 건
아이의 “그날 상태”라는 걸 자주 느끼게 됩니다.
어떤 아이는 잠을 못 자서 멍한 상태로 오고,
어떤 아이는 시험 전이라 긴장해 있고,
어떤 아이는 지나치게 들떠 있어서 리딩에 집중을 못합니다.
그래서 단순 관리 자동화가 아니라,
“학생 상태에 맞춰 수업 분위기까지 자동으로 세팅할 수 없을까?”
라는 생각으로 시작하게 되었습니다.
이번 프로젝트는
Claude Code + PlayMCP + 멜론을 연결해,
학생 상태를 자동 분류하고
상황에 맞는 음악을 추천하고
멜론 플레이리스트를 자동 실행하고
수업 후 반응까지 기록하는
“감성형 AI 학원 운영 시스템”을 만드는 것이 목표였습니다.
감성형 AI 학원 운영 시스템 구축 방법
사용 도구와 활용법
사용 도구
도구
역할
Claude Code
전체 구조 설계 및 코드 생성
Python
자동화 로직 구현
Streamlit
운영용 웹앱 UI 제작
PlayMCP
멜론 자동 실행 연결
Melon
플레이리스트 재생
GitHub
버전 관리
Streamlit Cloud
배포
전체 시스템 구조
Open optionsauto
학생 상태 입력
→ 학습 상태 분류
→ 음악 추천 키워드 생성
→ 멜론 플레이리스트 검색
→ 자동 재생
→ 로그 저장핵심 설계 전 략
이번 프로젝트에서 가장 중요하게 본 것은
“LLM을 무조건 쓰지 않는 것”이었습니다.
처음에는 Claude를 바로 붙이기보다
먼저 룰 기반 분류 시스템을 만들었습니다.
예를 들어:
Open optionsauto
시험 관련 단어 → 시험 긴장
리딩 수업 → 리딩 집중
졸림/멍함 → 피곤함
산만/딴짓 → 산만함우선순위를 정해서
예측 가능한 방식으로 동작하도록 설계했습니다.
특히:
JSON 규칙 외부화
디버그 로그 출력
분류 이유 추적 가능
추후 LLM fallback 가능
하게 구조를 만들어 두었습니다.
실제 분류 설계
Open optionsauto
우선순위 1: 시험 긴장
우선순위 2: 수업 유형
우선순위 3: 학생 상태
기본값: 리딩 집중예시:
Open optionsauto
"내일 시험이라 너무 떨려"
+ 영어 리딩
→ 시험 긴장Open optionsauto
"잠을 못 자서 멍하다"
+ 영어 리딩
→ 리딩 집중사용한 프롬프트 예시
너는 학원 운영 자동화 시스템을 설계하는 AI야.
목표는 학생 상태에 맞춰 멜론 플레이리스트를 자동 추천하고 실행하는 시스템을 만드는 것이다.
다음 조건으로 설계해줘.
학생 정보를 입력받는다.
학습 상태를 분류한다.
상태별 음악 추천 기준을 만든다.
PlayMCP를 통해 멜론 플레이리스트를 실행한다.
실행 결과를 로그로 저장한다.
초보자도 이해할 수 있게 폴더 구조와 실행 흐름을 설명해줘.
시스템 파일 구조
Open optionsauto
academy-music-system/
├── config/
├── input/
├── src/
├── logs/
├── app.py
├── requirements.txt
└── README.md각 파일 역할도 분리했습니다.
예를 들어:
classifier.py → 상태 분류
recommender.py → 음악 추천
player.py → PlayMCP 연동
logger.py → CSV 기록
Streamlit을 통한 앱 개발
처음에는 CLI 기반으로 만들었는데
실제 운영에서는 JSON 수정이 너무 번거로웠습니다.
그래서 Claude Code와 함께
Streamlit 기반 운영 UI로 확장했습니다.
결과적으로:
학생 카드 UI
상태 입력
추천 실행 버튼
로그 조회
반응 저장
CSV 다운로드
까지 가능한 웹앱 형태로 발전했습니다.
GitHub 및 Streamlit Cloud 배포
로컬에서 끝내지 않고
GitHub 연동 후 Streamlit Cloud로 배포까지 진행했습니다.
배포 과정에서:
requirements.txt 관리
.gitignore 설정
GitHub push
Streamlit Cloud 연결
까지 모두 Claude Code와 함께 진행했습니다.
결과와 배운 점
프로젝트를 통해 얻은 인사이트
이번 작업을 하면서 가장 크게 느낀 건: