RECAST가 검색 대신 계산으로 근거를 만들어 RAG를 확장한다

RECAST: Learning to Compute the Right Context through Adaptive Evidence Routing

arXiv2610.10507v1

Yilun Hao2026-10-07조회 1

무엇인가

검색증강생성(RAG)은 소스에서 관련 조각을 찾아 그대로 컨텍스트로 넣는 방식이다. 그런데 실제 업무에서는 답이 어느 한 소스 항목 안에 명시적으로 존재하지 않는 경우가 많다. 논문이 드는 예시는 이렇다. 소스에 월별 매출과 영업이익이 있고, 질문은 영업이익률 증가폭이 가장 큰 3개월 구간을 묻는다. 이 답을 얻으려면 각 기간의 마진을 계산하고 변화량을 비교해야 한다. 이런 근거는 검색으로 찾을 수 없고 계산으로 만들어야 한다. 기존의 반복 검색·에이전트형 RAG도 질의를 재작성하고 도구를 호출하지만 여전히 검색 중심이라, 필터링·집계·산술·연결처럼 여러 소스 항목에 걸친 파생 근거 구성은 지원이 제한적이다. 논문은 검색과 계산을 상호 보완적인 근거 연산으로 놓고 과제마다 적응적으로 고르고 조합하는 문제로 재정의한다.

어떻게 동작하나

RECAST의 구조는 세 모델로 이뤄진다. 학습 대상인 경량 RouterLM, 고정된 CompilerLM, 고정된 AnswerLM이다. 절차는 네 단계다. 첫째, 소스 준비 단계에서 규칙 기반 전처리기가 이기종 소스를 균일한 레코드 리스트로 바꾸고 소스 프로파일 m을 만든다. 이 프로파일은 소스 규모·구조·포맷·관측된 필드를 요약하며, 언어모델을 쓰지 않고 과제와도 독립적이다. RouterLM은 전체 소스를 프롬프트로 받지 않고 이 프로파일만 보고 동작한다. 둘째, 근거 연산 공식화 단계에서 RouterLM은 과제 q, 프로파일 m, 보유 근거 E_t, 상호작용 이력 H_t를 관찰하고 행동 a_t를 샘플링한다. 셋째, 실행과 피드백 단계다. 원시 연산이면 그대로 실행하고, 합성 요청이면 CompilerLM이 파이썬 프로그램으로 번역해 소스 위에서 실행한다. 어느 경로든 실행 상태·결과 개수·에러를 담은 결과 o_t가 돌아오고, 근거 집합은 E_{t+1} = E_t ∪ ΔE_t로, 이력은 H_{t+1} = H_t ∥ [(a_t, o_t)]로 갱신된다. 넷째, 근거 평가와 해 생성 단계다. RouterLM이 근거가 충분하다고 판단하면 ACCEPT_CONTEXT로 루프를 끝내고, AnswerLM이 원래 과제와 채택된 근거로 최종 답을 만든다.

무엇과 다른가

원시 연산은 세 가지다. Lexical은 BM25 용어 매칭으로 레코드 순위를 매기고, Semantic은 BGE-M3 임베딩의 코사인 유사도로 순위를 매기며, Relational은 정규화된 레코드에 읽기 전용 SQL을 실행해 필터링·조인·그룹화·집계·정렬·산술을 처리한다. RouterLM은 연산 선택만 하는 게 아니라 검색 질의와 반환할 레코드 수, SQL 문, 이전 라운드에서 식별된 레코드로의 제한까지 직접 공식화해야 한다. SYNTHESIZE는 원시 연산으로 표현할 수 없는 변환을 요청하는 경로다. RouterLM은 수행할 변환, 반환할 근거와 소스 식별자, 원시 연산으로 부족한 이유를 명세해야 한다. CompilerLM은 원래 과제를 받지 않으므로, 명세에 과제 특유의 제약이 보존돼 있어야 한다.

어떻게 쓰나

학습은 RouterLM만 갱신한다. 원시 연산은 결정적이고 CompilerLM과 AnswerLM의 파라미터는 고정된다. 먼저 지도 미세조정(SFT)으로 유효한 다중 라운드 근거 구성 행동을 세운다. 사전학습 RouterLM으로 질문마다 여러 궤적을 생성하고, 고정된 LLM 심사자가 정답과 대조해 평가한 뒤, 정답이면서 실행 가능하고 구조적으로 유효한 궤적 중 하나를 전문가 궤적으로 고른다. 이때 더 정확하고 효율적인 후보를 우선하고, 과소 대표된 벤치마크 패밀리와 난이도 구간의 예제를 반복해 상한을 둔 업샘플링을 적용한다. 다음으로 GRPO를 쓴다. SFT 단계에서 일관되게 풀지 못한 질문, 즉 최소 하나의 유효한 전문가 궤적(풀 수 있음)과 최소 하나의 실패 궤적(개선 여지)을 가진 질문으로 데이터를 구성하고, 질문마다 네 개의 완전한 궤적을 새로 샘플링한 뒤 성공과 실패가 섞인 그룹만 남기는 혼합 결과 필터링을 적용한다. 보상은 R(τ) = 0.90·C(τ) + 0.08·F(τ) + 0.02·V(τ)로, C는 심사자가 판정한 최종 정답 여부, F는 생성 답과 참조 답의 토큰 단위 F1, V는 요구된 행동 구조 준수 여부다.

