내 프로젝트, AI에게 통째로 물리면 얼마일까 — 30줄로 재봤어요
"내 프로젝트를 통째로 물려도 되나?" 요즘 컨텍스트 창이 100만 토큰까지 열리면서 자주 나오는 질문이에요. 감으로 답하지 말고 재보기로 했습니다. 30줄짜리 스크립트로요.
뭘 만들었냐면요
폴더를 훑으면서 소스 파일 글자 수를 세고, 토큰과 값으로 바꿔주는 스크립트예요. 파이썬만 있으면 바로 돌아갑니다.
# 내 코드를 AI에게 통째로 물리면 얼마나 드는지 어림잡아요
import os
# 소스로 볼 확장자만 셉니다
소스 = {".ts", ".tsx", ".js", ".css", ".md", ".mjs"}
# 남이 만든 코드와 빌드 결과는 빼요
제외 = {"node_modules", ".next", ".git", "public"}
묶음 = {}
for 경로, 하위, 파일들 in os.walk("."):
하위[:] = [d for d in 하위 if d not in 제외]
for 이름 in 파일들:
if os.path.splitext(이름)[1] not in 소스:
continue
길 = os.path.join(경로, 이름)
# 글자로 못 읽는 파일이 섞여도 멈추지 않게 해요
with open(길, encoding="utf-8",
errors="ignore") as f:
글자 = len(f.read())
# 최상위 폴더 이름으로 묶어요
조각 = 경로.split(os.sep)
키 = 조각[1] if len(조각) > 1 else "(루트)"
묶음[키] = 묶음.get(키, 0) + 글자
합계 = sum(묶음.values())
# 영어 기준 네 글자에 토큰 하나라는 어림값이에요
토큰 = 합계 / 4
상위 = sorted(묶음.items(), key=lambda x: -x[1])
for 키, 값 in 상위[:5]:
print(f"{키} -> {값:,}자")
print(f"합계 -> {합계:,}자")
print(f"토큰 어림 -> {토큰:,.0f}개")
# 입력 100만 토큰에 5달러로 잡습니다
print(f"한 번 물리면 -> 약 ${토큰 / 1e6 * 5:.2f}")프로젝트 폴더에서 그대로 실행하시면 돼요.
이 사이트로 돌려봤어요
src -> 130,122자
docs -> 14,911자
(루트) -> 5,352자
합계 -> 150,385자
토큰 어림 -> 37,596개
한 번 물리면 -> 약 $0.19한 달 넘게 매일 글을 쌓아온 사이트 코드 전부가 15만 자, 토큰으로 3만 7천 개입니다. 통째로 물려도 약 0.19달러(약 270원)예요.
100만 토큰 창에 넣으면 **3.8%**만 씁니다. 요금 구간이 바뀌는 27만 2천 토큰 근처에도 못 가고요. 웬만한 개인 프로젝트는 통째로 물려도 값이 문제되지 않는다는 뜻이에요.
진짜 위험한 건 따로 있어요
node_modules를 빼지 않고 돌려봤더니 이렇게 나왔습니다.
내 코드만 -> 150,385자 (약 $0.19)
node_modules까지 -> 118,507,581자 (약 $148.13)788배예요. 라이브러리만 따로 떼도 내 코드의 787배고요. 토큰으로 2,960만 개니 100만 토큰 창에도 서른 배쯤 넘쳐요.
그래서 스크립트에서 node_modules, .next, .git을 빼두었습니다. AI에게 뭘 주느냐보다 뭘 빼느냐가 값을 가르는 셈이에요.
쓸 때 알아두실 것
토큰 수는 네 글자에 하나로 잡은 어림값이에요. 영어 기준 관행이라 한글이 많으면 더 늘어납니다. 정확한 값이 필요하면 각 회사의 토큰 세기 API를 쓰셔야 해요. 값도 100만 토큰당 5달러로 잡은 거라 쓰는 모델에 따라 달라지고요.
그래도 자릿수를 아는 것만으로 판단이 섭니다. 0.2달러짜리면 그냥 통째로 주면 되고, 148달러짜리면 뭘 빼야 할지 고민해야 하니까요.
조금 바꿔 쓰기
- 확장자 목록에
.py나.java를 넣으면 다른 언어 프로젝트에도 그대로 씁니다 - 값 계산의
5를 쓰시는 모델 요금으로 바꾸면 실제 청구액에 더 가까워져요 - 제외 목록에
dist나build처럼 결과물 폴더를 더 넣으면 숫자가 정확해집니다
여러분 프로젝트는 몇 자 나오셨어요? 카톡 오픈채팅 ⚡ AI랑 코딩하는 사람들에 결과 공유해주세요.