피그마 AI 검색의 (새 탭에서 열림)
Figma는 수십억 개의 디자인 레이어 속에서 사용자가 원하는 자산을 직관적으로 찾을 수 있도록 AI 기반의 시각적 검색(Visual Search) 기능을 도입했습니다. 이 시스템은 디자인의 시각적 특징과 맥락을 수학적 벡터 값으로 변환하는 임베딩 기술을 핵심으로 하며, 이를 통해 키워드 일치 여부를 넘어선 '의미론적 검색'을 구현했습니다. Figma는 성능과 정확도, 보안이라는 세 가지 요소를 동시에 충족하기 위해 정교한 머신러닝 파이프라인과 실시간 인덱싱 아키텍처를 구축하는 데 성공했습니다.
시각적 의미를 포착하는 벡터 임베딩 시스템
- CLIP 모델의 활용: 텍스트와 이미지를 동일한 벡터 공간에 매핑하는 CLIP(Contrastive Language-Image Pre-training) 기반 모델을 사용하여, 사용자가 입력한 검색어와 디자인 프레임 간의 유사도를 측정합니다.
- 디자인 특화 데이터 처리: 일반적인 사진과 달리 디자인 파일은 복잡한 레이어 구조를 가집니다. Figma는 검색 최적화를 위해 개별 프레임을 고해상도로 래스터화(Rasterization)하여 모델이 디자인의 시각적 요소를 정확히 이해하도록 학습시켰습니다.
- 다국어 지원 및 시각적 검색: 벡터 공간 내에서 유사도를 계산하므로, 특정 언어에 구속되지 않고 전 세계 사용자의 쿼리를 처리할 수 있으며 유사한 디자인 스타일을 찾는 이미지 기반 검색도 가능해졌습니다.
대규모 데이터 처리를 위한 검색 파이프라인
- 실시간 인덱싱 아키텍처: 사용자가 디자인을 수정할 때마다 실시간으로 검색 인덱스가 업데이트되어야 합니다. Figma는 Kafka와 같은 메시지 큐를 활용해 디자인 변경 사항을 감지하고, 이를 비동기적으로 처리하여 벡터 데이터베이스에 반영합니다.
- 효율적인 데이터 샘플링: 수조 개에 달하는 레이어 전체를 인덱싱하는 대신, 의미 있는 단위인 '프레임'과 '컴포넌트'를 중심으로 인덱싱하여 저장 공간을 절약하고 검색 효율을 극대화했습니다.
- 벡터 데이터베이스 운용: 고차원 벡터 검색을 빠르게 수행하기 위해 전문적인 벡터 DB 솔루션을 도입하여, 수 밀리초(ms) 내에 수십억 개의 후보군 중 가장 유사한 결과를 반환하도록 설계했습니다.
보안과 권한 관리를 고려한 검색 설계
- 엄격한 테넌트 격리: 기업 고객의 데이터 보안을 위해 각 조직의 데이터는 논리적으로 완전히 격리됩니다. AI 모델은 공유될 수 있지만, 검색 결과는 철저히 사용자가 접근 권한을 가진 범위 내에서만 노출됩니다.
- 사후 필터링(Post-filtering) 메커니즘: 벡터 검색 결과가 나오면, 시스템은 즉시 사용자의 권한(RBAC)을 확인하여 접근할 수 없는 파일은 결과에서 제외합니다. 이는 속도와 보안 사이의 균형을 맞추기 위한 핵심적인 단계입니다.
- 개인정보 보호: 학습 및 검색 과정에서 민감한 정보를 보호하기 위해 데이터 비식별화 처리를 거치며, 사용자가 자신의 데이터가 AI 학습에 활용될지 여부를 직접 선택할 수 있는 옵션을 제공합니다.
효과적인 AI 검색 시스템 구축을 위해서는 고성능 모델 못지않게 데이터의 권한 관리와 실시간 동기화 인프라가 중요합니다. 단순히 벡터 DB를 도입하는 것에 그치지 않고, 자사 서비스의 데이터 특성(Figma의 경우 프레임 단위의 계층 구조)을 모델이 어떻게 학습하게 할지 고민하는 과정이 실제 사용자 경험의 차이를 만듭니다.