← 프로젝트 목록
MAITE · AI 회의 분석
6인 팀(프론트엔드 3 · 백엔드 3) · 팀장 · 인프라 · 채팅 서버 · 음성 AI 봇
회의 시간 조율, 실시간 채팅, 회의 녹음 요약, 회의 중 음성 질문을 한 곳에서 제공하는 협업 앱입니다. 팀장으로 팀을 이끌며 인프라 설계, 채팅 서버, STT·TTS 기반 AI 봇을 맡았습니다.
JavaSpring BootWebSocket (STOMP)Clova SpeechGoogle STT/TTSOpenAI · GeminiMySQLAWS EC2 · S3GitHub Actions
프로젝트 목적
회의 일정을 맞추고, 회의 중 대화를 나누고, 끝난 뒤 녹음을 정리하는 일을 한 앱에서 끝내는 것이 목표였습니다. 멘토 피드백을 받으며 한 학기 동안 진행한 교내 과목 프로젝트입니다.
| 기간 | 2025.03 — 2025.06 (교내 산학프로젝트 과목) |
|---|---|
| 인원 | 6명 (프론트엔드 3 · 백엔드 3) |
| 역할 | 팀장 · 인프라 설계 · 채팅 서버 · STT·TTS AI 봇 |
| 링크 | GitHub ↗ |
담당 역할
- 인프라 설계 — EC2·MySQL·S3 운영 구조와 GitHub Actions 배포 구성, 이후 ECS 전환 설계
- 채팅 서버 — STOMP 기반 WebSocket으로 채팅과 일정 조율 상태를 실시간 공유
- STT·TTS AI 봇 — 회의 중 음성 질문(STT → GPT → TTS)과 화자 분리 회의록 요약
- 팀장으로 6인 팀의 일정과 역할 분담 관리
시스템 구조

전환 설계를 시작한 이유운영 당시에는 Spring Boot 서버 하나가 채팅 같은 일반 요청과 음성 변환·요약 같은 무거운 작업을 함께 처리했습니다. 요청이 몰리면 AI 처리가 서비스 전체 응답을 늦출 수 있어, 경로별로 api·chat 서비스를 나누고 AI 작업은 SQS 큐 길이에 따라 따로 늘어나는 worker로 떼어 내는 구조를 설계하고 있습니다.
주요 구현
1. 음성 녹음→2. Clova STT→3. GPT 답변·요약→4. Google TTS→5. 앱에서 재생
- 회의 중 음성 질문: 회의 화면의 AI 버튼을 누르고 말하면, 녹음을 Clova Speech로 텍스트로 바꾸고 GPT가 짧게 답한 뒤 Google TTS로 만든 MP3를 앱이 바로 재생합니다. 음성 인식이 어색해도 키워드로 맥락을 잡아 필요한 것만 답하도록 프롬프트를 작성했습니다.
- 회의 녹음 요약: Clova Speech의 화자 분리로 "[화자] 문장" 형식의 회의록을 만들고, GPT로 요약해 원문과 함께 회의에 저장합니다. 다음 회의 약속은 마지막 줄에 따로 정리합니다. 유료 구독자만 쓸 수 있게 했습니다.
- 요약 모델 장애에 대비해 같은 인터페이스의 Gemini 요약 서비스를 예비로 두었습니다.
- STOMP 기반 WebSocket 채팅 서버를 만들어 채팅 메시지와 일정 조율 상태를 참여자에게 실시간으로 전달했습니다.
- EC2 한 대에 Spring Boot, MySQL, S3(채팅·프로필 이미지)를 구성하고, GitHub Actions에서 JAR를 빌드해 배포했습니다.
해결 과제
1. 긴 회의록이 모델 입력 한도를 넘는 문제
- 과제
- 회의가 길어지면 회의록 전체를 한 번에 요약 모델에 넣을 수 없었고, 누가 한 말인지 구분되지 않아 요약에서 결정 사항의 주체가 사라졌습니다.
- 접근
- STT를 Clova Speech의 화자 분리로 바꿔 "[화자] 문장" 형식으로 회의록을 만들었습니다. 1,500자가 넘으면 1,500자씩 나눠 부분 요약을 만든 뒤, 부분 요약들을 다시 통합 요약하게 했습니다.
회의 길이와 관계없이 화자가 구분된 회의록과 요약을 저장
2. 무거운 AI 작업과 일반 요청이 한 서버에
- 과제
- 음성 변환·요약처럼 오래 걸리는 작업과 실시간 채팅이 같은 서버에서 돌아, 무거운 요청이 몰리면 채팅 응답까지 늦어질 수 있었습니다.
- 접근
- ALB 경로(/api, /ws)로 api·chat 서비스를 나누고, AI 작업은 SQS로 ai-worker에 넘겨 큐 길이에 따라 따로 늘리는 ECS 구조를 설계했습니다.
남은 한계
- 음성 질문은 질문만 모델에 보내 회의 내용을 근거로 답하지 못합니다. 회의록을 함께 넣는 방식(RAG)으로 바꿀 예정입니다.
- 회의록을 1,500자 단위로 그대로 잘라 문장이나 화자 중간에서 끊깁니다. 화자 단위로 나누도록 고칠 예정입니다.
- 실제 사용자 없이 과목 안에서 진행해 운영 지표는 없습니다.
- ECS 전환은 아직 설계 단계입니다.