
안녕하세요. 어느 새 미니 프로젝트 2차까지 진행되었습니다~!
미니 프로젝트 2차는 LangGraph와LangCahin을 활용하여 AI Agent 파이프라인을 구현하였습니다.
당연히 미니 프로젝트 전에는 관련하여 수업을 진행하였습니다.
강의 3일, 프로젝트 3일이라는 혹독한 일정이었지만, 팀원분들이 워낙 잘 해주시고 각자 멋진 친구 하나씩 끼고 있으니
나름.. 잘 진행된 것 같습니다!
ty, 수많은 AI들
사실 수업 중에는 이론과 실습의 괴리에 좀 많이 허덕이느라 이게 맞나..? 라는 생각을 많이 했습니다.
집중도 잘 안되는 것 같고 너무 힘들었는데요...

오히려 미니프로젝트를 하면서 팀원들과 상의하고 구현하면서 더욱 얻은게 많은 것 같습니다.
개인적으로 미니프로젝트는 부담도 되지만 확실히 많은 것들을 얻어가서 좋습니다 히히
또, 이번 미니 프로젝트 2차는 1차에서 진행한 팀원들과 같이 진행하는게 아니라
다시 재배정된 팀원들과 새로운 프로젝트를 진행하는 것인데요!
그래서 새로운 에이블러분들을 만나고 알아가는 과정이 또 하나의 재미 포인트였습니다
사실 공부 빼고 다 재밌죠
1,2일차는 개인 과제가 중심으로, 기존에 진행하던 것과 같이 온라인으로 구현 및 토의를 거쳤습니다.
3일차에는 KT 전농지사에 모여 오프라인으로 만나 같이 최종 결과물을 다듬고 부족한 점을 채워나갔습니다.
미프의 꽃인 발표 준비도 열심히 하구요!
조장 역할을 맡았던 이전 프로젝트와 달리 이번에는 타임 키퍼 역할을 맡아 팀원 전체의 시간을 관리하고,
일의 중요도에 따라 시간을 배치하고 활용할 수 있게 관리하였는데요.
생각보다 어려웠습니다.
처음만해도 타임키퍼 = 인간 알라미 라고 쉽게 생각했습니다.
그리고 미프 시작! 하고 30분 뒤에 제 생각은 ...
전세계 일정 관리자분들 짱
팀원은 8명에서 시작해 여러가지 사정으로 교육장에 모인건 5명인데, 한 분께서는 온라인으로 참여하셔서
시간 관리가 육성 공지로 해결되지 않는 것, 오류는 수시로 터지는 것, 로컬에서 코드 수정이 진행 된 점
이 세 가지 요인만으로도 시간 관리에 차질이 있었는데 좋은 팀원 분들께서 아 그럿구낭. 하고 넘겨주셔서 감사했습니다.

