A New Role for Relevance - Guiding Corpus Interaction in Agentic Search

🏷️ 논문 에이전트 NLP

J. Li, Y. Li, M. Yu, J. Zhang, and J. Zhou, "A New Role for Relevance: Guiding Corpus Interaction in Agentic Search," arXiv:2607.24223, 2026.

코딩 에이전트를 써 본 사람이라면 눈치챘을 변화가 있습니다. 몇 년 전만 해도 코드베이스를 다루는 표준 답은 임베딩 인덱스를 만들어 두고 질문마다 상위 \(k\)개 청크를 꺼내 오는 것이었습니다. 지금 Claude Code를 비롯한 주요 코딩 에이전트는 그렇게 하지 않습니다. 그냥 ripgrep으로 직접 뒤집니다.

왜 임베딩보다 ripgrep이 편할까요, 임베딩 상위 \(k\)개는 "이 문서가 관련 있어 보인다"까지만 말해 줍니다. 결정적인 사실이 스니펫 잘림에 걸려 빠졌거나, 여러 문서를 이어야 답이 나오거나, 중간 엔티티를 발견한 뒤에야 어떤 문서가 중요해지는 경우에는 무력합니다. grep은 정확한 어휘 제약을 걸고, 새로 발견한 엔티티를 따라가고, 매치 주변 문맥을 정확히 들여다볼 수 있습니다.

그런데 grep에는 반대 문제가 있습니다. 어디부터 봐야 할지 모릅니다. 패턴 매칭은 모든 위치가 똑같이 유망하다는 듯 문서를 훑고, 쓸 만한 단서가 늦게 나오거나 출력 잘림에 묻힙니다. 코퍼스가 커질수록 에이전트는 헛된 각도를 더 많이 시도하게 되고, 도구 호출 수가 폭발합니다.

RARG는 이 둘 사이에서 세 번째 답을 냅니다. 임베딩을 버리지 않되, 문서를 고르는 데 쓰지 않습니다. rg가 어느 문서부터 훑을지, 그리고 매치 중 무엇이 모델 눈에 보일지를 정하는 데 씁니다.

rarg-overview.png

저자

Tencent WeChat AI Pattern Recognition Center와 중국과학원 정보공학연구소(IIE-CAS)의 공동 작업입니다. 공동 1저자는 리장난리위칭, 교신저자는 모위저우제, 그리고 장진차오(Jinchao Zhang)가 함께 참여했습니다.

이 팀의 출신 주제가 이 논문의 관점을 설명해 줍니다. 리장난은 원래 대화 속 감정 인식과 감정 원인 추출을 다뤘습니다. 대화의 어느 대목이 결정적인지를 찾아내는 문제입니다. 리위칭은 멀티모달 가짜뉴스 탐지에서 설명 기반 동적 검색을 다뤘습니다. 무엇을 검색해야 할지가 미리 정해져 있지 않고 판단 과정에서 계속 바뀌는 상황입니다. 모위는 질의응답, 정보 추출, 기계 독해, 이야기 이해로 피인용 18,000회를 넘긴 연구자입니다.

세 사람의 공통 관심사를 한 줄로 줄이면 "결정적인 조각이 어디 있는지 미리 알 수 없을 때 어떻게 찾을 것인가"입니다. 이 논문이 기존 RAG를 비판하는 지점도 정확히 거기입니다. 추론이 시작되기 전에 조립된 문맥은 하류에서 무엇이 필요할지를 미리 맞춰야 하는데, 복잡한 질문에서는 그것이 애초에 불가능하다는 것입니다.

배경

논문은 관련도(relevance)를 이렇게 정의합니다. 어떤 문서, 구절, 또는 매치된 발췌가 현재 정보 요구에 유용한 증거를 담고 있을 가능성에 대한 질의 의존적 추정치입니다. 밀집 검색기는 이것을 임베딩 유사도로, 희소 검색기는 어휘 매칭 신호로 구현합니다.

어느 쪽이든 관련도는 유용하지만 불완전한 사전확률입니다. 증거가 어디 있을지를 가리킬 뿐, 그 증거가 충분한지, 제대로 국소화됐는지, 다른 단서와 올바르게 결합됐는지는 말해 주지 않습니다.

