AI

Python + OpenAI API로 이메일 요약 봇 만들기

xxlayer 2026. 2. 19. 21:48

업무 메일이 하루에 수십 통씩 쌓이는 환경이라면, 이미 자동화할 가치가 충분하다. 특히 참조로 포함된 긴 스레드나 여러 사람이 얽힌 논의 메일은 내용을 끝까지 읽지 않으면 맥락을 파악하기 어렵다. 중요한 의사결정 포인트가 메일 중간에 묻혀 있는 경우도 많다. 이런 반복 확인 작업을 줄이기 위해 Python과 OpenAI API를 활용해 이메일 요약 봇을 구축할 수 있다. 단순히 길이를 줄이는 것이 아니라, “오늘 내가 처리해야 할 내용” 중심으로 재구성하는 것이 핵심이다.

이메일 요약 자동화의 목표 정의

먼저 목표를 명확히 해야 한다. 이메일 요약의 목적은 모든 메일을 줄이는 것이 아니라, 우선순위를 빠르게 판단할 수 있도록 돕는 것이다. 따라서 다음 세 가지 요소를 포함하도록 설계하는 것이 좋다.

첫째, 핵심 의사결정 사항
둘째, 내가 회신해야 하는지 여부
셋째, 일정이나 마감 기한 정보

이 세 요소가 자동으로 추출되면 단순 요약을 넘어 업무 관리 도구로 활용할 수 있다.

전체 시스템 아키텍처

이메일 요약 봇은 다음과 같은 흐름으로 구성할 수 있다.

1단계: 이메일 수집
Gmail API 또는 Outlook Graph API를 사용해 최근 24시간 또는 읽지 않은 메일을 조회한다. 조회 시 발신자, 제목, 본문 텍스트, 수신 시간 정보를 함께 가져온다.

2단계: 1차 필터링
광고 메일, 자동 알림 메일, 뉴스레터 등은 제외한다. 예를 들어 특정 발신자 도메인이나 제목 패턴을 기준으로 필터링하면 불필요한 토큰 사용을 줄일 수 있다.

3단계: 프롬프트 구성
메일 제목과 본문을 정리해 하나의 텍스트 블록으로 만든 뒤, 요약 목적에 맞는 지시문과 함께 OpenAI API에 전달한다.

4단계: 결과 재구성
메일별 요약을 하나의 일일 리포트 형태로 묶는다. 예를 들어 “오늘 확인해야 할 메일 5건”처럼 정리한다.

5단계: 결과 전송
슬랙, 이메일, 노션, 구글 스프레드시트 등 원하는 채널로 자동 전송한다.

이 구조는 단순하지만 확장성이 높다. 이후 팀 단위 공유 기능이나 태그 자동 분류 기능을 추가할 수도 있다.

Python 구현 흐름

Python으로 구현할 때는 크게 세 부분으로 나뉜다.

첫째, 이메일 API 인증 및 조회
Gmail의 경우 OAuth 인증을 설정한 뒤 users.messages.list API를 호출해 최근 메일 ID를 가져온다. 이후 각 메시지의 본문을 추출한다. HTML 형식일 경우 텍스트로 변환하는 과정이 필요하다.

둘째, 요약 요청
메일 제목과 본문 일부를 다음과 같은 형식으로 구성한다.

역할: 당신은 업무 비서다.
목표: 아래 이메일을 기반으로 핵심 내용과 회신 필요 여부를 정리하라.
출력 형식:

  • 핵심 요약
  • 필요한 액션
  • 일정 관련 정보

이처럼 구조를 명확히 제시하면 결과의 일관성이 높아진다.

셋째, 결과 통합
여러 메일의 요약 결과를 하나의 텍스트로 합쳐 “오늘의 이메일 브리핑” 형식으로 재정리한다. 이후 SMTP를 통해 자신에게 다시 보내거나, 슬랙 Webhook으로 전송할 수 있다.

프롬프트 설계 전략

이메일 요약에서 가장 중요한 것은 맥락 보존이다. 단순히 줄이기만 하면 핵심이 빠질 수 있다. 다음과 같은 지시를 추가하면 품질이 향상된다.

  • 의사결정 관련 문장은 반드시 포함하라
  • 질문 형태 문장은 별도로 표시하라
  • 내가 직접 답변해야 하는 경우 ‘회신 필요’로 표시하라
  • 날짜가 포함된 문장은 일정 항목으로 정리하라

이렇게 설계하면 단순 요약이 아니라 액션 중심 리포트가 된다.

비용과 성능 최적화

메일 본문이 길 경우 토큰 사용량이 급격히 늘어날 수 있다. 이를 방지하기 위해 1차 요약 단계를 추가하는 방법이 있다. 예를 들어 본문을 2,000자 단위로 나누어 요약한 뒤, 다시 최종 요약을 수행하면 비용을 줄이면서 품질을 유지할 수 있다.

또한 모든 메일을 매번 호출하지 않고, 중요 키워드가 포함된 메일만 요약하도록 조건을 두는 것도 효과적이다. 예를 들어 “결정”, “승인”, “회의”, “마감” 같은 단어가 포함된 메일만 AI 호출 대상으로 삼을 수 있다.

보안 고려사항

업무 메일에는 민감 정보가 포함될 수 있다. 외부 API로 전달하기 전에 다음을 점검해야 한다.

  • 고객 이름이나 계정 정보 마스킹
  • 내부 시스템 주소 제거
  • 첨부파일 내용 제외

가능하다면 사내 프록시를 통해 API 호출을 통제하거나, 별도의 로그 기록을 남겨 감사 추적이 가능하도록 하는 것이 좋다.

확장 아이디어

이메일 요약 봇은 단순 개인 도구에서 팀 단위 시스템으로 확장할 수 있다. 예를 들어 팀 공용 메일함을 모니터링해 자동 분류 후 담당자에게 배정하거나, 특정 프로젝트 관련 메일만 모아 주간 리포트로 재구성할 수 있다.

또한 요약 데이터를 구글 스프레드시트에 누적 저장하면, 일정 지연 패턴이나 반복 이슈를 분석하는 데 활용할 수 있다. 이렇게 되면 단순 요약 도구가 아니라 업무 인사이트 도구로 발전한다.

마무리

Python과 OpenAI API를 활용한 이메일 요약 봇은 구현 난이도가 높지 않으면서 체감 효과가 큰 자동화 사례다. 매일 쌓이는 메일을 일일이 확인하는 대신, 핵심 요약과 액션 항목만 정리된 리포트를 받아보는 환경을 만들 수 있다.

반복적인 메일 확인 시간을 줄이고 더 중요한 판단과 설계에 집중하고 싶다면, 이메일 요약 자동화는 충분히 시도해볼 만한 프로젝트다.