반복 검색 에이전트가 언제 멈출지는 검색기·생성기와 따로 설계하고 따로 평가할 정책입니다. 절감한 검색 호출 수만 보면 불안전한 조기 중단이 드러나지 않습니다.
반복 검색 에이전트에서 언제 멈출지는 정확도와 비용을 함께 정하는 결정입니다. 배포될 정책의 첫 정지를 질문 단위로 평가한 연구는 검색 호출을 3.70% 줄이는 동안 실제 조기 중단 69건 중 27건이 불안전했다고 보고합니다. 조기 중단으로 비용을 줄이려면 절감률 옆에 어떤 지표를 둘지 먼저 정해야 합니다.
멀티홉 질문에 답하는 에이전트는 검색과 답변 생성을 여러 번 반복하며, 이 순환 구조는 ReAct에 정리했습니다. 실무에서는 반복 횟수 상한 k를 고정하는 방식이 흔하지만, 질문마다 필요한 검색 횟수는 다릅니다. 최근 연구는 정지 시점을 강화학습 보상, 학습 없는 통계적 임계값, 가치 함수로 각각 정하며, 논문마다 비교 기준선이 다릅니다.
정지 결정이 따로 있는 자리
반복 검색 루프에는 세 가지 결정이 있습니다. 검색기는 무엇을 가져올지, 생성기는 무엇을 답할지, 정지 정책은 검색을 더 할지를 정합니다. 고정 k는 세 번째 결정을 상수 하나로 대신합니다.
flowchart LR
Q[질문] --> S["현재 상태<br/>질문, 증거, 중간 답"]
S --> P{정지 정책}
P -->|계속| R[검색기]
R --> G[생성기]
G --> S
P -->|정지| A[최종 답변]
SAAS(arXiv:2605.29796, 2026-05)는 이 결정의 오류를 두 비율로 나눕니다. 질문 수준 과다 검색 비율(question-level over-search ratio, QOR)은 내부 지식으로 답할 수 있는 질문에서 검색한 비율입니다. 단계 수준 과다 검색 비율(step-level over-search ratio, SOR)은 충분한 증거를 모은 뒤에도 검색을 계속한 비율입니다.
Qwen2.5-7B-Instruct의 7개 벤치마크 평균 QOR은 HiPRAG 100.0%, StepSearch 99.9%, Search-R1 82.8%, RFT 52.5%입니다. HiPRAG와 StepSearch는 내부 지식으로 답할 수 있는 질문에서도 거의 항상 검색을 시작했습니다. 검색 행동을 학습한 에이전트라도 멈추는 행동은 따로 측정하지 않으면 보이지 않습니다.
보상으로 학습한 정지
SAAS는 같은 질문에서 검색을 끈 롤아웃과 켠 롤아웃을 대조해 검색 경계를 정합니다. 검색을 끈 롤아웃의 정답 수가 기준값 δ(기본값 2) 이상이면 NoSearch입니다. 검색을 끈 롤아웃은 모두 틀리고 켠 롤아웃에 정답이 있으면 NeedSearch이며, 나머지는 Undetermined입니다.
보상은 정확도 보상인 F1에 검색 페널티를 더하는 구조이며, 페널티는 F1이 1일 때만 붙습니다. NoSearch 질문에는 검색 횟수에 비례한 페널티를, NeedSearch 질문에는 정답 롤아웃의 최소 검색 횟수를 넘긴 만큼만 페널티를 줍니다. 두 페널티 모두 계수 α 0.05를 씁니다.
학습 순서도 정지를 따로 다룹니다. 1단계는 결과 보상만으로 학습하고, 검증 성능이 더 오르지 않으면 2단계에서 경계 보상을 켭니다. 논문은 경계 보상을 너무 일찍 켜면 에이전트가 필요한 검색까지 피하는 보상 해킹이 생길 수 있다고 설명합니다.
Qwen2.5-7B-Instruct의 7개 벤치마크 평균에서 SAAS는 정확도 48.7%, 평균 검색 0.97회를 기록했습니다. HiPRAG는 49.8%, 2.19회이므로, 계산하면 SAAS는 검색을 약 56% 줄이고 정확도는 1.1%p 낮습니다. 정확도는 GPT-4 판정자가 매긴 답변 정확도이며 정확 일치(Exact Match, EM)와 다릅니다.
SAAS의 QOR은 45.9%이고, SOR은 SAAS가 6.3%, HiPRAG가 19.5%입니다. 그러나 논문은 과다 검색 지표만 보고하고, 필요한 검색을 건너뛴 비율은 측정하지 않습니다. 줄어든 검색이 필요한 검색까지 포함했는지는 평균 정확도로만 간접 확인됩니다.
학습 없는 임계값
TASR(arXiv:2606.13814, 2026-06)는 학습 없이 두 조건이 함께 성립할 때 멈춥니다. 정규화한 답이 이전 라운드와 같아야 하고, 등온 보정(isotonic calibration)을 거친 로짓 마진이 0.25를 넘어야 합니다.
첫 라운드에서는 멈출 수 없고 최대 5라운드까지 진행합니다. 검색기는 처음에 한 번만 순위를 매기고, 라운드마다 고정된 순위 목록의 다음 문단을 하나 더 보여 줍니다. 따라서 TASR이 줄이는 대상은 검색 호출이 아닌 LLM 라운드, 즉 LLM 호출입니다.
임계값 0.25는 32개 모델·검색기·말뭉치 구성에서 그대로 씁니다. 보정기는 모델마다 HotpotQA distractor의 100문항 조정 집합으로 한 번 맞춘 뒤 동결하며, 개방형 BM25 셀과 dense 검색기 셀에도 그대로 썼습니다.
Nemotron-3-Ultra-550B로 규모를 확인할 때에는 이 모델의 조정 집합으로 보정기를 새로 맞췄습니다. 검색기와 말뭉치를 바꿀 때는 다시 보정하지 않았지만, 생성 모델을 바꾸면 보정기를 새로 맞춥니다.
3개 모델과 2개 distractor 데이터셋(HotpotQA, 2WikiMultiHopQA)의 6개 셀에서 셀당 300문항을 평가했습니다. 주 기준선인 고정 k=3은 F1 53.98, 평균 LLM 호출 3.00회이고, TASR은 F1 57.40으로 3.42 높고 호출은 3.13회로 0.13회 많습니다. 고정 k=5(F1 60.52, 5.00회)와 비교하면 TASR은 F1의 94.8%를 호출 62.6%로 얻었습니다.
논문은 마진 하한이 필요한 이유도 보고합니다. 답 반복 조건만 쓰면 궤적의 약 3%에서 정답 문단이 도착하기 전에 같은 오답을 반복하다 멈췄습니다. 마진 하한을 더하면 그중 약 절반이 늦은 라운드의 정답으로 바뀌었습니다.
호출 수 분포의 꼬리는 더 깁니다. TASR의 P95(95번째 백분위수) 호출 수는 4회로 고정 k=3의 3회보다 많으며, 논문은 최악 지연이 중요한 배포에는 맞지 않는다고 적습니다. 정지 정책은 질문마다 추론 계산을 얼마나 쓸지 정하는 장치이며, 이 배분 문제는 Test-Time Compute Scaling에 정리했습니다.
가치 함수로 학습한 정지
Stop-RAG(arXiv:2510.14337, 2025-10)는 NeurIPS 2025 MTI-LLM 워크숍에 실린 논문입니다. 반복 RAG를 유한 지평 마르코프 결정 과정(MDP)으로 놓고, 완전한 궤적의 Q(λ) 타깃으로 가치 기반 정지 컨트롤러를 학습합니다. 컨트롤러는 생성기와 별도인 DeBERTa-v3-large Q-네트워크이며, 생성기가 블랙박스 API여도 붙일 수 있습니다.
실험은 Llama-3.1-8B-Instruct 생성기, Contriever-MSMARCO 검색기, bge-reranker-v2-m3 리랭커로 구성하고 최대 10회 반복합니다. 데이터셋마다 dev에서 뽑은 1,000문항으로 테스트합니다. 비교 기준은 정지 없이 10회를 모두 실행하는 기본 파이프라인과, 생성기에게 프롬프트로 정지 여부를 묻는 LLM-Stop입니다.
결과는 어느 기준선과 비교하느냐에 따라 다르게 읽힙니다. 고정 10회 실행 대비 Stop-RAG는 평균 스텝을 MuSiQue에서 8.6회, 2WikiMultihopQA에서 5.1회로 줄였습니다. 같은 비교에서 F1은 44.8에서 47.0으로, 73.1에서 75.7로 올랐습니다.
LLM-Stop 대비로는 평균 스텝이 7.6회에서 8.6회로, 5.0회에서 5.1회로 늘었습니다. F1은 44.6에서 47.0으로, 73.3에서 75.7로 올랐고, 검색 recall도 64.5에서 66.5로, 79.1에서 82.6으로 올랐습니다.
저자들은 Stop-RAG가 LLM-Stop처럼 일찍 끝내지 않고 추가 증거가 도움이 될 때 계속한다고 설명합니다. 같은 생성기에게 정지를 묻는 방식보다 별도 컨트롤러가 나았다는 점은 정지를 분리할 근거입니다. 세 방법을 나란히 놓으면 다음과 같습니다.
| 방법 | 정지 신호 | 학습·보정 | 기준선 대비 변화 | 보고 결과와 조건 |
|---|---|---|---|---|
| SAAS | 검색 경계 보상 | 2단계 강화학습 | HiPRAG 대비 검색 줄임 | 7B, 7개 벤치마크 평균 정확도 48.7%·검색 0.97회 (HiPRAG 49.8%·2.19회) |
| TASR | 답 반복과 보정 로짓 마진 0.25 초과 | 학습 없음, 모델별로 한 번 보정하고 동결 (검색기·말뭉치를 바꿔도 다시 보정하지 않았지만 생성 모델을 바꾸면 새로 맞춤) | 고정 k=5 대비 LLM 라운드 줄임, k=3 대비 소폭 늘림 | 6개 셀 macro F1 57.40·LLM 호출 3.13회 (k=3은 53.98·3.00회, k=5는 60.52·5.00회) |
| Stop-RAG | Q(λ) 가치 | 가치 기반 학습 | LLM-Stop 대비 스텝 늘림, 고정 10회 대비 줄임 | MuSiQue F1 47.0·스텝 8.6회 (LLM-Stop은 44.6·7.6회, 고정 10회는 44.8·10.0회) |
세 논문은 지표, 데이터셋, 반복 예산, 기준선이 모두 다르므로 수치를 직접 비교하지 않습니다. 세 논문의 주 결과는 모두 평균 품질과 평균 호출 수입니다. 정책이 실제로 멈춘 질문 가운데 몇 건이 불안전했는지는 주 결과에 없습니다.
첫 정지가 배포된 정책을 정합니다
Luo의 "When Should Multi-Round RAG Stop?"(arXiv:2608.13237, 2026-08)는 이 빈칸을 직접 평가합니다. 판별기가 검색 상태마다 점수를 매기고, 정책은 점수가 임계값을 처음 넘는 상태에서 멈춥니다. 넘는 상태가 없으면 기존 실행(Native)을 그대로 따르므로, 궤적마다 첫 정지가 배포된 정책의 행동을 정합니다.
실험은 Search-R1 Qwen2.5-7B PPO v0.2, E5 검색기 top-3, Wiki-2018 말뭉치, 최대 4회 검색을 고정합니다. 이 Search-R1 체크포인트는 PPO(proximal policy optimization)로 학습한 모델입니다.
판별기는 Qwen3.5-2B를 HotpotQA 훈련 900문항의 3,009개 상태로 LoRA(low-rank adaptation) 미세 조정한 모델입니다. 임계값 약 7.875는 100문항 검증 집합에서 STOP precision 0.90 이상을 포함한 기준으로 고른 뒤 동결했습니다.
HotpotQA distractor dev의 확증용 800문항에서 결과는 다음과 같습니다. EM은 0.44875에서 0.44250으로 0.625%p 낮아졌고, 차이의 95% 신뢰구간은 [−1.25%p, 0]입니다. 논문이 미리 정한 비열등 한계 2%p 안에 있으므로 비열등 기준은 통과했습니다.
| 지표 | 값 | 분모 |
|---|---|---|
| 검색 호출 절감 | 2,081회에서 2,004회, 3.70% | Native 전체 호출 |
| EM 차이 | −0.625%p | 800문항 |
| 실제 조기 중단 | 69건, 8.63% | 800문항 |
| 불안전 조기 중단 | 27건, 39.13% | 실제 조기 중단 69건 |
| 정답에서 오답, 오답에서 정답 | 6건, 1건 | 800문항 |
| 안전 기회 포착 | 42건, 14.29% | 안전 기회가 있던 294문항 |
논문은 Native가 다음 검색을 제안하는 시점에 고정된 답변 probe가 공식 정답을 내는 상태를 안전 기회로 정의합니다. 불안전 조기 중단은 선택된 첫 정지가 이 정의를 만족하지 못한 경우입니다. 논문은 안전 기회가 증거의 완전성을 뜻하지 않는다고 함께 밝힙니다.
평균 수치는 정책이 개입하지 않은 731문항까지 함께 나눕니다. 그래서 정책이 내린 정지 69건 중 39%가 불안전했다는 사실이 0.625%p라는 작은 차이 안에 묻힙니다.
불안전 중단 27건이 모두 새 오답이 되지 않은 이유를 논문은 두 가지로 설명합니다. Native도 이미 틀린 질문이거나, 이른 상태는 안전 기회 정의를 통과하지 못했지만 최종 답은 맞은 경우입니다.
임계값의 정밀도도 옮겨 가지 않았습니다. 검증에서 예측 STOP 11개 상태로 얻은 precision 0.9091은 확증에서 0.6216으로 낮아졌고, recall은 0.0880이었습니다.
탐색용 200문항에서는 binary LoRA 판별기를 썼습니다. 이 판별기는 STOP 판정의 평균 정밀도(average precision, AP)를 0.732에서 0.828로 높이고, 평균 검색을 2.635회에서 1.430회로 줄였습니다. 같은 실행에서 EM은 36.5%에서 31.5%로 떨어져, 랭킹 개선과 절감률만으로는 품질을 판단할 수 없습니다.
이 탐색 실행은 정책·임계값·질문 집합이 확증과 다릅니다. 라벨도 이전 분석에 쓰였으므로 탐색 결과로만 읽습니다.
비용도 검색 호출만으로 끝나지 않습니다. 논문은 판별기도 추론 계산을 쓰며, 그 계산·메모리·지연을 검색 호출 단위로 환산하지 않았다고 밝힙니다. 따라서 3.70%는 검색 호출 감소율이며 총비용 감소율이 아닙니다.
주장이 성립하지 않는 조건
불안전 중단 비율의 근거는 한 편의 논문과 한 구성에서 나왔습니다. Search-R1 7B, E5, Wiki-2018, top-3, 최대 4회 검색, HotpotQA라는 조건이며, 논문도 결과의 적용 범위를 이 구성으로 한정합니다. 39%라는 비율을 다른 구성의 예상치로 쓸 수 없습니다.
이 논문은 단독 저자의 arXiv v1 프리프린트입니다. 블라인드 평가 전에 정답 파일의 SHA-256 해시를 계산한 절차 위반을 스스로 공개했고, 해시를 선택에 쓰지 않았다고 보고합니다. 그 영향은 독립적으로 확인되지 않았습니다.
정지를 분리해도 생성기와 완전히 독립하지는 않습니다. Stop-RAG를 CoRAG 파이프라인에 붙이자 HotpotQA에서는 기본 실행과 LLM-Stop보다 약간 낮았습니다. 저자들은 CoRAG 생성기가 고정 반복 횟수로 학습된 점이 원인일 가능성이 높다고 봅니다.
분리에는 비용도 따릅니다. TASR은 상위 5개 logprob과 단답형 형식, 온도 0을 요구하므로 logprob을 감추는 API나 장문 답변에는 그대로 옮기기 어렵습니다. 판별기를 두는 방식은 판별기 추론 비용이 늘어납니다.
SAAS처럼 정지를 에이전트 모델 안에서 학습하면 구성 요소는 늘지 않지만, 기반 모델을 바꿀 때 정지 행동도 다시 학습해야 할 것입니다. 이는 추정입니다.
세 논문은 비교 기준선도 다릅니다. SAAS는 HiPRAG 같은 다른 학습 방법과, TASR은 고정 k=3·k=5와, Stop-RAG는 고정 10회 실행·LLM-Stop과 비교합니다. 따라서 세 논문의 결과를 검색을 줄이는 방법과 늘리는 방법으로 나눌 근거는 없습니다.
소스가 답하지 못한 것도 있습니다. 허용 가능한 불안전 중단 비율이 얼마인지 정한 연구는 없습니다. SAAS, TASR, Stop-RAG의 정책에서 질문 단위 불안전 중단 비율이 얼마인지도 보고되지 않았습니다.
정지 정책을 도입할 때의 평가 기준
Luo의 논문은 정지 연구가 네 가지를 함께 보고해야 하며 어느 하나만으로는 불완전하다고 제안합니다. 후보 상태의 도달 가능성과 오라클 여유, 상태 랭킹, 질문 단위 첫 정지 결과와 안전·불안전 선택, 그리고 검색·토큰·지연·판별기 계산 비용과 짝지은 품질입니다. 이를 도입 판단 기준으로 옮기면 다음과 같으며, 이 목록은 판단입니다.
- 검색기, 생성기, 말뭉치, 프롬프트, 검색 예산을 고정하고 정지 정책만 바꿔 비교합니다. 그래야 정지 효과와 검색 품질 효과가 섞이지 않습니다.
- 기준선을 명시합니다. Stop-RAG처럼 같은 정책도 어느 기준선과 비교하느냐에 따라 검색을 줄인 것으로도 늘린 것으로도 보입니다.
- 절감률 옆에 실제 조기 중단 수와 그중 불안전 비율을 적습니다. 불안전 비율의 분모는 실제 조기 중단 건수이며, 전체 질문 수로 나누지 않습니다.
- 평균 정답률 차이와 함께 정답에서 오답, 오답에서 정답으로 바뀐 건수를 셉니다.
- 임계값을 고른 집합과 다른 질문 집합에서 STOP precision을 다시 잽니다.
- 판별기와 보정기의 계산·지연을 비용에 넣고, 평균 호출 수와 함께 P95 호출 수를 봅니다.
- 멀티홉 질문 비중이 크면 과다 검색보다 조기 종료로 인한 recall 손실을 먼저 확인합니다.
| 지표 | 분모 | 이 지표만 볼 때 놓치는 것 | Luo(2026)의 값 |
|---|---|---|---|
| 검색 호출 절감률 | 기준 정책의 전체 호출 | 줄어든 호출이 정답을 희생했는지 | 3.70% |
| 평균 정답률 차이 | 전체 질문 | 정책이 개입한 소수 질문의 오류 | −0.625%p |
| 불안전 조기 중단 비율 | 실제 조기 중단 | 정책이 개입하는 빈도 | 39.13% (27/69) |
| 안전 기회 포착률 | 안전 기회가 있는 질문 | 개입이 불안전했는지 | 14.29% (42/294) |
| 상태 단위 STOP precision | 예측 STOP 상태 | 질문별 첫 정지 결과 | 검증 0.9091, 확증 0.6216 |
정지 정책 실험에서 고정하는 검색 품질 쪽의 설계는 검색기에서 컴파일러로 가는 RAG와 리랭커 목적 함수의 이동에 정리했습니다.
참고 자료
- SAAS: Self-Aware Reinforcement Learning for Over-Search Mitigation in Agentic Search, arXiv:2605.29796 (2026-05)
- TASR: Training-Free Adaptive Stopping for Iterative Retrieval, arXiv:2606.13814 (2026-06)
- Stop-RAG: Value-Based Retrieval Control for Iterative RAG, arXiv:2510.14337 (2025-10)
- When Should Multi-Round RAG Stop? Structured Stopping Judgments and Retrieval Reduction in Search-R1, arXiv:2608.13237 (2026-08)
모든 수치는 2026-10 기준으로 각 원문에서 대조했습니다.
정리
반복 검색 에이전트의 정지 시점은 검색기·생성기와 다른 신호와 다른 목적으로 정하는 정책입니다. SAAS는 보상 항과 학습 단계를, TASR은 학습 없는 임계값을, Stop-RAG는 별도 가치 컨트롤러를 둡니다. 세 논문은 서로 다른 기준선과 비교하며, 주 결과는 모두 평균 품질과 평균 호출 수입니다.
첫 정지를 질문 단위로 평가한 연구에서는 검색 호출 3.70% 절감과 EM 0.625%p 하락 뒤에 불안전 조기 중단 39.13%가 있었습니다. 조기 중단 정책을 도입할 때에는 기준선을 밝히고, 절감률, 실제 조기 중단 중 불안전 비율, 정답 전환 건수, 판별기 비용을 함께 기록해야 합니다. 이 비율은 한 구성에서 나온 값이므로 다른 시스템에서는 같은 평가를 직접 다시 해야 합니다.