회의 끝나고 회의록 정리하는 거, 진짜 시간 잡아먹잖아요. 한 시간 회의면 정리하는 데 또 한 시간.
그래서 저는 Notta라는 회의록 SaaS를 1년 구독해서 쓰고 있었습니다. 정말 편해요. 근데 만료일이 다가오는데, 또 1년치 결제하기엔 돈이 아까워서…
“AI가 회의 들어와서 알아서 회의록 써주면 안 되나? 내 홈서버에 그냥 만들어버리면?”
이 생각으로 만들기 시작했습니다. 결과부터 말하면 아직 한 번도 깔끔하게 작동한 적 없습니다. 케이스별로 어디서 막혔는지 솔직하게 정리합니다.
시도한 것: “회의록 봇”
원하는 그림은 이거였어요.
1. 회의 링크를 봇한테 던진다
2. 봇이 회의실에 알아서 들어간다
3. 회의 끝나면 회의록이 톡으로 온다
지원 플랫폼은 Google Meet, Microsoft Teams, Cisco Webex 셋. (Zoom은 코드는 있지만 제가 안 써서 검증 못 했습니다.)
망한 케이스 1: 회의실에 못 들어감
가장 먼저 부딪힌 벽. 플랫폼마다 입장 방식이 달라서 케이스마다 다른 문제가 터집니다.

Google Meet — 조직 외부 사용자 차단
회사가 Google Workspace를 쓰면 외부 봇은 그냥 차단됩니다. “조직 외부 사용자는 입장할 수 없습니다.” 한 줄로 끝.
해결 방법은 봇이 내 Google 계정으로 로그인해서 들어가는 것. 한 번 로그인해두면 쿠키(브라우저가 “이 사람 누군지 안다”고 기억하는 작은 정보)가 저장되고, 다음부터는 봇이 그 정보를 들고 입장하는 식이에요.
근데 회사 Google 계정을 봇한테 연동시키는 게 부담스럽더라고요. 보안상 찜찜하기도 하고, 2단계 인증(휴대폰 인증번호 입력하는 그거)도 매번 걸리고. 그래서 Google Meet은 그냥 포기했어요. 회사 회의 대부분이 Meet인데도.

Teams — CAPTCHA 등장
“보이는 대로 문자를 입력하세요.” 그 CAPTCHA(웹사이트가 “너 사람 맞아?” 확인할 때 비뚤어진 글자 보여주는 거). 봇이 입장하려고 하면 100% 뜹니다.
해결책: Gemini Vision(이미지 보고 글자 읽어주는 AI)으로 CAPTCHA 이미지를 읽어서 자동 입력. 첫 시도가 안 풀리면 새로고침 누르고 다시 읽음. 3번까지 시도하고 그래도 안 되면 포기.
이걸 코드로 박아두긴 했는데, 한 번씩 Gemini가 엉뚱한 글자 읽어서 실패합니다. 매끄럽지 않음.

