본문으로 건너뛰기

MongoDB를 위한 Vanna.ai 대안 오픈소스 'Mango' 개발

MongoDB의 복잡한 문서 구조와 집계 파이프라인 문제를 해결하기 위해 런타임 스키마 추론과 벡터 메모리를 활용하는 텍스트-쿼리 에이전트 Mango가 공개됐다.

실용적 조언

  • MongoDB 환경에서 자연어 질의 시스템을 구축할 때 고정 스키마 정의 대신 런타임 샘플링 방식을 고려하라.
  • 정확도를 높이기 위해 ChromaDB 같은 벡터 DB를 활용해 성공 쿼리 로그를 퓨샷 데이터로 관리하라.

섹션별 상세

01
MongoDB는 고정된 DDL이 없고 문서가 중첩된 구조라 기존 SQL 변환 도구로는 한계가 있다. Mango는 런타임에 컬렉션 데이터를 샘플링하여 스키마를 동적으로 추론하는 방식으로 이 문제를 해결했다. 이를 통해 LLM이 현재 데이터 구조에 맞는 정확한 쿼리를 생성할 수 있는 기반을 마련했다.
02
사용자의 질문 의도에 따라 단순 조회인 find()를 실행할지, 복잡한 연산인 aggregate()를 실행할지 에이전트 루프가 스스로 결정한다. 도구 기반 에이전트 아키텍처를 채택하여 단순한 텍스트 변환을 넘어 실제 데이터베이스 실행 환경에 최적화된 경로를 선택한다. 결과값은 SSE(Server-Sent Events)를 통해 실시간 스트리밍 방식으로 사용자에게 전달된다.
03
ChromaDB를 메모리 계층으로 활용하여 과거에 성공했던 쿼리들을 저장하고 재사용한다. 새로운 질문이 들어오면 유사한 과거 사례를 검색하여 LLM의 퓨샷 컨텍스트로 주입함으로써 사용량이 늘어날수록 시스템의 정확도가 향상되는 구조를 갖췄다. Claude, GPT, Gemini 등 주요 LLM을 기본적으로 지원하며 MIT 라이선스로 배포됐다.

용어 해설

텍스트-SQL 변환(Text-to-SQL)
사용자의 자연어 질문을 데이터베이스 쿼리 언어인 SQL로 자동 변환하는 기술이다. LLM을 활용해 비전문가도 데이터베이스에 질의할 수 있게 돕지만, MongoDB와 같은 NoSQL 환경에서는 스키마 구조가 달라 적용이 어렵다.
집계 파이프라인(Aggregation Pipeline)
MongoDB에서 데이터를 처리하고 변환하기 위한 프레임워크로, 여러 단계의 연산을 거쳐 결과를 도출한다. SQL의 GROUP BY나 JOIN과 유사한 기능을 수행하지만 구조가 복잡하여 LLM이 생성하기 까다로운 영역이다.
퓨샷 컨텍스트(Few-shot Context)
모델에게 작업 수행 방식을 가르치기 위해 프롬프트에 몇 가지 예시를 포함하는 기법이다. 이 프로젝트에서는 과거의 성공적인 쿼리 사례를 벡터 DB에서 검색해 프롬프트에 주입함으로써 정확도를 높인다.
서버 전송 이벤트(SSE)
서버에서 클라이언트로 실시간 데이터를 스트리밍하는 웹 기술이다. LLM이 생성하는 답변을 실시간으로 사용자 화면에 출력하기 위해 사용되며, 전체 응답이 완료될 때까지 기다리지 않아도 된다.

코드 예제

bash
pip install mango-ai[anthropic] && mango

Mango 라이브러리를 설치하고 실행하는 기본 명령어

언급된 도구

Mango추천

MongoDB 전용 Text-to-Query 에이전트

ChromaDB추천

성공 쿼리 저장 및 퓨샷 컨텍스트 검색을 위한 벡터 메모리

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 04. 15.수집 2026. 04. 15.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.