AI는 문장을 어떻게 읽을까?

byDan Lee

문장 아래 숨어 있는 단위를 알면 달라지는 것들

AI에 긴 문서를 넣고 요약을 부탁합니다. 잠시 뒤 핵심을 정리한 답변이 나옵니다. 질문 몇 개를 더 던지면 세부 내용까지 설명합니다. 이런 모습을 보면 사람처럼 문서를 읽고 이해하는 것 같습니다.

그러다 낯선 장면을 만납니다. 자료가 너무 길어 입력되지 않거나, 답변이 예상보다 일찍 끝나기도 합니다. 개발용 도구에서는 사용량이 ‘글자 수’도 ‘단어 수’도 아닌 토큰으로 표시됩니다.

우리가 읽는 문장과 AI가 처리하는 입력 사이에는 어떤 과정이 있을까요.


문장은 먼저 조각으로 나뉩니다.

언어 모델에 텍스트를 전달할 때는 먼저 토크나이저라는 도구가 문자열을 나누고, 각 조각을 숫자 ID로 바꿉니다. 이때 사용하는 처리 단위가 토큰입니다. 모델은 이 숫자들을 바탕으로 계산하고, 생성한 결과는 다시 우리가 읽을 수 있는 텍스트로 변환됩니다.

토큰 하나가 단어 하나와 일치하는 것은 아닙니다. 한 단어가 여러 토큰으로 나뉠 수도 있고, 자주 등장하는 문자열이 하나의 토큰으로 묶일 수도 있습니다. 공백과 문장 부호도 토큰화에 영향을 줄 수 있습니다.

영어와 한국어가 같은 방식으로 나뉘는 것도 아닙니다. 같은 뜻을 표현한 두 문장이라도 사용하는 모델과 토크나이저에 따라 토큰 수가 달라집니다. 따라서 “한 글자는 몇 토큰”이라는 비율을 모든 상황에 적용하기는 어렵습니다.

이 단계에서 한 가지는 구분해 두면 좋겠습니다. 텍스트를 토큰으로 나누는 일 자체가 내용을 이해하거나 사실을 확인하는 과정은 아닙니다. 모델이 처리할 수 있는 입력 형태로 바꾸는 단계입니다.


내가 쓴 질문이 입력의 전부는 아닙니다.

우리는 대화창에 보이는 자신의 메시지를 입력이라고 생각하기 쉽습니다.

“앞의 내용을 바탕으로 다시 작성해 줘.”

화면에는 짧은 한 문장이 추가되었습니다. 하지만 이 요청을 처리하는 과정에서는 이전 대화나 첨부 자료, 서비스가 정한 지시가 함께 전달될 수 있습니다. 검색 기능을 사용했다면 검색 결과가, 도구를 사용했다면 도구 설명이나 실행 결과가 포함될 수도 있습니다.

짧게 물었다고 해서 모델이 짧은 입력만 받는 것은 아닙니다.

긴 대화에서 “계속해 줘”라고 말하는 상황을 떠올려 보면 이해하기 쉽습니다. 무엇을 계속해야 하는지 알려면 앞의 작업 내용이 필요합니다. 그 정보를 얼마나, 어떤 형태로 다시 전달하는지는 서비스의 구현에 따라 달라집니다.

그래서 AI의 사용량이나 처리 한도를 살펴볼 때는 방금 입력한 질문의 길이만으로 판단하기 어렵습니다. 눈에 보이지 않는 곳에서 요청에 따라붙는 정보도 있기 때문입니다.


답변을 위한 공간도 필요합니다.

모델이 한 번의 요청에서 처리할 수 있는 정보에는 한도가 있습니다. 현재 응답을 위해 참고하는 정보의 범위를 이야기할 때 컨텍스트라는 말을 쓰며, 처리할 수 있는 토큰의 범위는 컨텍스트 창이라고 부릅니다.

여기에 출력 한도도 함께 확인해야 합니다. 긴 자료를 입력할 수 있다는 사실과 긴 답변을 생성할 수 있다는 사실은 같지 않습니다. 정확한 한도와 계산 방식은 모델마다 다를 수 있습니다.

숫자로 생각해 보겠습니다. 다음은 특정 제품의 사양이 아닌, 계산을 위한 가상의 예입니다.

입력과 출력을 합쳐 16,000토큰까지 처리하는 모델이 있다고 가정합니다. 고정 지시와 대화 기록에 3,000토큰을 사용하고, 답변에 3,000토큰을 남겨 둡니다. 예상보다 긴 요청을 위해 2,000토큰의 여유도 확보합니다.

그러면 문서에 사용할 수 있는 공간은 8,000토큰입니다.

문서가 9,500토큰이라면 일부를 줄이거나 작업을 나누어야 합니다. 전체 한도 안에 문서를 넣는 것뿐 아니라, 필요한 답변이 나올 공간까지 생각하는 것입니다. 실제 서비스를 사용할 때는 해당 모델의 입력·출력 제한과 사용량 정보를 확인해야 합니다.


