수강생 사례 #출석부자동화 #LMS자동화 #QR입퇴실 #이수판정자동화 #AI바이브코딩

LMS 로그인부터 이수 결과 메일까지,
교육 행정 전 과정을 코드 하나로

Selenium으로 LMS에 자동 로그인해 명단을 가져오고, QR 입·퇴실 체크로 수강 시간 데이터를 쌓은 뒤 이수 판정부터 LMS 자동 업로드, 교육생 개인 메일 발송까지 완전 자동화. 월 3시간이 넘던 교육 행정이 코드 실행 한 번으로 끝납니다.
통신사 S사 교육담당팀 수강생이 ChatGPT X Python RPA 교육에서 직접 구현한 AI 업무자동화 사례입니다.

90%
업무 시간
절감율
연 30시간
담당자 업무
절감량
0건
수기 입력
오류 건수
D+1일
교육생 개인
결과 메일 수신

01 — 배경 · Problem

교육 전날부터 교육 다음 날까지,
담당자 혼자
다 하고 있었습니다

바이브코딩스쿨 수강 전, 출석부와 이수처리를 수기로 반복하던 교육 담당자의 모습

통신사 S사 교육담당팀은 매월 복수의 사내 교육을 운영합니다. 교육마다 담당자는 LMS에 직접 접속해 수강생 명단을 내려받고, 그 명단으로 출석부를 수기로 작성해야 했습니다. 교육 현장에서도 출석 확인은 수기로 진행했고, 이수·미이수 판정도 수기로 처리했습니다.

판정이 끝나면 LMS에 다시 접속해 이수 처리 양식을 올리고, 교육생에게도 결과를 일일이 직접 알려야 했습니다. 명단 수집부터 결과 통보까지, 교육 한 번에 담당자가 처음부터 끝까지 혼자 처리해야 했습니다.

"교육 전날 LMS 들어가서 명단 뽑고, 출석부 만들고, 당일 서명 받고, 끝나면 이수 처리하고, 다시 LMS 올리고, 결과 메일까지. 교육 준비보다 이 행정 처리가 더 힘들었습니다."

교육 1회 기준 수기 처리 흐름

시점 단계 작업 내용
교육 전 STEP 1 사내 LMS 수동 접속 → 수강생 명단 다운로드
교육 전 STEP 2 명단 기반 출석부 수동 작성
교육 중 STEP 3 수기 출석 확인
교육 후 STEP 4 이수·미이수 주관 판정 → LMS 업로드 양식 수동 작성
교육 후 STEP 5 LMS 재접속 → 이수 처리 양식 수동 업로드
D+1일 STEP 6 교육생 개인별 이수 결과 메일 수동 발송

🔁 반복 수작업 — 명단 수집·출석부 작성·이수 양식 작성·LMS 업로드·결과 메일까지, 매 교육마다 처음부터 끝까지 수동

✍️ 전 과정 수기 — 출석 확인부터 이수·미이수 판정까지 모두 수기 처리

📬 개별 통보 — 교육생에게 이수 결과를 일일이 직접 알려야 했음


02 — 솔루션 · Solution

LMS 로그인 → QR 입퇴실 → 판정 → 업로드 → 개인 메일,
6단계 전 과정이 자동으로 연결됩니다

비전공자도 구현한 Python QR 입퇴실 자동화 — AI 교육기관 바이브코딩스쿨 수강생 사례

자동화의 핵심은 사람이 중간에서 데이터를 옮기던 모든 단계를 코드로 대체한 것입니다. Selenium이 LMS에 자동 로그인해 명단을 가져오고, QR 코드가 입실·퇴실 시간을 각각 기록합니다. 쌓인 시간 데이터로 이수 여부를 자동 판정하고, 완성된 양식을 LMS에 자동 업로드한 뒤 교육생 개인에게 결과 메일을 발송하는 것까지 파이프라인 하나로 연결됩니다.

사용 도구