기존 검색 에이전트는 이 사전확률을 코퍼스 순위 매기기에 쓰고 상위 \(k\)개 문서나 스니펫을 모델에 노출합니다. 확장성은 좋지만 문서 관련도와 증거 효용을 뒤섞습니다. 관련 있는 문서가 결정적 사실을 스니펫 잘림에 빠진 짧은 구간에 숨기고 있을 수 있고, 다중 홉 검색에서는 중간 엔티티가 발견된 뒤에야 유용성이 드러날 수 있습니다. 독립적인 질의-문서 순위 매기기는 그런 증거를 국소화하거나, 연결하거나, 비교하거나, 검증하지 못합니다. 에이전트가 맞는 문서를 검색해 놓고도 답을 못 내는 상황이 실제로 관측됩니다.

Direct Corpus Interaction(DCI)은 이 인터페이스 병목을 다르게 풉니다. 코퍼스를 파일 그대로 노출하고 에이전트가 패턴 매칭, 국소 읽기, 셸 명령으로 조작하게 합니다. 해상도가 높아지고 조합이 가능해집니다. 대신 코퍼스 수준의 관련도 안내가 통째로 사라집니다. 코퍼스가 커질수록 수렴이 나빠지고 도구 사용이 급증합니다.

그 사이에 최근 시도들이 있습니다. Pi-Serini, RISE, DR-DCI는 희소 또는 밀집 검색으로 상호작용 전이나 도중에 경계 지어진 후보 공간을 만듭니다. 인터페이스는 다르지만 전략은 같습니다. 먼저 코퍼스를 관련 문서 집합으로 좁히고, 그다음 에이전트가 그 안을 선택적 읽기나 grep으로 탐색합니다.

RARG가 지적하는 빈자리는 여기입니다. 이 방식들에서 관련도는 여전히 공간을 구성하는 장치일 뿐, 그 안에서 벌어지는 상호작용의 세밀한 실행 신호가 아닙니다. 패턴 매칭이 어느 문서를 먼저 훑을지도, 출력이 잘릴 때 어떤 매치가 살아남을지도 관련도가 결정하지 않습니다.

저자들의 주장은 이것입니다. 관련도는 상호작용의 입력을 고르는 데 그칠 것이 아니라 상호작용 자체를 안내해야 합니다. 그러려면 두 해상도가 필요합니다. 전역 관련도가 패턴 매칭이 어디부터 검색할지를 정하고, 국소 관련도가 원시 출력이 관측 예산을 초과할 때 어떤 발췌가 보일지를 정합니다.

어떻게 만들었나

RARG는 DCI-Agent-Lite 위에 얹힙니다. 이 에이전트가 노출하는 도구는 둘뿐입니다. Bash(command)Read(doc_path, offset, limit)입니다. Bash는 주로 grep 명령을 내고, Read는 매치에 더 많은 문맥이 필요할 때 문서의 특정 줄 범위를 돌려줍니다. 코퍼스가 매우 클 수 있으므로 전체를 대상으로 하는 lsfind는 금지합니다.

여기에 세 층의 관련도를 넣습니다.

문서 수준 관련도

embed_recall(scope_query)라는 새 도구를 추가합니다. LLM이 생성한 질의를 받는데, 문서 내용을 돌려주지 않습니다. 순위가 매겨진 문서 경로를 /tmp/scope_N.txt에 쓰고, LLM에는 /tmp/scope_N.txt → query라는 매핑 한 줄만 돌려줍니다.

이 설계가 논문의 핵심입니다. 검색을 증거 채널로 쓰지 않고 "지원(support)"으로만 씁니다. 관련도가 grep에게 어디부터 보라고 알려 주는 역할만 하고, 정보 자체는 여전히 grep이 가져옵니다. 임베딩 검색이 상위 문서를 LLM에 직접 먹일 때 순수 grep보다 못하다는 선행 관측이 이 결정의 근거입니다.