Webex — 모든 게 액자 속 액자
Webex는 회의 화면 전체가 iframe(웹페이지 안에 또 다른 웹페이지가 통째로 들어있는 구조 — 액자 속 액자라고 생각하면 됨) 안에서 돌아갑니다. 봇이 바깥 페이지에서 “마이크 켜기” 버튼을 찾아도 안 보임. 액자 안으로 들어가야 보임.
이거 디버깅하느라 단계별로 화면 캡처 떠보는 코드를 5개 박았어요. (“액자 잡았나?” → “액자 너무 늦게 떠서 또 시도해보자” → “아직도 안 떠? 한 번 더…” 식으로). 액자 로딩 실패하면 다른 방법 시도, 그것도 실패하면 또 다른 방법. 우회 코드를 케이스마다 덧붙이는 중입니다.
공통: 호스트 승인 5분 타임아웃
위 다 통과해도 대기실에 떨어집니다. 호스트가 “수락” 눌러줘야 입장.
봇 코드는 5분 동안 기다리고 그래도 안 들어가지면 포기합니다. 호스트가 회의 5분 늦게 시작하면? 봇은 이미 나가고 없음. 다시 보내야 함.
현상 요약: “봇 보냈는데 회의 끝나고도 봇이 안 들어왔다고 톡 옴.”
망한 케이스 2: 녹음이 0KB 파일로 저장됨
이건 가장 자주 일어났어요.
봇이 회의에 입장은 했고, 봇 화면에선 “녹음 중” 표시도 떠요. 근데 회의 끝나고 받은 녹음 파일이 0초짜리 빈 파일입니다.
원인은 음성을 가로채는 방식 때문. 봇은 회의 화면 안쪽에 “음성 흐름에 끼어드는 작은 갈고리”(개발 용어로 “후크” — 낚싯바늘처럼 지나가는 데이터를 낚아채는 코드)를 걸어서 녹음합니다. 근데 회의 사이트들이 화면 구조를 자주 바꿔서, 갈고리가 엉뚱한 데 걸려서 아무 데이터도 못 잡아오는 경우가 생겨요. 그러면 봇은 “녹음 잘 되고 있어요!” 보고하는데 실제 녹음은 0초.
몇 번을 당하고 예비 동작(1번 방법이 실패하면 자동으로 2번 방법 시도)을 넣었는데, 그래도 가끔 빈 파일 받습니다.
현상 요약: “한 시간 회의 끝나고 톡 받았는데 0KB. 녹음한 줄 알았더니 처음부터 0이었음.”
망한 케이스 3: 참석자 이름을 입력할 틈이 없었음
이게 한참 묵힌 문제였어요.
회의록의 핵심은 누가 무슨 말을 했는지잖아요. 봇이 자동으로 화면에서 발화자 이름을 읽긴 하는데, 카메라 끈 사람이나 봇이 못 보는 화면 구성이면 이름이 안 잡힙니다.
그래서 회의 끝나고 사람이 직접 이름을 보충해줘야 하는데, 예전 버전엔 그 단계가 아예 없었어요. 봇이 회의 끝나면 바로 회의록 생성하고 끝. 이름 잘못 들어간 채로 끝나면 다시 어떻게 못 함.
최근에야 “회의 끝나고 참가자 명단 넣으면 회의록 다시 생성” 흐름을 추가했습니다. 봇이 끝나면 일단 멈추고, 내가 톡으로 “참가자는 김과장, 이대리야” 보내면 그제야 회의록을 만드는 식.
근데 이 고침을 제대로 테스트해보질 못했어요. 위 케이스 2번 (녹음 0KB)이 Webex에서 자주 터져서, 그걸 먼저 못 잡으면 회의록 자체가 안 만들어지니까 이름 보충 기능을 검증할 수가 없습니다.
현상 요약: “한 군데 고치니 다른 데가 막혀서 새 기능 테스트도 못 하는 중.”
망한 케이스 4: 그나마 받아본 회의록도 별로
위 케이스 다 뚫고 회의록까지 받아본 건 Webex 한 번뿐입니다. (Google Meet은 포기, Teams는 CAPTCHA 깨도 녹음에서 또 막혀서.) 그 한 번의 회의록 품질도 두 가지 문제가 있었어요.
회의록 만드는 건 Gemini Flash(구글에서 만든 무료 AI)한테 시켰습니다.
1. 글솜씨가 떨어짐
Gemini Pro로 같은 전사록 돌려보면 회의록이 훨씬 자연스럽고 핵심도 잘 잡습니다. Flash는 무료라 좋긴 한데, 정리한 회의록이 어딘가 어색하고 요점이 흐려요.
2. 텔레그램에서 글자 표시가 깨져 보임
Gemini가 회의록을 마크다운(“별 두 개로 감싸면 굵은 글씨”, “우물 정자 붙이면 큰 제목” 같은 약속된 표시법. 노션이나 깃허브가 알아서 변환해주는 그것) 형식으로 출력하는데, 텔레그램은 그걸 알아서 변환해주지 않아요. 그래서 회의록 받으면 화면에 이런 게 그대로 보입니다.
## 결정 사항
- **A안 채택** 함
- ~~B안~~ 보류
읽기 힘들어요. 핵심을 보려고 받은 회의록인데 별표랑 우물정자랑 섞여 있으니 정리 안 된 메모처럼 보입니다.
현상 요약: “회의록 자동 생성됐는데 글이 어색하고 마크다운 기호가 그대로 보여서 가독성 X.”
그래서 지금 어디까지 왔냐
솔직히 한 번도 회의 → 자동 회의록까지 깔끔하게 끝까지 간 적 없습니다. 위 4개 케이스 어딘가에서 매번 막혀요.
지금 우회/수정하고 있는 것들:
- 회의실 입장은 회의별로 수동 승인 + 보조 계정 사용으로 우회 (자동 입장 100% 포기)
- 녹음 0KB는 WebRTC fallback 로직 계속 보강 중. 여전히 가끔 터짐
- 참석자 이름 보충 단계는 만들어뒀음. Webex 녹음만 안정되면 검증 가능
- 회의록 품질은 Gemini Pro로 한번 돌려보고 비용/품질 트레이드오프 보는 중. 텔레그램 출력은 마크다운 → HTML 변환 추가 예정
마무리
완성된 게 없는데 글로 쓰는 이유는 두 가지입니다.
- 비슷한 거 만들려는 사람한테 “이런 거 어렵다, 시간 들 각오 해라” 알려주려고
- 나중에 진짜 쓸만해졌을 때 “그때는 다 망했었는데 지금은 이렇게 됐다” 비교해서 다시 글 쓰려고
그래서 당분간은 Notta의 힘을 빌려가며 일하고, 회의록 봇은 백그라운드에서 계속 고쳐볼 생각입니다. 직접 만들어보니 Notta가 그 가격 받는 이유를 알겠더라고요. 위 케이스들 하나씩 다 뚫어야 그 수준에 가는 거니까.
쓸만한 수준이 되면 또 한 편 올릴게요. 4개 케이스가 안정적으로 통과되고, 회의 끝나고 정말로 손 안 대고 회의록 받을 수 있게 됐을 때.
자동화는 한 번에 완성되는 게 아니라, 케이스마다 부딪히고 우회하면서 천천히 좋아지는 것 같습니다. 코딩 못해도, AI한테 “이거 왜 안 돼?” 계속 물어보면서 한 발씩 가는 중이에요.
다음 편은 좀 더 깔끔하게 작동하는 걸로 들고 올게요.