줄일 때는 무엇을 남길지 먼저 정합니다.

긴 자료를 줄이는 가장 쉬운 방법은 요약입니다. 다만 짧아졌다는 사실만으로 좋은 입력이 되지는 않습니다.

가상의 회사 규정에 다음과 같은 문장이 있다고 해보겠습니다.

정규 구성원은 주 2회 원격 근무를 신청할 수 있다. 수습 구성원에 대한 적용 여부는 별도 규정을 따른다.

이 내용을 “구성원은 주 2회 원격 근무가 가능하다”로 줄이면 문장은 간단해집니다. 대신 적용 대상과 예외 조건이 사라집니다. 수습 구성원의 신청 가능 여부를 묻는 질문에는 오해를 부르는 근거가 될 수 있습니다.

줄이기 쉬운 정보와 줄이면 안 되는 정보를 구분해야 하는 이유입니다.

중복 문장이나 불필요한 서식은 덜어낼 수 있습니다. 반면 숫자 옆의 단위, 적용 날짜, 대상, 예외 조건은 답변의 의미를 바꿀 수 있습니다. 업무 목적에 따라 반드시 함께 남겨야 합니다.

문서를 나누어 전달할 때도 마찬가지입니다. 표의 숫자만 보내고 열 제목을 빼면 무엇을 측정한 값인지 알기 어렵습니다. 실행 절차만 보내고 선행 조건을 제외하면 잘못된 순서로 작업할 수 있습니다.

토큰 수를 줄이는 과정에는 자료의 의미를 읽는 판단이 들어갑니다.


많이 넣었다고 모두 활용되는 것은 아닙니다.

긴 문서를 넣을 수 있는 모델이라면 자료를 전부 주고 맡겨도 되겠다는 생각이 듭니다. 실제로 많은 맥락이 필요한 작업도 있습니다. 그러나 입력 한도 안에 들어갔다는 사실만으로 모든 정보가 정확히 활용된다고 보장할 수는 없습니다.

필요한 조건이 답변에서 누락될 수 있고, 서로 다른 시점의 자료가 섞여 혼동을 만들 수도 있습니다. 입력이 받아들여지는 것과 결과가 업무의 기준을 충족하는 것은 따로 확인해야 합니다.

가령 최신 규정과 폐기된 규정을 모두 제공했다면 어느 문서가 유효한지 명시하는 편이 좋습니다. 보고서 전체를 전달하더라도 어떤 질문에 답하려는지, 어떤 표를 우선 확인해야 하는지 알려줄 수 있습니다.

이때 도움이 되는 질문은 단순합니다.

이 작업에 필요한 정보는 무엇이고, 반드시 함께 있어야 하는 조건은 무엇일까요.

답을 길게 쓰도록 요청하기 전에는 결과를 어디에 사용할지도 생각해 볼 수 있습니다. 간단한 확인에 필요한 답변과 의사결정을 위한 검토 보고서는 요구되는 분량과 근거가 다릅니다.


작은 단위가 바꾸는 사용 습관

AI를 쓰기 위해 매번 토큰 수를 계산할 필요는 없습니다. 일상적인 대화에서는 토큰이라는 단어를 떠올리지 않아도 됩니다.

다만 긴 문서를 다루거나 반복 업무를 만들 때는 이 개념이 도움이 됩니다. 왜 질문의 길이만으로 사용량을 알 수 없는지, 왜 답변을 위한 공간이 필요한지, 왜 자료를 줄일 때 조건을 보존해야 하는지 이해하게 됩니다.

다음에 AI에 자료를 넣을 때 작은 실험을 해보면 좋겠습니다. 질문을 먼저 적고, 그 질문에 답하는 데 필요한 구간을 골라 보세요. 날짜와 대상, 단위와 예외가 함께 남아 있는지도 확인해 보세요. 그런 다음 결과가 그 조건을 지켰는지 읽어 봅니다.

토큰을 알게 되면 입력을 조금 다르게 보게 됩니다. 긴 글을 얼마나 넣을 수 있는지만큼, 어떤 정보를 어떤 관계로 전달하고 있는지가 눈에 들어옵니다.

그런데 필요한 내용을 분명히 전달했는데도 대화가 길어지면 AI가 앞의 조건을 놓치는 경우가 있습니다. 기록은 화면에 그대로 남아 있는데 말입니다.

다음 글에서는 그 질문을 따라가 보겠습니다. 아까 한 말을 왜 기억하지 못할까요.


참고 자료

Hugging Face — Byte-Pair Encoding tokenization

Google Cloud — 생성형 AI 용어집

이전 01화프롤로그 - 매일 쓰는 도구를 조금 더 이해한다는 것