경로는 상위 10,000개로 제한합니다. 관련 문서는 거의 항상 상위에 몰리므로 이 정도면 증거 재현율이 매우 높게 유지되면서 처리 비용도 억제됩니다. 그래서 이름이 "scope"입니다.

그다음 LLM에게 scope 파일을 cat해서 경로 순서대로 검색하라고 지시합니다.

cat /tmp/scope_N.txt | xargs -d '\n' rg [OPTIONS] "PATTERN"

여기서 한 가지 함정이 있습니다. rg는 파일을 다중 스레드로 병렬 읽고 스레드가 끝나는 순서대로 매치를 뱉습니다. 애써 주입한 경로 순서가 그대로 깨집니다. 그래서 규칙 기반 패스로 rg 호출을 정규식으로 잡아 -j1을 강제로 끼워 넣습니다. 단일 스레드 순차 스캔이 됩니다.

컨텍스트 압축 중에도 /tmp/scope_N.txt → scope query 매핑은 지우지 않고 남깁니다. LLM이 어떤 scope가 살아 있는지 항상 알고 있어야 하기 때문입니다.

진입점 초기화

에이전트는 질문 하나만 들고 시작하고, embed_recall은 내용을 하나도 얹어 주지 않습니다. 그래서 rg가 좋은 진입점을 찾기까지 몇 단계를 낭비합니다.

LLM 턴을 추가로 쓰지 않고 진입점을 주기 위해, embed_recall 출력 뒤에 질의 관련 문단 몇 개를 붙입니다. scope 상위 문서를 400~1,000자 문단으로 쪼개고, 임베딩 모델로 인코딩해 scope query에 대해 점수를 매기고, 상위 10개를 남깁니다. 이 문단들은 <qr_paragraph></qr_paragraph>로 감싸 매핑 뒤에 붙이고, 답이 아니라 출발점으로 쓰라고 명시합니다. 압축 시에는 지워집니다. 이 버전이 RARG+입니다.

매치 수준 관련도

rg 출력은 잘리고 일부 매치만 남습니다. 특히 RARG의 상위 문서 안에서 그렇습니다. 문서 수준 관련도만 있으면, 정보량이 많은 발췌가 주변 문서 내용에 임베딩 공간에서 희석돼 그 문서의 순위가 낮게 잡히고 결국 그 발췌가 보이지 않게 됩니다.

그래서 더 넓은 매치 풀을 임베딩 모델로 재랭킹하고 상위만 보여 줍니다. 문제는 이 재랭킹에 쓸 질의가 전역 검색 목표와 국소 rg 의도를 동시에 담아야 한다는 것입니다. 두 가지를 시도했습니다.

구성형 질의는 이렇게 만듭니다. embed_recall 호출 하나가 scope와 그 질의를 낳고, rg가 그 안을 여러 단계에 걸쳐 탐색합니다. scope query가 전역 목표를 담고, rg 키워드와 패턴이 국소 의도를 담습니다. 그래서 rg가 scope 파일을 cat할 때 그 패턴을 규칙으로 키워드 열로 변환해 scope query와 이어 붙입니다.

Instruct: ...
Query: [scope query]
RG focus: [keyword1] [keyword2] ...

이 질의로 최대 \(M\)개 매치를 재랭킹해 상위 \(m\)개(\(m < M\))를 고릅니다. 매치 수가 \(m\)보다 적으면 재랭킹을 건너뜁니다. 이 버전이 RARG++이고, 기본값은 구성형 질의입니다.

생성형 질의도 시험했습니다. Bash를 RerankAwareBash(command, rerank_query=None)로 바꿔서, LLM이 rg를 돌릴 의도가 있을 때만 재랭킹 질의를 직접 쓰게 합니다. 결과는 나빴습니다. 뒤에서 다시 다룹니다.

실험 설정

두 시나리오입니다.