🤖 Selenium 🐍 Python 3 📊 pandas 📋 openpyxl 🔲 qrcode 📡 Google Sheets API ☁️ Google Drive API ✉️ SMTP 이메일
INPUT
코드 실행 (교육일 전날)
LMS 계정 정보 + 교육 코드만 입력하면 자동 시작
1
STEP 1 · LMS 자동 로그인 & 명단 다운로드
Selenium이 LMS에 자동 로그인 → 명단 수집 → 구글 드라이브 저장
Selenium WebDriver가 사내 LMS URL에 자동 접속해 로그인합니다. 교육 코드를 기준으로 해당 수강생 명단 페이지를 탐색하고 엑셀 파일로 자동 다운로드합니다. 다운로드된 명단은 Google Drive API를 통해 지정된 팀 드라이브 폴더에 자동 저장됩니다.
출력값: 수강생명단_교육명_날짜.xlsx → 구글 드라이브 자동 저장
2
STEP 2 · 출석부 & 입·퇴실 QR 자동 생성
출석부 엑셀 생성 + 입실/퇴실 QR 코드 각각 삽입
명단 데이터를 기반으로 openpyxl이 출석부 엑셀을 자동 생성합니다. qrcode 라이브러리가 입실용 구글 설문 URL과 퇴실용 구글 설문 URL을 각각 QR 이미지로 변환해 출석부 지정 셀에 삽입합니다. 교육 당일 현장에 출력물 하나만 배치하면 됩니다.
출력값: 입실 QR + 퇴실 QR 포함 출석부 파일 완성
3
STEP 3 · 교육생 QR 체크 → 출석 DB 자동 기록
입실/퇴실 QR 스캔 → 타임스탬프 Google Sheets 자동 적재
교육생이 입실 시 입실 QR, 퇴실 시 퇴실 QR을 스마트폰으로 스캔합니다. 각 스캔은 구글 설문으로 연결되어 사번·성명과 함께 타임스탬프가 자동으로 Google Sheets에 기록됩니다. 교육 내내 출석 데이터가 실시간으로 쌓입니다.
출력값: 입실시간·퇴실시간 타임스탬프 Google Sheets 자동 적재
4
STEP 4 · 수강 시간 계산 → 이수/미이수 자동 판정
퇴실시간 − 입실시간 = 실수강시간 → 기준 이상이면 이수
gspread로 Google Sheets 응답 데이터를 불러와 pandas로 명단과 사번 기준 merge() 처리합니다. 퇴실시간에서 입실시간을 빼 실수강시간을 계산하고, 교육 총 시간 대비 설정 비율(예: 80% 이상) 충족 여부로 이수/미이수를 자동 판정합니다. QR 미스캔자는 미이수로 처리됩니다.
출력값: 수강시간 기반 이수/미이수 판정 완료 데이터프레임
5
STEP 5 · LMS 업로드 양식 변환 → 자동 업로드
판정 결과 → LMS 포맷 자동 변환 → Selenium으로 LMS 자동 업로드
이수 판정 결과를 LMS가 요구하는 컬럼 순서와 데이터 형식으로 자동 변환해 엑셀 파일을 저장합니다. Selenium이 다시 LMS에 자동 로그인해 해당 교육 관리 화면으로 이동하고, 완성된 양식 파일을 자동으로 업로드합니다. 담당자가 LMS에 접속할 필요가 없습니다.
출력값: LMS 이수처리 자동 완료
6
STEP 6 · 교육생 개인별 이수 결과 메일 자동 발송
D+1일 오전 — 이수/미이수 결과를 교육생 개인 사내메일로 자동 발송
교육 다음 날 오전, SMTP를 통해 판정 결과에 따라 맞춤 메일이 자동 발송됩니다. 이수자에게는 이수 확인 메일과 수강 시간이, 미이수자에게는 미이수 안내와 사유(입실 미확인·조기 퇴실)가 개인별로 전달됩니다. 담당자는 메일을 한 통도 직접 작성하지 않습니다.
출력형태: 교육생 개인 사내메일 자동 수신 (이수 확인 / 미이수 안내)
OUTPUT
LMS 이수 완료 + 교육생 전원 개인 메일 자동 수신
담당자 개입 없이 교육 행정 전 과정 종결

