Loading...
본문 바로가기
👥
총 방문자
📖
0개 이상
총 포스팅
🧑
오늘 방문자 수
📅
0일째
블로그 운영

여러분의 방문을 환영해요! 🎉

다양한 개발 지식을 쉽고 재미있게 알려드리는 블로그가 될게요. 함께 성장해요! 😊

코딩 정보

ai 시대 토큰 효율적으로 활용하기

by 꽁이꽁설꽁돌 2026. 4. 6.
728x90
SMALL
     
목차

     

     

     

    토큰의 정의

    • 입력 토큰: 사용자가 ai에게 보내는 메세지를 구성하는 단위. 단어나 단어의 일부, 문장부호 등이 토큰이 될 수 있다. AI는 입력토큰을 분석해 사용자의 프롬프트를 이해한다.
    • 출력 토큰: AI가 생성하는 응답을 구성하는 작은 단위
    • 컨텍스트 윈도우: AI가 새로운 텍스트를 생성할 때 참조할 수 있는 이전 텍스트의 양, 대화의 흐름을 유지하는 것에 큰 영향을 준다. (200k: 장편소설 두 권 정도 되는 분량)

     

    효과적인 프롬프팅도 토큰을 지키기 위한 한가지 방법

    예시 들기

    JTBD: jobs to be done 특정 상황에서 해결하고 싶은 근본적인 문제

    <생성된 답변>
    
    기능: 로그인
    사용자 JTBD: 사용자로서 나는 이메일과 비밀번호로 로그인하고 싶다. 그래야 개인화된 경험을 할 수 있기 때문이다.
    
    기능: 검색
    사용자 JTBD: 사용자로서 나는 필요한 상품이나 정보를 빠르게 찾기 위해 검색 기능을 이용하고 싶다. 그래야 원하는 제품이나 정보를 쉽게 찾을 수 있기 때문이다.
    
    기능: 장바구니
    사용자 JTBD: 사용자로서 나는 원하는 상품을 장바구니에 담아둘 수 있기를 원한다. 그래야 나중에 한 번에 결제하거나 구매를 고려할 수 있기 때문이다.
    
    기능: 알림 설정
    사용자 JTBD: 사용자로서 나는 새로운 상품, 할인 정보, 혹은 주문 상태 업데이트를 받을 수 있도록 알림을 설정하고 싶다. 그래야 중요한 정보를 놓치지 않고 받아볼 수 있기 때문이다.

     

     

    문제를 작고 관리 가능한 단위로 나누기

    커맨드 (commands/)

    • /session-summary 처럼 사용자가 직접 호출
    • 그냥 프롬프트 템플릿 — 텍스트가 그대로 대화에 삽입됨
    • AI의 행동을 바꾸지 않음, 한번 쓰고 끝

    스킬 (skills/)

    • AI가 자동으로 판단해서 로드하거나, 사용자가 호출
    • 워크플로우/절차를 정의 — AI가 특정 방식으로 작업하도록 강제
    • 체크리스트, 단계별 프로세스 등 포함
    • 시스템 프롬프트에 영향을 줌

    요즘은 사람이 하는 것보다 커서 플랜 모드, 커맨드, 스킬과 함께 짜서 그걸 바탕으로 지시하는 것이 더 효율적인 것 같습니다.

     

     

    https://github.com/obra/superpowers

     

    GitHub - obra/superpowers: An agentic skills framework & software development methodology that works.

    An agentic skills framework & software development methodology that works. - obra/superpowers

    github.com

     

    스킬의 종류

    1. /superpowers:brainstorming — 기능 구현 전 요구사항/설계 정리. "뭐부터 해야 하지?" 할 때
    2. /superpowers:writing-plans — 복잡한 작업의 단계별 구현 계획 작성
    3. /superpowers:systematic-debugging — 버그 잡을 때. 찍어보기 전에 근본 원인부터 추적하게 강제
    4. /superpowers:verification-before-completion — "다 됐다"고 하기 전에 실제로 검증했는지 체크
    5. /superpowers:requesting-code-review — 작업 끝나고 셀프 코드리뷰

     

    동작원리는 다음과 같습니다.

    1. 계획 로드 및 검토 (Load & Review)

    • write-plan 커맨드를 통해 생성된 계획 파일(보통 docs/plans/ 폴더 내의 .md 파일)을 읽어들입니다.
    • 문제가 있다면 사용자에게 먼저 질문을 던집니다.

    2. 일괄 실행 (Batch Execution)

    • 계획에 나열된 수많은 작은 작업(Tasks)들을 한 번에 모두 처리하는 것이 아니라, 보통 3개 정도의 작업씩 묶어서(Batch) 실행합니다.

    3. TDD(테스트 주도 개발) 원칙 준수

    • RED: 실패하는 테스트 작성 및 확인.
    • GREEN: 테스트를 통과시키기 위한 최소한의 코드 구현.
    • REFACTOR: 코드 정리 및 최종 확인.

    4. 중간 체크포인트 및 피드백

    • 한 배치의 작업이 끝나면 사용자에게 작업 내용과 테스트 결과를 보고합니다.
    • 사용자의 피드백을 받은 후 다음 배치를 진행하거나, 수정이 필요하면 해당 부분을 보완합니다.

    5. 작업 중단 및 안전장치

    • 실행 중 예상치 못한 에러(테스트 실패 반복, 의존성 문제 등)가 발생하거나 계획이 불명확할 경우, 즉시 실행을 멈추고 사용자에게 상황을 알립니다. (추측해서 진행하지 않음)
    • 반드시 독립된 git worktree 환경에서 작업하도록 강제하여, 메인 브랜치가 오염되는 것을 방지합니다.

     

    ++ 추가 정보

    btw - 스킬도 커맨드도 아닌, Claude Code 앱 자체에 내장된 기능입니다.

    메인 대화 흐름을 끊지 않고 짧은 사이드 질문을 할 수 있는 기능입니다. 예를 들어 복잡한 작업 중에 "이 함수 뭐하는
    거야?" 같은 질문을 따로 던질 수 있습니다.

     

     

    배경 지식 추가하기

    1. 페르소나 및 역할 정의 (Role Prompting)

    단순히 "기자다"라고 하는 것보다, 구체적인 전문성과 상황을 부여할수록 효과가 좋습니다.

    • 예시: "너는 20년 경력의 테크 전문 기자이며, 복잡한 기술 용어를 초등학생도 이해할 수 있게 비유를 들어 설명하는 데 탁월해."
    • 효과: 문체, 단어 선택, 설명의 깊이가 해당 역할에 맞춰 조정됩니다.

    → 가상의 선택적 주의집중을 특정 방향으로 유도하는 것과 같다.

    2. 문서 및 지식 베이스 참조 (Context Injection)

    사용자가 직접 자료를 제공하여 AI의 '단기 기억'에 저장하는 방식입니다.

    • AGENTS.md 또는 가이드라인: 프로젝트의 규칙, 코딩 스타일, 협업 방식 등을 담은 파일을 읽게 하여 일관성을 유지합니다. 이때 일반적인 것이 아니라 프로젝트의 내포된 히스토리가 더 효과적입니다.
    • RAG (Retrieval-Augmented Generation): "다음 텍스트를 바탕으로 답해줘"라며 관련 논문, 매뉴얼, 기사 전문을 프롬프트에 포함하는 방식입니다.

     

     

    클로드에서 mcp 활용해서 비용절약하기

    serena mcp (mcp는 항상 보안 주의 → 솔직히 안쓰는게 )

    language server protocol를 기반으로 하여 코드 베이스를 의미론적으로 분석하고 조작할 수 있게 해줍니다.

    단순한 텍스트 기반 처리가 아닌, 실제 코드의 구조와 의존성을 이해하여 더 정확하고 효율적인 코드 작업을 가능하게 만듭니다.

     

    serena를 사용하게 될 경우 grep, ripgrep과 같은 라인 기반의 검색 도구를 활용하지 않고 io/lsp 기반 분석을 통해 효율적으로 토큰을 사용합니다.

     

    파일 서칭 시에 이런식으로 serena mcp를 이용하는 모습

     

     

    커서 vs claude

    항목 클로드 커서
    기본 Pro: $17/월 Pro: $20/월
    고급 Max 20x: $200/월 Ultra: $200/월
    사용제한 Pro: 약 6,500 메시지/월 Pro: 500회 "빠른" 요청
    api 요금 sonnet4 입력: $3/백만 토큰
    출력: $15/백만 토큰
    입력: $3.60/백만 토큰
    출력: $18/백만 토큰
    api 요금 opus4 입력: $15/백만 토큰
    출력: $75/백만 토큰
    입력: $18/백만 토큰
    출력: $90/백만 토큰
    최적화 옵션 프롬프트 캐싱: 최대 90% 절감
    배치 처리: 최대 50% 절감
    자체 API 키 사용으로 마크업 회피

     

    커서 요금제 변천사

    1. 호출 기반 종량제 (500 크레딧)
    2. 무제한 + rate limit (8시간) → 이때 커서가 요금 부담을 많이 느낌
    3. 토큰 기반 종량제 → 여기서 커서가 욕을 많이 먹기 시작

     

    이때 토큰 기반 종량제가 문제

    1. 8개월 전 기준 claude 모델을 사용했을 때 더 비싸게 측정
    2. context engineering 불가 => 토큰 기반으로 요금을 매기기 때문
    3. 사용 가능량 예측 어려움

     

    커서 ignore 활용

    .claudeignore 적극 활용

    프로젝트 내의 빌드 아티팩트, 거대한 데이터 파일, node_modules 등을 반드시 제외하세요.

    • 방법: .gitignore와 별개로 .claudeignore를 만들어 AI가 절대 읽을 필요 없는 폴더를 차단합니다.
    • 효과: 인덱싱 속도가 빨라지고, 실수로 거대 바이너리 파일을 읽어서 토큰이 증발하는 사고를 방지합니다.

     

    물론 .gitignore를 읽고 행동하지만 다음과 같은 것을 읽고 낭비할 수 있습니다.

    • 거대 데이터 파일: data.json, dump.sql 등 (보통 형상 관리를 위해 올려두지만 수십만 줄인 경우).
    • 바이너리/이미지: .png, .pdf, .mp4 등. Claude가 이걸 분석하려고 시도하는 순간 컨텍스트 창이 꽉 차버립니다.

     

    논란 깃허브 mcp쓰면 토큰 낭비

    레딧의 고수들이 추천하는 가장 효율적인 세팅은 다음과 같습니다.

    1. GitHub MCP는 과감히 지운다.
    2. gh CLI를 내 컴퓨터에 설치한다.
    3. CLAUDE.md나 프로젝트 규칙에 딱 한 줄만 적는다.
    4. "GitHub 관련 작업은 gh CLI를 사용해서 처리해."
    5. 만약 특정 복잡한 명령어에서 AI가 버벅거리면? 그때만 해당 gh 명령어 예시를 규칙 파일에 살짝 적어주면 됩니다.