NLWeb: Microsoft의 AI 기반 웹사이트 검색 프로토콜
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

NLWeb: Microsoft의 AI 기반 웹사이트 검색 프로토콜

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • 개발자 및 AI 엔지니어
  • 난이도 관점: 중간 (기본적인 REST API 및 Schema.org 이해 필요)

핵심 요약

  • NLWeb은 Schema.org 구조화 데이터를 활용해 웹사이트에 대화형 인터페이스를 추가하는 표준 프로토콜
  • Schema.orgMCP(Model Context Protocol) 지원
  • 대화형 검색의 핵심 기능
  • 다중 턴 대화에서 맥락 보존(예: "식탁용 채식 레시피", "1시간 이내 조리 가능")
  • LLM(Large Language Model) 활용 전략
  • 하나의 복잡한 프롬프트 대신 50개 이상의 작은 질문 분리 (정확성 향상, 환상 방지)

섹션별 세부 요약

1. 프로토콜 계층

  • REST API /ask 엔드포인트
  • 자연어 쿼리 수신 → Schema.org JSON 응답 반환
  • MCP 서버 /mcp 엔드포인트
  • list_tools, call_tool 등 MCP 클라이언트 호환 API 지원
  • 기본 API 파라미터
  • query, site, prev (이전 쿼리), mode (리스트, 요약, 생성)

2. 구현 계층

  • 쿼리 처리 흐름
  1. 병렬 전처리 (맥락 분석, 메모리 감지)
  2. 벡터 검색 (Qdrant 등 벡터 저장소 활용)
  3. LLM 기반 결과 순위 매기기
  4. 선택적 후처리 (요약, 생성)
  • 최적화 기법
  • "Fast Track" 경로: 검색 단계와 전처리 병렬 처리

3. 구현 예시 및 설정

  • Python 기반 빠른 시작

```bash

git clone

cd NLWeb

python -m venv myenv

pip install -r requirements.txt

python -m tools.db_load Behind-the-Tech

python app-file.py

```

  • curl 활용 예시

```bash

curl -X POST -d '{"query": "MCP servers for GitHub"}' http://localhost:8000/ask

```

  • CLI 도구 지원
  • 설정, 테스트, 실행 간소화

4. 구현 시 고려사항

  • 성능 제약 요소
  • LLM 호출 50회 이상 (비용 및 지연 시간)
  • 벡터 저장소와 실시간 데이터 동기화
  • 제한 사항
  • 프로덕션 규모 배포 필요성
  • 커스터마이징된 프롬프트 공학

결론

  • NLWeb은 대화형 웹 검색의 전략적 방향으로, 기존 Schema.org/RSS 데이터를 활용할 수 있는 개발자에게 유용
  • 현재는 프로토타입 단계로, 프로덕션 적용을 위해 LLM 호출 비용 최적화 및 확장성 고려 필요
  • 핵심 팁: Schema.org 구조화 데이터가 있는 웹사이트에서 대화형 검색 기능을 빠르게 구현할 수 있음