프로젝트 개요
주제 - AI 강사 Agent 구축
데이터 구분 - Text, Image
중점 사항 - LLM 기반 ppt 인식, 요약 및 생성 활용 / LangGraph를 활용한 AI Agent 구축
미니 프로젝트 목표
PPT ➡️ 교육/보고 영상 자동 제작 Agent 구축
- PPT 내용(text, image, graph) 자동 분석
- 발표용 스크립트 자동 생성
- TTS 적용 ➡️ 자연스러운 음성 내레이션 생성
- 슬라이드 + 음성 결합 ➡️ mp4 영상 생성
사용 기술로는 OpenAI / GPT-4o-mini-tts를 사용하여 진행되었습니다.
이번 프로젝트에 대해 간단히 설명하자면,
LangGraph와 LangChain을 활용해 PPT 파일을 자동으로 분석하고 강의 대본과 TTS 음성까지 생성하는 AI Agent 파이프라인을 구현하였습니다.
단순히 LLM을 호출하여 슬라이드를 요약하는 것을 넘어 멀티 노드 워크플로우를 설계하였습니다.
슬라이드 파싱 → 외부 검색(Tavily) → 텍스트 요약 생성 → 대본 작성 → 전체 흐름 감수 → TTS 변환
AI Agent 파이프라인은 아래와 같습니다.
node_validate_input
↓ (invalid)
node_reflect_input ← inferrable: LLM 자동추론 / False: interrupt() 사용자 입력
↓ (valid)
node_parse_all ← PPT 슬라이드 파싱
↓
node_search ← Tavily 외부 검색 + LLM 요약
↓
node_generate_text ← 슬라이드별 핵심 요약 생성
↓
node_generate_script ← TTS용 발표 대본 작성
↓
node_review_scripts ← 전체 흐름 감수 및 중복 제거
↓
TTS 음성 변환
제가 담당했던 node_search, node_generate_text 부분에서 핵심적으로 생각한 부분은 단순 ppt만을 읽는 AI Agent가 되지 않는것이었습니다.
그래서 대본에 기술 현황과 발전 가능성이 자연스럽게 포함되도록 규칙을 명시하는 아이디어를 생각했습니다.
기존에 사람이 발표하면서 추가적인 정보를 덧붙이는 것처럼 청자에게 시각적 정보 / 청각적 정보의 차이를 두고 싶었습니다.
PPT의 text box의 내용을 인식하여 LLM이 관련 내용 대본을 작성하고, Tavily를 이용하는만큼 PPT에는 기술되지 않는 기술 현황, 발전 가능성 등 내용을 추가하도록 하였습니다.
결과적으로, text box를 통해 주제를 인식하고 대본을 만들고 PPT 내부에 기술된 정량적 정보들을 참고하여 신뢰성 있는 대본을 작성하였습니다. 이후 text box에 담긴 정보를 바탕으로 한 내용이 종료되면, 추가적으로 Tavily를 이용한 검색을 통해 시각적 정보와 청각적 정보에 차이를 두었습니다.
문제와 해결
프로젝트를 진행하며 문제가 되었던 점 2가지 정도가 있었습니다. 그 중 제가 겪었던 문제 한 가지는 슬라이드마다 주제가 뚜렷하지 않은경우 모두 동일한 내용을 반복 출력한다는 것이었습니다.
sys_msg에 슬라이드 별 담당 범위와 중복 방지 규칙이 없어 일어난 일로, slide_focus, alredy_covered, slide_anchors 3개의 딕셔너리를 도입하여 해당 문제를 해결하였으나, 상당히 하드코딩 된 부분이 있어 개선해야 할 점으로 생각합니다.
또 한 가지의 문제는 ppt의 내용을 가져오는 것 만큼 ppt 내부의 정보들이 text box나 graph로 이루어지면 내용을 받아올 수 있으나, 모든 도표, 내용들이 하나의 image로 제작된 경우 헛소리만 하는 경우가 있어 사용할 ppt에 따라 퀄리티가 천차만별인 문제였습니다. 해당 문제는 미니 프로젝트 1차를 바탕으로 간결한 ppt를 새로 제작하여 해결하였습니다.
우리 팀의 경우, 제공되는 예시 ppt는 사용하지말고, 가능한 새로운 ppt를 적용하여 폭 넓게 사용해 보자는 목표가 있었기 때문에 이와 같은 방식으로 진행하였습니다. 제가 가지고 있는 시각화 자료를 바탕으로 간단히 3page 짜리 ppt를 만들어 적용하여 수준 높은 결과를 도출해낼 수 있었습니다.
배운 점과 아쉬운 점
LangChain 선형 파이프라인과 LangGraph 그래프 워크플로우의 실질적인 차이를 직접 경험해 볼 수 있었습니다.
sys_msg 설계가 LLM 출력 품질을 얼마나 좌우하는지 깊게 깨닿고 작성하는 방법에 대해 생각해볼 수 있는 기회였습니다.
아쉬운점으로는 서술한 바와같이 slide_focus 딕셔너리가 수작업으로 진행되어 굉장히 사용 ppt에 fit하게 진행되어 범용 적용이 어렵다는 것입니다. 또, 중복 스크립트 문제를 node_review_scirpts로 해결하였는데 node_generate_scripts단계에서 실시간으로 방지하는게 더욱 근본적 해결 방법일 것이라 생각듭니다.
네에... 이로써 미니프로젝트 2차 후기가 끝났습니다.
제가 평생 LLM을 만져볼 날이 있을까 했는데 그 날이 오긴 오네요...
그리고 현재 3차 미니 프로젝트가 막 진행되고 있는 와중인데 2차 시작할 때보다는 덜 막막한 것 같아
마음이 조금은 가볍습니다.
다음은 미니 프로젝트 3차 후기로 만나뵙겠습니다.
목표를 설정하자면! 3차 후기에는 수업 내용을 짧게 요약해보는 시간을 가지겠습니다.
기대해주세요! 감사합니다.
'KT AIVLE school' 카테고리의 다른 글
| AIVLE School 미니프로젝트 3차 후기 (0) | 2026.05.20 |
|---|---|
| KT AIVLE school 미니 프로젝트 1차 후기 (0) | 2026.04.28 |
| KT AIVLE school 9기 2주차 후기 (0) | 2026.04.13 |
| KT AIVLE school 9기 노트북 수령 + 1주차 후기 (0) | 2026.04.05 |
| KT AIVLE school 9기 합격 후기 (0) | 2026.04.05 |