대부분의 개발자들은 예전에 클라우드 크레딧을 소진했던 방식과 똑같이 AI 토큰을 소모합니다. 바로 주의를 기울이지 않기 때문입니다.
AI 코딩 도구에 보내는 모든 메시지에는 이전 채팅 기록, 읽은 파일, 도구 출력 등 '컨텍스트(context)'가 함께 전송됩니다. 사용량이 늘어나는 것은 보통 단 하나의 거대한 프롬프트(prompt) 때문이 아닙니다. 배경에서 조용히 쌓이는 컨텍스트 때문입니다.
다음은 저의 사용량을 가장 많이 줄여주면서도 작업 속도를 늦추지 않는 습관들입니다.
1. 세션당 하나의 작업만 수행하기 (One task per session)
작업이 완료되면 다음 작업을 시작하기 전에 컨텍스트를 지우세요. 긴 채팅은 매번 이전 기록을 재전송하므로, 한 시간 전에 수정했던 버그에 대해서도 계속 비용을 지불하게 됩니다.
Claude Code에서는 /clear 명령어로 이를 처리할 수 있습니다. 다른 도구들에서는 새 채팅을 시작하기만 하면 됩니다.
2. 프로젝트 규칙 파일은 한 번 작성하기 (Write a project rules file once)
사용하는 기술 스택(stack), 컨벤션, 폴더 레이아웃, 공통 명령어 등을 규칙 파일에 넣어두세요. Claude Code의 경우 CLAUDE.md, Cursor의 경우 .cursorrules 또는 프로젝트 규칙을 사용하면 됩니다.
이 파일을 간결하게 유지하세요. 이 파일은 모든 세션에 로드되므로, 내용이 너무 방대하면 요청할 때마다 토큰 비용을 발생시킵니다.
3. 파일을 붙여넣지 말고 경로를 지정하기 (Point to files, don't paste them)
다음 두 가지 프롬프트를 비교해 보세요:
- “
auth/session.ts 파일의 40줄 근처에서 null 체크를 수정해 줘.”
- 세 개의 파일을 붙여넣으며 “로그인에 뭔가 문제가 있어.”
첫 번째 방식은 에이전트에게 명확한 목표 지점(target)을 제공합니다. 두 번째 방식은 탐색하도록 유도할 뿐입니다.
4. 먼저 계획하고, 그 다음에 실행하기 (Plan first, then execute)
에이전트가 코드를 작성하기 전에 짧은 계획을 요청하고 승인하세요. Claude Code는 이를 위한 전용 플랜 모드(plan mode)를 제공합니다. 계획 단계에서 방향 오류를 잡으면 수백 개의 토큰만 소모됩니다. 하지만 구현 후에 발견하면 전체 리라이트 루프(rewrite loop)가 필요해지면서 더 많은 비용이 발생합니다.
5. 작업에 맞는 모델 사용하기 (Match the model to the task)
리네임, 보일러플레이트 코드 작성, 테스트 스캐폴딩(test scaffolding), 포맷팅 같은 작업에는 가장 비싼 모델을 사용할 필요가 없습니다. 일상적인 작업을 위해 더 작거나 빠른 모델로 전환하고, 가장 강력한 모델은 아키텍처 결정이나 어려운 디버깅에만 사용하세요.
6. 막연한 느낌 대신 정확한 오류를 제시하기 (Give precise errors, not vibes)
정확한 스택 트레이스(stack trace), 실패한 명령어, 그리고 기대했던 결과를 붙여넣으세요. "고장 났어요(It's broken)"라고만 하면 에이전트가 문제를 재현하려고 반쪽의 리포지토리 전체를 읽게 만듭니다.
7. 노이즈를 접근 불가능하게 유지하기
빌드 출력물(Build output), 잠금 파일(lockfiles), 생성된 코드(generated code), 그리고 대용량 테스트 데이터(large fixtures)는 읽히면 컨텍스트를 낭비합니다. Cursor는 .cursorignore를 지원합니다. Claude Code에서는 설정 권한에서 특정 경로에 대한 읽기를 거부할 수 있습니다.
8. 요약하고, 그리고 초기화하기
세션이 길어졌지만 작업이 끝나지 않았을 때, 지금까지 내려진 결정과 현재 상태에 대한 요약을 요청하세요. 그런 다음 새로 시작하여 그 요약을 붙여넣습니다. Claude Code의 /compact는 이와 유사한 기능을 대신 수행해 줍니다.
핵심은 이것
토큰 효율성은 단순히 비용을 아끼는 문제가 아닙니다. 이는 컨텍스트 위생(context hygiene)에 관한 것입니다. 깨끗하고 집중된 컨텍스트가 더 저렴할 뿐만 아니라, 모델이 오래되거나 관련 없는 정보를 분류하는 과정이 없기 때문에 더 나은 출력을 제공합니다.
여러분의 가장 큰 토큰 낭비 요소는 무엇인가요? 댓글로 알려주세요.