각 단계 핵심 설명

STEP 01 — LMS 자동 로그인 · Selenium WebDriver

Selenium이 사내 LMS URL에 자동 접속해 로그인을 처리하고, 교육 코드 기반으로 수강생 명단 페이지를 탐색해 파일을 다운로드합니다. Google Drive API로 팀 공유 폴더에 자동 저장해 팀원과 즉시 공유됩니다.

✓ LMS 수동 접속·다운로드에 걸리던 10분 제거
STEP 02 — 입·퇴실 QR 각각 생성 · qrcode.make() + openpyxl

입실용 구글 설문 URL과 퇴실용 구글 설문 URL을 각각 별도 QR 이미지로 생성합니다. 두 QR을 출석부 엑셀에 나란히 삽입해 현장 출력 한 장으로 입·퇴실 체크를 모두 처리합니다.

✓ 수기 서명 → QR 디지털 체크로 완전 대체, 입·퇴실 시간 자동 기록
STEP 03~04 — 출석 DB 축적 → 시간 기반 이수 판정 · gspread + pandas

교육 종료 후 gspread로 입실·퇴실 응답 데이터를 각각 읽어 pandas merge()로 명단과 결합합니다. (퇴실시간 - 입실시간)으로 실수강시간을 계산하고 기준치 이상 충족 여부를 판정합니다. 주관이 아닌 시간 데이터로 이수 여부를 결정합니다.

✓ 수강 시간 데이터 없는 주관적 판정 → 객관적 시간 기반 자동 판정
STEP 05 — LMS 자동 업로드 · Selenium 재활용

STEP 1에서 쓴 Selenium 로직을 재활용해 LMS에 자동 재접속합니다. 교육 관리 화면에서 완성된 이수처리 양식 파일을 자동으로 업로드합니다. 담당자가 LMS를 두 번 접속할 필요가 없습니다.

✓ LMS 재접속·수기 입력·업로드 전체 자동화
STEP 06 — 개인별 맞춤 메일 · smtplib + 이수/미이수 분기

이수자와 미이수자를 분기해 각각 다른 메일 템플릿을 적용합니다. 이수자에게는 이수 확인과 실수강시간을, 미이수자에게는 미이수 사유(입실 미확인·조기 퇴실)를 포함한 안내 메일이 교육 다음 날 개인 사내메일로 자동 발송됩니다.

✓ 결과 메일 수동 작성·발송 완전 제거, 교육생 개별 안내까지 자동화

03 — 결과 · Result

담당자는 코드 실행 버튼 하나,
교육생은 QR 스캔 두 번,
나머지는 전부 자동입니다

Before · 수작업

• LMS 수동 접속 → 명단 다운로드

• 출석부 양식 직접 작성

• 현장 수기 서명 수취

• 주관적 이수/미이수 판정

• LMS 재접속 후 수동 업로드

• 교육생 결과 메일 수기 발송

교육 1회 소요
45~60분
월 4~5회 → 3시간 이상
After · 자동화

• Selenium LMS 자동 로그인·명단 수집

• 출석부 + 입·퇴실 QR 자동 생성

• QR 스캔 → 입·퇴실 시간 자동 기록

• 수강 시간 계산 → 이수/미이수 자동 판정

• LMS 자동 업로드

• D+1일 교육생 개인 메일 자동 발송

담당자 실제 소요
약 5분
코드 실행 → 전 과정 자동 종결

자동 생성된 출석 DB 및 이수 판정 결과

📊 출석DB_이수판정_20260712.xlsx · 자동 생성됨
📋 수강생명단 ⏱ 출석DB · 이수판정 ◀ 현재 시트 📤 LMS업로드양식
총 42명 처리 완료 🟢 이수 38명 🔴 미이수 4명 ⚪ 이수율 90.5%
이수여부 사번 성명 / 부서 입실시간 퇴실시간 수강시간
🟢 이수 S-20194421 김○○ / 교육담당팀 09:01 13:02 4h 01m
🟢 이수 S-20217834 박○○ / HR혁신팀 09:03 12:58 3h 55m
🔴 미이수 S-20183305 이○○ / 인사기획팀 09:07 11:14 ⚠️ 2h 07m
🟢 이수 S-20229167 최○○ / 인재개발팀 08:59 13:00 4h 01m
🔴 미이수 S-20201748 강○○ / 글로벌HR팀 — (미스캔) 0h 00m
🟢 이수 S-20156092 정○○ / 조직문화팀 09:02 13:05 4h 03m
⋯ 전체 42명 출석 DB 및 이수 판정 자동 처리 완료

