후기

몰입캠프 후기

sewoo-jjang 2025. 8. 31. 13:22

07/03 - 08/03 가긴동안 진행된 카이스트 몰입캠프에 대한 후기를 작성해볼까 한다.


몰입캠프란?

카이스트에서 진행하는 코딩캠프로 다양한 학교의 대학생들(카이스트 학생 절반에 타대생 절반)이 모여 자신이 원하는 프로젝트를 진행하는 것으로, 2-3명이 한 팀이 되어 한 주 동안 현업 프로젝트를 진행한다.

 

총 기간은 4.5주로 한 주씩 프로젝트를 만들어 총 4개의 프로젝트를 만들게 된다.

 

1,2 주차에는 도전과제가 주어져 그 도전과제를 충족하는 프로젝트를 진행하고, 3,4 주차부터는 자신이 원하는 프로젝트를 자유롭게 진행한다.

 

또한 1,2주차에는 타대생 + 카이스트학생으로 팀이 임의로 만들어지며 3,4 주차부터는 자신이 원하는 사람과 자유롭게 팀을 만들 수 있다.

(3,4주차에 수월하게 팀을 짜려면 1,2주차에 많은 사람들과 친해지는것이 좋다...)

 

한 주마다 완성한 프로젝트를 분반별로 투표하여 금주의 픽을 선정하는데 이 금픽에 당선된 프로젝트 팀은 4개의 분반이 모인 강연장에서 전체발표를 하게된다. (추가로 얻는것은 없으나 영광을 얻을 수 있다.)

 

몰입캠프는 프로젝트를 진행하는 것 뿐만이 아니라 한 주마다 현직에서 근무하고있는 분들을 맨토로 불러 강연을 듣기도 한다. 나름 유익했던 강의가 많았기에 열심히 듣는것을 추천한다.


1주차 프로젝트

1주차 도전과제는 안드로이드 스튜디오를 사용하여 리스트 페이지와 이미지 리스트 페이지를 구현하는 것이었다.

나는 몰입캠프를 하기 전 유니티를 이용한 게임 개발 이외에는 아무런 경험이 없었기에 같이 프로젝트를 진행하는 팀원에게 폐가 될까 걱정이 많았다.

 

하지만 다행스럽게도 나의 1주차 팀원은 나와같이 개발경험은 전무했기에 서로 공부하고 알려주며 차근차근 재미있게 개발을 진행했다.

우리가 선택한 1주차 프로젝트는 일기 어플 개발이었다. 가장 먼저 들어가면 책장이 나오고 각 책장에는 년도가 표시된다. 해당 년도 책장에 있는 책의 책등에는 그 년도의 월이 적혀있어 그 책을 누르게 되면 해당 년도의 달력으로 넘어가게 된다. 달력에 날짜를 클릭하면 해당일의 일기를 확인할 수 있고, 작성되지 않았다면 일기를 추가할 수 있게끔 만들었다. 도전과제인 리스트 페이지와 이미지 페이지는 일기와 일기에 들어간 사진을 한 눈에 볼 수 있도록 구현했다.

 

1주차의 우리는 아무런 지식이 없었기에, 깃허브를 이용한 협업방법부터 공부를 했어야했고 kotlin 문법을 몰라 GPT에게 모든 코드를 맡겨야했다. 완전 바이브 코딩이었기에 코드는 정말 엉망이였지만, 이렇게 엉망으로 프로젝트를 진행했음에도 얻을 수 있었던 것은 많았다고 생각한다.

 

우선 무엇인가를 만든다는것에대한 주저함이 사라졌다. 항상 무언가를 만들어보고 싶다고 생각만하고 그 생각이 실행되기까지 많은 시간이 걸리거나 실행되지 않는 경우가 많았지만, 이번 프로젝트를 통해 시간과 노력을 들인다면 얼마든지 만들 수 있을것 같다는 자신감이 생기게 되었다.

 

또한 코딩 협업에 대한 이해도가 높아졌다. 전에 진행했던 게임개발이나, 학교수업에서 진행했던 프로젝트를 다 개인 프로젝트였기에 협업툴을 사용할 기회가 없었고, 어떤 방식으로 협업을 진행하는지 전혀 몰랐지만, 이번 프로젝트를 통해 어떻게 해야 협업을 진행할 수 있는지 그 매커니즘을 꺠닫게 되었다.

 

마지막으로 프로젝트를 만드는것에 있어 욕심이 생기게 되었다. 솔직히 말하자면 일기 어플을 개발하고자 했던 이유는 대충 도전과제를 충족시키기 위한 어플중에 만들기 괜찮을 것 같은 어플이 일기앱이였기에, kotlin 공부나 좀 할 겸 대충 선택한 주제였지만, 다른 팀들의 프로젝트 결과물을 보고 프로젝트 개발에대한 욕심이 생기게 되었다.

