LLM 3분 소요

LLM에게 원시인처럼 말하면 더 똑똑해진다고?

AI에게 말을 잘하는 법, 이른바 프롬프트 엔지니어링은 이제 하나의 학문이 되었습니다. 그런데 최근 개발자 커뮤니티에서는 정반대 접근이 주목받고 있습니다. AI에게 더 못 쓴 글을 주면 오히려 성능이 올라간다는 겁니다. 이른바 Caveman LLM, 원시인 화법입니다.

원시인 화법이 뭔가요

아이디어는 단순합니다. 프롬프트에서 관사, 전치사, 접속사 같은 기능어를 전부 빼는 겁니다.

일반적인 프롬프트가 이렇다면:

“Please write a Python function that takes a list of integers and returns the sum of all even numbers in the list.”

원시인 화법은 이렇게 바꿉니다:

“write python function. take integer list. return sum even numbers.”

문법적으로는 엉망입니다. 하지만 LLM 입장에서 보면 핵심 정보는 그대로 남아 있습니다. 토큰 수만 40~60% 줄어든 셈이죠. 이 방식을 실험한 개발자들은 응답 품질이 떨어지지 않거나, 오히려 나아지는 경우가 있다고 보고합니다.

왜 효과가 있을까

LLM은 토큰 단위로 세상을 봅니다. “the”, “a”, “of” 같은 단어들도 각각 하나의 토큰을 차지합니다. 문제는 이 토큰들이 의미 전달에는 거의 기여하지 않으면서, 모델의 어텐션 메커니즘에서 연산 자원을 소모한다는 점입니다.

쉽게 비유하면 이렇습니다. 회의에서 핵심만 말하는 사람과, “음, 그러니까, 제 생각에는, 아마도” 를 붙이며 말하는 사람이 있다고 해보죠. 듣는 쪽 입장에서는 전자가 훨씬 파악하기 쉽습니다. LLM도 마찬가지입니다.

기술적으로 보면 세 가지 효과가 겹칩니다.

첫째, 컨텍스트 윈도우 절약입니다. 같은 내용을 더 적은 토큰으로 전달하면, 남는 공간에 더 많은 맥락을 담을 수 있습니다. 특히 긴 문서를 다루는 RAG 파이프라인에서 효과가 큽니다.

둘째, 신호 대 잡음비(SNR) 개선입니다. 불필요한 토큰이 줄면 모델이 핵심 키워드에 더 집중할 수 있습니다. 어텐션이 분산되지 않으니 정확도가 올라갈 여지가 생깁니다.

셋째, 비용과 지연 시간 절감입니다. API 과금은 토큰 단위입니다. 토큰이 절반으로 줄면 비용도 거의 절반입니다. 추론 속도도 빨라집니다.

실제로 얼마나 먹히나

여기서 냉정해질 필요가 있습니다. 원시인 화법이 만능은 아닙니다.

단순한 지시형 프롬프트에서는 확실히 효과적입니다. 코드 생성, 데이터 변환, 분류 작업처럼 입력과 출력이 명확한 경우에 토큰을 줄여도 품질 저하가 거의 없습니다. 모델이 이미 맥락을 잘 파악하고 있기 때문입니다.

반면, 미묘한 뉘앙스가 중요한 작업에서는 주의가 필요합니다. 법률 문서 검토, 감정 분석, 다단계 추론처럼 문맥의 미세한 차이가 결과를 바꾸는 경우에는 기능어 제거가 의미 손실로 이어질 수 있습니다. “not all users” 와 “all users not” 은 완전히 다른 뜻이니까요.

결국 이건 압축의 문제입니다. 손실 압축은 항상 트레이드오프가 있습니다. 어떤 정보를 버릴지 판단하는 건 사람의 몫입니다.

프롬프트 압축의 진짜 전장

원시인 화법은 사실 더 큰 흐름의 일부입니다. LLM 업계 전체가 토큰 효율성에 집착하고 있습니다.

LLMLingua 같은 자동 프롬프트 압축 도구는 기능어를 체계적으로 제거하면서도 의미를 보존하는 알고리즘을 제공합니다. 단순한 원시인 화법보다 훨씬 정교합니다. 어떤 단어가 정보량이 높고 어떤 단어가 낮은지를 모델 자체의 perplexity로 판단하기 때문입니다.

시스템 프롬프트를 줄이는 것도 같은 맥락입니다. 수백 토큰짜리 장문의 시스템 프롬프트를 핵심만 남겨 수십 토큰으로 줄이면, 매 API 호출마다 비용이 절감됩니다. 하루에 수백만 건을 처리하는 서비스라면 이 차이가 연간 수십억 원 규모가 됩니다.

개발자가 지금 써볼 수 있는 방법

당장 적용해보고 싶다면 몇 가지 실용적인 팁이 있습니다.

API 호출 프롬프트부터 시작하세요. 사용자에게 보여지지 않는 백엔드 프롬프트는 가독성보다 효율이 중요합니다. 관사와 접속사를 빼도 됩니다.

핵심 명사와 동사만 남기세요. “I would like you to” 대신 “do"면 충분합니다. “Could you please provide” 대신 “give"로 충분합니다.

단, 부정어와 조건문은 절대 생략하지 마세요. “don’t delete"에서 “don’t"를 빼면 재앙입니다.

마지막으로, 원본과 압축본의 출력을 반드시 비교 테스트하세요. 자동화된 평가 파이프라인을 만들어두면 어디까지 줄여도 안전한지 경계선을 찾을 수 있습니다.


결국 원시인 화법은 한 가지 진실을 보여줍니다. LLM은 우리가 생각하는 것보다 훨씬 적은 단서로도 의도를 파악할 수 있다는 것입니다. 정중한 문장이 AI를 더 똑똑하게 만드는 건 아닙니다. 비용은 토큰 단위로 쌓이고, 성능은 신호의 밀도로 결정됩니다. 여러분의 프롬프트에는 얼마나 많은 군살이 붙어 있나요?

LLM 토큰 효율 프롬프트 엔지니어링 AI 최적화 추론 비용

댓글

    댓글을 불러오는 중...