시맨틱 검색

시맨틱 검색은 정확한 단어 일치에만 의존하지 않고 의미를 나타내는 표현을 사용해 정보를 찾습니다. 질문과 관련 구절의 표현이 달라도 같은 개념을 설명할 수 있습니다. 그래도 검색 시스템은 유용한 일치 항목과 단지 주제가 관련된 항목을 구별해야 합니다.

작성: Ai Flowi · 게시일

임베딩은 이런 관계를 표현하는 한 가지 방법입니다. 텍스트 표현 간 비교를 지원하지만, 계산된 유사도가 내용이 사실임을 보증하지는 않습니다. 시맨틱 검색은 검색 방법입니다. 답변 생성과 증거 확인은 여전히 별개의 작업입니다.

의미 기반 일치와 문자 그대로의 일치

“발행한 청구서 취소”라는 제목의 문서를 생각해 보세요. 사용자는 “이미 보낸 청구서를 되돌리기”로 검색합니다. 문자 그대로 일치시키는 시스템은 이 두 표현을 연결하기 위해 동의어 처리가 필요할 수 있습니다. 임베딩 기반 방식은 선택한 모델과 주변 텍스트에 따라 두 표현의 관련된 의미를 나타낼 수 있습니다.

질의에 정확한 식별자, 제품 코드, 인용된 오류가 포함되면 문자 그대로의 일치도 중요합니다. 사용자가 청구서 INV-A를 물었다면 두 레코드가 모두 청구에 관한 내용이더라도 INV-B 레코드는 충분하지 않습니다. 의미와 식별 정보는 서로 다른 제약입니다.

문자 그대로의 검색과 의미 기반 검색을 결합하려면 RAG 하이브리드 검색을 참고하세요. 여기의 청구서 예시는 후보의 의미가 요청된 청구 단계에 맞는지를 다룹니다.

바꿔 쓴 표현의 예시와 절차 단계의 함정

가상의 청구 문서 모음을 사용해 보겠습니다. 한 메모는 발행된 청구서 취소를, 다른 메모는 보내지 않은 초안 삭제를, 세 번째 메모는 연체 알림을 설명합니다. 질의는 “이미 보낸 청구서를 어떻게 되돌리나요?”입니다. 핵심적인 일치 항목은 청구 문구를 제거하는 아무 절차가 아니라 발행 후 취소 절차입니다.

작성자가 정한 관련성 목표이며, 검색 실행이나 점수는 보고하지 않습니다
질의후보 구절의도한 판단
이미 보낸 청구서 되돌리기.발행된 청구서 취소.요청된 절차 단계를 다른 표현으로 설명하므로 관련이 있습니다.
동일한 발행 청구서 질문보내지 않은 초안 삭제.삭제 관련 어휘는 비슷하지만 단계가 잘못되었습니다.
INV-A는 왜 연체되었나요?INV-B의 결제 레코드.결제 논의에 관련성이 있어도 식별 정보가 잘못되었습니다.
BILL-LOCK 오류는 무엇을 뜻하나요?일반적인 연체 알림 안내.주제가 같다는 것만으로 해당 오류를 설명하지는 못합니다.

이 목표는 순위를 지어내지 않고 검색 품질을 평가하는 데 도움이 됩니다. 반환된 구절을 요청된 개체와 질문에 맞춰 확인해야 합니다. 관련 어휘만 검색하는 모음은 시연에서는 유용해 보여도 실제 작업에는 실패할 수 있습니다.

표현이 의미 검색 품질의 일부일 뿐인 이유는 무엇인가요?

임베딩 모델은 텍스트 표현 방식에 영향을 주지만, 무엇을 찾을 수 있는지는 소스 모음이 결정합니다. 누락되거나 오래되거나 잘못 분리된 구절은 유사도 척도만 바꿔서는 해결할 수 없습니다. 정책의 조건이 본문 문장과 분리되어 있으면 주제가 검색되더라도 그 조건을 놓칠 수 있습니다.

질의 표현도 중요합니다. “가져가도 되나요?”처럼 짧고 모호한 질문에는 대상을 식별할 만큼의 대화 맥락이 필요합니다. 잘못된 대상을 제공하면 검색 작업 자체가 잘못됩니다. 질의를 확장할 때는 사용자의 의미를 보존해야 하며, 가정한 제품을 암묵적으로 추가해서는 안 됩니다.

접근 권한과 소스 버전 선택은 컨텍스트 엔지니어링 안내를 참고하세요.

절차를 묻는 질의와 레코드를 묻는 질의를 구분하세요. “청구서를 어떻게 취소하나요?”에는 절차가 필요하고, “INV-A가 취소되었나요?”에는 해당 거래 레코드가 필요합니다. 취소 방법을 설명하는 절차만으로 그 청구서에 작업이 실행되었는지 확인할 수는 없습니다. 후보 모음은 질문이 요구하는 증거의 종류에 맞아야 합니다.

AI Flowi Workflow에서 표현부터 후보 선택까지

