본문으로 건너뛰기

IRCoT: 다단계 QA를 위한 검색과 사고의 사슬(Chain-of-Thought) 교차 방식

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

최근 몇 개의 게시물에서 RAG 변형 모델들에 대해 읽으면서 IRCoT를 이해하고 싶었습니다. 이는 Trivedi, Balasubramanian, Khot, Sabharwal(ACL 2023)의 논문으로, 처음에 단일 검색 패스를 수행하는 대신 사고의 사슬(Chain-of-Thought) 추론과 검색을 교차시키는 방식을 제안합니다. FLARE가 언제 검색할지 예측함으로써 동일한 문제에 접근했다면, IRCoT는 더 단순하고 기계적인 접근 방식을 취하며 더 날카로운 질문을 던집니다. "추론 체인의 각 문장 자체가 검색 쿼리가 된다면 어떨까?"

논문 요약

2026-05-19-ircot-interleaving-retrieval-chain-of-thought-multi-step-qa

기존의 '검색 후 읽기(retrieve-then-read)' 파이프라인은 원래 질문을 바탕으로 문서를 한 번 검색한 다음 모든 것을 LLM에 전달합니다. 단일 홉(single-hop) 질문의 경우 대개 이것으로 충분합니다. 하지만 "바흐와 같은 도시에서 태어난 감독이 만든 영화의 작곡가는 누구인가?"와 같은 다단계 질문의 경우, 두 번째 단계에 필요한 문서는 첫 번째 단계를 부분적으로 해결한 후에야 식별할 수 있습니다. 저자들은 이를 '지식 의존성 문제(knowledge dependency problem)'라고 부르며, 단일 단계 검색은 구조적으로 이를 해결할 수 없다고 주장합니다.

IRCoT는 교차 루프를 통해 이를 해결합니다. 추론 체인의 다음 문장을 생성하고, 그 문장을 BM25 쿼리로 사용하여 추가 단락을 검색하고, 검색된 단락을 프롬프트 컨텍스트에 추가한 다음, 다음 추론 문장을 생성하는 과정을 반복합니다. 이 루프는 최대 8단계까지 실행되며, 전체 컨텍스트는 15개 단락으로 제한됩니다. 별도의 학습은 필요하지 않습니다. 이 방법은 전적으로 프롬프팅 기반이며 GPT-3(code-davinci-002)에서는 제로샷(zero-shot)으로, Flan-T5에서는 퓨샷(few-shot) 설정으로 평가되었습니다.

핵심 아이디어

  • HotpotQA에서 IRCoT는 GPT-3를 사용한 단일 단계 검색 대비 검색 재현율을 +11.3포인트, 최종 QA F1 점수를 +7.1포인트(60.7 대 53.6) 향상시켰습니다.
  • 더 어려운 데이터셋에서 이득이 더 컸습니다. 2WikiMultihopQA에서 GPT-3를 사용했을 때 재현율 +22.6포인트, F1 +13.2포인트가 향상되었습니다.
  • Flan-T5-XXL(11B)에 IRCoT를 적용하면 2WikiMultihopQA에서 단일 단계 검색 대비 F1 점수가 +15.3포인트 향상되었으며, 이는 논문에서 보고된 데이터셋별 가장 큰 폭의 향상입니다.
  • IRCoT를 적용한 Flan-T5-XL(3B)은 단일 단계 검색을 사용하는 GPT-3(175B)보다 우수한 성능을 보였습니다. 검색 전략만으로 58배의 파라미터 격차를 극복한 것입니다.
  • IRCoT는 단일 단계 검색 대비 생성된 CoT의 사실 관계 오류를 HotpotQA에서 50%, 2WikiMultihopQA에서 40% 줄였습니다(데이터셋당 40개 질문에 대한 수동 주석 결과).
  • 이 방법은 분포 외(out-of-distribution) 상황에서도 일반화됩니다. 한 데이터셋의 예시를 다른 데이터셋 평가에 사용해도 유사한 이득을 보여주며, 이 방식이 단순히 특정 데이터셋의 패턴에 맞춰진 것이 아님을 입증했습니다.

성과와 한계

다단계 추론에는 다단계 검색이 필요하다는 핵심 주장은 설득력이 있으며 실험 설계도 깔끔합니다. 서로 다른 지식 구조(브리지, 비교, 이산 추론)를 가진 네 개의 진정으로 어려운 멀티홉 벤치마크를 사용함으로써 논거를 폭넓게 입증했습니다. CoT 단계에서 직접 답을 추출하는 대신 별도의 전용 리더(reader)를 사용하는 것이 일관되게 도움이 된다는 소거법 연구(ablation study)는 유용한 실무적 발견입니다.