(다들 자기도 개발 처음이라고 막막하다고 했으면서 진짜 세련된 디자인의 ui 와 신박한 기능을 가진 앱을 개발했다...)


2주차 프로젝트

2주차 도전과제는 DB를 이용한 로그인 기능을 구현하는 것이었다.

 

2주차 팀원은 이미 프론트엔드로 인턴까지 마친 카이스트 학생이었기에, 많은 도움을 받았다고 할 수 있다.

 

이번 주차에는 백엔드가 필수로 들어가야 하기에 역할을 프론트와 백으로 분리하여 내가 프론트를 맡고 팀원이 백엔드를 맡게 되었다.

 

이번에 선택한 프로젝트는 영화를 10컷 만화와 함께 요약해주는 사이트를 개발하는 것이였다. 기술스택은 프론트는 next.js 백은 node.js를 사용했고 DB는 mongodb를 사용했다. TMDB API를 사용하여 영화 정보를 받아오고, 이를 OPEN AI API를 이용하여 영화의 요약 줄거리와 이미지를 만들어 보여주는 간단한 웹 사이트이다.

 

사용된 기술 자체는 그렇게 어렵지 않았지만, 모든 주차를 통 틀어서 가장 배움이 많았던 주차라고 표현할 수 있을 것 같다.

 

우선 프론트엔드와 백엔드의 용어 자체를 잘 모르고 있었기에, 이번 기회에 직접 체험해보며 어떤 것이 프론트고 어떤것이 백엔드인지 알 수 있었다. 이번에도 타입스트립트와 자바스트립트의 문법을 잘 모르고 있었기에 거의 모든 코드를 바이브코딩했지만, next.js가 어떻게 웹페이지를 생성하고 어떻게 구조를 잡아야 프로젝트를 깔끔하게 만들 수 있는지 깨닫게 되었다.

 

또한 API를 만든다는 개념을 아예 모르고 있었던 나지만, 백엔드에서 만든 API 기능들을 프론트로 불러오는 작업을 해보며 백과 프론트가 어떻게 상호작용하고 왜 API를 직접 만들어야하는지 알게 되었다.

 

마지막으로 프론트와 백을 어느정도 다 한 후에는 서버에 프로젝트를 올려 배포까지 해보려고 시도해보았지만, 둘 다 배포 경험이 없고 시간이 부족했기에 배포를 성공하지는 못했다. 그래도 서버 배포를 시도하면서 서버에대한 이해도가 어느정도 높아진 것 같다.

 

프론트 개발이 처음이었기에 팀메에게 정말 많은것을 물어보았지만, 짜증한번내지않고 친절하게 가르쳐준 팀메게에 많은 감사인사를 보내고싶다.

 

(이번 프로젝트를 계기로 웹 페이지 개발경험이 생겨 몰입캠프가 끝난 후 진행한 CrowdSense 프로젝트에서 프론트엔드 개발을 맡게 되었다.)


3주차 프로젝트

3주차는 자율주제로 평소에 생각해 두었던 아이디어를 활용하여 자유롭게 코딩을 하면 된다. (보통 이쯤되면 다들 아이디어가 고갈나 주제선정하는데 애를 먹는다.)

 

3주차 팀원은 캠프에 들어와 친해진 카이스트 형과 함께하게 되었다. 이번 팀매는 이미 현직에서 3년정도 프론트엔드를 개발하던 인재였기에 굉장히 든든했다고 말할 수 있다.

 

이번 프로젝트는 주제선정이 가장 고민이었다. 이미 아이디어는 고갈되었고 1, 2주차때 이미 많은 기력을 소모했기에 조금 쉬어가고 싶었기에 거창한 주제는 하고싶지 않았다. 이에 고민을 좀 하다 우리 둘 다 AI Warehouse라는 유튜버에 관심이 있다는 것을 깨닫게 되었고 이번 주제는 ML 강화학습을 주제로 하게 되었다.

 

이번 프로젝트는 생각보다 어렵진 않았다. ML 강화학습은 n x n 형태의 그리드에 장애물과 코인, 출구가 있고 agent가 정해진 step 수 안에 코인을 다 획득하고 장애물을 피해 출구로 탈출하는 로직을 수없이 반복하며 agent 가 학습하도록 한다. 하지만, 강화학습 자체가 주어진 하이퍼 파리미터를 최적의 값으로 조정하며 괜찮았던 하이퍼파라미터를 선택하는 방식이라 조금의 노가다성이 있었고 코인이 한개 추가될 때 마다 차원의 수가 1 늘게 되어 3개 이상 코인을 요구하는 맵은 agent가 한번도 성공하는 법이 없었다. 또한 강화학습을 하는 방식이 GPU 서버에서 학습을 진행한 것을 json 파일형식으로 프론트에 받아 송출하는 방식이었는데 이 학습 결과가 한번에 너무 많이 쏟아져 들어온 json 파일이 누락되는 오류가 발생하였다. 이를 수정하기 위해 큐를 만들어 들어온 학습 결과를 enqueue 하고 프론트에 송출할때 dequeue하여 나타내었다. (프론트에서는 아직 학습이 진행되고 있는데 로그로는 학습 결과가 이미 떠 있는 아이러니한 상황이 펼쳐졌다.)