전제와 한계

실험은 소스 표현이 이질적인 6개 벤치마크 패밀리에서 이뤄졌다. DataBench는 다양한 도메인의 데이터프레임, FinQA는 산문과 표가 섞인 재무보고서, HiTab은 행·열 헤더가 계층적인 표, MultiHiertt는 여러 계층적 표와 재무보고서 지문, HotpotQA는 위키백과 지문 묶음, LaMP는 개인화를 위한 사용자 프로필과 이력 항목을 다룬다. 패밀리당 100개 미학습 질문으로 평가했다. 베이스라인은 Direct(소스 없이 과제만), Fixed Retrieval(BGE-M3 단일 검색 top-3), Direct Code(소스 위에 단일 파이썬 프로그램 생성·실행), IRCoT(문장 단위 추론과 검색 교대), Interact-RAG(플래너-추론자-실행자 워크플로)다. SFT+GRPO로 학습한 RECAST는 평균 성공률 75.6%를 기록해, 가장 강한 대형 모델 제어 베이스라인인 Gemini 기반 Interact-RAG의 59.7%를 15.9%p 앞섰다. 학습 없이도 RECAST는 Qwen3.5-9B 라우터로 64.1%(최강 Qwen 기반 베이스라인 57.0%), Gemini 3.5 Flash 라우터로 70.6%(최강 Gemini 기반 베이스라인 59.7%)를 냈다. 학습된 Qwen3.5-9B 라우터는 학습 없는 Gemini 3.5 Flash 라우터보다 5.0%p 높았고 6개 벤치마크 중 4개에서 우세했다.

일반화 실험도 있다. SFT·GRPO·체크포인트 선택에서 제외한 3개 벤치마크(2WikiMultiHopQA, TAT-QA, WikiTableQuestions)에서 RECAST는 평균 79.3%로 최강 베이스라인 64.3%를 15.0%p 앞섰다. 벤치마크별 개선폭은 2WikiMultiHopQA 6.0%p, TAT-QA 8.0%p, WikiTableQuestions 15.0%p다. 컴파일러 전이 실험에서는 학습된 RouterLM을 고정한 채 CompilerLM만 Gemini 3.5 Flash Lite와 Qwen3.5-9B로 바꿨다. Flash Lite는 도메인 내 73.2%로 기본 컴파일러 대비 2.4%p만 하락했고 미학습 벤치마크에서는 79.3%로 동일했다. Qwen3.5-9B를 컴파일러로 쓰면 도메인 내 67.2%, 미학습 73.3%로 각각 최강 베이스라인보다 7.5%p, 9.0%p 높았다. 절제 실험에서는 원시 연산만 쓰면 56.8%, 합성만 쓰면 59.9%, 둘을 결합하면 64.1%(모두 학습 없는 조건)였다. 보상을 정답 정확도만으로 바꾸면 75.6%가 68.9%로 떨어졌고, 혼합 결과 필터를 제거하면 73.0%가 됐다. SFT만 적용하면 67.3%, GRPO만 적용하면 72.6%, 둘을 합치면 75.6%다.

개발자 관점에서 이 논문이 겨냥하는 지점은 분명하다. 소스가 데이터프레임·표·재무보고서·위키 지문·사용자 프로필처럼 제각각이고, 답이 여러 레코드에 걸친 필터링·집계·비교·산술을 요구하는 파이프라인이라면 검색 top-k를 늘리는 접근은 한계에 부딪힌다. RECAST는 그 지점에서 검색과 코드 실행을 하나의 라우팅 정책으로 묶고, 라우터만 학습하면 된다는 설계를 제시한다. 도입을 검토할 때 확인할 것은 세 가지다. 첫째, 학습 대상이 RouterLM 하나뿐이고 CompilerLM·AnswerLM은 고정이라는 점, 그래서 컴파일러를 더 작은 모델로 바꿔도 정책이 유지된다는 점이다. 둘째, Relational 연산은 읽기 전용 SQL로 제한되고 합성 프로그램은 격리 환경에서 실행된다는 전제다. 논문도 민감 데이터에 적용할 때는 같은 샌드박싱과 접근 제어, 프라이버시 보호 장치를 요구한다고 명시한다. 셋째, 구현 세부다. 의미 검색은 BGE-M3, 어휘 검색은 BM25, 관계 연산은 읽기 전용 SQLite, 컴파일러는 Gemini 3.5 Flash를 썼고, SFT 궤적 3,368개와 GRPO 인스턴스 608개로 LoRA 학습을 했다. Qwen3.5-9B는 사고 모드를 끄고 썼으며, 다중 라운드 방법은 최대 6라운드와 보유 근거 4,000자로 제한했고, 온도 0, 도메인 내 실험은 3회 반복 평균이다.

저자들이 밝힌 한계는 두 가지다. 첫째, RECAST의 학습 데이터 구성이 실행에서 나온 결과에 의존하기 때문에 데이터 수집 단계에 추가적인 계산 오버헤드가 발생한다. 둘째, 추론 시 RouterLM을 반복 호출하고 때때로 코드를 합성하기 때문에 단일 패스 검색보다 지연 시간과 계산 비용이 커질 수 있다. 저자들은 더 효율적인 궤적 구성과, 과제 성능과 계산 효율을 함께 최적화하는 비용 인식 라우팅 정책을 향후 과제로 남긴다.