4B 에이전트가 SQL과 웹 검색을 오가며 교차 추론을 학습한다
HybridResearcher: Bridging the Structured-Unstructured Boundary for Deep Research Agents
무엇인가
LLM 에이전트는 정형 테이블이든 비정형 웹 텍스트든 한 종류의 소스에서 증거를 모으는 일에는 빠르게 능숙해졌다. 그러나 실제 분석 질문은 그 경계를 넘는다. 내부 트랜잭션 DB와 공개 SEC 공시를 대조하는 재무 감사, 재고 SQL과 글로벌 뉴스를 합치는 공급망 리스크 평가가 대표적이다. HybridDeepResearch 같은 벤치마크는 GPT-5, Claude-Sonnet-4.6 같은 프런티어 모델조차 증거가 이 경계를 넘어야 할 때 무너진다는 것을 보여줬다. 문제는 평가 격차만 드러났을 뿐, 교차 소스 추론을 명시적으로 가르치는 훈련 프레임워크나 데이터, 모델이 없었다는 점이다.
어떻게 동작하나
저자들은 그 격차가 왜 생기는지 두 가지 장애물로 진단한다. 첫째, 구성 능력은 자동으로 합성되지 않는다. Qwen3.5-4B를 SQL만, 웹 검색만, 또는 둘의 합집합으로 파인튜닝해 HybridDeepResearch의 120문항 하드 서브셋에서 평가한 결과 SQL만 31.67, 합집합 29.17, 검색만 15.83 pass@8로 베이스 모델의 30.83과 사실상 차이가 없었다. 단일 소스 궤적에는 한 도구의 출력을 다른 도구의 입력으로 넘기는 단계 자체가 없기 때문이다. 둘째, 순진한 하이브리드 합성은 지름길 학습을 부른다. 정답 도달 여부만으로 필터링한 교사 궤적 가운데 79.5%가 실질적인 SQL 질의를 한 번도 실행하지 않았고, 파라메트릭 기억으로 답을 만들어냈다.
무엇과 다른가
HybridResearcher의 핵심 아이디어는 하이브리드 데이터를 백지에서 만들지 않는 것이다. 이미 난이도가 검증된 단일 소스 시드(text-to-SQL 과제 또는 웹 검색 과제)에서 출발해, 시드 자신의 출력에서 뽑은 브리지 엔티티를 중심으로 빠진 쪽 소스를 합성한다. 이렇게 하면 난이도가 새로 세워지는 것이 아니라 상속된다. 결정론적 건설 게이트가 어느 한쪽 소스만으로는 답이 나오지 않음을 확인한 샘플만 남기므로, 브리지 엔티티가 두 소스 사이의 유일하고 필수적인 경로가 된다.
어떻게 쓰나
SQL에서 출발하는 방향은 두 가지다. SQL2S는 실행된 출력 테이블의 한 셀을 브리지로 삼는데, 멤버십 게이트로 그 셀이 질문에는 없고 출력에만 나타나도록 강제해 SQL 실행 없이는 발견할 수 없게 만든다. 이 엔티티에 대해 발음 가능한 의사 단어로 새로운 사실(예: 비즈니스 규칙)을 조작하고, 위조한 골드 문서와 정확히 제약 하나만 흔드는 타입 지정 하드 네거티브를 붙인다. 정답 허브는 c개의 제약을 모두 만족하지만 근접 오답은 c−1개만 만족하므로 다중 문서 교차 참조가 강제된다. S2SQL은 골드 SQL의 술어에서 문자열 리터럴을 앵커로 잡고, 그 술어를 제거하면 결과가 바뀌는지 보는 실행 테스트와 '질문에는 있으나 출력에는 없음' 멤버십 제약으로 앵커가 실제로 하중을 지는지 검증한다. 검색에서 출발하는 방향은 브리지가 검색 질문 속 엔티티(SQL2S)이거나 검색 정답 값 자체(S2SQL, 예컨대 1994가 SQL 파라미터가 됨)이며, Plan–Improve–Build–Bridge 단계의 파이프라인으로 사전 집계 컬럼을 제거하고 동종 피어 엔티티 속에 타깃을 깊이 묻어 사소한 조회 테이블로 퇴화하지 않게 만든다.
전제와 한계
훈련은 2단계다. SFT는 Qwen3.5-397B-A17B-FP8 또는 DeepSeek-V4-Flash로 궤적을 생성해 수행했다(temperature 0.6, top-p 0.95, top-k 20, 3600초 타임아웃, SQL 기원 32k·검색 기원 128k 토큰, 최대 100~300턴). RL은 CISPO를 기반으로 하며, SFT 단계에서 풀리지 않은 21K 후보를 난이도 필터링, 품질 필터링, 분포 균형(SQL 기원과 검색 기원 1:1, S2SQL과 SQL2S 1:1)의 3단계로 0.7K까지 줄여 쓴다. 도구 호출 없이 턴을 소진하거나, 인자가 잘못됐거나, 없는 도구를 부르거나, 같은 질의를 반복하면 롤아웃을 조기 종료하고 보상을 0으로 주는 하드 게이팅, 그리고 5표 다수결 LLM 심판이 함께 들어간다.
결과는 HybridDeepResearch 120문항 하드 서브셋에서 베이스 30.83%에서 SFT 후 59.17% pass@8로 뛰었고, RL을 얹으면 전체 avg@8이 23.75%에서 27.19%로 올랐다. 최종 4B 모델은 베이스 대비 pass@8 기준 30.0점 향상이며, 훨씬 큰 Qwen3.5-397B-A17B-FP8(52.50% pass@8, 26.77% avg@8)을 8.3점 앞선다. Claude Sonnet 4.6(65.83%)과 GLM-5.2-FP4(63.33%)에도 근접한다. 단일 소스 능력도 잃지 않았다. BrowseComp pass@8은 54.03%에서 61.37%, BrowseComp-Plus는 60.84%에서 69.76%(RL 후 73.13%), Spider 2.0-lite 실행 정확도는 59.26%에서 65.19%로 올랐다.
분석 파트는 실무적으로 더 유용하다. 베이스 모델은 롤아웃당 38.6회 검색을 쏘면서 검색당 페이지 방문은 0.29회에 그쳤는데, SFT가 검색 횟수를 거의 절반으로 줄이고 읽기를 늘렸다. 정답이 노출된 SQL2S 문항의 활용률은 12.9%에서 18.5%로, RL 후에는 27.2%로 올랐다. RL 후 질의는 더 길고 구체적이 되어 48.8%가 인용부호를 쓰고 연산자 사용이 두 배가 됐으며 완전 중복 질의는 63% 줄었다. 데이터 양보다 큐레이션이 중요하다는 점도 수치로 확인된다. 0.7K 큐레이션 세트가 21K 전체 풀(21.0% avg@8)을 27.2%로 앞섰고, 보상 대비를 제공하는 롤아웃 그룹 비율도 71% 대 38%였다. 다수결 심판은 단일 투표(25.2%)를 27.2%로 끌어올렸는데, 단일 심판이 최종 합의와 어긋나는 비율이 8.2%였고 그 불안정이 S2SQL에 집중됐다(12.2% 대 SQL2S 1.2%). 하드 게이팅을 빼면 avg@8이 27.2%에서 25.6%로 떨어지고, 질문당 도구 호출이 76회에서 55회로, 반복 호출 빈도가 49%에서 11%로, 유효 답변 실패율이 10.7%에서 0.0%로 개선됐다.
개발자 관점에서 이 논문의 값은 '정답만 맞으면 통과'라는 흔한 데이터 필터가 하이브리드 과제에서는 지름길을 허용한다는 진단이다. 교차 소스 에이전트를 만들 때는 어느 한쪽만으로 답이 나오지 않는다는 것을 결정론적으로 검증하는 게이트, 무의미한 도구 남용을 즉시 끊는 하드 게이팅, 심판 노이즈를 줄이는 다수결 투표를 함께 설계해야 한다. 또한 고정 코퍼스와 로컬 리트리버로 재현 가능한 오프라인 환경을 구성했다는 점도 사내망 환경을 고려하는 팀에 참고가 된다.
한계도 분명하다. 실제로 구현한 것은 SQL–웹 조합 하나이며, 내부 문서나 코드 저장소 등 다른 이종 소스 조합은 시드 과제와 브리지 엔티티만 있으면 확장 가능하다는 청사진 수준이다. 성능 병목도 남아 있다. S2SQL에서 필요한 브리지 엔티티가 22.2%의 롤아웃에서 끝내 표면화되지 않았고, RL 오답의 82.0%(정답의 48.7%)가 시간 예산이나 이미 쓴 노력, 추측을 언급하며 스스로 인정한 불확실성 속에 답을 확정지었다. 평가 역시 상당 부분이 5표 다수결 LLM 심판에 의존한다.