QA는 BrowseComp-Plus(BC+)의 100질의 표본을 씁니다. RISE가 쓴 것과 같은 설정으로, 고정된 100K 문서 코퍼스에서 어려운 브라우징 질문에 답합니다. 검색 공간이 커질 때를 보려고 FineWeb-Edu에서 뽑은 길고 노이즈 많은 문서 900K개를 더해 1M으로 확장한 조건도 만들었습니다. 긴 문서는 노이즈 콘텐츠에 우연히 걸리는 매치를 늘려 검색을 어렵게 합니다. 정확도는 GPT-5.1을 판정자로 씁니다.

검색은 BRIGHT의 네 개 하위집합(biology, earth science, economics, robotics)입니다. 각각 103/116/103/101개 질문에 57K/121K/50K/62K 문서 코퍼스이고, nDCG@10을 봅니다. BRIGHT는 얕은 의미 매칭이 아니라 깊이 있는 추론을 요구해서 기존 IR 벤치마크보다 어렵습니다.

백본은 GPT-5.4-mini(medium thinking), GPT-5.4-nano(high thinking), GPT-5.4(medium thinking)입니다. rg 반환 매치는 BC+ 30개, BRIGHT 60개로 제한하고 매치당 각각 1,000자, 500자로 자릅니다. 결과 출력은 최대 30,000자 수준으로, DCI의 50KB보다 훨씬 작습니다. 재랭킹 풀은 \(M = 500\), 선택은 \(m = 30/60\), 턴 상한은 100입니다. 임베딩 모델은 BC+에서 Qwen3-Embedding-4B(Q3E), BRIGHT에서 문서 순위와 초기화에 llama-nv-embed-reasoning-3b(NV), 매치 재랭킹에 Q3E입니다.

결과

rarg-frontier.png

어려운 QA

백본

방법

정확도

도구

Search

Bash

Read

GPT-5.4-mini

RISE

78

24.3

28.7

13.1

9.2

6.4

RISE-BM25

77

23.0

29.6

14.8

9.6

5.2

RISE-Q3-Emb-4B

69

28.9

35.9

22.1

9.1

4.7

Retrieval-Agent

68

29.2

38.9

37.0

-

1.9

DCI

78

48.8

99.1

-

90.3

8.8

RARG

80

18.2

29.8

1.2

27.2

1.4

RARG+

81

20.2

29.6

1.6

26.6

1.3

RARG++

84

17.6

23.9

1.5

21.1

1.3

RARG++ (생성형)

75

15.8

17.8

1.2

15.4

1.3

GPT-5.4-nano

RISE

68

23.4

28.7

10.4

8.4

4.6

DCI

71

45.7

126.5

-

119.4

7.1

RARG

73

39.9

41.4

9.1

29.5

2.8

RARG++

79

36.0

36.1

9.6

23.4

3.1

GPT-5.4

RISE

82

32.20

34.30

11.00

16.20

7.10

RARG++

91

13.59

25.43

1.58

19.46

4.39

정확도와 비용을 양쪽에서 동시에 이겼다는 것이 이 표의 요지입니다. mini에서 RARG++는 84%로 최강 베이스라인 대비 6점 앞서면서 도구 호출은 23.9회입니다. DCI가 같은 78%를 내는 데 99.1회를 쓴 것과 비교됩니다. GPT-5.4에서는 91%로 RISE를 9점 앞서고 도구 호출은 25.43회 대 34.30회입니다.

Search와 Bash 열이 메커니즘의 차이를 그대로 드러냅니다. RISE는 코퍼스를 묶는 작업 공간을 만드는 데 검색을 쓰는데, 공간을 만드는 Search 호출마다 상위 문서의 앞부분 수백 자 스니펫도 함께 돌려줍니다. 즉 검색이 정보 채널 역할을 겸합니다. 그러면 Search를 더 많이 부를 유인이 생깁니다. 실제로 mini에서 RISE의 Search는 13.1회입니다.

RARG는 이 균형을 뒤집습니다. nano를 제외하면 embed_recall을 1.2~1.6회만 부르고, 그것으로 문서 수준 검색 순서를 정한 뒤 탐색의 대부분을 scope 안의 rg에 넘깁니다. 관련도가 증거 채널이 아니라 rg 순회의 실행 사전확률로만 작동합니다.

