검색 에이전트를 훈련할 때 가장 큰 문제가 뭔지 아시나요. 최종 답이 맞았는지 틀렸는지만 보고, 중간 단계를 전부 같은 점수로 평가한다는 겁니다.

성공한 궤적에도 잘못된 단계가 있고, 실패한 궤적에도 제대로 된 단계가 있습니다. 근데 기존 방법은 둘을 구분 못 합니다. 이 논문은 중간 단계별로 점수를 주는 방법을 제안합니다.

핵심 아이디어

Answer-Backtracked Credit Assignment(ABC). 이름이 길지만 아이디어는 단순합니다.

  1. 정답을 알고 있으면, 정답에서 거꾸로 추적해서 중간에 어떤 단서를 찾아야 했는지 복원합니다
  2. 각 단계가 그 단서를 발견했는지, 검증했는지, 아니면 잘못 무시했는지 평가합니다
  3. 이 점수를 SFT 손실 가중치와 GRPO 보상으로 사용합니다

[답 → 단서 복원 → 단계별 채점] 이 전부입니다.

어떻게 동작하는가

단계별 점수 채점 규칙

행동점수 변화
기본 (합리적 진행)1.0
올바른 단서 발견/검증+0.8
잘못된 후보 올바르게 배제+0.4
올바른 단서를 잘못 배제-0.8
정답 제출+1.0
오답 제출-1.0

기본 점수 1.0에서 시작해서 위 델타를 누적하고 [0, 2.0]으로 클리핑합니다.

실패한 궤적에서도 올바른 단서를 찾은 단계는 점수가 1.0을 넘습니다. 성공한 궤적에서도 올바른 단서를 잘못 배제한 단계는 점수가 깎입니다. 이게 핵심입니다.

두 단계 훈련 파이프라인

Stage 1: 정답에서 거꾸로 단서를 복원합니다. LLM이 ReAct 루프를 돌면서 웹 검색으로 단서를 실제로 검증합니다.

Stage 2: 각 궤적 단계를 복원된 단서 집합과 비교해서 채점합니다. 실패한 궤적도 버리지 않고 점수를 매깁니다.

구체적 예시

4가지 제약이 있는 질문에 정답이 CeraVe라고 가정해 봅시다. 복원된 단서 6개: Ceramides(성분), L’Oréal(인수사), Eugène Schueller(창립자), 1904년 졸업, 등등.

  • 22번째 단계: Ceramides를 발견하고 CeraVe와 연결 → 1.8점
  • 35번째 단계: L’Oréal 인수와 Schueller 졸업을 동시 검증 → 2.0점(클리핑)
  • 56번째 단계: 축적된 증거를 버리고 잘못된 후보로 회귀 → 0.2점
  • 64번째 단계: 오답 제출 → 0.0점

궤적 전체가 실패했어도 22번, 35번 단계는 좋은 행동이었으니 보상을 받습니다.

훈련 설정

  • 베이스 모델: Qwen3.5-4B
  • SFT: OpenSeeker에서 8.5K 궤적 샘플링 (5.5K 정답 + 3.0K 오답)
  • ABC-SFT: 단계 점수로 손실 가중치 조정. w(r) = 2σ(2(r-1))
  • ABC-GRPO: 단계 점수를 GRPO 보상으로 사용. 감마=0.25
  • RL: 1,000개 질문, 질문당 8롤아웃, 최대 200턴 허용

결과

모델크기BrowseCompBrowseComp-ZHxbench-2505xbench-2510GAIA-text
GPT-5.5미공개33.926.177.7
Tongyi DeepResearch~30B40.037.573.343.376.1
OpenSeeker~30B37.237.475.044.080.0
QUEST-4B4B30.025.0
DR-Venus4B29.137.774.740.764.4
ABSeeker4B37.339.177.046.081.6
ABSeeker + 컨텍스트 관리4B55.352.9

4B 모델이 같은 크기 대비 전 벤치마크 1위, 여러 30B 에이전트를 넘어섭니다. 컨텍스트 관리(256K 토큰, discard-all 5라운드)를 추가하면 BrowseComp 37.3% → 55.3%로 뜁니다.

왜 이 접근이 작동하는가

ABC-GRPO가 표준 trajectory-level GRPO보다 일관하게 높은 성능을 보입니다. 더 긴 검색 궤적을 만들면서도 정확도가 높습니다. 단계별 보상이 더 많은 탐색을 장려하기 때문입니다.

실패한 궤적에서도 좋은 단계가 있다

8.5K 궤적의 단계 점수 분포를 보면, 실패한 궤적의 약 10% 단계가 1.0 이상의 보상을 받습니다. 궤적 전체가 틀렸어도 이 단계들은 올바른 단서를 발견한 것입니다. 기존 방법은 이 단계들에 0점을 줬겠죠.

컨텍스트 관리 효과

256K 토큰 제한에서 discard-all 전략을 5라운드 적용하면 BrowseComp 37.3% → 55.3%, BrowseComp-ZH 39.1% → 52.9%로 향상됩니다.

근데 왜 기존 방법은 안 됐나

기존 credit assignment 방법들이 있었는데, 한계가 있었습니다.

  • IGPO: 모델 자기 확신도로 보상을 정하는데, 학습이 진행되면 보상이 흔들립니다
  • CSO: 검증된 “중요 단계”에만 크레딧을 주고 나머지는 무시합니다
  • SAPO/MindDR: 엔티티 수준 근접도로 평가하는데, 각 검색/추론 결정이 맞았는지 직접 평가하지 않습니다

ABC는 정답에서 역추적한 단서라는 고정된 기준으로 모든 단계를 평가합니다. 보상이 안정적이고 밀집합니다.

정리

  • 4B 검색 에이전트가 30B급 모델과 경쟁하는 성능을 냈습니다
  • 핵심은 정답에서 거꾸로 단서를 복원해서 모든 단계를 개별 채점하는 것입니다
  • 실패한 궤적의 좋은 단계도 보상받고, 성공한 궤적의 나쁜 단계도 페널티를 받습니다
  • BrowseComp 55.3%, BrowseComp-ZH 52.9% (컨텍스트 관리 포함)

더 실습해보고 싶은 분들께

논문: Training Long-Horizon Search Agents via Answer-Backtracked Credit Assignment