RAG의 유사도 검색 한계와 TAKC의 864배 토큰 압축
수백 개의 문서에서 연결 고리를 찾아야 하는 기업 실사나 규제 준수 검토 작업을 수행하는 분석가는 기존 RAG(Retrieval-Augmented Generation, 검색 증강 생성)의 한계에 직면한다. TAKC(Task-aware knowledge compression, 작업 인식 지식 압축)는 지식 베이스 전체를 작업별 맞춤 표현으로 사전 압축하여 토큰 수를 8배에서 64배까지 줄인다. 이 기술은 단순한 텍스트 요약이 아니라 특정 분석 목적에 필요한 정보만 남기고 나머지를 쳐내는 방식으로 작동한다. 분석가는 더 적은 토큰을 사용하면서도 수백 개의 문서에 담긴 핵심 맥락을 한 번에 파악할 수 있는 환경을 갖게 된다.
기존 RAG는 유사도 검색 기반으로 작동하며 질문과 가장 관련이 깊은 일부 조각인 top-k 청크(Chunk, 문서의 작은 단위)만 추출하여 모델에 전달한다. 이 방식은 특정 단어나 문장의 유사도는 잘 잡아내지만 여러 문서에 걸쳐 흩어져 있는 복잡한 연결 고리를 찾아내는 데는 취약하다. 필요한 정보가 여러 문서에 분산되어 있을 때 유사도 검색은 각 조각을 개별적으로 가져오므로 전체적인 맥락을 잃기 쉽다. 반면 TAKC는 지식 베이스 전체를 압축된 형태로 제공하므로 유사도 검색이 가진 조각 추출의 제한을 받지 않는다. 압축 과정에서 모델이 여러 문서를 동시에 처리하며 관계를 분석하기 때문에 문서 간의 유기적인 연결성이 보존된다.
TAKC의 핵심은 동일한 원본 데이터라도 수행하려는 작업의 성격에 따라 압축 결과물이 완전히 달라진다는 점이다. 예를 들어 기업의 연례 보고서라는 같은 문서를 처리하더라도 재무 분석을 위한 압축과 법적 리스크 검토를 위한 압축은 서로 다른 데이터를 보존한다. 재무 분석용 압축은 수익, 마진, 현금 흐름 같은 수치 중심 정보에 집중하고 법적 리스크용 압축은 규제 인용이나 위반 이력 같은 텍스트 증거를 중심으로 압축한다. 이는 작업별 맞춤 프롬프트를 통해 모델이 어떤 정보를 보존하고 어떤 정보를 버릴지 명확히 구분하여 처리하기 때문에 가능하다. 원본의 모든 내용을 포괄하려는 일반 요약과 달리 작업의 목적에 따라 정보의 밀도를 다르게 설정하는 방식이다.
이 시스템은 AWS 환경에 배포되어 대규모 지식 베이스를 효율적으로 관리하며 전체 지식 베이스를 작업 중심의 압축 표현으로 변환한다. 이를 통해 LLM(Large Language Model, 거대 언어 모델)이 한 번에 처리할 수 있는 컨텍스트의 정보 밀도를 극대화하여 입력 토큰의 효율성을 높인다. 결과적으로 사용자는 수백 개의 문서 전체를 훑어야 하는 복잡한 분석 작업에서도 정보 누락 없이 정밀한 추론 결과를 얻을 수 있다. 전체 지식 베이스에 대한 접근성을 유지하면서도 토큰 사용량을 8배에서 64배까지 줄인 것이 이 기술의 실질적인 이득이다.
4단계 압축 티어와 쿼리 복잡도 기반 라우팅 메커니즘
압축 수준에 따라 컨텍스트 감소율을 87.5%에서 98.4%까지 4단계로 세분화하여 적용한다. 가장 낮은 압축 단계인 8x 티어(압축 티어: 데이터의 압축 정도를 단계별로 나눈 수준)는 컨텍스트를 87.5% 줄이며, 여러 문서에 흩어진 정보를 수집해 논리적 결론을 도출하는 다단계 추론이나 문서 간 합성에 사용한다. 중간 단계인 16x 티어는 컨텍스트를 93.8% 감소시켜 복잡도가 중간 정도인 분석 쿼리에 대응한다. 32x 티어는 96.9%의 컨텍스트를 제거해 단순 사실 확인이나 명확하게 정의된 질문에 답하는 용도로 쓴다. 가장 높은 압축 단계인 64x 티어는 컨텍스트를 98.4%까지 줄여 텍스트 분류나 특정 단어의 포함 여부를 확인하는 키워드 검색 작업에 배치한다. 단순 검색부터 고차원 추론까지 필요한 정보의 양을 4단계로 정밀하게 구분해 처리 효율을 높였다.
쿼리 복잡도 분석기(Query Complexity Analyzer: 질문의 난이도를 판별하는 모듈)가 입력된 질문의 길이와 유형, 분석적 언어의 포함 여부를 판단해 적절한 티어로 라우팅(Routing: 요청을 특정 목적지로 경로 지정하는 것)한다. 분석기는 질문에 포함된 단어의 수와 문장 구조를 살피고, 분석적 사고를 유도하는 특정 어휘의 사용 빈도를 확인해 경로를 결정한다. 단순한 사실 관계를 묻는 질문은 64x 압축 캐시로 보내고, 복잡한 분석이 필요한 질문은 8x 압축 캐시를 사용하게 한다. 이 과정은 사용자에게 노출되지 않고 내부적으로 투명하게 처리된다. 만약 분석기가 라우팅 신뢰도가 낮다고 판단하면 16x 티어를 기본 폴백(Fallback: 시스템 오류나 불확실성 발생 시 대체하는 기본 설정)으로 사용하여 답변의 안정성을 확보한다. 질문의 의도에 따라 정보의 밀도를 가변적으로 조절하는 방식이다.
시스템은 문서를 작업 유형별로 한 번씩 오프라인에서 미리 압축해 둔다. 질문이 들어오는 시점에는 원본 문서 전체를 읽지 않고 이미 압축된 표현물을 검색해 답변을 생성한다. 만약 선택된 압축 버전에서 답변에 필요한 충분한 세부 정보가 발견되지 않으면 쿼리 복잡도 분석기가 더 많은 컨텍스트를 보유한 낮은 압축 티어로 질문을 다시 라우팅한다. 이는 압축률을 극대화해 추론 속도를 확보하면서도 정보 손실로 인한 답변 품질 저하를 방지하는 이중 구조로 작동한다. 사전 압축된 데이터를 기반으로 요청의 난이도에 따라 가변적으로 자원을 할당함으로써 시스템 전체의 처리량을 최적화한다.
기존 방식과 달라진 지점
특정 분석 목적을 가진 개발자는 동일한 문서에서도 서로 다른 정보를 필요로 한다. 일반적인 요약 방식은 문서의 모든 내용을 포괄하려 시도하며 이 과정에서 특정 유스케이스에 필요한 정보 밀도가 희석된다. 모든 정보를 조금씩 담으려다 보니 정작 중요한 세부 수치나 특정 맥락이 누락되는 현상이 발생한다. TAKC(Task-aware knowledge compression, 작업 인식 지식 압축)는 특정 작업의 관점으로 정보를 필터링해 필요한 데이터만 남기고 나머지는 버리는 방식을 취한다. 이는 마치 거대한 문서에서 필요한 부분만 골라내는 렌즈를 씌우는 것과 같다.
동일한 연례 보고서를 처리할 때 분석 목적에 따라 압축 결과물이 완전히 달라지는 지점이 핵심이다. 재무 분석용으로 압축하면 수익, 마진, 현금 흐름과 같은 정량적 데이터가 우선적으로 보존된다. 반면 컴플라이언스 검토(규제 준수 여부 확인)용으로 압축하면 규제 인용 문구와 과거 위반 이력 같은 텍스트 중심의 증거가 중심이 된다. 일반 요약이 문서의 전체적인 분위기를 전달하는 데 집중한다면 TAKC는 작업 유형 프롬프트를 통해 보존할 정보와 버릴 정보를 명확히 구분함으로써 정보의 밀도를 극대화한다. 이는 분석가의 의도에 따라 데이터의 가중치를 다르게 부여하는 것과 같다.
운영 환경에서는 이러한 작업 유형별 프롬프트를 버전 관리가 가능한 설정 저장소에 보관해 관리 효율을 높인다. AWS Systems Manager Parameter Store(AWS 시스템 매니저 파라미터 스토어, 설정 값 관리 서비스)나 전용 Amazon S3(아마존 S3, 객체 스토리지) 프리픽스(prefix, 경로 구분자)를 활용하는 방식이다. 프롬프트를 코드와 분리해 외부 저장소에서 관리하면 변경 이력을 상세히 감사할 수 있다. 설정 저장소의 경로를 변경하는 것만으로도 서로 다른 압축 전략을 즉시 적용할 수 있다. 또한 프롬프트가 업데이트되었을 때 기존에 압축된 지식 베이스를 다시 압축하는 재압축 프로세스를 자동으로 실행하는 트리거로 활용한다.
압축 파이프라인 내에서 압축 프롬프트는 어떤 정보를 보존해야 하는지 정확하게 명시하는 제어 장치 역할을 한다. 일반적인 요약 프롬프트가 핵심 내용을 요약하라는 추상적인 지시를 내리는 것과 대조적이다. TAKC는 보존해야 할 데이터의 속성과 제외해야 할 노이즈를 구체적으로 정의하여 압축 효율을 높인다. 결과적으로 동일한 입력 문서라도 어떤 프롬프트 렌즈를 통과시키느냐에 따라 완전히 다른 지식 베이스가 생성된다. 작업별 맞춤형 압축은 불필요한 토큰 낭비를 줄이고 추론의 정확도를 높이는 기반이 된다.
AWS 서버리스 기반의 인제스션 및 쿼리 파이프라인
인제스션 파이프라인은 S3 이벤트 발생 시 작동하는 두 개의 분리된 서버리스 구조로 설계되었다. [Figure 1] 데이터가 S3에 저장되면 AWS Lambda(서버리스 컴퓨팅 서비스)가 이를 감지해 청킹 작업을 수행한다. 청킹은 문서를 작은 단위로 나누는 과정으로, 256토큰 세그먼트 크기에 50토큰의 오버랩(인접 세그먼트 간 겹치는 구간)을 적용해 문맥 단절을 방지한다. 이후 또 다른 Lambda 함수가 내용을 압축하여 Amazon ElastiCache Serverless와 S3에 저장한다. 각 함수 호출 시간이 매우 짧고 이벤트 기반으로 작동하며, 인제스션 시 발생하는 일시적인 트래픽 폭증과 쿼리 부하의 변동성을 유연하게 처리하기 위해 서버리스 방식을 채택했다. 이는 관리자가 인프라를 직접 운영하는 부담을 줄이면서 데이터 처리량에 따라 자원을 자동으로 확장하는 효과를 준다.
쿼리 파이프라인은 Amazon API Gateway를 통해 REST 엔드포인트로 외부에 노출된다. 사용자는 Amazon Cognito(사용자 인증 및 권한 관리 서비스)를 통해 JWT(JSON 웹 토큰, 인증 정보를 담은 전자 서명 토큰) 발급과 토큰 갱신을 처리하며, 별도의 인증 코드 구현 없이 공격 표면을 최소화한다. AWS WAF(웹 애플리케이션 방화벽)가 API 전면에서 속도 제한과 위협 보호를 수행하며 시스템 안정성을 유지한다. 요청을 받은 Lambda 함수는 키워드 신호와 쿼리 길이를 기준으로 쿼리 복잡도를 분석하는 휴리스틱(경험적 추정 방식)을 사용한다. 분석 결과에 따라 적절한 압축 캐시를 ElastiCache에서 호출하고, 이를 Amazon Bedrock(클라우드 기반 파운데이션 모델 서비스)의 Anthropic Claude 3 Haiku 모델에 전달해 최종 추론을 수행한다. 라우팅 신뢰도가 낮을 때는 medium 압축 티어를 기본 폴백(Fallback, 대체 수단)으로 사용하여 안정적인 응답을 보장한다.
캐시 시스템은 Redis OSS(오픈 소스 인메모리 데이터 구조 저장소) 데이터 모델을 기반으로 한 계층적 키 구조를 사용한다. 저장 키는 `takc:{task}:{rate}` 형식으로 구성해 작업 유형과 압축률에 따라 데이터를 구분해 관리한다. 캐시 항목의 TTL(Time To Live, 데이터 유효 기간)은 24시간으로 설정했으며, 데이터 영속성을 위해 S3에 백업본을 유지한다. 캐시에서 데이터가 삭제되거나 만료되면 쿼리 함수가 S3 백업에서 데이터를 가져와 캐시를 다시 채우는 방식으로 작동한다. Amazon ElastiCache Serverless를 통해 샤드 관리 없이 복합 키 기반의 읽기 성능을 최적화했으며, 이는 대규모 문서 압축 데이터의 빠른 응답 시간을 구현하는 핵심 기제가 된다.
엔터프라이즈 AI 적용을 위한 검증 기준과 실무적 의미
12개 자회사의 5년치 재무제표와 200개 이상의 공급업체 계약서를 분석하는 실사 작업은 일반적인 검색 기반 AI가 처리하기 어려운 영역이다. 단순한 키워드 검색으로는 서로 다른 문서에 흩어진 조건들을 연결해 복잡한 관계를 파악할 수 없기 때문이다. TAKC는 이러한 대규모 문서 집합을 작업 목적에 맞게 압축하여 분석 효율을 높인다. 수백 개의 계약서와 재무 데이터를 동시에 고려해야 하는 환경에서 전체 맥락을 유지하며 분석하는 구조를 만든다.
압축 품질 검증은 각 티어별 LLM 응답을 압축되지 않은 전체 문서 기반 응답과 직접 비교하는 방식으로 진행한다. 레퍼런스 구현체에 포함된 테스트 스크립트를 사용하면 특정 작업 유형과 문서에 대해 티어별 성능을 측정할 수 있다. 87.5%에서 98.4%까지의 컨텍스트 감소율에 따라 다단계 추론부터 단순 키워드 검색까지 쿼리 유형별로 적합한 티어를 매칭하는 기준을 세운다. 이를 통해 정보 손실 없이 토큰 사용량을 최소화하는 최적의 압축 지점을 결정한다.
인프라 비용은 인제스션(Ingestion, 데이터를 시스템에 입력하고 저장하는 과정)과 쿼리 경로를 분리해 최적화한다. 고비용이 발생하는 Bedrock(AWS의 관리형 AI 서비스) 압축 호출은 데이터 입력 시 단 한 번만 수행한다. 실제 사용자가 질문하는 쿼리 경로에서는 저장된 캐시를 조회하고 압축된 컨텍스트를 기반으로 추론만 수행하여 토큰 비용을 낮춘다. 잦은 호출이 발생하는 쿼리 단계에서 고비용의 압축 과정을 제거한 설계다.
전체 지식 베이스를 압축된 형태로 유지함으로써 유사도 검색의 top-k(검색 결과 중 상위 k개만 선택하는 방식) 제약을 벗어나 문서 간 합성 및 다단계 추론을 저비용으로 구현한다.




