[Claude Code] 자기 전 텔레그램 하나로 “내일 아침 몇 시에 일어날지” 정해진다 — 외근 비서 에이전트 만들기
📝 한줄 요약
외근이 많아서 매일 캘린더와 지도 앱을 번갈아 켜며 “몇 시에 출발해야 하지?”를 계산하던 일을, Claude Code로 만든 개인 비서 에이전트에게 넘겼습니다.
이제 자기 전 텔레그램 메시지 한 통이면 “아, 내일은 이쯤 일어나면 되겠네” 하고 알람만 맞추고 자면 됩니다.
바쁘시면 이것만 읽어도 돼요
무엇을: 개인/회사 Google Calendar를 읽어, Telegram으로 전날 저녁·당일 아침에 “일정 + 이동 동선 + 출발 시각”을 브리핑하는 비서를 만들었어요.
핵심 가치: 미팅 시각에서 거꾸로 역산해 “출발할 시각 기준 이동시간”을 계산하므로 지도 앱을 다시 열지 않아도 됩니다.
정확도 한 끗: 현재 교통이 아니라 실제 출발할 시각의 교통량으로 계산하는 미래 교통 예측을 붙였어요.
인상 깊었던 점: “설계 확인 → 범위 확정 → 구현 → 검증” 사이클로 차곡차곡 쌓이는 안정감, 그리고 실제로 텔레그램에 알림이 딱 도착한 순간.
외근 많은 사람에겐: 자기 전·아침마다 일정 확인하던 일이 통째로 하나 줄어듭니다.
제일 큰 교훈: 한 번에 다 만들려 하지 말고 잘게 쪼개서 시키기.
새롭게 느낀 점: 바이브 코딩을 잘한다는 것은 단순히 AI에게 코드를 시키는 것이 아니라, 개발 구조를 이해하고 AI가 지금 어떤 일을 하고 있는지 판단하는 능력에 더 가깝다는 것.
🎯 이런 분들께 도움돼요
미팅·외근 일정이 잦아서 매일 동선을 직접 계산하는 직장인이나 대표
“오늘 몇 시에 나가야 안 늦지?”를 캘린더와 지도 앱을 오가며 매번 확인하는 분
코딩은 잘 몰라도 Claude Code 같은 AI 도구로 내 업무를 자동화해보고 싶은 분
AI에게 코드를 시키고 있지만, 어떻게 해야 더 안정적으로 결과물을 만들 수 있을지 고민하는 분
😫 문제 상황 (Before)
외근이 많은 일을 하다 보면, 하루 루틴에 은근히 반복되는 “잡일”이 하나 있습니다.
자기 전에 캘린더를 열어 내일 일정을 확인하고, 외부 미팅이 있으면 네이버지도나 카카오맵을 다시 열어 거기까지 얼마나 걸리는지 검색합니다.
그다음 미팅 시각에서 거꾸로 빼서 생각합니다.
“그럼 몇 시에 출발해야 하지?”
“준비까지 하면 몇 시에 일어나야 하지?”
미팅이 하루에 두 개 이상이면 더 골치 아픕니다.
첫 미팅이 끝난 뒤 다음 외근지까지 이동시간이 빠듯하지는 않은지, 그 사이에 충분히 도착할 수 있는지, 모든 일정을 마치고 집에는 몇 시쯤 돌아올 수 있을지를 또 따져야 합니다.
매번 앱 두세 개를 오가며 계산하는 게 별것 아닌 것 같아도, 매일 반복되면 꽤 피곤한 일입니다.
그래서 “이걸 누가 대신 계산해서 텔레그램으로 딱 알려주면 좋겠다”는 생각에서 시작했습니다.
🛠️ 사용한 도구
Claude Code: 실제 프로젝트 파일을 읽고, 코드를 작성하고, 테스트를 실행하는 구현 담당
GPT: 제가 원하는 기능을 구조화하고, Claude Code에게 전달할 구체적인 작업 지시문을 만드는 설계·검토 담당
모델: Claude Opus 4.x
연동: Google Calendar 읽기 전용, 카카오 지도/길찾기 API, Telegram 봇
특이사항: 약 5일에 걸쳐 기능을 작은 단계로 나누어 하나씩 쌓아 올림. 매 단계마다 진행 현황을
CLAUDE.md에 기록하며 다음 작업의 기준점으로 사용
처음에는 Claude Code 하나만으로도 충분히 만들 수 있을 거라고 생각했습니다.
그런데 실제로 진행해보니, GPT와 Claude Code를 번갈아 사용하는 방식이 훨씬 안정적이었습니다.
제가 원하는 기능을 GPT에게 설명하면, GPT가 그 내용을 구현 가능한 단위로 쪼개고 Claude Code에게 전달할 명령을 구체적으로 정리해줬습니다.
Claude Code는 그 지시를 바탕으로 실제 파일을 읽고, 코 드를 수정하고, 테스트를 실행했습니다.
결과적으로 GPT는 설계자와 검토자에 가깝고, Claude Code는 구현자에 가까운 역할을 했습니다.
저는 그 둘이 지금 어떤 일을 벌이고 있는지 중간에서 확인하고, 범위가 너무 커지거나 방향이 틀어질 때 다시 조정하는 역할을 맡았습니다.
🔧 작업 과정
실제 작업 순서대로, 비서가 어떻게 점점 똑똑해졌는지 이야기처럼 풀어볼게요.
1. “일단 내 일정부터 읽게 하자” — 캘린더 연결
가장 먼저 한 일은 개인 캘린더를 읽어오게 하는 것이었습니다.
개인 Google Calendar에서 오늘과 내일 일정을 read-only로 읽어오는 최소 테스트 파일을 만들어주세요.
그런데 회사 캘린더에서 막혔습니다.
분명 일정이 있는데 조회하면 0건이 나오더군요.
알고 보니 제가 챙겨야 하는 “(레오)” 표시가 붙은 일정들이 회사 계정의 기본 캘린더가 아니라 별도 공유 캘린더에 들어 있었습니다.
Claude Code가 조회 대상 캘린더를 그 공유 캘린더로 바꿔주면서 해결됐어요.
또 한 가지 문제가 있었습니다.
회사 캘린더에는 다른 사람들의 미팅도 섞여 있었기 때문에, 제목에 “(레오)”가 들어간 일정만 제 일정으로 골라내도록 했습니다.
회사 계정은 절대 수정하지 않고 읽기 전용으로만 접근하도록 못박았고요.
2. “두 계정을 한 화면에” — 다중 캘린더 통합
개인 메일 계정이 두 개라 둘 다 연결하고, 회사 공유 캘린더까지 합쳐 총 3개 소스를 하나로 통합 조회하게 했습니다.
그리고 그 결과를 텔레그램으로 보내봤습니다.
실 제로 폰에 일정 브리핑이 도착했습니다.
비서의 입과 눈이 처음 연결된 순간이었어요.
3. “이건 이동 계산이 필요한 일정인가?” — 똑똑한 분류
여기서부터 일반 캘린더 앱과 달라집니다.
모든 일정에 이동 계산이 필요한 건 아니니까요.
온라인 미팅이나 종일 일정은 빼고, 실제로 어딘가로 가야 하는 외부 일정만 골라내야 했습니다.
회사 일정 제목이 사람 이름이나 “지사장님”처럼 보이고 “(레오)”가 붙는 경우가 많았습니다.
이런 제목을 장소로 오인하면 안 됩니다.
“김미경 지사님(레오)” 같은 제목을 장소로 착각하지 않고 “장소 확인 필요”로 분류하게 다듬어주세요.
이런 식으로 일정의 성격을 하나씩 분류하게 만들었습니다.
4. “지도 앱 좀 그만 열고 싶다” — 핵심 가치
이번 프로젝트에서 제가 가장 원했던 부분입니다.
카카오 지도 API를 붙여서, 일정 장소를 좌표로 바꾸고 자차 기준 이동시간을 자동으로 계산하게 했어요.
이동시간 계산 API 연동을 시작하되, 범위를 아주 작게 잡아서 진행해주세요.
여기서도 작은 트러블이 있었습니다.
카카오 지도가 403 오류를 뱉길래 확인해보니, 개발자 콘솔에서 지도/길찾기 사용 설정을 켜지 않았던 것이 원인이었습니다.
설정만 켜니 바로 해결됐습니다.
그리고 한 가지 욕심을 더 냈습니다.
단순히 “지금 기준 이동시간”이 아니라, 실제로 출발할 시각의 교통량으로 계산해야 정확하잖아요.
오전 8시 출발과 오후 2시 출발은 막히는 정도가 완전히 다르니까요.
그래서 미래 시각의 교통을 예측하는 길찾기까지 붙여서, 미팅 시각에서 거꾸로 역산해 “그 시각에 출발하면 얼마나 걸리는지”의 정확도를 끌어올렸습니다.
설계할 때 한 가지 더 신경 쓴 건, 지도 서비스를 카카오 하나에 묶지 않은 것입니다.
나중에 네이버지도나 구글지도를 선택해서 쓸 수 있게 구조를 열어뒀어요.
사람마다 더 정확하다고 느끼는 지도가 다를 수 있고, 비용이나 API 신청 조건도 다를 수 있으니까요.
지금은 카카오로 동작하고, 네이버와 구글 연동은 다음 숙제로 남겨뒀습니다.
5. “그래서 몇 시에 나가면 돼?” — 출발 시각 역산 + 두괄식 브리핑
이제 본론입니다.
비서가 알아서 이렇게 계산하게 했어요.
미팅 10:00 시작
→ 20분 여유 두고 도착하려면 09:40 도착
→ 이동 48분이면 집에서 08:52 출발
→ 준비 40분 고려하면 08:12부터 준비 시작
그리고 외근이 여러 개인 날을 위해, 집 → 첫 외근지 → 다음 외근지 → 귀가까지 동선 전체를 이어서 계산하게 했습니다.
여기에 제가 정말 원했던 기능을 더했어요.
일정 충돌 경고입니다.
외근지 간 이동시간상 다음 미팅을 맞출 수 없으면, 부족한 시간과 함께 경고해줘.
첫 미팅이 12:30에 끝나는데 다음 외근지까지 2시간이 걸려서 14:00 미팅에 늦을 것 같으면,
“⚠️ 약 50분 부족 — 일정 조정이 필요합니다”
라고 미리 알려줍니다.
브리핑은 두괄식으로 만들었습니다.
메시지를 열자마자 맨 위에 “몇 시에 준비 시작, 몇 시에 출발”이 먼저 보이고, 세부 일정표는 그 아래에 둡니다.
바쁠 때 윗줄만 봐도 되니까요.
6. “자동으로, 그리고 미리 알려줘” — 스케줄러 + 출발 알림
마지막으로 이걸 자동화했습니다.
전날 저녁에는 내일 일정을, 당일 아침에는 오늘 일정을 알아서 텔레그램으로 보내게 했습니다.
제가 텔레그램에서 “오늘”, “내일”, “이번주”라고 직접 물어도 즉시 답하게 했고요.
여기에 출발 알림 예약까지 붙였습니다.
각 이동마다 다음처럼 알림이 가도록 했습니다.
출발 10분 전
출발 권장 시각
“지금 나가도 늦을 수 있어요”라는 마지노선 알림
프로그램이 잠깐 꺼졌다 켜져도 알림을 다시 챙기고, 일정이 바뀌면 옛 알림은 정리하고, 전송이 실패하면 재시도하는 안전장치까지 갖췄습니다.
테스트 알림이 예약한 시각에 실제로 폰에 딱 도착했을 때,
“아, 이거 진짜 되는구나”
싶었던 게 이번 작업에서 제일 짜릿한 순간이었어요.
✅ 결과 (After)
Before vs After
항목
Before
After
내일 일정 확인
자기 전 캘린더 직접 열어 확인
자기 전 텔레그램 한 통으로 끝
이동시간 계산
네이버/카카오 지도 앱 따로 열어 검색
비서가 출발 시각 기준으로 자동 계산
출발/기상 시각
머릿속으로 역산
“08:12 준비, 08:52 출발” 숫자로 딱
외근 여러 건
충돌 여부 직접 따짐
충돌 시 미리 경고
출발 챙기기
시계 보며 신경 씀
10분 전·정각·마지노선 알림
결과물
자기 전 텔레그램을 보고,
“아, 내일은 이쯤 일어나면 되겠네”
하고 알람만 맞추고 잡니다.
아침에는 일어나면 알아서 브리핑이 와 있어서,
“이때까지는 집에서 나가야 하는구나”
가 정해져 있고요.
외근이 많은 사람 입장에서는 매일 반복되던 일이 통째로 하나 줄어드는 셈입니다.
💬 이 과정에서 배운 AI 활용 팁
효과적이었던 것
1. 한 번에 다 만들지 말고 잘게 쪼개기
이번 작업에서 가장 큰 교훈입니다.
“일정 비서 만들어줘”라고 한 번에 요청한 것이 아니라,
개인 캘린더 읽기만
회사 캘린더 필터링만
이동이 필요한 일정 분류만