
'토큰을 많이 쓰면 장땡'이던 시절
요즘 AI 에이전트(스스로 도구를 쓰며 일을 처리하는 AI) 개발하는 분들 사이에서 '토큰맥싱(tokenmaxxing)'이라는 말이 돌았어요. 이게 뭐냐면, 일단 기본부터 풀어볼게요.
LLM(거대 언어 모델, ChatGPT 같은 거)은 글을 토큰(token)이라는 잘게 쪼갠 조각 단위로 읽고 써요. 대충 영어 단어 하나가 1~2토큰, 한글은 글자당 몇 토큰씩 잡아먹어요. 그리고 모델한테 한 번에 보여줄 수 있는 글의 양(컨텍스트 윈도우)에는 한계가 있고, 토큰 수만큼 돈도 나가요.
'토큰맥싱'은 한마디로 "문제가 안 풀리면 일단 토큰을 때려 박자"는 전략이었어요. 관련 문서 전부 집어넣고, 예시도 잔뜩 붙이고, 생각도 길게 시키고(체인 오브 소트). "맥락을 많이 줄수록 똑똑해지겠지" 하는 믿음이었죠.
왜 '죽었다'고 할까
그런데 이 전략이 한계에 부딪혔어요. 첫째, 돈이에요. 에이전트가 수십 번 반복하면서 매번 거대한 맥락을 다시 읽으면 API 요금이 무섭게 불어나요. 둘째, '컨텍스트 로트(context rot)' 문제예요. 이게 뭐냐면, 맥락이 너무 길어지면 모델이 정작 중요한 정보를 놓치는 현상이에요. 사람도 100페이지짜리 보고서 받으면 핵심을 못 찾잖아요? 모델도 똑같아요. 긴 맥락 중간에 묻힌 정보는 무시당하기 쉬워요(이걸 'lost in the middle'이라고 불러요).
셋째, 성능이 비례하지 않아요. 토큰을 2배 넣는다고 답이 2배 좋아지지 않거든요. 어느 순간부터는 넣어봤자 본전도 못 찾는 '수확 체감'이 와요. 그래서 "무지성 토큰맥싱은 끝났다"는 거예요.
그런데 왜 '영원하라'고도 할까
제목이 재밌죠. "죽었다, 그런데 만세!" 이건 방식이 바뀌었을 뿐 토큰을 잘 다루는 게임은 오히려 더 중요해졌다는 뜻이에요.
요즘 모델들은 컨텍스트 윈도우가 수십만~수백만 토큰으로 커졌고, 토큰당 단가도 확 떨어졌어요. 게다가 프롬프트 캐싱(같은 앞부분 맥락을 다시 계산 안 하고 저장해두는 기능) 덕분에 긴 맥락을 싸게 재활용할 수 있게 됐어요. 그러니 "무작정 박기"가 아니라 "전략적으로 토큰을 운용하기"로 무게중심이 옮겨간 거죠.
핵심은 컨텍스트 엔지니어링이에요. 필요한 정보만 골라 넣고(검색·RAG), 중간 결과는 요약해서 압축하고, 도구 호출 결과를 깔끔하게 정리해 다음 단계로 넘기는 거예요. '많이'가 아니라 '제대로'가 된 거죠.
업계 맥락
이 흐름은 LLM 앱 개발 전반의 성숙을 보여줘요. 1~2년 전엔 "프롬프트만 잘 쓰면 된다(프롬프트 엔지니어링)"였다면, 지금은 "에이전트가 도는 동안 맥락을 어떻게 관리하느냐"가 진짜 실력이 됐어요. LangChain, LlamaIndex 같은 프레임워크와 각종 에이전트 도구들이 전부 이 '맥락 관리' 기능을 강화하는 방향으로 가고 있고요. 모델 회사들도 캐싱·긴 컨텍스트·저렴한 소형 모델을 내놓으며 이 게임을 거들고 있어요.
한국 개발자에게 — 당장 써볼 팁
AI 기능을 붙이는 한국 스타트업이나 사이드 프로젝트가 정말 많아졌죠. 여기서 비용이 곧 생존이에요. 토큰을 아끼는 게 단순 절약이 아니라 서비스 마진을 결정하거든요. 바로 적용할 수 있는 팁을 드리면요.
- 프롬프트 캐싱을 적극 활용하세요. 고정된 시스템 프롬프트나 문서는 캐시로 묶으면 비용이 확 줄어요.
- 긴 대화는 요약해서 압축하고, 전체 히스토리를 매번 통째로 보내지 마세요.
- RAG로 진짜 필요한 청크만 검색해 넣으세요. "혹시 몰라서" 다 넣는 습관을 버리세요.
- 단계마다 작은 모델로 충분한 일은 작은 모델에 맡기세요.
마무리
한 줄 정리: "토큰을 많이 넣자"는 끝났고, "토큰을 똑똑하게 운용하자"의 시대가 열렸어요. 양보다 질, 그리고 비용 감각이 AI 에이전트 개발의 핵심 역량이 됐습니다.
여러분은 AI 기능 만들 때 토큰 비용을 어떻게 관리하고 계세요? 캐싱이나 요약 압축으로 효과 보신 분들 경험담이 궁금해요.
🔗 출처: Hacker News