AI 기반의 코딩 에디터(Cursor)와 LLM(ChatGPT 등)을 매일 사용하면서, AI와 소통하는 가장 중요한 개념인 '토큰(Token)'에 대해 깊이 이해할 필요성을 느꼈다. 토큰을 낭비하는 것은 곧 AI의 성능을 떨어뜨리고 불필요한 비용을 발생시키는 지름길이다. 토큰의 정확한 개념과 이를 아끼면서 원하는 결과만 빠르고 정확하게 얻어내는 실전 최적화 기법을 정리해 보았다.
개념:
토큰은 AI(거대 언어 모델)가 텍스트를 읽고 쓰는 기본 단위다. 사람처럼 '단어' 단위로 글을 읽는 것이 아니라, 텍스트를 의미 있는 조각(Sub-word)으로 쪼개서 인식한다.
특징:
Cursor와 같은 AI 에디터에서 자연어로 코드를 짜는 '바이브 코딩(Vibe Coding)'을 할 때 토큰 관리는 생명이다.
.cursorignore 설정으로 쓰레기 데이터 차단AI에게 내 프로젝트 전체(@Codebase)를 읽으라고 하면, 가상환경(venv/), 빌드 파일, 이미지, 로그 파일 등 코딩과 상관없는 수만 개의 토큰을 읽느라 성능이 저하된다.
.cursorignore 파일을 만들어 AI가 읽을 필요 없는 폴더와 확장자를 명시적으로 차단한다.@Codebase를 호출해서 "로그인 로직 고쳐줘"라고 하기.@login_page.py, @auth_api.py 처럼 작업할 파일만 정확히 @ 기호로 멘션해서 질문하기. 읽어야 할 토큰 양이 획기적으로 줄고 답변이 날카로워진다.대화 기록(히스토리)도 모두 누적되어 토큰으로 소비된다. 질문을 여러 번 주고받으며 에러를 해결했다면, 새로운 기능 개발로 넘어갈 때는 반드시 새로운 채팅(New Chat)을 열어 이전 대화 토큰을 초기화해야 한다.
정보 검색이나 지식을 얻기 위해 LLM을 사용할 때도 프롬프트 엔지니어링을 통해 토큰을 최적화할 수 있다.
"안녕? 오늘 날씨 좋은데, 내가 파이썬을 공부하다가 모르는 게 생겨서 그러는데..." 같은 문장은 전부 낭비되는 토큰이다.
AI가 불필요하게 친절한 설명(서론/본론/결론)을 길게 늘어놓지 못하도록 출력 포맷을 강제한다.