이번 프론트는 유니티로 제작하였기에 조금 익숙한 감이 있었고, 백엔드에서 송출해주는 API를 프론트에서 받는 과정을 보다 정확히 이해할 수 있었다.


4주차 프로젝트

4주차 또한 자율주제로 진행되었다. 이젠 정말 하고싶은 주제가 고갈이나 주제선정에 애를 먹었다.

 

이번 4주차 팀원은 몰입캠프에서 친해지게 된 전북대학교 경영학과학생과 하게 되었다. 이번 캠프에서 유일하게 나보다 어린 동생이였고 기존 모든 프로젝트에서 금픽으로 선정된 대단한 친구였다.

 

마지막 주는 7일이 아닌 8일동안 프로젝트를 진행하는 것이었기에 보다 여유롭게 주제선정을 할 수 있었다. 염두해둔 주제로는 쇼미더머니 예선준비 사이트, 퀀트 AI, agentic AI 가 있었다. 처음에는 그냥 쉬어가자는 마인드로 쇼미더머니 예선준비 사이트를 만들고 있었으나 하루정도 진행하고 좀 아닌거 같아 agentic AI 로 틀게 되었다.

 

agentic AI에 대한 설명은 블로그를 통해 확인하길 바란다. https://seowoo-j.tistory.com/2

 

우리는 이 agentic AI를 crew AI 를 통해 구현하고자 했다. crewAI는 LLM API 를 이용하여 각 LLM에 역할을 부여하고 ( 예를 들어 10년차 프론트엔드 개발자/백엔드 개발자 이런식으로) 각 역할에 맞는 작업을 수행하게 하여 서로 상호작용하는 AI 팀을 만들어주는 python 라이브러리이다. 예상할 수 있듯 역할을 부여받은 LLM 이 많아질수록 API 호출이 많아져 그만큼의 비용이 더욱 추가되어 요금폭탄을 맞을수도 있다는 리스크가 존재했다. 하지만 제미나이 API는 400$ 까지 무료로 이용할 수 있었기에 제미나이와 groq이라는 LLM 을 이용하여 agentic AI를 제작하였다.

 

처음에는 모든 작업을 할 수 있는 만능형 agentic AI를 만드려고 했으나, 퀄리티나 생성 속도에 한계가 생겨 블로그 생성과 웹 페이지 제작이라는 두가지 테스크에 집중하기로 했다. 블로그생성은 researcher와 writer라는 역할을 사용하여 Notion 페이지에 직업 블로그를 작성할 수 있도록 만들었고, 웹 페이지 생성은 next.js 프레임워크를 사용하여 어떤 웹사이트든 간단한 프롬프트 명령 한번으로 생성할 수 있도록 만들었다. 생성한 퀄리티가 생각보다 나쁘지 않았다. (맨 밑으로 내려보면 skrr 페이지로 들어갈 수 있는 하이퍼링크가 있는데 그 페이지에 들어가 B -> A -> 2번째 cognito페이지에 들어가면 본문을 확인할 수 있다....)


몰입캠프를 마치며

몰입캠프는 나에게 세상을 보여주었다고 말할 수 있을것 같다. 몰입캠프를 하기 이전에는 컴퓨터공학의 길중 어느길을 선택하야할지 모르겠고 관련된 지식도 많이 없었기에 막막하기만 했지만, 이번 캠프를 통해 무엇이든 한번 시작해봐도 괜찮을 것 같다는 자신감을 얻게 되었다. 평소에 개발에 별 관심이 없기도 했고 개발관련 직종으로는 취업할 생각은 없었기에 이번 몰입캠프에 그렇게 큰 기대를 가지고 있진 않았지만, 이 캠프는 개발에 목적이 취중되어있다기 보단 어떤 일에 몰입하고 결과물을 내보는 과정에 의미가 있었고 같은 관심사를 둔 여러 사람을 만날 수 있기에 많은 인사이트를 얻을 수 있었다.

 

컴퓨터공학과든 아니든 카이스트 몰입캠프를 수강해보는 것을 추천한다.

'후기' 카테고리의 다른 글

KISA 아카데미 정보보호제품군 실습훈련 - 기초1 수료 후기  (0) 2026.03.12
HCTF 후기  (2) 2026.02.10