조금 아쉬운 점은 질문의 난이도와 상관없이 검색 용량이 15개 단락으로 고정되어 있고, 종료 조건이 모델의 "충분한 정보를 확보했다"는 신호가 아닌 엄격한 단계 제한에 의존한다는 것입니다. FLARE의 불확실성 기반 트리거링이 그런 면에서 더 원칙적이지만, 토큰 확률에 대한 보정(calibration)이 필요하다는 단점이 있습니다. IRCoT의 BM25 백본은 의도적으로 단순하게 설계되었습니다. 밀집 검색(dense retrieval)을 사용했다면 결과가 더 좋아졌을 것이 거의 확실하지만 저자들은 이를 테스트하지 않았습니다. 그들은 단순함이 추론 체인의 기여도를 더 명확하게 만든다고 주장하는데, 이는 타당한 지적입니다. 계산 비용 또한 무시할 수 없습니다. 생성된 각 문장마다 검색 호출이 발생하므로 지연 시간(latency)이 추론 깊이에 따라 선형적으로 증가합니다. 2025년의 최신 연구(LevelRAG, GlobalRAG)에 따르면, 이러한 경직된 '한 문장당 한 번의 검색' 파이프라인은 순차적 체인 추론보다는 병렬적 정보 수집이 필요한 작업에서 성능을 제한하며, GlobalRAG는 벤치마크에서 IRCoT보다 6.54 F1 포인트 향상된 결과를 보고했습니다.

환각(hallucination) 분석 또한 다소 부족합니다. 데이터셋당 40개 질문은 강력한 주장을 뒷받침하기에 너무 적은 표본이며, "사실 관계 오류"는 주석자 간 합의(inter-annotator agreement) 보고 없이 수동으로 주석 처리되었습니다.

금융 AI에서의 중요성

IRCoT가 해결하는 의존성 문제는 Beancount 에이전트가 다단계 금융 질의를 추적하는 방식과 직접적으로 맞닿아 있습니다. "메모 필드에 기재된 통화 변환을 고려한 후, 날짜 Y와 Z 사이의 계정 X와 관련된 모든 거래의 순 영향은 무엇인가?"라는 질문은 단일 벡터 검색으로 답할 수 없습니다. 먼저 일치하는 거래를 찾아야 하고, 참조된 환율을 검색해야 하며, 필요에 따라 상대 계정(contra accounts)을 검색해야 합니다. 각 검색 단계는 이전 단계에서 발견된 내용에 의존합니다.

실무적인 설계 교훈은 '검색-추론 루프'입니다. 수년 치의 전체 원장을 컨텍스트에 밀어 넣거나 단일 의미론적 검색을 수행하는 대신, IRCoT 방식의 에이전트는 "1분기 expenses:food 계정의 총 차변 금액은 $1,240입니다"와 같은 각 중간 추론 문장을 다음 검색 단계의 쿼리로 사용합니다. 이를 통해 컨텍스트 창을 가볍게 유지하고 검색된 증거를 목적에 맞게 구체화할 수 있습니다. 뛰어난 검색 전략을 갖춘 3B 모델이 빈약한 검색 전략의 175B 모델을 이긴다는 결과는 개인이나 소상공인의 원장을 처리하는 에이전트 운영의 비용 제약을 고려할 때 특히 시사하는 바가 큽니다. 모델의 규모보다 검색을 제대로 수행하는 것이 더 중요할 수 있습니다.

앞으로 고려해야 할 한계점도 있습니다. IRCoT의 경직된 구조는 동시에 많은 병렬 증거 스트림을 집계해야 하는 원장 질의(예: 12개의 비용 하위 계정에 대한 예산 차이를 한 번에 계산하는 것)에서 어려움을 겪을 것입니다. 이러한 경우에는 IRCoT와 경쟁하기보다는 이를 보완할 수 있는 계획 우선 방식(planning-first approach, 예: LATS나 구조화된 쿼리 분해)이 필요할 것입니다.

다음 읽을거리

  • IRCoT 논문은 DecomP(Decomposed Prompting, Khot et al. 2022, arXiv:2210.06726)를 주요 베이스라인으로 인용합니다. 검색과 교차하는 대신 검색 전에 질문을 하위 질문으로 분해하는 대안 전략을 이해하기 위해 읽어볼 가치가 있습니다.
  • LevelRAG(arXiv:2502.18139)는 여러 검색 엔진에서 쿼리를 재작성하는 상위 수준의 플래너를 추가하여 IRCoT 방식의 반복 검색을 개선했습니다. IRCoT의 경직성을 해결하는 최신 접근 방식을 보여줍니다.
  • "Chain-of-Retrieval Augmented Generation"(CoRAG, arXiv:2501.14342)은 2025년에 나온 후속 연구로, 다단계 검색을 체인으로 구성하여 IRCoT 루프를 명시적으로 만들고 학습 신호를 추가했습니다. 이 논문 이후에 읽어보기에 자연스러운 후속작입니다.