이 백서에서는 OpenAI의 검색 증강 세대(RAG) 시스템에 대한 Kapa.ai의 최근 작업을 다음과 같은 맥락에서 소개합니다. o3-mini 추론의 어원학적 모델에 대한 탐구에 대한 요약 보고서입니다.

Kapa.ai는 대규모 언어 모델(LLM)로 구동되는 AI 어시스턴트로 다음과 같은 기능을 제공합니다. RAG 이 프로세스는 지식창고와 통합되어 사용자의 기술적인 질문에 답변하고 기술 지원 작업 지시를 처리할 수 있습니다.
안정적이고 다재다능한 RAG 시스템을 구축하고 유지하는 것은 쉬운 일이 아닙니다. 많은 매개변수와 설정이 최종 결과물의 품질에 영향을 미치며 이러한 요소들 사이에는 복잡한 상호 작용이 존재합니다:
- 큐 워드 템플릿
- 컨텍스트 크기
- 쿼리 확장
- 청크
- 재주문
- 잠깐만요!
RAG 시스템을 조정할 때, 특히 새 모델을 통합할 때 우수한 성능을 유지하려면 이러한 매개변수를 재검토하고 최적화하는 것이 필수적입니다. 하지만 이 작업은 시간이 많이 소요될 뿐만 아니라 제대로 수행하려면 많은 경험이 필요합니다.
닮은 DeepSeek-R1 OpenAI의 o3-mini와 같은 새로운 추론 모델은 문제에 대해 '생각'하고, 단계별로 추론하며, 필요한 경우 스스로 수정하는 내장된 생각의 연쇄(CoT) 프롬프트를 사용하여 인상적인 결과를 달성했습니다. 이 모델은 논리적 추론과 검증 가능한 답변이 필요한 복잡한 작업에서 더 나은 성능을 보인다고 합니다. 관련 자료RAG의 DeepSeek R1: 실무 경험 요약 및프로젝트 레벨 코드 생성 결과가 나왔습니다! o3/Claude 3.7이 선두, R1이 최상위권에 올랐습니다!
따라서 Kapa.ai는 추론 모델이 복잡한 문제를 분해하고 스스로 수정할 수 있다면 쿼리 확장, 문서 검색 및 재정렬과 같은 작업을 처리하기 위해 RAG 프로세스에 적용할 수 있을까요? 정보 검색 툴킷을 구축하고 이를 추론 모델에 넘겨주면 매개변수를 수동으로 조정할 필요성을 줄여주는 보다 적응적인 시스템을 구축할 수 있을 것입니다.
이 패러다임은 모듈형 검색 증강 세대(Modular RAG)라고도 불립니다. 이 백서에서는 표준 RAG 프로세스를 추론 모델 기반 프로세스로 리팩토링한 Kapa.ai의 최근 연구 결과를 공유합니다.
가정해 보겠습니다...
RAG 프로세스를 단순화하고 매개변수의 수동 미세 조정에 대한 의존도를 줄이는 것이 이 아이디어를 탐구하는 Kapa.ai의 주요 목표이며, RAG 프로세스의 핵심 구성 요소는 밀집 임베딩과 문서 검색입니다. 일반적인 높은 수준의 RAG 프로세스는 다음과 같습니다:
- 사용자 프롬프트를 수신합니다.
- 쿼리 전처리를 통해 정보 검색을 개선합니다.
- 벡터 데이터베이스에서 유사도 검색을 통해 관련 문서를 찾습니다.
- 결과를 재정렬하고 가장 관련성이 높은 문서를 사용하세요.
- 응답을 생성합니다.

프로세스의 각 단계는 필터링 규칙 및 정렬 조정과 같은 휴리스틱을 통해 최적화되어 관련 데이터의 우선순위를 정합니다. 이러한 하드코딩된 최적화는 프로세스의 동작을 정의하지만 적응성을 제한하기도 합니다.
추론 모델이 RAG 프로세스의 다양한 구성 요소를 활용하기 위해 Kapa.ai는 시스템을 다르게 설정해야 했습니다. 선형적인 단계 순서를 정의하는 대신 각 구성 요소를 모델이 호출할 수 있는 별도의 모듈로 취급했습니다.

