SYDEAI 비용을 30만원에서 4만원으로 줄인 사례
LLM 기반 서비스를 만들다 월 30만 원짜리 AI 비용 폭탄을 맞은 1인 개발자가 5가지 최적화로 4만 원대까지 줄인 실전 사례예요.
• AI 비용의 핵심은 “토큰”이에요. AI에게 보내는 텍스트가 길수록, 더 자주 물어볼수록 돈이 나가요.
• 가장 효과적인 절약은 AI를 아예 안 부르는 것 — 이미 아는 답은 저장해뒀다가 재활용하면 돼요.
• 5가지 방법을 순서대로 쌓으면 호출당 비용이 평균 99.5% 줄어들어요.
• 각 방법은 독립적으로 적용할 수 있어요. 지금 당장 하나씩 시작해도 효과가 있어요.
폴란드 출신 1인 개발자 Darek은 이커머스 앱에 AI 기능 하나를 만들었어요. 상품명을 입력하면 AI가 자동으로 카테고리를 붙여주는 분류기였는데요. “나이키 운동화 270mm” 같은 상품명을 넣으면 AI가 “스포츠 > 신발 > 운동화”처럼 카테고리를 찾아주는 거예요.
처음엔 문제없었어요. 그런데 월 100만 개 규모로 커지자 현실이 찾아왔어요. AI 비용이 매달 200달러(약 27만 원)를 넘어서기 시작한 거예요.
원인은 단순했어요. 상품 1개를 분류할 때마다 3만 개짜리 카테고리 목록 전체를 AI에게 통째로 넘기고 있었던 거예요. 마치 고객 한 명한테 물어볼 때마다 백과사전 한 권을 통째로 프린트해서 건네주는 식이었던 거죠.
그래서 최적화를 차례로 적용했고, 비용을 92% 줄이는 데 성공했어요. 지금부터 구체적인 방법들을 풀어볼게요.
토큰은 AI에게 보내는 텍스트의 양이에요. 그리고 토큰이 많을수록 비용이 올라가요. 프롬프트가 길면 길수록 그만큼 돈이 나가는 구조예요.
그러면 어떻게 줄이냐고요? 핵심은 딱 하나예요. AI가 답을 내리는 데 실제로 필요한 정보만 골라서 보내는 거예요.
예를 들어 상품 분류를 시킬 때 카테고리 목록을 이렇게 보낼 수도 있어요.
- 전자제품
- 휴대폰 & 액세서리
- 스마트폰 (배터리 종류: 리튬이온, 지원 화면 크기: 6인치, 제조사 목록: 삼성/애플/...)또는 이렇게 보낼 수도 있고요.
전자제품 > 휴대폰&액세서리 > 스마트폰AI가 카테고리를 분류하는 데 “배터리 종류”나 “제조사 목록”은 전혀 필요 없어요. 그냥 카테고리 이름만 있으면 충분하거든요. 없애도 정확도가 떨어지지 않아요.
실제로 이것만으로 토큰이 52% 줄었어요. 지금 당장 해볼 수 있는 실천 방법은 이런 것들이에요.
✅ 이렇게 해보세요
시스템 프롬프트나 컨텍스트에서 “AI가 판단하는 데 직접 필요한 정보인가?“를 기준으로 내용을 하나씩 지워보세요. 배경 설명, 예의 차리는 문장, 중복된 내용이 생각보다 많이 나와요.
✅ 이렇게 해보세요
같은 내용이라면 짧은 형식으로 표현해요. “당신은 친절하고 전문적인 AI 어시스턴트입니다. 사용자의 질문에 성심성의껏 답변해주세요” 같은 프롬프트는 지양하세요. “전문적으로 답변해줘” 한 줄로도 충분한 경우가 많아요.
큰 맥락을 통째로 넘겨야 할 때는, 한 번에 다 물어보지 말고 단계를 나누는 방법이 있어요.
예를 들어 “이 상품이 3만 개 카테고리 중 어디에 속해?“라고 물어볼 때, 사실 처음부터 3만 개를 다 볼 필요는 없어요. 먼저 “대분류가 뭐야?“를 물어보고, 그 답을 기반으로 “그 안에서 세부 분류가 뭐야?“를 물어보는 방식이에요.
1번째 질문: “이 상품은 전자제품, 패션, 스포츠, 식품 중 어디야?” (30개 대분류만 보냄, 약 300 토큰)
2번째 질문: “스포츠 카테고리 안에서 이 상품은 어디에 속해?” (스포츠 서브카테고리만 보냄, 약 900 토큰)
총 1,200 토큰. 통째로 보낼 때의 25,000 토큰과 비교하면 95% 줄어든 거예요.
✅ 이렇게 해보세요
AI에게 복잡한 작업을 시킬 때, “먼저 방향을 잡고, 그 다음 세부 작업을 하는” 두 단계로 나눌 수 있는지 생각해봐요. 한 번에 모든 걸 판단하게 하는 것보다 훨씬 적은 토큰으로 같은 결과를 얻을 수 있어요.
비용을 가장 확실하게 줄이는 방법은 AI를 아예 안 부르는 거예요. 이미 한 번 물어봤던 건 결과를 저장해뒀다가, 같은 질문이 들어오면 그냥 꺼내 쓰면 되거든요. 이게 캐싱이에요.
어디에 저장하냐고요? 가장 간단한 방법부터 알려드릴게요.
💾 데이터베이스에 저장:
이미 분류한 상품명과 그 결과를 테이블에 저장해요. 새 상품명이 들어오면 AI 부르기 전에 먼저 테이블에서 찾아봐요. 있으면 꺼내 쓰고, 없을 때만 AI를 불러요.
💾 파일에 저장:
규모가 작다면 JSON 파일 하나에 {질문: 답변} 형태로 저장해도 돼요. AI 호출 전에 파일을 먼저 뒤져보는 거예요.
✅ 이렇게 해보세요:
지금 AI를 반복적으로 부르는 기능이 있다면, “같은 입력이 얼마나 반복되는지”를 먼저 확인해봐요. 20% 이상 반복된다면 캐싱만으로도 의미 있는 절감이 생겨요.
AI API는 전화 요금처럼 연결 자체에 기본 비용이 붙어요. 내용이 짧아도 한 번 호출할 때마다 요금이 나가는 구조예요. 그러니까 같은 작업을 10번 따로따로 보내는 것보다, 10개를 한 번에 묶어서 보내는 게 훨씬 저렴해요.
예를 들어 상품 10개를 분류해야 한다면,
“나이키 운동화 270mm, 카테고리 알려줘” → 호출 1번
“코카콜라 1.5L, 카테고리 알려줘” → 호출 1번
“아이폰 15 프로 128GB, 카테고리 알려줘” → 호출 1번
… (10번 반복)
-> 이렇게 10번 따로 보내는 대신,
“아래 10개 상품의 카테고리를 각각 알려줘: 나이키 운동화 270mm, 코카콜라 1.5L, 아이폰 15 프로 128GB, …” → 호출 1번
-> 이렇게 한 번에 묶어서 보내는 거예요.
10개 상품 기준으로 비교하면 이렇게 달라져요.
따로따로 보낼 때: 10번 호출, 12,000 토큰
묶어서 한 번에 보낼 때: 1번 호출, 2,250 토큰
절감: 81%
✅ 이렇게 해보세요:
지금 AI를 루프(반복문)로 여러 번 호출하는 코드가 있다면, 한 번에 묶어서 보낼 수 있는지 확인해봐요. “아래 N개에 대해 각각 답해줘, JSON 배열로 돌려줘” 형태로 요청하면 대부분 잘 동작해요.
LLM 비용 폭탄은 사이드프로젝트에서 정말 갑자기 찾아와요. 처음엔 괜찮다가 사용량이 늘면 순식간에 감당 못할 수준이 되거든요. 이 사례에서 가장 중요한 인사이트는, AI를 잘 쓰는 것보다 AI를 덜 쓰는 설계가 더 중요하다는 거에요. 오늘 당장 시스템 프롬프트를 한 번 열어서 “이게 정말 필요한 내용인가?“를 점검하는 것만으로도 많은 비용을 절감할 수 있을거에요!
👇 원문 보기
https://blog.dwornikowski.com/posts/cutting-llm-costs-token-optimization/