Text Embedder와 Embedding Similarity의 표현 규약은 텍스트 임베딩 설명에서 다룹니다.

후보 구절 검색을 구성하는 방법은 Knowledge Base 가이드에서 다룹니다.

청구서 질문에서는 답변에 사용할 후보를 선택하기 전에 각 후보가 언급하는 단계를 검토하세요. 두 구절이 모두 문서를 되돌리는 내용을 다루더라도 “보내지 않은 초안”은 “이미 보낸” 상태와 명백히 맞지 않습니다. 다음 단계에서 적용 가능 여부를 판단할 수 있도록 취소 구절의 선행 조건을 절차와 함께 유지하세요.

카탈로그의 top_k 같은 결과 수 설정은 요청하는 후보 수를 제어하며, 유용한 후보 수를 뜻하지는 않습니다. 먼저 작성된 테스트 모음에서 결정적인 취소 구절을 찾으세요. 없다면 질의와 문서 모음을 살펴보세요. 관련 없는 초안 지침 사이에 있다면 선택 과정을 살펴보세요. 개수만 늘려서는 이 구분이 해결되지 않습니다.

일치 항목을 얻기 위해 “청구서 되돌리기”를 “초안 삭제”로 바꾸지 마세요. 사용자가 제공하지 않은 해석으로 대체하는 것입니다. 청구서 발행 여부가 빠져 있다면 해당 단계를 물어보거나 두 단계의 절차를 모두 검색하고 모호함을 유지하세요. 질의를 확장할 때는 가능한 여러 해석을 드러내야 하며, 어느 해석을 선택할지에 대한 구분을 없애서는 안 됩니다.

후보 선택 단계의 산출물은 포함·제외 이유가 있는 소수의 적용 가능한 구절입니다. 이는 최종 답변보다 먼저 만들어집니다. 평가 중 제외된 초안 구절도 확인할 수 있게 유지하면 의미상 가까운 결과가 왜 부적합했는지 설명하는 데 도움이 됩니다. 다만 답변 모델에 동등한 권위의 증거로 제시하지는 않습니다.

카탈로그에 문서화되어 있지만, Ai Flowi가 운영 환경에서 테스트하지 않았습니다

검색 컴포넌트는 카탈로그 색인에서 찾을 수 있습니다. 모델 연결은 본인의 임베딩 제공업체 계정과 API 키를 다루며, 임베딩 사용료는 별도로 청구됩니다.

검토에 반영할 청구서 관련성 판단

자료 모음 준비와 검색을 생성된 답변과 별도로 평가하는 절차는 RAG 평가 가이드에서 다룹니다.

이 가상의 청구서들에서는 이미 완료된 사건에 따라 관련성이 결정됩니다. 발행된 청구서와 보내지 않은 초안은 금액, 수신자, 많은 표현이 같아도 서로 다른 절차가 필요할 수 있습니다. 초안 삭제 후보는 정확히 “되돌리기”라는 동사를 사용해도 발행된 청구서 질문에 부적합합니다. 다른 표현으로 된 취소 구절은 시작 상태가 일치하므로 적합할 수 있습니다.

부정 표현을 놓치면 이 구분도 쉽게 사라집니다. “아직 발행되지 않음”과 “발행됨”은 주제와 행동을 나타내는 단어가 같지만 반대의 시작 상태를 설명합니다. 후보의 제목과 선행 조건을 읽을 때 부정 표현을 보존하세요. 짧은 발췌에서 이를 제거하면 초안 절차가 적용 가능한 것처럼 보일 수 있습니다. 익숙한 청구 관련 단어의 개수가 아니라 완전한 단계 조건으로 판단해야 하는 이유입니다.

“청구서를 다시 보내기”는 의미가 비슷하지만 다른 작업을 나타냅니다. 재전송은 발행된 문서를 취소하는 것과 다릅니다. 질문이 단지 “전송을 되돌리기”라면 의도한 작업은 미해결 상태입니다. 검색 응답은 사용자를 대신해 선택하지 않고 이런 해석을 제시할 수 있습니다. 어느 후보든 답변의 근거가 되는 절차로 취급하기 전에 전송을 뜻하는지 청구서 상태를 뜻하는지 물어보세요.

흔한 실수와 관련 개념

시맨틱 검색은 정확한 계정이나 문서 식별자를 확인하는 유일한 수단으로 적합하지 않습니다. 저장된 적 없는 증거도 복구할 수 없습니다. 결과가 없거나 관련이 없을 때 확신에 찬 답변으로 바꿔야 한다고 가정하지 마세요.

표현의 호환성은 텍스트 임베딩, 저장과 색인은 벡터 데이터베이스를 읽어 보세요. Agent 참조 문서는 도구를 사용할 수 있는 애플리케이션 계층을 설명합니다. 출발점이 되는 패턴은 문서화된 활용 사례를 참고하되, 검색 후보와 답변을 뒷받침하는 증거의 구분은 유지하세요.