매일 아침 1시간짜리 뉴스 스크랩 노동을 코드로 끝내버렸다
최신 정보나 트렌드를 찾으려면 당연히 뉴스를 찾아봐야 합니다. 저도 항상 매일 오전에 뉴스를 찾아서 스크랩을 했는데 이것도 일이되더군요.

그러던 어느날 퇴근길에 문득 ‘이걸 자동화해보면 어떨까?’라는 생각이 들었습니다. 파이썬을 켜고 무작정 손을 대기 시작했는데, 예상외로 50줄도 안 되는 코드로 아침 1시간짜리 노동을 20초 안에 끝낼 수 있었습니다. ChatGPT API와 파이썬을 엮어 만든 자동 텍스트 요약봇이었는데, 이 과정에서 겪은 허점과 오류까지 모두 담아 공유하려 합니다. 다만, 이 작업이 완전 무결한 해결책은 아니었습니다. 가끔 요약이 엉뚱하게 나오거나 핵심이 빠지는 경우가 있었고, API 호출에 소요되는 비용도 적지 않아 운영하면서 예산 관리에 신경 써야 했습니다.
1. 파이썬 준비
개발자가 아닌 저도 했으니 여러분도 할 수 있습니다. 파이썬 변수 선언, 함수 작성, 파일 입출력 정도만 할 줄 알면 충분히 따라올 수 있어요. 몰라도 ai한테 물어보면 알려줌. 제가 실제로 돌리는 환경은 다음과 같습니다.
- 운영체제: Windows 11 Pro (Mac에서도 동일하게 작동했습니다)
- Python 버전: 3.11.4
- 코드 편집기: VS Code
- 필수 라이브러리:
openai(API 호출용),python-dotenv(API 키 보안 관리) - OpenAI 계정: platform.openai.com에서 API 키를 따로 발급받아야 하며, 최소 5달러 크레딧을 충전해야 사용 가능합니다
여기서 가장 헷갈렸던 부분이 OpenAI API와 챗GPT 웹사이트 계정이 완전히 분리되어 있다는 점입니다. 플러스 구독을 하고 있어도 API 키는 별도로 발급받아야 하고, 충전(비용 발생)도 따로 해야 합니다. 이걸 몰라서 꽤 시간을 허비했죠. 그래도 해볼만 해요.
2. 자동 요약봇 전체 코드 단계별 실습
1단계: 패키지 설치 및 API 키 환경변수 설정
VS Code 터미널을 열고 다음 명령어로 필요한 라이브러리 두 개를 설치했습니다.
pip install openai python-dotenv
코드가 있는 폴더 안에 .env 파일을 만들고 OpenAI API 키를 저장했는데, 이때 따옴표를 넣지 않는 게 핵심입니다. 따옴표가 포함되면 파이썬이 키 문자열 전체를 인식해 인증 에러가 발생하더군요. 이것도 gpt한테 물어보면 아예 상세히 알려줍니다.
OPENAI_API_KEY=sk-proj-여기에_실제_API_키를_입력하세요
2단계: 요약봇 전체 코드 작성
auto_summarizer.py라는 파일을 새로 만들어서 아래 코드를 그대로 복사해 넣었어요. 지정한 폴더 안에 있는 raw_text.txt 파일을 읽고, OpenAI ChatGPT API를 이용해 요약한 후 결과를 summary_result.txt에 자동 저장하는 게 핵심이랍니다. 개인적으로는 이렇게 한 번에 읽기, 요약, 저장까지 한 번에 처리하는 구조가 작업 흐름을 깔끔하게 만들어서 마음에 들었었어요.
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def read_file(file_path):
# 한글 깨짐 방지: encoding='utf-8' 필수
with open(file_path, 'r', encoding='utf-8') as f:
return f.read()
def save_to_file(file_path, content):
with open(file_path, 'w', encoding='utf-8') as f:
f.write(content)
def summarize_text(raw_text):
system_prompt = """
너는 글로벌 IT 기업의 수석 전략 분석가야.
제공된 텍스트를 읽고 반드시 다음 형식으로 한국어 요약해줘:
1. 핵심 주제 (1문장)
2. 주요 내용 요약 (3개 불릿 포인트)
3. 비즈니스 인사이트 (1문장)
"""
response = client.chat.completions.create(
model="gpt-4o-mini", # 속도와 비용 효율 최상
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": f"다음 텍스트를 요약해줘:nn{raw_text}"}
],
temperature=0.3 # 팩트 기반 요약이므로 낮게 설정
)
return response.choices[0].message.content
if __name__ == "__main__":
input_file = "raw_text.txt"
output_file = "summary_result.txt"
print("요약봇 시작: 파일을 읽어옵니다...")
try:
text = read_file(input_file)
print("ChatGPT API가 분석 중입니다...")
summary = summarize_text(text)
save_to_file(output_file, summary)
print(f"완료! '{output_file}'에 저장되었습니다.")
except FileNotFoundError:
print(f"오류: '{input_file}' 파일이 없습니다.")
except Exception as e:
print(f"알 수 없는 오류: {e}")
가장 신경 쓴 부분은 한글 텍스트 인코딩이었습니다. 텍스트 읽기와 쓰기 모두 utf-8 인코딩을 명시하지 않으면 결과가 나올때 한글이 깨져서 나중에 파일을 다시 열 때 멘붕이 오거든요. 그리고 요약 요청 시 시스템 프롬프트에 ‘글로벌 IT 기업 수석 전략 분석가’라는 역할을 지정해두니, 실제로 결과물이 꽤 전문적인 어투와 구조로 나왔습니다. 다만 이 모델(gpt-4o-mini)은 속도와 비용 측면에서 적당하지만, 가끔 중요한 디테일을 놓치는 느낌이어서 100% 신뢰하긴 어려웠어요. 고품질은 당연히 비싼 모델을 쓰는게 좋겠죠?
실행할 때 raw_text.txt 파일이 없으면 곧바로 오류 메시지가 뜨는데, 이 부분은 꽤 직관적이라 별도의 디버깅 없이도 문제 상황을 바로 알 수 있더군요. 그런데 API 호출 시 간혹 네트워크 문제나 응답 지연 때문에 예외가 발생하는 경우가 있어서, 실제 업무에 적용하려면 재시도 로직이나 예외 처리를 좀 더 꼼꼼히 짜야 하는데 이것도 “야 로그도 출력해줘”와 같이 명령하면 알려줍니다.
⚠ 프롬프트 엔지니어링을 빼먹으면 안 되는 이유
‘이거 요약해 줘’ 한마디로 그냥 던지면 AI는 매번 제멋대로 답변 형식을 바꿔서 줘요. 어떤 날은 긴 문단으로, 어떤 날은 번호 매기기 리스트로 나와서 이걸 매번 편집에 시간을 쏟아야 했었어요. 당연히 보고서 같은 공식 문서로 활용하려면 이런 변덕은 최악이자나요? 그래서 아예 system_prompt에 ‘수석 전략 분석가’라는 페르소나를 입히고, 출력 포맷을 원하는 스타일로 딱 맞게 고정해써요. 그랬더니 매일 균일한 스타일의 요약본이 나와서 좋더군요. 이 명령어 한 줄 차이가 출력결과를 쓸 수 있느냐 없느냐를 갈랐던거죠.
3. 직접 겪은 치명적 오류 2가지와 해결법
오류 ① 한글이 깨지는 UnicodeDecodeError
영문 예제 코드를 그대로 가져다 썼더니, 내가 정리해 둔 한글 기사 파일을 파이썬이 읽지를 못하더군요. 터미널에선 UnicodeDecodeError: 'cp949' codec can't decode...라는 메시지가 잔뜩 떴는데 Windows 환경의 파이썬은 기본 인코딩으로 CP949를 쓰는데, 웹에서 긁어온 텍스트는 대개 UTF-8이라 충돌이 생긴 것이라는 것을 고치면서 알게되었죠. 해결법은 너무 단순했는데 open() 함수에 encoding='utf-8' 옵션을 넣으니 문제가 싹 사라졌어요. 모르면 어떻게? 물어보면 됨.
오류 ② 50페이지를 던졌더니 토큰 초과 에러
분량이 방대한 내용을 전부 텍스트로 변환해서 한꺼번에 API에 전달했다가 ‘토큰 초과’ 에러가 생기더군요. gpt-4o-mini 모델의 컨텍스트 윈도우가 128,000토큰이라 꽤 넉넉한 편인데도, 너무 긴 텍스트는 중간 내용이 누락되더군요. 그래서 장문의 텍스트를 다 안주고 5,000자 단위로 쪼개서 순차적으로 요약한 뒤, 그 요약본들을 다시 모아 최종 요약하는 2단계 파이프라인으로 코드를 개선했어요.
4. 한 달 운영 결과 — 시간과 비용 수치
실제 개발한 파이썬 스크립트를 설치한 뒤 약 한 달 동안 실제 업무에 돌려봤습니다.
- 시간: 매일 거의 1시간씩 걸리던 기사 수집하고 요약하는 작업이 스크립트를 돌리는 데 걸리는 약 20초로 줄었어요. 덕분에 남는 시간에 결과를 확인하고 분석하니까 좋더군요.
- API 비용: 한 달 동안 300건이 넘는 업계 기사와 리포트를 요약시키는 데 든 비용은 고작 1.2달러였어요. 당연히 챗GPT 플러스 월정액 20달러와 비교하면, 필요한 만큼만 호출하는 API 방식이 얼마나 싼지는 이해됐죠. 다만, 호출량과 펴상시 사용을 생각하면 플러스가 좋을수도 있어요.
- 품질 일관성: 시스템 프롬프트로 출력 형태를 고정한 덕분에 300건 전부 동일하게 받았어요.다만, 간혹 내용이 애매하게 정리되는 경우가 있어 완전 믿지 말고 수정과 검토는 해야합니다.
5. 이 봇이 진짜 빛나는 상황과 아닌 상황
파이썬 ChatGPT API 자동 요약봇은 반복적인 정보 소비에서 진가를 발휘합니다. 특히 매일 비슷한 유형의 해외 기사나 리서치 자료를 다루는 사람이라면, 무조건 만들어봐야 합니다.
- 강력 추천: 반복적인 리서치에 시달리는 직장인, 해외 콘텐츠를 다량으로 번역하고 요약해야 하는 마케터 등은 확실히 업무 시간이 눈에 띄게 줄어든다.
- 비추천: 반면 단발성으로 이메일 초안작성을 하거나 아이디어 스케치 정도할 생각이라면 굳이 이렇게 어렵게 파이썬 환경을 구축하고 사용하는건 오바인것 같아요. 생각보다 시간과 노력이 많이 들어가니 그냥 무료 웹버전 쓰세요
한 번 세팅을 마치면, 월정액 없이 필요할 때마다 AI 비서를 얻을 수 는 있습니다.물론 믿을 만한 정보인지는 무조건 자신이 확인해야 합니다. ai가 완벽하진 않으니 이부분 필수!