검색기 강도를 통제하려고 RISE의 BM25를 Q3E로 갈아 끼운 RISE-Q3-Emb-4B도 돌렸는데, 도움이 되지 않았고 오히려 Search 호출이 22.1회로 늘고 정확도는 69%로 떨어졌습니다. RISE가 더 강한 밀집 검색기가 아니라 자기 BM25 인터페이스에 맞춰져 있다는 뜻입니다.

세 변형의 순서도 의도대로 나옵니다. mini에서 RARG → RARG+ → RARG++가 정확도 \(80 \to 81 \to 84\), 도구 \(29.8 \to 29.6 \to 23.9\)로 움직이고, nano도 같은 순서(\(73/74/79\))입니다.

생성형 변형만 이 흐름을 깹니다. 수렴은 가장 빠르지만(17.8회) 정확도가 75%로 떨어집니다. 저자들은 학습-평가 격차로 설명합니다. 모델에게 명시적 재랭킹 질의를 뱉으라고 강제하면 원래 학습된 Bash/rg 행동이 교란된다는 것입니다.

코퍼스 확장

방법

정확도

도구 (변화)

Search (변화)

Bash (변화)

RISE-BM25

69

25.4

32.1 (+2.5)

20.3 (+5.5)

8.3 (-1.3)

RARG

78

19.3

31.8 (+2.0)

1.5 (+0.3)

28.7 (+1.5)

RARG+

78

21.9

30.4 (+0.8)

1.5 (-0.1)

27.5 (+0.9)

RARG++

79

17.8

24.7 (+0.8)

1.4 (-0.1)

22.0 (+0.9)

100K에서 1M으로 늘리면 모든 방법이 떨어집니다. RISE-BM25가 77%에서 69%로, RARG 계열이 80/81/84에서 78/78/79로 내려갑니다. 저자들은 이것이 RISE가 보고한 "확장해도 성능이 떨어지지 않는다"는 추세와 어긋난다고 명시하고, 원인을 설계 차이로 설명합니다. 추가한 900K가 긴 FineWeb-Edu 문서라 우연한 어휘 매치 기회를 크게 늘리고 rg 스캔마다 산만한 문맥을 훨씬 많이 주입한다는 것입니다.

흥미로운 것은 비용이 거의 안 늘었다는 점입니다. 검색기(Q3E나 BM25)는 방해 문서에 별로 흔들리지 않지만, rg는 면역이 아닙니다. 파일당 노이즈가 늘면 매치 품질이 떨어지고, 그 산만한 국소 매치가 LLM의 판단에 오류를 넣습니다. 그래도 RARG++는 RISE-BM25 대비 10점 차이를 유지합니다.

추론 집약 검색

방법

평균

Bio.

Earth

Eco.

Rob.

도구

DCI

48.43

62.05

54.94

37.13

39.59

40.04

RISE-BM25

41.60

50.27

47.80

33.65

34.67

31.82

NeMo Agent

52.89

65.15

61.85

39.05

45.49

7.68

RARG

51.75

63.87

60.54

38.50

44.07

28.73

RARG+

53.36

66.70

62.16

37.23

47.34

27.55

RARG++

50.55

61.65

61.32

36.14

43.10

27.28

여기서 변형 순서가 QA와 정반대로 뒤집힙니다. RARG+ > RARG > RARG++입니다.

저자들의 설명이 명쾌합니다. BRIGHT와 BC+는 반대 모양의 검색을 보상합니다. 순위 매기기형 검색에서는 먼저 관련 문서를 최대한 많이 회수하고 그다음 정확히 정렬하는 것이 유리합니다. 너비 우선에 가깝습니다. QA는 깊이 우선입니다. 검증된 짧은 추론 경로 하나면 충분합니다.

RARG++의 매치 수준 재랭킹은 관측 예산을 국소적으로 강한 발췌에 집중시킵니다. QA에서는 이점이지만, 넓은 회수가 보상인 과제에서는 부채가 됩니다. 그래도 RARG+는 53.36으로 검색 전용 에이전트인 NeMo(52.89)를 앞섭니다. 도구 호출 수는 인터페이스가 달라서 직접 비교가 안 됩니다. NeMo는 Search마다 문서 20개를 통째로 회수하고 강한 LLM 재랭킹에 기대는 구조라 루프가 압축적이고, grep 지향 에이전트는 국소 매치만 보므로 주변 문맥을 얻으려 Read를 더 자주 부릅니다.

