텔레그램 AI 에이전트 개발 경험 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
앱 개발
대상자
- AI 에이전트 및 Telegram 봇 개발에 관심 있는 개발자
- 중급 이상 Python 및 API 사용 경험자
핵심 요약
- Telegram 봇 + OpenAI Assistant API + SerpAPI를 활용한 자동화 웹 검색 시스템 구축
- APScheduler를 통해 타이밍 기반 작업 스케줄링 및 알림 기능 구현
- 보안 강화:
.env
파일로 API 토큰 및 비밀 정보 관리, Telegram 사용자 ID 화이트리스트 적용
섹션별 세부 요약
1. 프로젝트 개요
- Telegram 봇 생성:
@BotFather
를 통해 봇 생성 후 HTTP API 토큰 발급 - OpenAI API 키 발급: ChatGPT 사용 시 OpenAI 계정 생성 및 API 키 보안 저장
- 필수 구성 요소: Telegram 봇, Telegram 토큰, OpenAI API 키
2. 개발 환경 및 구조
- Python 3.10 + VS Code 사용
- 프로젝트 구조:
bot_prompt_setup.py
: 봇 UI, 프롬프트 생성, 작업 관리assistant_core.py
: OpenAI 및 SerpAPI와의 통신 처리.env
: 보안 정보 저장 (Git 무시)prompts/
: 작업 정의 파일
3. 핵심 기능 구현
- 웹 검색 자동화: 사용자 입력 기반 검색 쿼리 생성 → SerpAPI를 통해 웹 검색 수행 → 결과 Telegram 채널 전송
- 알림 기능: 설정 시간에 맞춰 알림 메시지 전송
- 스케줄링: APScheduler를 활용한
daily
,weekly
,monthly
주기 설정
4. 보안 및 배포
- 보안 팁:
.env
파일로 API 키 및 토큰 저장 (GitHub에 업로드 금지)- Telegram 사용자 ID 화이트리스트로 봇 접근 제한
- 배포 환경: GitHub + PythonAnywhere 사용 (코드 공유 가능, 서비스 비용 최소화)
5. 테스트 및 개선 방향
- 테스트 항목: 다양한 작업 주기 (일/주/월/한회) 및 웹 검색 기능 검증
- UX 개선: 버튼 이름 변경, 사용자 가이드 추가, 인터페이스 다국어 지원
- 향후 개선:
- HTML 파서 자동화
- PDF 문서 추출
- 링크 클릭 및 내부 콘텐츠 분석
- 스케줄링 기반 요약 및 번역 기능 추가
결론
- 현재 한계: LLM이 검색 로직 제어 불가 → 관련성 없는 링크 발생 가능성
- 향후 권장사항: HTML 파서 및 PDF 추출 라이브러리(예:
BeautifulSoup
,PyPDF2
) 활용, SerpAPI 대체 검토 - 실무 적용 팁:
.env
파일 보안, GitHub Actions로 자동 배포, APScheduler의BlockingScheduler
대신BackgroundScheduler
사용 권장