AI 논문은 하루만 안 봐도 금방 밀리죠. 오늘 만드는 건 arXiv AI 텔레그램 알림봇입니다. 아침에 텔레그램으로 제목, 한 줄 요약, 논문 번호만 3개 받아보는 거예요. 지난번에 알림봇 감 잡았다면 이번엔 정보 소스를 AI 논문으로 바꾸는 쪽이고, 첫 테스트 메시지는 5분 안에 볼 수 있습니다.
Claude Code 쓰는 분은 /plan과 /schedule를 쓰면 되구요, Codex 쓰는 분은 같은 프롬프트로 파일만 만든 뒤 작업 스케줄러에 붙이면 됩니다. 둘 다 필요 없어요. 하나만 골라서 가면 됩니다.
준비물은 딱 하나
Claude Code만 있으면 됩니다. 텔레그램에서 봇 토큰 하나 만들고, 내 채팅 ID만 복사해두면 끝입니다. 매달 구독료 내는 입장에선 이런 알림봇이 괜히 반갑습니다. arXiv 메인 화면을 멍하게 열어두는 시간이 줄거든요.
바닥부터 깔자
1
규칙 메모부터 만든다
AI에게 보낸 프롬프트
/init 이 프로젝트는 arXiv AI 텔레그램 알림봇이다. Python으로 만들고, 파일은 적게 간다. 첫 목표는 텔레그램에 테스트 메시지 1건 보내기다. 말투는 담백하게, 이모지 없이, 제목과 한 줄 요약만 보낸다.
왜 이렇게 시켰나: 이거 안 적어두면 Claude가 초반부터 파일을 너무 벌립니다.
이렇게 나오면 OK: CLAUDE.md가 생기고 목표가 짧게 적힙니다.
⚠여기서 이렇게 하면 안 돼요: 처음부터 DB, Docker, 웹 화면까지 한 번에 넣지 마세요.
2
손대기 전에 계획만 본다
AI에게 보낸 프롬프트
/plan arXiv AI 텔레그램 알림봇 첫 버전을 만들 거야. 최신 논문 1개를 읽어 텔레그램으로 보내는 흐름만 먼저 설계해줘. 수정할 파일 이름, 필요한 환경변수, 내가 실행할 명령 3줄만 보여줘.
왜 이렇게 시켰나: Claude Code 공식 문서에 있는 plan mode가 여기서 꽤 좋습니다. 읽기만 하고 계획부터 내놓아서 초보가 덜 불안해요.
이렇게 나오면 OK: bot.py, .env.example 같은 파일명과 실행 순서가 먼저 보입니다.
여기서 이렇게 하면 안 돼요: 계획 단계에서 무슨 파일이 생기는지도 안 보고 바로 크게 승인하지 마세요.
3
테스트 메시지 1건 먼저 보낸다
AI에게 보낸 프롬프트
좋아. 이제 bot.py와 .env.example을 만들어줘. arXiv의 AI 카테고리 피드에서 최신 논문 1개를 읽고, 제목과 한 줄 요약을 텔레그램으로 보내는 것만 구현해줘. 실행 명령도 마지막에 한 번 더 적어줘.
왜 이렇게 시켰나: 첫 결과는 무조건 작아야 합니다. 5분 안에 텔레그램 알림 한 번만 오면 반은 끝난 거예요.
이렇게 나오면 OK: 내 폰에 논문 제목 1개가 도착합니다. 이거 진짜 3초 만에 오면 좀 허무할 수도 있습니다.
⚠여기서 이렇게 하면 안 돼요: Step 3에서 벌써 키워드 필터, 중복 저장, 스케줄을 다 넣지 마세요.
4
진짜 쓸 만하게 다듬는다
AI에게 보낸 프롬프트
이제 arXiv AI 텔레그램 알림봇을 매일 써도 되게 바꿔줘. cs.AI와 cs.LG 두 피드를 보고, 제목에 agent, coding, openai, anthropic, google, video 중 하나가 들어간 논문만 최대 3개 보내줘. 이미 보낸 논문은 sent_ids.json에 저장해서 다음 실행 때 건너뛰고, 메시지는 제목, 한 줄 요약, arXiv 번호만 담아줘.
왜 이렇게 시켰나: 이 한 줄이 없으면 AI가 논문을 너무 많이 보내거나 같은 걸 또 보냅니다.
이렇게 나오면 OK: arXiv AI 텔레그램 알림봇이 하루 3개 안쪽으로만 울리고, 두 번 실행해도 같은 논문은 다시 안 옵니다.
⚠여기서 이렇게 하면 안 돼요: 키워드를 20개 넘게 넣지 마세요. 처음엔 5~6개가 딱 좋습니다.
5
아침 8시에 자동으로 돌린다
AI에게 보낸 프롬프트
/schedule 평일 오전 8시에 이 프로젝트의 bot.py를 실행해줘. 실행 전 .env가 비어 있지 않은지 확인하고, 실패하면 원인을 한 줄 로그로 남겨줘.
왜 이렇게 시켰나: Claude Code 공식 문서에 있는 /schedule이 이런 반복 작업에 딱 맞습니다. 따로 외울 것 없고, 그냥 말로 걸면 됩니다.
이렇게 나오면 OK: 루틴 이름, 시간, 실행 대상이 보이고 수동 실행도 한 번 됩니다.
⚠여기서 이렇게 하면 안 돼요: 토큰 안 넣은 상태로 스케줄부터 저장하면 아침마다 실패 로그만 쌓입니다.
여기서 막히면
텔레그램은 멀쩡한데 아무 메시지도 안 옵니다
현상: 실행은 끝났다고 나오는데 내 채팅창은 조용합니다. 원인: 봇 토큰은 맞아도 chat id가 비어 있거나, 봇과 대화를 한 번도 안 열었을 때 자주 이럽니다. 해결: 텔레그램에서 그 봇에게 아무 말이나 먼저 보내고, Claude에게 현재 .env 값을 읽어 chat id가 숫자로 들어갔는지 확인해달라고 하세요.
논문이 너무 많이 와서 바로 꺼버리고 싶습니다
현상: 첫날부터 10개 넘게 울리면 바로 귀찮아집니다. 원인: 키워드가 넓거나, 카테고리를 너무 많이 잡았거나, 최대 개수 제한을 안 둔 경우가 많습니다. 해결: cs.AI와 cs.LG 두 개만 두고, 최대 3개, 키워드 6개 이하로 줄인 뒤 같은 프롬프트에 지금보다 덜 시끄럽게라고 한 줄만 더 붙이세요.
어제 본 논문이 오늘 또 옵니다
현상: 제목이 똑같은데 또 알림이 옵니다. 원인: sent_ids.json 저장 위치를 매 실행마다 새로 만들었거나, arXiv 번호 대신 제목으로만 비교했을 때 흔들릴 수 있습니다. 해결: Claude에게 중복 기준은 arXiv 번호 하나로 고정하고, sent_ids.json은 프로젝트 루트에 저장이라고 정확히 적어주면 금방 잡힙니다.
다음에 하나만 더 붙이자
한 걸음 더
다음엔 arXiv AI 텔레그램 알림봇에 별표 명령 하나 붙여서, 마음에 든 논문만 notion_ready.txt로 모아보세요. 그 순간부터 읽고 끝나는 봇이 아니라 글감 창고가 됩니다.