메커니즘이 실제로 그렇게 작동하는가

rarg-hit-heatmap.png

각 에이전트가 관련 문서를 어느 순위 구간에서 맞히는지를 세어 봤습니다. 상위 1~500 구간의 질의당 히트 수를 보면 이렇습니다.

에이전트

1~500

501~1,000

1,001~1,500

scope 밖

Embedding Agent

30.3

6.3

3.8

6.3

DCI

20.4

10.3

8.4

223.8

RARG

72.0

14.7

8.0

0

RARG+

65.5

12.8

6.7

0

RARG++

71.5

16.6

9.4

0

임베딩 에이전트는 예상대로 급격히 감소하는 프로파일을 만드는데, 서로 다른 히트 수가 적습니다. 상위 \(k\) 회수가 중복된 문서를 많이 돌려줘 관측 예산을 반복된 정보에 낭비한다는 뜻입니다.

DCI는 가장 평평하고 scope 밖 문서를 223.8회 맞힙니다. 순서 사전확률이 없어 코퍼스 전체를 뒤져야 하는 관련도 무관 grep 탐색의 서명입니다. 증거 밀도가 희박해지고 수렴이 느려집니다.

RARG는 그 사이입니다. 히트가 앞쪽에 쏠려 있으면서 임베딩 에이전트보다 더 많은 서로 다른 문서를 덮습니다. RARG++는 세 변형 중 가장 평평하고 낮은 순위 문서에서 히트를 회수합니다. 문서 수준 점수가 약한 문서에 묻힌 국소적으로 유익한 발췌가 재랭킹으로 앞으로 나와 모델에 도달한다는 설계가 그대로 확인됩니다.

scope 품질도 검증했습니다. mini 설정 두 개 모두 scope 재현율 95~97%입니다. 상위 10K개로 제한해도 gold 커버리지가 거의 온전하게 남는다는 뜻이고, 100K에서 1M으로 갈 때 낙폭이 미미해서 검색기가 방해 문서에 거의 흔들리지 않는다는 점도 확인됩니다.

다만 RG coverage(rg가 실제로 맞힌 파일이 회수한 비율)는 다른 이야기를 합니다. mini-100K는 높게 유지되지만 mini-1M에서 급락합니다. 긴 FineWeb-Edu 문서가 rg를 우연한 매치로 범람시켜, 에이전트가 스캔당 gold 파일을 덜 회수하고 더 이상 증거가 없다고 성급히 결론 내릴 수 있다는 것입니다. 4.3절에서 관측된 성능 하락의 직접적 원인입니다.

회고

저자들이 정리한 한계가 다섯 가지입니다.

임베딩 모델 품질에 의존합니다. 그리고 두 안내 층이 서로 다른 것을 요구합니다. 문서 수준 순위는 긴 문서에 점수를 매겨야 하고, 매치 수준 재랭킹은 짧은 국소 발췌에 점수를 매겨야 합니다. 같은 모델이 두 입도를 똑같이 잘 다루지 않습니다. BRIGHT에서 NV는 문서 순위는 잘 매기지만 짧은 매치는 덜 안정적이라 Qwen3-Embedding으로 대체해야 했습니다.

*-j1 강제와 매치 재랭킹이 지연을 추가합니다.* 실험에서는 감당 가능했지만 성능-시간 트레이드오프가 남습니다. 저자들이 제약 없는 rg를 돌린 뒤 매치를 재정렬하지 않고 -j1을 택한 이유는 매치가 많은 질의에서는 전체 스캔 자체가 느려지기 때문입니다. 순차 스캔이면 30/60개(또는 \(M = 500\)개)를 모으는 즉시 멈출 수 있습니다.

