
10년간 AI 검색을 만들어온 개발자가 던진 충격적인 고백이 업계를 뒤흔들고 있어요. 우리가 당연하게 여겼던 RAG 기술이 곧 사라질 거라는데, 과연 무슨 일이 벌어지고 있는 걸까요?
유럽 최대 법률 검색엔진 창업자의 놀라운 발견
니콜라스 부스타만테는 유럽 최대 법률 검색엔진인 Doctrine을 만든 뒤, 지금은 금융 AI 리서치 플랫폼 Fintool을 운영하고 있어요. Fintool은 정말 대단한 서비스인데요, 월간 활성 사용자 1만 명 이상, 2,000개 이상의 기관투자자가 사용하고 있고, 하루 평균 5만 건 이상의 검색을 처리하면서 미국 증권거래위원회 공시문서만 500만 건 이상을 분석하고 있답니다.
그런 그가 3년간 RAG 시스템을 구축하면서 내린 결론은 뭐였을까요? 바로 "우리가 공들여 만든 RAG 인프라가 이제 쇠퇴기에 접어들었다"는 거예요. 정말 충격적이지 않나요?
RAG는 왜 탄생했을까?
2022년 말, ChatGPT가 세상을 놀라게 했을 때를 기억하시나요? 모두가 열광했지만 곧 심각한 문제를 발견했어요. GPT-3.5는 고작 4,096개의 토큰, 그러니까 6페이지 분량의 텍스트밖에 처리하지 못했거든요.
이게 얼마나 심각한 문제였냐면요, 미국 기업들이 매년 제출하는 증권거래위원회 10-K 보고서는 평균 51,000개의 토큰, 약 130페이지나 돼요. GPT-4로 업그레이드되어도 8,192개 토큰으로 늘어났을 뿐이라 전체 보고서의 16%밖에 읽지 못했답니다. 마치 열쇠구멍으로 재무보고서를 들여다보는 격이었죠.
RAG의 작동 원리, 생각보다 복잡해요
그래서 등장한 게 바로 RAG예요. 개념은 의외로 단순해요. 구글이 검색 결과로 10개의 링크와 요약문을 보여주는 것처럼, RAG는 문서를 잘게 쪼개서 가장 관련성 높은 조각들만 찾아 AI에게 전달하는 거죠.
책 전체를 읽을 순 없지만, 핵심 부분만 골라서 읽을 수 있게 해주는 셈이에요. 편리하죠?
청킹, 단순히 자르면 되는 게 아니에요
문서를 쪼개는 것을 '청킹'이라고 불러요. 보통 400~1,000개 토큰, 그러니까 300~750단어 정도로 나누는데요, 이게 단순히 500단어마다 자르면 되는 게 아니에요.
증권거래위원회 10-K 보고서를 예로 들어볼게요. 이 보고서는 복잡한 계층 구조를 가지고 있어요. 항목 1에는 사업 개요가 10-15페이지, 항목 1A에는 위험 요소가 20-30페이지, 항목 7에는 경영진의 논의와 분석이 30-40페이지, 항목 8에는 재무제표가 40-50페이지나 돼요.
단순하게 500개 토큰마다 자르면 어떤 일이 벌어질까요?
수익 인식 정책이 3개 조각으로 찢어지고, 위험 요소 설명이 문장 중간에 잘리고, 재무표의 제목과 데이터가 분리되고, 경영진 분석이 숫자 데이터와 따로 놀게 돼요.
"수익 성장 동력"을 검색하면 성장은 언급하지만 실제 수치는 다른 조각에 있고, 전략적 맥락은 또 다른 조각에 있는 거죠.
Fintool은 이 문제를 해결하기 위해 정말 정교한 청킹 전략을 개발했어요. 문서의 중첩된 구조를 트리 형태로 유지하고, 재무표는 절대 쪼개지 않고 헤더와 데이터를 함께 보관하고, "주석 X 참조" 같은 링크를 메타데이터로 유지하고, 전년 대비 비교나 다기간 분석은 하나의 조각으로 묶는 거죠.
각 조각마다 공시 유형, 회계연도, 섹션 계층, 표 식별자, 기업 식별 코드 같은 풍부한 메타데이터를 붙여요.
하지만 이렇게 똑똑한 청킹을 해도 근본적인 문제는 남아요. 우리는 여전히 완전한 문서가 아닌 조각들을 다루고 있다는 거죠.
임베딩, 우아하지만 현실은 악몽
조각들을 만들었으면 이제 검색할 방법이 필요해요. 그래서 등장하는 게 임베딩이에요.
각 조각을 고차원 벡터로 변환하는데, 보통 1,536차원이에요. 이론적으로는 비슷한 개념들이 가까운 공간에 모이게 되죠.
사용자가 질문하면 그 질문도 벡터가 되고, 시스템은 코사인 유사도를 사용해 가장 가까운 조각들을 찾아요.
이론적으론 우아한데, 실전에선 악몽이에요.
임베딩 모델은 일반 텍스트로 훈련돼서 특수 용어에 취약해요. 유사성은 찾지만 "수익 인식"과 "수익 성장"을 구분하지 못해요.
실제 예를 들어볼게요.
질문: "회사의 소송 노출은 얼마인가요?"
RAG가 "소송"을 검색해서 50개 조각을 반환해요. 조각 1-10은 상투적인 위험 요소에서 "소송" 언급, 조각 11-20은 2019년 역사적 사건 (이미 해결됨), 조각 21-30은 미래 전망 안전 조항, 조각 31-40은 다른 섹션의 중복 설명, 조각 41-50은 일반적인 "소송에 직면할 수 있음" 경고예요.
RAG의 답변은 5,000억 원이었어요.
하지만 실제 상황은 달랐어요. 법적 절차 항목 3에서 5,000억 원, 우발부채 주석에서 7,000억 원, 후속 사건의 새로운 집단 소송에서 1조 원, 보상 의무에서 8,000억 원, 주석의 추정 손실에서 2조 원이었어요.
실제 노출액은 5조 1,000억 원이에요. RAG가 찾은 것의 10배죠. 정말 큰 차이죠?
2023년 말이 되자 대부분의 개발자들이 순수 벡터 검색만으론 부족하다는 걸 깨달았어요.
하이브리드 검색과 재순위 지정의 등장
그래서 등장한 게 하이브리드 검색이에요. 의미 검색과 전통적인 키워드 검색을 결합하는 거죠.
BM25는 확률적 검색 모델로 정확한 용어 매칭에 탁월해요. 임베딩과 달리 BM25는 정확한 매칭을 보상하고, 희귀 용어를 잘 처리하고, 문서 길이를 정규화해요.
Fintool은 정교한 하이브리드 검색 시스템을 구축했어요. 의미 검색과 키워드 검색을 동시에 실행하고, 쿼리 특성에 따라 가중치를 조정해요. 특정 재무 지표라면 BM25에 70% 가중치를, 개념적 질문이라면 임베딩에 60% 가중치를, 혼합 쿼리라면 50대50으로 분할하죠.
이제 끝났다고 생각하시나요? 천만에요!
재순위 지정, RAG의 더러운 비밀
아무도 얘기하지 않는 게 있어요. 그 모든 검색 작업 후에도 끝이 아니에요. 좋은 검색 결과를 얻으려면 조각들을 한 번 더 재순위 지정해야 하고, 이게 쉽지 않아요.
재순위 지정기는 검색 결과를 가져와서 특정 쿼리와의 관련성에 따라 재정렬하는 머신러닝 모델이에요. AI에게 전달할 조각 수를 제한하죠.
재순위 지정 파이프라인은 이래요. 임베딩과 키워드로 초기 검색하면 100~200개 조각이 나와요. 재순위 지정기가 상위 10개를 순위 매겨요. 상위 10개를 AI에게 전달해 질문에 답해요.
재순위 지정의 도전 과제는 이래요. 지연 시간이 쿼리당 300~2,000밀리초 추가돼요. 비용도 증가해요. 예를 들어 Cohere Rerank 3.5는 1,000검색 단위당 2,000원이 들어요. 재순위 지정기는 보통 적은 조각만 처리하고, 관리할 모델이 하나 더 늘어나요.
재순위 지정은 복잡한 파이프라인의 또 다른 단계예요.
전통적 RAG의 인프라 부담
RAG에서 가장 어려운 건 "연쇄 실패 문제"예요.
청킹 실패, 임베딩 실패, BM25 실패, 하이브리드 융합 실패, 재순위 지정 실패. 각 단계가 이전 단계의 오류를 누적시켜요.
하이브리드 검색 자체의 복잡성을 넘어서, 거의 논의되지 않는 인프라 부담이 있어요.
프로덕션 Elasticsearch 운영은 쉽지 않아요. 포괄적인 문서 커버리지를 위해 테라바이트 이상의 인덱싱된 데이터를 유지해야 하고, 괜찮은 성능을 위해 최소 128~256GB RAM이 필요해요.
진짜 악몽은 재인덱싱이에요. 스키마 변경마다 대규모 데이터셋의 경우 48~72시간 걸리는 전체 재인덱싱이 필요해요. 거기에 클러스터 관리, 샤딩 전략, 인덱스 최적화, 캐시 튜닝, 백업 및 재해 복구, 정기적으로 중단 변경사항이 포함된 버전 업그레이드를 계속 다뤄야 해요.
에이전트 검색의 등장, 진짜 게임 체인저
3개월 전 검색에 관한 혁신을 발견했는데 정말 놀라웠어요.
2025년 5월, Anthropic이 터미널에서 작동하는 AI 코딩 에이전트인 Claude Code를 출시했어요. 처음엔 형태에 놀랐어요. 터미널이라고? 1980년으로 돌아간 건가? UI도 없이?
당시 많은 개발자들은 전통적인 RAG에 탁월한 제품인 Cursor를 사용하고 있었어요. 코드베이스에 접근 권한을 줘서 파일을 임베딩하고, Cursor가 쿼리에 답하기 전에 코드베이스를 검색했죠.
하지만 Claude Code를 테스트하면서 한 가지가 두드러졌어요. 더 좋고 빨랐어요. RAG가 더 나아서가 아니라 RAG가 없었기 때문이에요.
Claude Code 검색 작동 방식
청킹, 임베딩, 검색의 복잡한 파이프라인 대신, Claude Code는 직접 파일시스템 도구를 사용해요.
Grep은 1973년에 발명된 도구예요. 파일 내용을 통한 초고속 정규식 검색으로 인덱싱이 불필요하고, 라이브 파일을 즉시 검색해요. 정확한 패턴 매칭을 위한 완전한 정규식을 지원하고, 파일 유형별 필터링이나 글롭 패턴을 사용하며, 컨텍스트 라인과 함께 정확한 매칭을 반환해요.
Glob은 이름 패턴으로 직접 파일을 발견해요. 수정 시간순으로 정렬된 파일을 반환하고, 오버헤드가 제로예요. 그냥 파일시스템 탐색이거든요.
태스크 에이전트는 조사가 필요한 복잡한 쿼리를 처리하고, 여러 검색 전략을 적응적으로 결합하며, 이해를 점진적으로 구축하고, 발견 사항에 따라 자기 수정을 해요.
참고로 Grep은 1973년에 발명됐어요. 너무 원시적이죠? 그게 바로 천재성이에요.
Claude Code는 검색하지 않아요. 조사해요. 여러 검색을 병렬로 실행하고, 넓게 시작해서 발견 사항에 따라 좁혀가요. 참조와 종속성을 자연스럽게 따라가고, 임베딩 없음, 유사도 점수 없음, 재순위 지정 없음이에요.
간단하고 빠르며 AI가 컨텍스트 빈곤에서 컨텍스트 풍부로 갈 거라는 새로운 가정에 기반해요.
컨텍스트 혁명, 희소성에서 풍요로
컨텍스트 윈도우 폭발이 Claude Code를 가능하게 했어요.
2022-2025 컨텍스트 빈곤 시대에는 GPT-4가 8,000토큰 약 12페이지, GPT-4-32k가 32,000토큰 약 50페이지였어요.
2025년 이후 컨텍스트 혁명에서는 Claude Sonnet 4가 200,000토큰 약 700페이지, Gemini 2.5가 1,000,000토큰 약 3,000페이지, Grok 4-fast가 2,000,000토큰 약 6,000페이지예요.
200만 토큰이면 대부분 기업의 1년치 증권거래위원회 공시를 모두 넣을 수 있어요.
궤적은 더 극적이에요. 2027년까지 1,000만 토큰 이상의 컨텍스트 윈도우로 향하고 있고, OpenAI의 샘 알트먼은 수십억 토큰의 컨텍스트를 암시하고 있어요.
이는 AI 시스템이 정보를 처리하는 방식의 근본적인 변화를 의미해요. 똑같이 중요한 건, 주의 메커니즘이 빠르게 개선되고 있다는 거예요. AI가 노이즈에 "길을 잃지" 않고 방대한 컨텍스트 윈도우 전체에서 일관성과 집중력을 훨씬 더 잘 유지하고 있어요.
왜 에이전트 검색이 미래를 대표하는가
충분한 컨텍스트가 있으면 검색이 탐색이 돼요.
조각을 검색할 필요가 없어요. 완전한 파일을 로드할 수 있으니까요. 유사성이 필요 없어요. 정확한 매칭을 사용할 수 있으니까요. 재순위 지정이 필요 없어요. 논리적 경로를 따라가니까요. 임베딩이 필요 없어요. 직접 접근할 수 있으니까요.
정말 놀라워요. AI가 에이전트 행동에 정말 능숙해지고 있어요. 즉, 목표를 달성하기 위해 작업을 구성할 수 있다는 거죠.
Ripgrep 같은 도구가 검색 테이블에 가져오는 것은 이래요. 설정이 없어요. 인덱스 없음. 오버헤드 없음. 그냥 가리키고 검색이에요. 즉시 사용 가능해요. 새 문서가 파일시스템에 도착하는 순간 검색 가능해요. 인덱싱 지연이 없어요. 유지 보수가 제로예요. 관리할 클러스터 없음, 최적화할 인덱스 없음, 프로비저닝할 RAM이 없어요.
초고속이에요. 10만 줄 코드베이스의 경우 Elasticsearch는 인덱싱에 몇 분이 필요해요. Ripgrep은 준비 없이 밀리초만에 검색해요. 비용은 인프라 비용 0원이에요.
실제 예를 들어볼게요. 에이전트가 증권거래위원회 공시를 분석하는 방법은 이래요.
1단계에서 주요 재무제표에서 "리스" 찾기를 하면 "주석 12 참조"를 발견해요.
2단계에서 주석 12로 이동하면 "중단된 운영 제외, 주석 23"을 발견해요.
3단계에서 주석 23 확인하면 추가 의무 2조 원을 발견해요.
4단계에서 경영진 논의 및 분석과 상호 참조하면 경영진의 설명과 조정 사항을 확인해요.
5단계에서 "후속 사건" 검색하면 대차대조표 이후 리스 해지 5,000억 원을 발견해요.
최종 답변은 계속 운영 5조 원 + 중단 운영 2조 원 - 해지 5,000억 원 = 6조 5,000억 원이에요.
에이전트가 인간 분석가처럼 참조를 따라가요. 조각 없음. 임베딩 없음. 재순위 지정 없음. 그냥 지능적 탐색이에요.
기본적으로 RAG는 완벽한 기억력을 가진 조사 보조원이지만 이해력은 없어요. "부채를 언급하는 50개 구절이 있습니다"라고 말하지만, 부채가 증가하는지 왜 그런지 알려줄 수 없어요. 부채를 전략적 변화와 연결할 수 없고, 숨겨진 의무를 식별할 수 없어요. 텍스트만 검색하고 관계는 이해하지 못해요.
에이전트 검색은 포렌식 회계사 같아요. 체계적으로 돈을 추적하고, 회계 관계를 이해하고, 누락되거나 숨겨진 것을 식별하고, 기간과 문서를 넘나들며 점들을 연결하고, 데이터로 경영진의 주장에 도전해요.
마무리하며
RAG는 컨텍스트 빈곤 시대를 위한 영리한 임시방편이었어요. 작은 윈도우와 방대한 문서 사이의 격차를 메우는 데 도움이 됐지만, 항상 임시방편이었어요.
미래는 문서를 조각으로 쪼개고 임베딩을 다루는 게 아니에요. 탐색하고, 추론하고, 전체 말뭉치를 작업 메모리에 보유할 수 있는 에이전트에 관한 거예요.
우리는 포스트 검색 시대로 진입하고 있어요. 승자는 가장 큰 벡터 데이터베이스를 유지하는 사람이 아니라 풍부한 컨텍스트를 탐색하고 문서 전체에서 의미를 연결하는 가장 똑똑한 에이전트를 설계하는 사람이 될 거예요.
돌이켜보면 RAG는 보조 바퀴처럼 보일 거예요. 유용하고, 필요했지만, 일시적이었던 거죠.
다음 10년의 AI 검색은 처음부터 끝까지 읽고 추론하는 시스템의 것이 될 거예요. 검색이 죽은 건 아니에요. 그냥 강등됐을 뿐이에요.
'IT > AI' 카테고리의 다른 글
| AI 시대, 바보 안 되는 딱 한 가지 원칙 🤖 (0) | 2025.11.02 |
|---|---|
| 🤖 AI 글쓰기가 다 비슷한 이유, 그리고 해결법 (1) | 2025.11.02 |
| AI가 진짜로 '눈'을 뜬 순간, 코딩의 미래가 바뀌었다 (0) | 2025.10.11 |
| AI가 거짓말한다고요? 절반이 틀린 답을 내놓는 충격적인 진실 🤥 (0) | 2025.10.11 |
| 🚀 팀워크의 시대가 열렸다, ChatGPT가 회사 전체의 동료가 된다는 것 (1) | 2025.10.06 |