이 아키텍처에서 추론 기능을 갖춘 모델은 더 이상 고정된 프로세스를 따르지 않고 자체 워크플로우를 훨씬 더 동적으로 제어할 수 있습니다. 모델은 도구를 활용하여 전체 검색 또는 간소화된 검색을 언제, 얼마나 자주 실행할지, 어떤 검색 매개변수를 사용할지 결정할 수 있습니다. 이 접근 방식이 성공한다면 LangGraph와 같은 기존의 RAG 오케스트레이션 프레임워크를 대체할 수 있는 잠재력이 있습니다.
또한 모듈식 시스템은 몇 가지 추가적인 이점을 제공합니다:
- 전체 프로세스를 완전히 개편하지 않고도 개별 모듈을 교체하거나 업그레이드할 수 있습니다.
- 업무 분리가 명확해지면 디버깅과 테스트를 더 쉽게 관리할 수 있습니다.
- 서로 다른 모듈(예: 임베딩이 다른 리트리버)을 테스트하고 교체하여 성능을 비교할 수 있습니다.
- 모듈은 서로 다른 데이터 소스에 대해 독립적으로 확장할 수 있습니다.
- 이를 통해 Kapa.ai는 특정 작업이나 도메인에 맞게 사용자 정의된 다양한 모듈을 구축할 수 있습니다.
마지막으로, Kapa.ai는 이러한 접근 방식이 악의적이거나 주제에서 벗어난 쿼리를 보다 효과적으로 '차단'하는 데 도움이 될 수 있는지 살펴보고자 합니다. 가장 어려운 경우는 일반적으로 모호한 경우, 즉 쿼리가 제품과 관련이 있는지 여부가 명확하지 않은 경우입니다. 악의적인 쿼리는 탐지를 회피하기 위해 의도적으로 설계되는 경우가 많습니다. 간단한 경우는 이미 효과적으로 처리할 수 있지만, Kapa.ai는 추론 모델이 더 복잡한 문제를 조기에 식별하고 종료하는 데 도움이 되기를 희망합니다.
테스트 설정
이 워크플로우를 실험하기 위해 Kapa.ai는 필요한 구성 요소, 정적 데이터, LLM을 심판으로 하는 평가 제품군을 포함하는 샌드박스화된 RAG 시스템을 구축했습니다. 한 구성에서 Kapa.ai는 하드코딩된 최적화가 내장된 일반적인 고정 선형 프로세스를 사용했습니다.
모듈식 RAG 프로세스의 경우, Kapa.ai는 추론 모델로 o3-mini 모델을 사용하고 다양한 정책에서 다양한 프로세스 구성을 실행하여 어떤 접근 방식이 효과가 있고 어떤 접근 방식이 효과가 없는지 평가했습니다:
- 도구 사용: Kapa.ai는 모델에 모든 도구와 전체 프로세스에 대한 전체 액세스 권한을 부여하고, 도구 사용을 단일 도구와 고정된 선형 프로세스의 조합으로 제한하려고 시도합니다.
- 힌트 및 매개변수화: Kapa.ai는 최소한의 지침을 사용하는 개방형 단서와 고도로 구조화된 단서를 모두 테스트했으며, 모델이 자체적으로 매개변수를 결정하는 대신 다양한 수준의 사전 매개변수화된 도구 호출을 실험했습니다.
Kapa.ai가 수행한 모든 테스트에서 도구 호출 수는 최대 20개로 제한되었습니다. 특정 쿼리에 대해 모델은 최대 20개의 도구 호출만 사용할 수 있도록 허용하며, 모든 테스트를 중간 및 높은 추론 강도로 실행했습니다:
- 중간: 더 짧아진 CoT(생각의 사슬) 단계
- 더 높습니다: 더 자세한 추론으로 더 길어진 CoT 단계
Kapa.ai는 총 58개의 다양한 모듈식 RAG 구성에 대한 평가를 수행했습니다.
결국
실험 결과는 엇갈렸습니다. 일부 구성에서 Kapa.ai는 코드 생성 및 제한적인 범위의 팩터링에서 약간의 개선이 관찰되었습니다. 그러나 정보 검색 품질 및 지식 추출과 같은 주요 지표는 기존의 수동 조정 워크플로우와 비교했을 때 거의 변하지 않았습니다.
테스트 프로세스 전반에 걸쳐 반복되는 문제는 생각의 연쇄(CoT) 추론이 지연 시간을 늘린다는 것입니다. 심층 추론을 통해 모델이 복잡한 쿼리를 분해하고 자체 수정할 수 있지만, 반복적인 도구 호출에 추가 시간이 소요됩니다.
Kapa.ai가 파악한 가장 큰 문제는 '추론 ≠ 경험 오류'로, 추론 모델은 단계별로 사고할 수 있지만 검색 도구에 대한 선험적 경험이 부족하다는 점입니다. 엄격한 힌트를 제공하더라도 고품질의 결과를 검색하고 좋은 결과와 나쁜 결과를 구분하는 데 어려움을 겪었습니다. 이 모델은 작년에 Kapa.ai가 o1 모델을 사용해 실시한 실험과 유사하게 Kapa.ai에서 제공하는 도구 사용을 주저하는 경우가 많았습니다. 이는 추론 모델은 추상적인 문제 해결에는 능숙하지만 사전 훈련 없이 도구 사용을 최적화하는 것은 여전히 해결해야 할 과제로 남아 있다는 점을 강조합니다.
주요 결과
- 이 실험은 추론 모델 자체가 검색 도구를 '이해'하지 못한다는 명백한 '추론 ≠ 경험 오류'를 드러냈습니다. 도구의 기능과 목적은 이해하지만 사용법은 모르는 반면, 인간은 도구를 사용한 후 이러한 암묵적 지식을 갖게 됩니다. 경험이 휴리스틱과 최적화로 인코딩되는 기존 프로세스와 달리, 추론 모델은 도구를 효과적으로 사용하는 방법을 명시적으로 배워야 합니다.
- o3-mini 모델은 더 큰 컨텍스트를 처리할 수 있지만, 지식 추출 측면에서 4o나 Sonnet과 같은 모델에 비해 크게 개선되지 않는다는 것이 Kapa.ai의 관찰입니다. 단순히 컨텍스트 크기를 늘리는 것이 검색 성능을 개선하는 만병통치약은 아닙니다.
- 모델의 추론 강도를 높이면 사실 정확도가 약간만 향상됩니다. kapa.ai의 데이터 세트는 수학 경시 대회 문제나 고급 코딩 문제보다는 실제 사용 사례와 관련된 기술 콘텐츠에 중점을 둡니다. 추론 강도의 영향은 도메인에 따라 다를 수 있으며, 보다 구조화되거나 계산적으로 복잡한 쿼리가 포함된 데이터 세트의 경우 다른 결과를 생성할 수 있습니다.
- 이 모델이 탁월한 영역 중 하나는 코드 생성으로, 추론 모델이 순수한 검색이 아닌 구조화된 논리적 출력이 필요한 도메인에 특히 적합할 수 있음을 시사합니다.
- 추론 모델에는 도구 관련 지식이 없습니다.
추론 ≠ 경험적 오류
실험의 핵심 결론은 추론 모델이 본래 도구별 지식을 갖고 있지 않다는 것입니다. 검색 로직을 미리 정의된 단계로 인코딩하는 정교하게 조정된 RAG 프로세스와 달리 추론 모델은 각 검색 호출을 처음부터 처리합니다. 이로 인해 비효율성, 우유부단함, 최적의 도구가 아닌 도구 사용으로 이어집니다.
이를 완화하기 위해 몇 가지 가능한 전략을 고려할 수 있습니다. 큐잉 전략을 더욱 세분화하는 것, 즉 모델에 보다 명확한 지침을 제공하는 방식으로 도구별 지침을 구성하는 것이 도움이 될 수 있습니다. 도구 사용에 대한 사전 교육이나 미세 조정을 통해 모델에게 특정 검색 메커니즘을 익히게 하는 것도 도움이 될 수 있습니다.
또한 사전 정의된 휴리스틱이 특정 작업을 처리하고 추론 모델이 필요할 때 선택적으로 개입하는 하이브리드 접근 방식도 고려할 수 있습니다.
이러한 아이디어는 아직 추측 단계에 있지만, 추론 능력과 실제 도구 구현 사이의 간극을 메울 수 있는 방법을 제시합니다.
요약
모듈식 추론 기반 RAG는 Kapa.ai의 사용 사례의 맥락에서 기존 프로세스에 비해 큰 이점을 보여주지는 못했지만, 이 실험은 그 잠재력과 한계에 대한 귀중한 통찰력을 제공했습니다. 모듈식 접근 방식의 유연성은 여전히 매력적입니다. 적응성을 개선하고 업그레이드를 간소화하며 새로운 모델이나 데이터 소스에 동적으로 조정할 수 있습니다.
앞으로 더 살펴볼 만한 유망한 기술들이 많이 있습니다:
- 다양한 큐잉 전략과 사전 교육/미세 조정을 통해 모델이 검색 도구를 이해하고 상호 작용하는 방식을 개선하세요.
- 추론 모델을 전체 워크플로우를 조율하는 대신 특정 사용 사례나 복잡한 질문 답변 또는 코드 생성과 같은 작업 등 프로세스의 특정 부분에 전략적으로 사용하세요.
현 단계에서는 o3-mini와 같은 추론 모델이 합리적인 시간 제약 내에서 핵심 검색 작업에 대한 기존 RAG 프로세스의 성능을 능가하지 못합니다. 모델이 발전하고 도구 사용 전략이 진화함에 따라 모듈식 추론 기반 RAG 시스템은 특히 동적이고 논리 집약적인 워크플로우가 필요한 도메인에서 실행 가능한 대안이 될 수 있습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...