백본의 지시 이행 능력에 민감합니다. GPT-5.4-nano는 다단계 프로토콜을 mini나 GPT-5.4보다 덜 안정적으로 따릅니다. nano에서 embed_recall 호출이 9.1~14.5회로 튀는 것이 그 증거입니다. Bash 명령 구성을 뜯어 보면 mini 설정에서는 scope 기반 rg가 지배적인데 nano에서는 그 비중이 크게 줄어듭니다.

코퍼스 유래 간섭에 면역이 아닙니다. 길고 노이즈 많은 문서로 확장하면 우연한 어휘 매치가 rg 출력과 임베딩 점수를 모두 저하시키고, 매치 수준 재랭킹은 이를 부분적으로만 완화합니다.

평가 범위가 좁습니다. BrowseComp-Plus와 BRIGHT 네 개 하위집합, GPT-5.x 계열뿐입니다. 다른 백본, 오픈 웹 환경, 더 많은 도메인으로의 검증이 남아 있습니다.

여기에 제가 짚고 싶은 것이 하나 있습니다. 논문이 반복해서 쓰는 "정확도-효율 프런티어를 개선했다"는 표현은 두 가지를 뭉뚱그릴 수 있는 말입니다. 절대 정확도가 올랐는지, 아니면 같은 정확도를 더 싸게 냈는지는 다른 이야기이기 때문입니다. 표 1을 뜯어 보면 이 논문의 경우 둘 다입니다. mini에서 84% 대 78%(정확도 +6점), 23.9회 대 99.1회(비용 \(-76\%\))입니다. 프런티어가 한쪽 축을 희생하고 밀린 것이 아니라 두 축 모두에서 밀렸습니다. 이런 결과는 드물어서, 표현이 오히려 결과를 낮춰 말하는 쪽에 가깝습니다.

반대로 조심해야 할 것은 이 이득의 상당 부분이 검색기 강도에 얹혀 있다는 점입니다. scope 재현율 95~97%는 Qwen3-Embedding-4B가 100K 문서에서 gold를 상위 10K 안에 거의 다 넣어 준다는 뜻이고, 이 전제가 무너지는 코퍼스에서는 순서를 정해 봐야 정할 순서가 없습니다. 논문이 명시한 첫 번째 한계와 같은 이야기이지만, 실무자 입장에서는 "우리 코퍼스에서 임베딩 상위 10%에 정답이 들어오는가"가 도입 여부를 가르는 선행 질문이 됩니다.

정리

  1. 관련도의 자리를 바꾸는 것만으로 정확도와 비용을 동시에 개선했습니다. 임베딩을 증거 채널로 쓰면 중복된 상위 \(k\) 문서에 관측 예산을 낭비하고, 아예 버리면 grep이 코퍼스 전체를 헤매며 scope 밖 문서를 223.8회씩 맞힙니다. RARG는 임베딩을 순서 결정에만 쓰고 정보는 rg가 가져오게 해서, mini 기준 84% 정확도에 도구 23.9회를 냈습니다. DCI는 같은 78%에 99.1회입니다.

  2. 두 해상도가 서로 다른 과제에 맞습니다. 문서 수준 순서와 진입점 초기화는 넓은 회수가 필요한 순위 매기기 과제(BRIGHT)에서 RARG+가 53.36으로 검색 전용 NeMo를 앞서게 만들고, 매치 수준 재랭킹은 짧은 검증 경로 하나면 되는 QA에서 84%를 만듭니다. 같은 기법이 BRIGHT에서는 50.55로 오히려 손해입니다. 어느 층까지 쓸지는 과제가 빠른 수렴을 보상하는지 넓은 회수를 보상하는지에 달렸습니다.
  3. 자기 코드베이스 검색 도구에 바로 옮겨 볼 수 있는 부분이 있습니다. rg 결과를 나온 순서대로 모델에 던지는 대신 질의 임베딩으로 재정렬해 상위 \(m\)개만 노출하는 것입니다. 이 논문의 RARG++에 해당하고, 인프라 추가 없이 붙일 수 있습니다. 단 -j1을 잊으면 rg가 병렬로 뱉는 순서에 주입한 순서가 통째로 지워집니다.