쉬운·기술사전비유로 이해하는 AI·개발 용어
AI는 어떻게 작동하는가

벡터 데이터베이스

Vector Database

단어가 아닌 의미로 검색하는 저장소예요.

벡터 데이터베이스 개념 다이어그램

역대 가장 실력 좋은 레코드 가게 직원을 떠올려 보세요. 머릿속에 맴도는 곡의 제목을 모르는 상황이에요. 그래서 8마디를 엉터리로 흥얼거렸더니, 직원이 "아, 이거죠"하며 정확한 레코드를 꺼내줘요. 제목도 말 안 했고, 아티스트 이름도 없었어요. 그저 분위기만 건넸는데 직원은 곧장 맞는 선반으로 걸어간 거예요.

일반 데이터베이스는 이런 일을 못 해요. 벡터 데이터베이스는 바로 이걸 위해 만들어진 것이에요.

가장 중요한 차이점부터 볼게요. 일반 데이터베이스는 문자 그대로를 따르는 도구예요. 정확한 질문에만 정확히 답해요.

철자가 맞으면 완벽해요. 하지만 철자가 틀리거나 모호한 질문을 던지면 그냥 모른다고 해요. 문자를 대조할 뿐, 의미는 읽지 못하거든요. 일반 데이터베이스에게 "주문이 사라진 것 같아"와 "패키지가 도착하지 않았어"는 완전히 다른 두 문장이에요. 공통 단어가 없으니 매치도 없어요.

벡터 데이터베이스는 정반대의 사고방식을 가져요. "같은 단어를 쓰고 있나?"를 묻지 않아요. "둘의 의미가 대략 같은가?"를 물어요. 이 한 가지 차이가 전부예요.

흥얼거림으로 검색하는 원리. 텍스트가 저장되기 전에, 모든 내용은 의미를 담은 긴 숫자 배열로 변환돼요(변환 과정 자체는 별도의 이야기예요). 수학은 신경 쓰지 않아도 됩니다. 이렇게만 상상해 보세요. 모든 문장, 문서, 고객 문의가 거대한 지도 위의 점 하나로 떨어져요. 비슷한 의미의 것들은 서로 가까이 놓이고, 전혀 다른 것들은 지도 반대편에 놓여요.

그 지도 위에서:

벡터 데이터베이스는 이 점들을 수백만 개 저장해 두고, 새로운 질문이 들어오는 즉시 가장 가까운 점들을 찾아내요. 새 문장을 던지면 새 점이 지도에 찍히고, 주변을 둘러보고, 가장 가까운 이웃들을 가져와요. 지도에서 가깝다는 것은 의미가 비슷하다는 뜻이에요. 이게 전부예요.

실제로 체감하는 순간. 이것이 AI가 "내 자료를 아는 척"할 때 돌아가는 엔진이에요. 문서를 잔뜩 올리고 AI에게 질문을 던지면, AI는 그 문서를 전부 읽지 않아요. 사실 읽을 수도 없어요. 한 번에 담기에는 너무 많거든요. 대신 이런 과정이 일어나요.

  1. 질문이 지도 위의 점으로 변환돼요.

  2. 벡터 데이터베이스가 그 점과 가장 가까이 있는 문서 조각들을 가져와요(전체 라이브러리가 아니라 관련 부분만요).

  3. 그 조각들이 모델에 전달되고, 모델은 그것을 바탕으로 답을 써요.

이 과정의 공식 명칭이 RAG(검색 증강 생성, retrieval-augmented generation)이며 앞으로 자주 듣게 될 거예요. 전문 용어를 걷어내면 단순해요. 먼저 관련 페이지를 가져오고, 그다음 답해요. 벡터 데이터베이스는 가져오는 역할을 하며, 키워드가 아닌 의미로 가져와요. 그래서 질문과 단어 하나도 겹치지 않는 단락도 정확히 찾아낼 수 있어요.

한 가지 분명한 한계 — AI 전반에 걸친 함정과 같아요. "의미가 가장 가까운 것"은 가장 그럴듯한 추측이지 확실한 정답이 아니에요. 벡터 데이터베이스는 가장 가까운 것을 돌려줄 뿐이고, 가장 가깝다고 해서 항상 맞는 건 아니에요. 문서에 없는 내용을 물어봐도 여전히 가장 가까운 점들을 아무렇지 않게 반환해요. 그게 쓸모없는 내용일 수 있어요. 질문에 가깝기만 한 쓰레기는 그냥 쓰레기예요. AI가 내 파일을 보고 답했는데 뭔가 어긋난 느낌이 들 때, 여기서 실수가 일어난 경우가 많아요. 가장 비슷해 보이는 페이지를 가져왔지만, 올바른 페이지가 아니었던 거예요.

차이를 깔끔하게 정리하면:

하나는 파일 캐비닛을 가진 문자주의자예요. 다른 하나는 엉터리 흥얼거림을 듣고 곧장 맞는 선반으로 걷는 직원이에요.