"LMS 로그인부터 결과 메일까지 제가 손댈 게 하나도 없어요. 이수 판정도 시간 데이터로 명확해지니까 나중에 이의제기도 없어졌습니다. 이걸 왜 이제야 만들었나 싶었죠."

수강생 황○○  · ChatGPT X Python RPA 교육 수료

04 — 인사이트 · Insight

사람이 옮기던 데이터를
코드가 연결했을 때
전체 흐름이 자동이 됩니다

AI 자동화 교육 후 LMS 이수처리와 결과 메일 발송까지 자동화에 성공한 직장인

이 자동화에서 가장 중요한 전환점은 두 곳이었습니다. 하나는 LMS 자동 로그인입니다. 사람이 반복적으로 수동 접속하던 첫 번째 병목이 사라지면서 명단 취득부터 최종 업로드까지 같은 도구(Selenium)가 처음과 끝을 담당할 수 있게 됐습니다.

다른 하나는 입실/퇴실 QR 분리입니다. 수기 서명은 "왔었는지 여부"만 기록했습니다. QR 체크로 바꾸면서 입실 시간과 퇴실 시간이 각각 타임스탬프로 쌓이기 시작했고, 그 순간부터 "몇 시간 들었는가"를 기준으로 이수를 판정할 수 있게 됐습니다. 주관이 빠지고 데이터가 판단하는 구조로 바뀐 것입니다.

개인별 결과 메일 자동 발송도 단순한 편의 기능이 아닙니다. 이수자에게는 수강 시간 근거가, 미이수자에게는 조기 퇴실 시간이 메일에 포함됩니다. 결과에 대한 이의 제기 자체가 줄어들었고, 교육 운영의 신뢰도가 높아졌습니다. AI 업무자동화 교육의 핵심 역량인 '데이터 흐름 설계'가 실제 현장에서 작동한 사례입니다.

자동화의 시작은 도구 선택이 아니라
"사람이 손으로 옮기는 데이터가 어디에 있는가"를 찾는 것입니다.

그 지점을 코드로 연결하면, 나머지 흐름은 자연스럽게 따라옵니다.


05 — 확장 · Expansion

같은 구조로
이런 업무도 자동화할 수 있습니다

LMS 자동 로그인 + QR 입퇴실 + 시간 기반 판정 + 자동 업로드 + 개인 메일 발송의 파이프라인은 교육 운영 외에도 수강 이력·참석 기록·확인서가 필요한 모든 반복 행정 업무에 적용할 수 있습니다.

🔗 같은 방식으로 자동화 가능한 업무들

법정의무교육 이수 관리 — LMS 자동 명단 수집 → QR 체크 → 이수 자동 판정 → 미이수자 리마인더 메일 자동 발송

행사·세미나 참석 확인 — 입·퇴실 QR → 실참석 시간 기록 → 참석 확인서 자동 생성 → 개인 발송

외부 교육 수료 보고 — 수료증 업로드 → 수료 여부 자동 확인 → 교육비 정산 양식 자동 생성

부서별 교육 수료 현황 대시보드 — 이수 데이터 자동 누적 → 월별·팀별 수료율 자동 집계·시각화

시험·평가 결과 처리 — 응답 데이터 자동 취합 → 점수 계산 → 합격/불합격 개인 메일 자동 발송

LMS 로그인부터 교육생 개인 메일까지,
6단계 교육 행정 전 과정이 자동으로 연결됩니다

통신사 S사 교육담당팀 수강생이 ChatGPT X Python RPA 교육에서 직접 구현한 AI 업무자동화 사례입니다.