조문을 찾는 일은 문서를 찾는 일과 다릅니다. 8월에 공개된 세 연구가 질의 재작성, 요건과 효과의 분절, 복잡도별 전략 선택이라는 서로 다른 층을 각각 보여 줍니다.
초록 법률 질의응답에서 검색이 실패하면 그 뒤의 모든 것이 실패합니다. 그런데 조문 검색은 일반 문서 검색과 세 가지 지점에서 다릅니다. 첫째, 질문은 일상어로 오는데 조문은 형식 용어와 추상 개념으로 쓰여 있어 표현이 그대로 겹치지 않습니다. 둘째, 조문은 하나의 덩어리가 아니라 '어떤 요건이 갖춰지면 어떤 효과가 따른다'는 논리 구조를 가진 텍스트라 검색의 단위를 어디에 둘지가 정해져 있지 않습니다. 셋째, 질문마다 필요한 절차의 깊이가 달라 하나의 검색 전략은 쉬운 질문에서 과잉이 되고 어려운 질문에서 모자랍니다. 2026년 8월 arXiv에 공개된 세 연구가 이 세 지점을 각각 정면으로 다룹니다. 본 칼럼은 세 결과를 한 축에 놓고, 검색 계층의 책임 범위를 어디까지로 그어야 하는지를 정리합니다.
법률 AI의 실패를 이야기할 때 대부분의 논의는 생성 단계에 머뭅니다. 모델이 없는 조문을 지어냈다거나, 있는 조문을 다르게 읽었다는 식입니다. 그러나 실무에서 더 자주 일어나고 더 조용히 지나가는 실패는 그 앞에 있습니다. 필요한 조문이 애초에 후보에 들어오지 않는 것입니다. 이 실패는 답변이 그럴듯하기 때문에 겉으로 드러나지 않습니다. 검색이 가져온 열 건 안에 정답 조문이 없으면, 모델은 가져온 것들 중에서 가장 그럴듯한 것을 고릅니다. 검증 계층이 인용의 실재를 확인해도 이 실패는 잡히지 않습니다. 인용된 조문은 실제로 존재하기 때문입니다. 존재하지만 이 사안의 조문이 아닐 뿐입니다. 그래서 검색 계층을 '거의 맞는 후보를 주는 곳'이 아니라 '무엇을 어떤 단위로 어떤 절차로 찾는가'가 명시된 곳으로 만들어야 합니다. 8월에 나온 세 편은 공교롭게도 그 명세의 세 칸을 하나씩 채웁니다.
일상어로 들어온 질문을 조문이 쓰는 형식 용어로 바꿔 다시 검색하는 절차. GreekBarRetrieval은 이를 한 번의 변환이 아니라 열 라운드의 ReAct 유사 반복 루프로 두었고, 그 형태에서 희소 검색이 가장 좋은 순위 지표를 냈다.
조문을 '어떤 사실이 갖춰지면'(요건)과 '어떤 법적 결과가 따른다'(효과)로 나누는 대륙법의 기본 분절. ANNOTARES는 독일 제정법에서 이 두 요소를 스팬 단위로 주석해, 조문 안의 논리 구조를 추출 과제로 세웠다.
질문의 논리 구조에서 추론 수요를 정량화하고, 의미 검색과 키워드 검색의 결과 차이를 복잡도의 간접 지표로 삼아 검색 전략을 고르는 방식. CoAL-RAG가 '질문의 본질'과 '검색 일관성' 두 축으로 이를 구성했다.
GreekBarRetrieval은 그리스어 조문 검색을 위한 공개 벤치마크로, 변호사시험 문항 283건과 각 문항이 가리키는 사건의 사실관계, 그리고 그중에서 찾아야 할 후보 조문 6,308건으로 구성됩니다. 설계에서 눈여겨볼 것은 난이도의 출처입니다. 질문과 사실은 일상어로 서술되어 있는 반면 조문은 형식 용어와 추상적 법개념으로 쓰여 있고, 게다가 한 사건의 사실이 모두 그 사건의 각 질문에 관련되지도 않습니다. 즉 표현을 바꾸는 문제와 무엇을 버릴지 정하는 문제가 함께 들어 있습니다. 저자들은 BM25 계열 세 종과 밀집 검색기 아홉 종을 실험해, 손대지 않은 상태에서는 밀집 검색이 Recall@100 기준 희소 검색을 크게 앞선다는 것을 확인했습니다. 흥미로운 것은 그다음입니다. LLM 질의 재작성을 붙이자 BM25가 그 격차를 좁혔고 밀집 검색도 함께 올랐으며, 저자들이 도입한 열 라운드 ReAct 유사 재작성 루프에서는 BM25의 Recall@100이 더 오르면서 시험된 모든 검색기 가운데 최고의 nDCG와 MAP를 기록했습니다. 재작성은 의사 적합성 피드백, 희소-밀집 융합, 영어 번역보다도 나은 선택이었습니다. 검색기를 바꾸는 것보다 질의를 조문의 언어로 옮기는 편이 더 큰 이득을 준다는 관찰입니다.
ANNOTARES는 독일 제정법 텍스트에서 법적 요건(Tatbestand)과 법적 효과(Rechtsfolge)를 식별하고 분절하는 과제를 세우고, 그에 맞는 스팬 단위 주석 데이터셋을 공개합니다. 데이터셋은 서로 다른 세 개의 법전에 걸쳐 있어, 특정 법률에서의 성능만이 아니라 다른 법률로 넘어갔을 때의 일반화까지 함께 평가하도록 설계되었습니다. 저자들은 규칙 기반 베이스라인, CRF, BiLSTM, BiLSTM-CRF, 그리고 BERT 계열과 LLM 기반 방법을 나란히 비교했고, 법률 언어의 복잡한 구문 구조를 붙잡는 데에서는 BERT와 LLM 계열이 앞섰다고 보고합니다. 이 연구가 검색 설계에 주는 함의는 성능 순위가 아니라 단위입니다. 조문 하나를 통째로 하나의 문서로 색인하면, 요건이 걸리는 질문과 효과가 걸리는 질문이 같은 벡터 하나를 두고 경쟁합니다. 실무의 질문은 대개 둘 중 하나에 쏠려 있습니다. 어떤 행위가 이 조문에 걸리는지를 묻는 질문은 요건 쪽이고, 걸린 다음 무엇이 따라오는지를 묻는 질문은 효과 쪽입니다. 분절이 가능해지면 색인 단위와 근거 제시 단위를 그 결에 맞춰 나눌 수 있고, 인용을 조문 번호가 아니라 그 조문의 어느 대목인지까지 좁힐 수 있습니다.
CoAL-RAG의 출발점은 법률 상담 질문이 여러 층위의 복잡도를 가진다는 관찰입니다. 단일 검색 전략을 쓰면 쉬운 질문에서는 과도한 추론이 붙고 복잡한 질문에서는 해석 가능성이 떨어져, 고위험 상황에서 요구되는 답변 품질과 효율을 동시에 만족시키기 어렵다는 것입니다. 이 방법은 '질문의 본질'과 '검색 일관성'이라는 두 축의 다차원 평가 기제를 세워 검색 전략을 적응적으로 라우팅합니다. 먼저 질문의 논리 구조에 따라 추론 수요를 정량화하고, 다음으로 의미 검색과 키워드 검색 사이의 불일치를 복잡도의 간접 신호로 활용해 적절한 전략을 고르고 문맥 정보를 동적으로 걸러냅니다. 두 검색기가 서로 다른 것을 가져올수록 그 질문이 표현에 민감하고 개념이 흩어져 있다는 뜻이라는 발상입니다. 저자들은 중국어 법률 벤치마크(SocialLawQA, LawBench)에서 기준 모델을 크게 앞섰고 영어 데이터셋(LexGLUE, CaseHold)에서도 관할을 넘는 일반화를 보였다고 보고합니다. 중국어 데이터셋 기준으로 BLEU는 42.5퍼센트 개선되었고 ROUGE-L은 지식그래프 기반 방법의 3.6배에 이르렀습니다. 요점은 점수가 아니라 순서입니다. 무엇을 찾을지 정하기 전에 이 질문이 어떤 종류인지를 먼저 판정한다는 것입니다.
세 연구를 한 줄에 세우면 검색 계층이 책임져야 할 명세가 드러납니다. 재작성은 입구를 맡습니다. 사용자의 문장을 그대로 검색어로 쓰지 않고 조문의 언어로 옮긴 뒤에야 후보를 부릅니다. 분절은 단위를 맡습니다. 조문을 통째로 두지 않고 요건과 효과로 나누어, 질문이 어느 쪽을 묻는지에 맞는 대목이 후보로 오게 합니다. 라우팅은 절차를 맡습니다. 질문의 복잡도를 먼저 재고 그에 맞는 깊이의 검색을 고릅니다. 셋 다 생성 단계를 손대지 않는다는 점이 중요합니다. 어느 것도 모델을 더 크게 만들거나 프롬프트를 더 정교하게 다듬는 이야기가 아닙니다. 그리고 셋 다 실패를 관측 가능한 형태로 바꿉니다. 재작성 루프는 어떤 질의로 무엇을 찾았는지를 기록으로 남기고, 요건·효과 분절은 인용이 조문의 어느 대목을 가리키는지를 좁히며, 복잡도 판정은 '이 질문은 깊은 절차가 필요했다'는 사실을 로그에 남깁니다. 검색이 조용히 실패하던 자리마다 흔적이 생기는 셈입니다. 검증 계층이 잡을 수 있는 것은 인용의 실재이지 후보 집합의 결손이 아니므로, 결손을 드러내는 일은 검색 계층 안에서 해결되어야 합니다.
긴장 관계 재작성 루프와 복잡도 판정은 질의 한 건당 호출과 지연을 늘립니다. 게다가 재작성은 그 자체가 새로운 오류 지점입니다. 질문을 바꿔 놓고 바뀐 질문에 답하면, 검색은 성공했는데 사용자가 물은 것은 답해지지 않은 상태가 됩니다. 조문의 언어로 옮기는 과정에서 사안의 결정적 사실이 탈락하는 경우가 특히 그렇습니다.
실무적 해소 재작성 결과를 답변의 근거로는 쓰지 않고 검색 질의로만 쓰는 것이 첫 번째 선입니다. 최종 인용은 언제나 원문 대조로 다시 확정하고, 사용자에게 보이는 문장은 원 질문의 표현을 기준으로 씁니다. 두 번째로 라우팅 비용은 쉬운 질문에서 회수합니다. 과잉 추론을 걷어낸 만큼이 깊은 절차의 예산이 됩니다. 세 번째로 복잡도 판정이 애매하면 싼 쪽이 아니라 비싼 쪽으로 떨어뜨립니다. 판정이 틀렸을 때 손해가 작은 방향으로 기본값을 두는 것이 고위험 영역의 원칙입니다.
법마디에 옮기면 세 가지 작업이 나옵니다. 첫째, 검색 결손을 지표로 세웁니다. 지금 우리 파이프라인은 생성된 답변의 법령 인용을 국가법령정보센터 원문과 대조해 확인되지 않은 인용을 차단합니다. 이 계층은 '없는 조문'은 막지만 '있어야 했는데 후보에 없던 조문'은 보지 못합니다. 그래서 답변 검증과 별개로, 질의별 후보 집합에 정답 조문이 들어왔는지를 회귀 코퍼스에서 따로 재는 지표가 필요합니다. 둘째, 색인 단위를 조문의 결에 맞춥니다. 한국 법령도 요건과 효과의 구조를 가지며 항과 호로 이미 형식적 분절이 되어 있으므로, 조문 전체를 하나의 단위로 두는 지금의 구성에서 항·호 단위 색인을 병행하는 실험이 가능합니다. 다만 이것은 아직 설계 단계의 방향이지 구현된 기능이 아닙니다. 셋째, 재작성을 도입하되 경계를 명시합니다. 사용자의 일상어 질문을 법령 용어로 옮기는 일은 우리 도메인에서도 그대로 필요하지만, 옮긴 문장은 검색 질의로만 쓰고 답변 본문과 인용 근거에는 원문과 대조된 것만 남깁니다. 이 세 작업의 방향은 하나로 모입니다. 품질의 책임을 모델이 아니라 교체해도 남는 계층에 두는 것입니다. 검색의 명세를 글로 적어 두면, 생성기를 무엇으로 바꾸든 그 명세는 그대로 남습니다.
"찾지 못한 것은 틀리게 답한 것보다 조용합니다. 조용한 실패에 이름을 붙이는 일이 검색 계층의 몫이고, 그 이름이 생기는 순간부터 개선은 측정의 문제가 됩니다."