실무에 바로 적용하는 Spring AI: Spring 서비스에 챗봇·RAG·MCP 도입하기
llm-tokens-and-context-window
✅ 1. Tokens란 무엇일까?
- AI 모델이 사람의 언어(입력)를 읽고, 답변(출력)을 만들어낼 때 사용하는 가장 작은 데이터 처리 단위
- 사람은 글을 읽을 때 '단어'나 '문장' 단위로 의미를 이해하지만, AI는 텍스트를 일정한 길이의 조각(토큰)으로 쪼개서 소화함
💁♀️
토큰은 글자 수나 단어 수와 정확히 일치하지 않습니다. 영어 기준으로 보통 1단어가 1~1.2토큰 정도이며, 한글은 언어 구조상 영어보다 더 많은 토큰으로 쪼개지는 경향이 있습니다. (예: "안녕하세요" -> 여러 개의 토큰으로 분해됨)
✅ 2. Tokens 변환 과정
우리가 채팅창에 글을 쓰면, AI는 그 글씨를 그대로 읽는 것이 아니라 내부적으로 '변환' 과정을 거침
- 입력(사용자 ⇒ AI)
- 사용자가 입력한 자연어(단어) ⇒ Token으로 쪼개서 변환 ⇒ AI 모델이 연산 및 처리
- 출력 (AI ⇒ 사용자)
- AI가 생성한 결과물(Token) ⇒ 다시 사람의 언어(단어)로 변환 ⇒ 화면에 텍스트로 출력
✅ 3. Tokens는 곧 비용
기업에서 AI(OpenAI, Anthropic 등)를 연동해서 서비스(API)를 만들 때, 가장 중요하게 고려해야 할 부분이 바로 비용임
- 과금 방식 : AI 서비스는 우리가 '몇 개의 질문'을 했는지가 아니라, '몇 개의 토큰'을 소모했는지를 기준으로 요금을 매김
- 합산 기준 : 요금은 내가 질문할 때 보낸 글자 수(입력 토큰)와 AI가 대답한 글자 수(출력 토큰)를 모두 합산하여 청구됨
💁♀️
프롬프트 엔지니어링을 할 때 너무 불필요하게 긴 배경 설명을 넣으면, 답변을 받기도 전에 어마어마한 입력 토큰 비용이 발생할 수 있으니 참고하세요!
✅ 4. Context Window란 무엇일까?
토큰은 비용의 문제이기도 하지만, AI의 '기억력 한계'를 결정짓는 아주 중요한 개념임
- Context Window란 AI 모델이 단 한 번의 호출(질문-답변)에서 까먹지 않고 동시에 처리할 수 있는 최대 토큰의 한계치를 뜻함
- Context Window가 4K(약 4,000토큰)인 AI에게 10,000토큰짜리 긴 PDF 문서를 요약하라고 주면, AI는 용량 초과로 에러를 뱉거나 앞부분의 내용을 잊어버리게 됨.
- 따라서 Context Window를 잘 이해하고 있어야 함.
✅ 5. AI 모델별 Context Window 크기
기술이 발전함에 따라 AI가 한 번에 읽을 수 있는 문서의 양(토큰 수)은 기하급수적으로 늘어나고 있음
- GPT-4: 8K / 16K / 32K (문서 몇 장 분량 소화 가능)
- Claude (Anthropic): 100K 이상 (책 한 권 분량 소화 가능)
- Meta (Llama 등) 및 최신 모델: 100만 이상 (방대한 데이터 및 긴 코드 분석 가능)