8분
#AI#자동화#ChatGPT

AI 자동화 도구를 만들면서 배운 것들

시작하게 된 계기

회사에서 매일 반복되는 작업이 있었습니다. 슬랙에 올라오는 비슷한 질문들에 답변하고, 정형화된 보고서를 작성하고, 데이터를 정리하는 일들이었죠. 이런 작업들이 하루에 2-3시간은 족히 걸렸습니다.

그러던 중 ChatGPT API가 공개되었고, "이걸로 뭔가 할 수 있지 않을까?"라는 생각이 들었습니다. 그렇게 시작된 자동화 프로젝트가 지금은 팀 전체가 사용하는 도구가 되었습니다.

무엇을 만들었나

크게 세 가지 도구를 만들었습니다:

  1. 슬랙 Q&A 봇: 자주 묻는 질문에 자동으로 답변
  2. 보고서 생성기: 데이터를 입력하면 자동으로 보고서 작성
  3. 이메일 초안 작성: 키워드만 입력하면 이메일 초안 생성

기술 스택

다음과 같은 기술들을 사용했습니다:

# 주요 라이브러리
import openai
from langchain import ChatOpenAI, PromptTemplate
from slack_sdk import WebClient

# API 설정
openai.api_key = "your-api-key"
client = ChatOpenAI(temperature=0.7)

배운 점들

1. 프롬프트가 전부다

처음에는 단순하게 "이 질문에 답변해줘"라고만 했더니 답변 품질이 일정하지 않았습니다. 프롬프트를 구체적으로 작성하고, 예시를 포함시키니 결과가 훨씬 좋아졌습니다.

좋은 프롬프트 = 명확한 지시 + 구체적인 예시 + 제약 조건

2. 에러 핸들링이 중요하다

API 호출이 실패하거나, 예상치 못한 응답이 오는 경우가 많았습니다. Retry 로직과 폴백(fallback) 메시지를 꼭 준비해야 합니다.

def call_openai_with_retry(prompt, max_retries=3):
    for i in range(max_retries):
        try:
            response = openai.ChatCompletion.create(
                model="gpt-4",
                messages=[{"role": "user", "content": prompt}]
            )
            return response.choices[0].message.content
        except Exception as e:
            if i == max_retries - 1:
                return "죄송합니다. 일시적인 오류가 발생했습니다."
            time.sleep(2 ** i)  # Exponential backoff

3. 비용 최적화는 필수

처음에는 모든 요청에 GPT-4를 사용했다가 비용이 폭탄처럼 나왔습니다. 간단한 작업은 GPT-3.5를 사용하고, 캐싱을 활용하니 비용이 70% 절감되었습니다.

성과

이 도구들을 만들고 나서:

  • 하루 평균 2시간 절약 (팀원 1인당)
  • 슬랙 응답 시간 80% 단축
  • 보고서 작성 시간 90% 감소

다음 계획

현재 RAG(Retrieval-Augmented Generation)를 공부하고 있습니다. 회사 내부 문서를 벡터 DB에 저장하고, 더 정확한 답변을 제공하는 시스템을 만들 예정입니다.