AI 비서 시스템 구축기: 일정·메일·알림 통합
"또 회의를 빠뜨렸다."
3개월 전, 중요한 파트너 미팅을 놓치고 나서 결심했다. 일정·메일·알림을 하나로 묶는 AI 비서를 직접 만들어보자고.
그 결과물이 지금 내가 매일 쓰고 있는 Jurin이다. 이번 주 시리즈를 통해 어떻게 만들었는지, 6개월간 운영하면서 무엇을 배웠는지를 공유한다.
왜 기존 도구로는 안 됐나
Notion, Slack, Google Calendar — 이미 쓰고 있는 도구가 많았다. 문제는 연결이었다.
- 메일에 마감이 있어도, 캘린더에는 안 들어간다
- Slack 공지를 읽었는데, 정작 해야 할 일을 기억하는 건 나였다
- 매일 아침 "오늘 뭐 해야 하지?"를 도구 4개 열어서 맞춰봐야 했다
도구들은 각자 잘 동작했지만, 통합된 맥락이 없었다. 누군가가 전체를 보고 "오늘 이 세 가지가 중요해요"라고 말해줘야 하는데, 그 역할을 할 도구가 없었다.
Claude + MCP로 통합하기
Anthropic의 Claude는 단순한 챗봇이 아니다. Model Context Protocol(MCP) 을 통해 외부 시스템과 실시간으로 연결할 수 있다.
내가 선택한 구조는 이렇다:
- Claude — 판단과 자연어 처리
- MCP 서버 — Google Calendar, Gmail, Telegram 연결
- SQLite — 메모리와 스케줄 저장
- Bun.js — 서버 런타임
핵심 아이디어는 하나다. 도구들을 Claude가 직접 "쓸 수 있게" 만들면, Claude가 알아서 맥락을 연결한다.
예를 들어, 이런 질문이 가능해진다:
"오늘 미팅 있어?"
이전엔 캘린더를 열어야 했다. 지금은 AI 비서가 캘린더를 조회하고, 메일에서 관련 내용을 찾아, 한 문장으로 요약해준다.
핵심 설계 결정 3가지
1. 승인 흐름을 명확히 했다
AI가 알아서 발송하고, 알아서 수정하면 위험하다. 조회·요약·초안 작성까지는 자동으로 하되, 외부 발송·삭제·자동화 설정은 반드시 내 승인을 받도록 설계했다.
덕분에 "AI가 멋대로 뭔가를 해서 생긴 사고"가 한 번도 없었다.
2. 메모리를 계층화했다
대화가 끝나면 AI는 기억하지 못한다. 이 문제를 해결하기 위해 메모리를 두 계층으로 나눴다.
- 단기 메모리 — 현재 세션의 작업 상태, 미완료 항목
- 장기 메모리 — 나의 선호도, 결정, 중요한 사실들
장기 메모리에 저장된 내용들은 매 세션 시작 시 자동으로 불러와, 처음 만나는 사람이 아닌 "나를 아는 비서"처럼 동작한다.
3. 스케줄러를 내장했다
"매주 월요일 오전 8시에 주간 브리핑 보내줘" — 이런 요청을 한 번만 설정하면 알아서 반복한다. 반복 실행 스케줄러를 서버에 내장해, 외부 서비스 없이 자체적으로 작동한다.
실제로 어떻게 달라졌나
6개월째 매일 쓰고 있다. 달라진 것들:
아침: 기상 후 메신저에 일일 브리핑이 와 있다. 오늘의 일정, 미완료 항목, 주요 메일 요약.
낮: 새 메일이 오면 자동으로 중요도를 판단해 필요하면 알린다. 급하지 않은 건 모아뒀다가 저녁에 처리한다.
밤: "오늘 어땠어?" 한 마디로 하루 정리. 내가 한 결정들이 장기 메모리에 저장되고, 내일 브리핑에 이어진다.
이번 주 시리즈 예고
이 시스템을 만들면서 가장 많이 쓴 도구가 Claude Code다. 다음 글에서는 Claude Code로 MVP를 처음 만드는 과정을 단계별로 정리한다.
AI 비서 하나를 만드는 것도 있지만, 더 흥미로운 건 AI와 함께 코딩하는 경험 자체가 어떻게 달라졌냐는 것이다. 6개월 운영 후기와 함께, 직접 써보고 고른 도구 비교까지 이번 주 내내 이어갈 예정이다.