AI 코딩 어시스턴트를 위한 올인원 MCP의 모든 RAG 전략

채널 아이콘
Cole Medin 구독자 78,300명

요약

이 영상은 AI 코딩 어시스턴트를 위한 강력한 MCP 서버(오픈 소스)를 소개하며, 최신 문서를 효율적으로 제공해주는 다양한 RAG(검색 보강 생성) 전략을 구현하는 방법을 설명합니다. Superbase 기반의 지식 베이스 구축부터 코드 예시 전용 벡터 DB, 그리고 Contextual Embeddings, Hybrid Search, Agentic RAG, Reranking 등의 전략을 시연하면서 프로젝트 효율성을 대폭 향상하는 과정을 보여줍니다. 최종적으로 이 MCP 서버를 Archon의 다음 진화 버전으로 발전시키려는 비전과 오픈 소스 커뮤니티 참여 방법까지 제안합니다.

주요 키워드

RAG MCP 서버 Contextual Embeddings Hybrid Search Agentic RAG Reranking 벡터 데이터베이스 Superbase LLM.ext Archon

하이라이트

  • 🔑 AI 코딩 어시스턴트의 핵심 문제인 ‘환각(hallucination)’을 해결하기 위해 최신 문서를 직접 크롤링하여 제공하는 맞춤형 MCP 서버를 구축합니다.
  • ⚡ Superbase를 이용해 문서와 코드 예시를 별도 테이블에 저장하고, 벡터 DB를 통해 AI가 빠르고 정확하게 참조할 수 있도록 구성했습니다.
  • 🌟 Contextual Embeddings 방식으로 문서 청크마다 앞뒤 맥락을 AI에게 알려주어 검색 정확도를 크게 높입니다.
  • 📌 Hybrid Search를 도입해 시맨틱 검색에 키워드 검색을 결합, 원하는 정확한 결과를 함께 얻을 수 있도록 합니다.
  • 🚀 Agentic RAG 구조로 문서와 코드 예시를 별도 벡터 DB로 관리하며 AI 에이전트가 목적에 맞게 탐색하도록 지원합니다.
  • 🔍 Reranking 전략으로 크롤링한 청크들을 교차 인코더 모델로 재정렬해 가장 관련성 높은 정보만 AI에 피드합니다.
  • ✨ 실제 데모에서는 Versell AI SDK 문서를 크롤링해 스트리밍 텍스트 출력 예제를 완벽히 구현하고, 간단한 웹앱까지 자동 생성하는 과정을 보여줍니다.
  • 🛠️ 오픈 소스 프로젝트로 누구나 MCP 서버 설정, RAG 전략 활성화·비활성화, 커뮤니티 워크숍 참여 등을 통해 발전에 기여할 수 있습니다.

용어 설명

RAG(검색 보강 생성)

검색(Retrieval)으로 문서 청크를 찾아내고, 이를 바탕으로 생성(Generation)하는 전략

MCP 서버

AI 에이전트에 문서 검색·생성 기능을 제공하는 맞춤형 서버

Contextual Embeddings

문서 청크마다 전체 문맥 정보를 포함해 임베딩을 생성하는 방식

Hybrid Search

시맨틱 검색과 키워드 검색을 결합해 더 정밀한 정보 탐색을 지원

Agentic RAG

다양한 벡터 DB(문서·코드 예시 등)를 분리 관리해 AI가 목적별로 탐색하도록 하는 구조

Reranking

크롤링된 청크를 별도 모델(교차 인코더)로 재정렬해 최적 순서로 제공

Superbase

RAG용 지식 베이스와 벡터 DB를 호스팅하는 오픈 소스 데이터베이스

[00:00:00] 문제 제기 및 MCP 서버 소개

AI 코딩 어시스턴트가 문서를 제대로 이해하지 못하고 환각을 일으키는 문제를 짚고, 이를 해결하기 위해 개발 중인 맞춤형 RAG MCP 서버를 간략히 소개합니다.

AI 코딩 어시스턴트의 주요 문제점인 라이브러리 환각 현상을 해결하기 위한 Crawl4AI RAG MCP 서버를 소개합니다.
이 MCP 서버를 Archon의 다음 진화 단계로 발전시켜 분산된 AI 코딩 도구들을 통합하는 마스터 서버를 만들고자 합니다.
[00:00:52] 기존 AI 코딩 툴 현황

Boomerang Tasks, Rue Code, Context 7, Cloud Task Manager 같은 도구들이 분리되어 있지만 통합된 솔루션의 부재를 지적하며 MCP 서버 필요성을 강조합니다.

완전 무료 오픈소스인 이 서버의 설정 방법과 다양한 RAG 전략 구성법을 설명하며, Supabase와의 연동을 통한 지식 베이스 구축 방법을 안내합니다.
[00:01:51] MCP 서버 설정 및 실행

Github 레포지토리와 README 설명에 따라 무료·오픈 소스 MCP 서버를 로컬에 설치하고 활성화하며, RAG 전략 온·오프 설정 방법을 안내합니다.

타임라인 정보가 없습니다.

[00:02:33] 문서 크롤링 데모

Versell AI SDK의 LLM.ext 페이지를 크롤링해 Superbase 지식 베이스에 문서 청크를 저장하고, 코드 예시용 벡터 DB도 별도로 구축하는 과정을 시연합니다.

Vercel AI SDK 문서를 데모용으로 선택했다고 설명합니다. 이는 AI 에이전트용 프론트엔드 애플리케이션 개발을 돕는 라이브러리이며, LLM.txt 페이지에 모든 문서가 마크다운 형식으로 통합되어 있어 RAG MCP 서버 같은 도구로 LLM이 쉽게 수집할 수 있습니다.
MCP 서버가 다양한 웹사이트 크롤링을 지원한다고 설명합니다. LLM 텍스트 크롤링, 기본 페이지를 통한 네비게이션 재귀 스크래핑, 사이트맵을 통한 개별 페이지 크롤링 등 여러 옵션을 제공하며, 특히 라이브러리 문서에 유용합니다.
실제 데모를 시작하여 llms.txt 링크를 복사하고 Windsurf에서 crawl 명령을 실행합니다. crawl for rag mcp 서버가 연결되어 있어 도구를 사용할 수 있으며, OpenAI를 임베딩과 LLM에 사용하고 있지만 향후 다른 모델들도 지원할 예정이라고 언급합니다.
스크래핑된 데이터가 Supabase 지식 기반에 저장되며, 에이전틱 RAG와 관련된 코드 예제들도 포함됩니다. Windsurf가 크롤링 성공을 알려주고, 데이터베이스에서 AISDK.dev가 소스로 추가된 것을 확인할 수 있습니다.
crawl pages 테이블에서 삽입된 다양한 청크들을 확인할 수 있으며, 견고한 청킹 전략이 뒤에서 작동하고 있다고 설명합니다. 최근 추가한 코드 예제 기능이 결과를 크게 개선했다고 언급하며, 에이전틱 RAG를 사용해 코드 예제들로 별도의 벡터 데이터베이스를 구축해 에이전트가 문서와 예제를 함께 참조할 수 있도록 했습니다.
Vercel AI SDK 문서에서 총 22개의 예제를 성공적으로 가져와 지식 베이스를 구축했다고 설명합니다.
[00:05:18] AI IDE에서 질의 응답 예제

구축된 데이터베이스를 활용해 "OpenAI 모델에서 텍스트 스트리밍 방식"에 대한 질의를 수행하고, 정확한 코드 예시를 AI로부터 받아내는 과정을 보여줍니다.

AI IDE에서 설정한 지식 베이스를 활용해 'Vercel AI SDK로 OpenAI 모델에서 텍스트 스트리밍하는 방법'에 대한 질문을 시연합니다.
시스템이 여러 번의 검색을 통해 답변을 개선하는 과정을 보여주며, 최종적으로 정확한 코드 예제가 출력됩니다.
OpenAI 임포트, stream text 함수 사용, 결과 출력까지의 완전한 코드 예제를 성공적으로 생성했다고 평가합니다.
실제 프로젝트 적용 사례를 소개하며, Vercel AI SDK 템플릿을 기반으로 새로운 지식 베이스를 활용해 웹사이트를 개선했다고 설명합니다.
[00:06:18] 템플릿 활용 웹앱 생성

Versell AI SDK 템플릿을 기반으로 날씨 챗봇형 웹앱을 빠르게 개선·생성하는 과정을 시연하며, MCP 서버의 실무 활용 사례를 제시합니다.

코드 작성 중간에 crawl4AI RAG MCP 서버를 사용해 문서를 크롤링하고, 페이지 분석과 코드 변경을 동시에 수행하는 워크플로우를 보여줍니다.
AI SDK의 Claude 4 시작하기 데모를 기반으로 더 멋진 외관의 날씨 정보 앱을 만들었으며, 실시간 도구 호출과 스트리밍 결과 표시 기능을 구현했다고 소개합니다.
MCP 서버 연결의 간편함을 강조하며, AI 코딩 어시스턴트를 위해 특별히 설계된 강력한 RAG 시스템을 소개합니다.
컨텍스트 임베딩을 포함한 다양한 RAG 전략들을 구현하여 시스템을 더욱 강력하게 만들었다고 설명합니다.
[00:07:33] RAG 전략 개요

Contextual Embeddings, Hybrid Search, Agentic RAG, Reranking 등 영상에서 다룰 주요 RAG 전략을 간략히 개념 소개합니다.

하이브리드 RAG, 에이전틱 RAG, 리랭킹 등의 전략들을 소개하며, 다이나미스 AI 마스터리 커뮤니티에서 제공하는 RAG 전략 워크샵과 AI 에이전트 구축 코스를 안내합니다.
컨텍스추얼 임베딩은 안트로픽 팀이 도입한 RAG 전략으로, 문서를 청크로 나눌 때 각 청크에 대해 프롬프트를 실행하여 해당 청크가 전체 문서에서 어떤 위치와 역할을 하는지에 대한 추가 컨텍스트를 제공하는 방식입니다.
[00:08:27] Contextual Embeddings 구현

Anthropic 논문의 프롬프트를 활용해 문서 청크마다 앞뒤 맥락을 포함한 임베딩을 생성하는 방법과 소스 코드를 설명합니다.

소스 코드에서 컨텍스추얼 임베딩 생성 함수를 살펴보면, 안트로픽 기사의 프롬프트를 사용하여 OpenAI를 호출하고, 추가 컨텍스트를 청크 앞에 붙여서 LLM이 정보를 더 잘 활용할 수 있도록 합니다.
청크 콘텐츠의 구조를 설명하며, 삼중 대시 구분자로 실제 콘텐츠와 함께 청크의 유용성에 대한 추가 정보가 전처리된 텍스트로 제공된다고 설명합니다.
하이브리드 검색 기능을 소개하며, RAG의 의미적 검색과 달리 정확한 키워드 매칭을 통해 특정 단어가 포함된 청크를 찾을 수 있다고 설명합니다.
[00:10:34] Hybrid Search 적용

키워드 검색과 시맨틱 검색을 조합해 Superbase에서 정확한 청크를 함께 반환하는 하이브리드 검색 로직과 환경 변수 토글 방법을 설명합니다.

하이브리드 검색의 구현 방식을 설명하며, 환경 변수를 통해 활성화되고 Supabase에서 대소문자 구분 없는 키워드 검색을 수행한다고 설명합니다.
LLM을 활용한 키워드 추출과 일반 RAG와의 결합 과정을 설명하며, 두 가지 방법으로 얻은 청크들을 모두 LLM에 제공한다고 설명합니다.
N8N에서 구축한 AI 에이전트 데모를 소개하며, Crawl4AI RAG MCP 서버에 연결하여 실제로 작동하는 모습을 보여준다고 설명합니다.
MCP 서버의 기본적인 사용법을 보여주기 위해 간단한 Vercel AI SDK 질문으로 시작. 서버에서 perform rag query 도구를 호출하고 키워드 검색과 의미 검색을 결합한 하이브리드 검색 결과를 확인.
에이전틱 RAG 전략 소개. AI 에이전트가 지식 베이스를 다양한 방법으로 탐색할 수 있도록 하는 것이 핵심. 서로 다른 목적을 가진 여러 벡터 데이터베이스를 활용하는 패턴.
코드 예제 테이블을 별도의 RAG 시스템으로 구성. 크롤링한 라이브러리의 모든 코드 예제를 특별히 저장하여 AI 코딩 어시스턴트에게 더 나은 도움을 제공.
[00:13:59] Agentic RAG과 코드 예시 분리

문서와 코드 예시를 별도 벡터 DB로 관리하고, AI 에이전트가 용도에 따라 적절한 DB를 탐색하도록 하는 Agentic RAG 구조를 시연합니다.

두 가지 RAG 도구의 차이점 설명. 하나는 일반 크롤링된 페이지용, 다른 하나는 코드 예제 전용. 에이전트가 사용자 질문에 따라 적절한 지식 베이스를 선택할 수 있도록 구성.
N8N에서의 실제 데모 준비. 글로벌 규칙과 시스템 프롬프팅을 통해 다양한 테이블을 효과적으로 활용할 수 있는 방법 언급.
AI SDK 코드 예제에서 OpenAI 스트리밍 출력을 사용하는 예제를 검색하는 과정을 설명합니다. 첫 번째 실행에서는 모든 가용한 소스를 가져오고, 두 번째 실행에서는 실제 코드 예제를 검색합니다.
[00:15:18] Reranking 전략

교차 인코더 모델을 로컬에서 다운로드해 질의-청크 쌍을 재평가하고, 점수에 따라 청크를 재정렬해 최적의 정보를 제공하는 구현 방식을 설명합니다.

검색 결과를 확인하며, perform rag 쿼리 도구 대신 코드 예제 도구에서 나온 청크들을 살펴봅니다. POST 요청으로 OpenAI에 출력을 보내고 어시스턴트 응답을 반환하는 예제를 찾았습니다.
AI SDK에서 직접 가져온 예제를 확인하며, OpenAI에서 어시스턴트 응답을 가져오는 코드를 발견했습니다. 원하는 예제를 정확히 찾아 출력해주는 완벽한 결과를 얻었습니다.
마지막 RAG 전략인 리랭킹을 소개합니다. 리랭킹은 벡터 데이터베이스에서 반환된 청크들을 질문이나 코딩 목적과 가장 관련성이 높은 순서로 정렬하는 강력한 전략입니다.
리랭킹은 대형 언어 모델이 아닌 크로스 인코더라는 별도의 AI 모델을 사용합니다. 이 모델은 쿼리와 반환된 청크들을 분석하여 평가된 관련성을 기반으로 정렬합니다.
코드 구현에서 환경 변수 설정에 따라 리랭킹 함수를 호출합니다. HuggingFace에서 다운로드한 오픈소스 크로스 인코더 모델을 로컬 컴퓨터에서 실행하여 리랭킹을 수행합니다.
model.predict를 사용하여 사용자 쿼리(또는 AI 어시스턴트 쿼리)와 각 청크의 쌍을 생성하고 점수를 매겨 정렬합니다. N8N에서 확인한 결과, 코드 예제에서 반환한 청크 중 최상위 항목이 가장 높은 점수를 받았습니다.
[00:17:23] 미래 계획 및 커뮤니티 참여

멀티쿼리 RAG, 쿼리 확장, 지식 그래프 통합 등의 추가 전략과 Archon 프로젝트로 발전시키려는 비전을 공유하며 오픈 소스 참여 방법을 안내합니다.

재랭킹 시스템의 점수 체계를 설명하며, 높은 점수(3점)를 받은 청크가 가장 관련성이 높고, 낮은 점수(-10.4점)를 받은 청크는 관련성이 낮아 목록 하단에 위치한다고 설명합니다.
재랭킹의 강력한 활용법을 소개하며, 50개의 청크를 반환한 후 재랭킹으로 가장 관련성 높은 10개만 선별하여 LLM에 과부하를 주지 않으면서 효율적으로 작업할 수 있는 방법을 제시합니다.
RAG MCP 서버의 미래 계획을 공개하며, 멀티쿼리 RAG, 쿼리 확장, 지식 그래프를 활용한 에이전틱 RAG 등 더 많은 전략을 구현하여 최고의 RAG MCP 서버를 만들겠다는 비전을 제시합니다.
Archon 프로젝트의 개발 현황과 계획을 설명하며, 완전한 애플리케이션으로 발전시켜 AI 코딩 어시스턴트의 지식 백본 역할을 하는 범용 RAG 플랫폼으로 만들겠다는 장기적 비전을 공유합니다.
AI 코딩 어시스턴트가 정말로 당신의 프로젝트와
문서를 이해할 수 있다면 좋겠다고 생각하지 않나요?
지금 AI 코딩 도구들이 가진 가장 큰 문제 중 하나는
라이브러리나 도구들을 우리 프로젝트에 가져올 때
항상 환각을 일으킨다는 것입니다.
Supabase나 MCP, Pydantic AI 등
무엇을 작업하든 말이죠.
그리고 저는 이 문제에 대한
큰 해결책을 구축하고 있습니다.
제 채널에서 이미 조금 공유했지만,
바로 제가 만든 Crawl4AI RAG MCP 서버입니다.
최근에 이 서버를 더욱 강력하게 만들기 위해
몇 가지 새로운 RAG 전략을 추가했습니다.
AI 코더들에게 최신 문서를 제공하는 것이죠.
게다가 이 서버를 위한 더 큰 계획들이 있어서
지금 여러분과 공유하고 싶습니다.
이 MCP 서버로 하고 싶은 것은
Archon의 다음 진화 단계로 구축하는 것입니다.
이것도 제 채널에서 조금 공유했었죠.
하지만 지금 우리는 AI 코딩을 도와주는
많은 분리된 도구들을 가지고 있습니다.
Replit Code의 부메랑 태스크나
프로젝트의 다른 부분들을 관리하는
다양한 에이전트들이 있습니다.
AI 코더들에게 최신 문서를 제공하는
Context7도 있고요.
그리고 AI 코더를 프로젝트 매니저로
바꿔주는 Cloud Task Manager 같은
도구들도 있습니다.
이런 도구들은 모두 훌륭합니다.
오해하지 마세요.
하지만 이 MCP 서버로 구축하고 싶은 것은
큰 프로젝트라는 것을 알고 있지만,
이 모든 것들을 하나로 결합해서
AI 코딩의 모든 요구사항을 해결할
마스터 MCP 서버를 만드는 것입니다.
RAG로 강력한 지식 기반을 갖추는 것처럼
말이죠.
또한 다양한 에이전트들이 프로젝트의
다른 부분들을 관리하고 우리가 계획하고
태스크를 관리하는 것을 도와줄 수 있도록요.
이것이 해야 할 일이 많다는 것을 알고 있고
RAG 지식 베이스라는 핵심부터
시작하고 있습니다.
그래서 몇 가지 추가 전략들을
구현하고 있는 것이죠.
그래서 지금 여러분과 이것을 다루고 싶습니다.
평소처럼, 설명란에 이 MCP 서버의
링크를 달아놓겠습니다.
직접 실행해볼 수 있도록요.
완전히 무료이고 오픈 소스이며
설정하기도 매우 쉽습니다.
여기 readme에 모든 것을 구성하는 방법에 대한
지침이 있습니다.
조금 후에 다룰 다양한 RAG 전략들을
활성화하고 비활성화하는 방법도 포함해서요.
여기 있는 모든 설정을 거치면
오래 걸리지 않고 서버가 작동될 것입니다.
그러면 AI 코딩 어시스턴트 내에서
이것에 연결할 수 있습니다.
심지어 다른 AI 에이전트나 n8n 같은
도구들에서도 사용할 수 있죠.
어떻게 보이는지 보여드리겠습니다.
일부 구성의 예시입니다.
MCP 서버 설정에 있어서 매우 전형적인
과정입니다.
이것을 구성하고 나면
이제 우리의 프라이빗 지식 베이스에
문서를 추가하기 시작할 수 있습니다.
Supabase를 연결할 것이고
그것은 설정의 일부입니다.
그리고 설정의 일부로 우리가 가질 수 있는
것은 무엇이든 가능합니다.
그것이 바로 우리가 할 수 있는 일입니다.
지침의 일부이기도 합니다. 그래서 이 영상의
데모를 위해 Vercel AI SDK의
문서를 사용하겠습니다. 이것은 AI 에이전트 주변의
프론트엔드 애플리케이션 생성을 도와주는
프론트엔드 라이브러리입니다. 그리고
그들은 LLM.txt 페이지를 가지고 있습니다. 그래서 이것은
그들이 단일 페이지로 결합한 모든 문서를
마크다운 형식으로 만든 것입니다.
특히 저희 RAG MCP 서버와 같은 도구를 사용해
LLM이 수집할 수 있도록 만들어진 것입니다.
여기서 간단한 참고사항은, 이 MCP 서버는
크롤링할 수 있는 다양한 유형의 웹사이트를
지원한다는 것입니다. 따라서 이와 같은
LLM 텍스트를 크롤링할 수 있습니다.
그리고 이를 제공하는 웹사이트가
많이 있습니다, 특히 라이브러리
문서의 경우 말이죠. 기본 페이지만
주면 네비게이션과 그 안의 모든 것들을
재귀적으로 스크랩할 것입니다.
연결된 페이지들도 마찬가지입니다. 또는
사이트맵을 제공할 수도 있습니다.
많은 웹사이트들이 이것도 가지고 있습니다.
따라서 모든 개별 페이지들을 나열하고
서버가 이들을 각각 크롤링할 것입니다.
마치 네비게이션을 재귀적으로
순회하는 것처럼 말이죠. 따라서
다양한 옵션들이 있지만, llms.txt로
시작할 수 있습니다. 이것이 우리 AI
코딩 어시스턴트를 위한 지식을 얻는
가장 쉬운 방법입니다. 정말 완벽합니다.
제가 할 수 있는 것은 이 링크를
복사해서 Windsurf로 가서
crawl이라고 하고 llms.txt를
붙여넣을 수 있습니다. 그리고 제가
crawl for rag mcp 서버를 연결했기 때문에
이제 이러한 도구들을 사용할 수 있습니다.
단일 페이지를 크롤링하는 이 도구를
사용하고 있습니다. 이제 제 터미널에서
모든 것이 실행되고 있습니다. OpenAI를
임베딩과 LLM에 사용하고 있고, 앞으로
다른 LLM들도 지원할 예정입니다.
임베딩 모델도 마찬가지입니다. 어쨌든
모든 것을 스크래핑한 다음 우리
Supabase 지식 기반에 넣을 것입니다.
조금 후에 볼 수 있는 에이전틱 RAG와
관련된 코드 예제들도 포함해서 말이죠.
그러면 Windsurf가 크롤링이
성공적으로 완료되었다고 알려줍니다.
그리고 제가 다시 데이터베이스로 가서
소스들로 가서 새로고침하면
짠! 여기 있습니다. AISDK.dev가
우리의 단일 소스로 있습니다.
이 지식 기반에서 crawl pages 테이블로
가면 여기에 삽입된 모든 다양한
청크들을 볼 수 있습니다. 그리고
뒤에서 이미 상당히 견고한 청킹
전략을 가지고 있습니다. 그것도
계속 개선해 나갈 예정입니다.
그리고 우리는 코드 예제들을 가지고 있습니다.
이것은 제가 최근에 추가한 것으로
결과를 상당히 개선했다고 생각합니다.
모든 문서를 크롤링하고 crawled pages에
넣는 것 외에도, 에이전틱 RAG를
사용해서 모든 코드 예제들로
두 번째 벡터 데이터베이스를
본질적으로 구축할 수 있습니다.
따라서 우리 에이전트는 문서와 함께
예제들을 구체적으로 찾아볼 수 있어
문서의 예제들을 사용해 비슷한
것을 구축하는 방법을 정말 잘
이해할 수 있도록 도와줍니다.
우리 자체 프로젝트에서요. 그래서 우리는 모든
예제들을 여기에 가지고 있습니다. 총 22개의
예제가 있는 것 같네요. Vercel AI SDK
문서에서 가져온 것들입니다. 이제 AI IDE로
돌아가서, Vercel AI SDK의 지식 베이스를
설정했으니, 이제 질문을 할 수 있습니다.
Vercel AI SDK 문서를 사용해서 OpenAI
모델에서 텍스트를 스트리밍하는 방법을
알려달라고 할 수 있습니다. 단순한 예제죠.
물론 이것을 코딩 과정에서도 사용할 수
있습니다. 여기서는 아주 간단한 예제를
보여드리고 있을 뿐입니다. 음, 잠시
기다려보겠습니다. 몇 가지 검색을 할
테니까요. 시간이 지나면서 다시 돌아가서
검색을 개선할 수도 있습니다. 잠시
작업하도록 놔두고, 몇 가지 예제를
가져온 후 답변을 출력하는 것을
보겠습니다. 여기서 몇 가지 예제를
가져온 후에요. 좋습니다. 조금 시간이
걸렸지만, 몇 가지 예제를 살펴본 후
이제 답변을 얻었습니다. 정말 정확해
보이는 결과를 출력했네요. OpenAI를
가져오고, AI SDK에서 그것을 import하고,
stream text 함수를 가져온 다음,
결과를 이렇게 얻어내는 것이죠.
마지막에 텍스트와 함께요. 정말 정말
좋아 보입니다. 좋습니다. 여기서 약간의
문서화를 했습니다. 기본적인 예제죠.
물론 이것을 훨씬 더 발전시켜서 실제
코딩 과정에서 사용할 수 있습니다.
여기 예제가 있는데, Vercel AI SDK의
템플릿 중 하나를 가져와서, 새로운
지식 베이스를 사용해 여기서 몇 가지
개선을 했습니다. Claude와 통합된
정말 멋진 웹사이트를 만들었죠.
채팅 인터페이스 형태로, 이 도구와 함께
날씨 정보를 얻을 수 있습니다.
여기서 볼 수 있듯이, 코드를 만드는
중간에 crawl4AI RAG MCP 서버를
사용해서 문서를 크롤링하고 있습니다.
이것은 페이지를 분석하고 코드를
변경하는 등 다른 모든 작업과 함께
이루어지는 것입니다. 그리고 제가
만든 프론트엔드가 있습니다.
얼마나 멋있는지 보세요. 정말 정말
깔끔합니다. 특히 제가 작업한 데모는,
궁금하시다면, AI SDK의 Claude 4
시작하기 데모로 시작했습니다.
그리고 훨씬 더 멋있게 보이도록
몇 가지 변경을 했습니다. 그리고
미네소타 미니애폴리스의 날씨가
어떤지 같은 질문을 할 수 있고,
실제로 날씨 도구를 사용해서
정말 멋진 결과를 표시합니다.
도구 호출에서 돌아온 정보와 함께
프론트엔드로 스트리밍된 결과를요.
이 RAG MCP 서버를 사용해서 아주
빠르게 만들고 개선한 멋진 작은 앱입니다.
MCP 서버를 연결하는 것이 얼마나
간단한지 보여드리고 있습니다.
AI 코딩 어시스턴트를 위해 특별히
설계된 정말 강력한 RAG를 가질 수
있습니다. 그리고 제가 말했듯이,
최근에 더욱 강력하게 만들었습니다.
컨텍스트 임베딩을 사용한 RAG의
여러 다른 전략들을 구현했거든요.
AI 코딩 어시스턴스를 위한 것이죠.
그리고 더욱 강력하게 만들었습니다.
제가 말했듯이, 컨텍스트 임베딩과 함께
RAG의 다양한 전략들을 구현했습니다.
하이브리드 RAG, 에이전틱 RAG, 그리고 리랭킹입니다.
이제 간단한 데모를 본 후에 이것들이 어떤 모습인지
다루고 싶고, 그 다음에는 이 MCP 서버와
아콘에 대한 몇 가지 미래 계획들에 대해
말씀드리겠습니다. 그리고 이러한 RAG
전략들을 더 깊이 다뤄보고 싶으시다면,
제가 최근에 다이나미스 AI 마스터리
커뮤니티에서 진행한 몇 가지 워크샵이
있습니다. 따라서 RAG 전략 같은 것들을
저와 함께 더 깊이 탐구하고 싶으시다면
dynamus.ai를 확인해보세요.
또한 제가 현재 구축하고 있는
AI 에이전트 구축을 위한 완전한 코스도
그곳에 있습니다. 매일 이벤트가 있고,
모두 AI를 함께 마스터하고 있는
큰 커뮤니티가 있습니다.
분명히 참여하고 싶어하실 만한
종류의 것입니다.
그리고 제가 이러한 전략들을 어떻게
구현했는지 보고 싶으시다면, 이 크롤포AI RAG
서버의 코드도 확인해보실 수 있습니다.
하지만 저와 함께 단계별로
정말로 살펴보시려면,
다이나미스에 훌륭한 워크샵이 있습니다.
어쨌든, 이제 이 전략들에 대해
알아보겠습니다. 컨텍스추얼 임베딩부터
시작하면, 실제로 이것은 안트로픽 팀이
도입한 RAG 전략입니다.
그들은 컨텍스추얼 검색에 대한
이 기사를 가지고 있으며, 여기에는
제가 아래 설명에 링크를 남겨둘
컨텍스추얼 임베딩이 포함되어 있습니다.
본질적으로 하는 일은 분할하고 있는
문서에 대해 원시 청크를 임베딩하는 대신,
문서를 분할할 때 각 청크를 가져와서
모든 단일 청크에 대해 프롬프트를
실행할 것입니다.
그리고 본질적으로 그 프롬프트는
청크에 앞서서 LLM에게
이 청크가 그것이 속한 나머지 문서와
어떻게 맞아떨어지는지 알려주는
추가 컨텍스트를 제공할 것입니다.
그래서 이것이 여러분의 프롬프트가
어떻게 생겼는지입니다. 전체 문서를
제공하고 전체 문서 내에서
위치시키고 싶은 청크가 여기 있다고
말합니다. LLM이 이 청크를 검색할 때
추가 정보를 가질 수 있도록
약간의 추가 컨텍스트를 제공합니다.
그리고 전체 문서를 넣어야 하더라도
그렇게 비싸지 않도록 프롬프트 캐싱을
사용할 수 있습니다.
다행히 우리의 문서 페이지들의 경우,
보통 그렇게 길지 않습니다.
그래서 여기 소스 코드 내에서
각각의 다른 전략들에 대해
소스 코드를 조금 살펴보고 싶습니다.
컨텍스추얼 임베딩을 생성하는
이 함수가 있습니다.
안트로픽 기사의 정확히 같은 프롬프트를
가지고 OpenAI를 호출합니다.
그리고 다시, 이 서버에 대해서도
향후 다른 LLM들을 지원하고 싶습니다.
하지만 추가 컨텍스트를 얻기 위해
OpenAI를 호출하고 그것을 반환합니다.
그래서 이제 우리의 청크는
추가 컨텍스트가 앞에 붙게 됩니다.
여기에 실제 청크 컨텍스트 자체와
분리하는 삼중 대시가 있습니다.
그래서 이제 LLM이 이 정보를
검색할 때, 그것으로 무엇을 해야 할지
더 잘 알게 됩니다.
그래서 우리 데이터베이스 내에서
Vercel AI SDK에 대해 그것이
어떻게 보이는지 말하면
이 청크들 중 하나의 내용을 클릭하면
코드에서 봤던 것처럼 삼중 대시 구분자가 있고
실제 청크 콘텐츠가 있지만
이 청크가 어떻게 유용한지에 대한
추가 정보를 제공하는 전처리된 텍스트도 있습니다
특히 문서나 페이지의
중간 부분에 있는 청크들의 경우
정말 정말 유용합니다
이렇게 하면 이 특정 정보 조각의
앞뒤 맥락을 더 잘 파악할 수 있습니다
그리고 이 레코드에서 가져온
정보에 대해 더 잘 이해할 수 있죠
다시 readme로 돌아가서
하이브리드 검색에 대해 살펴보겠습니다
하이브리드 검색은 AI 에이전트가
일반적인 RAG 위에
키워드 검색을 수행할 수 있도록 하는 것입니다
RAG 자체는 의미적 검색이거든요
정확한 키워드 매칭을 하지 않습니다
그래서 때때로 OpenAI를 찾고 있는데
OpenAI로 검색하면
RAG에서 돌아오는 청크들이
반드시 OpenAI라는 단어를 포함하지 않을 수 있어요
하지만 아마도 여러분은
그 단어가 포함된 청크만 가져오고 싶을 거예요
키워드 검색은 여러분의 지식 베이스에서
그것을 구체적으로 얻는 방법입니다
코드에서 이게 어떻게 보이는지
빠르게 보면
하이브리드 검색이 활성화되어 있고
다시 말하지만 이는
환경 변수를 통해 설정됩니다
맥락적 임베딩도 켜고 끌 수 있고
하이브리드 검색도
바로 여기서 켜고 끌 수 있습니다
활성화되어 있다면
여기서 이 쿼리를 수행합니다
Supabase에서 대소문자를 구분하지 않는
키워드 검색을 하면서
코드 예제나
크롤링된 페이지 테이블에서 가져옵니다
이제 도구들이 있는데
에이전틱 RAG에서 설명하겠지만
코드 예제와
일반 지식 베이스 둘 다를 위한 도구가 있습니다
그냥 이 검색을 하면서
콘텐츠나 요약이
우리가 찾고 있는 키워드를
포함하는지 확인합니다
LLM을 사용해서 특정 키워드들을
골라내기도 하고
그것을 일반 RAG와 결합해서
LLM에 반환하는 두 세트의 청크를
모두 갖게 됩니다
실제로 이게 어떻게 보이는지 보여드릴 수 있는데
N8N으로 가면
매우 간단한 AI 에이전트를 만들었고
제 Crawl4AI RAG MCP 서버에 연결했습니다
Windsurf에서 연결한 것처럼
여기 N8N에서도 하고 있고
다시 말하지만
다양한 에이전트와
N8N, AI 코딩 어시스턴트 등에
연결하는 방법에 대한 설명이 readme에 있습니다
이것이 제 SSE URL이고
MCP 서버는 앞서 본 것처럼
제 머신의 터미널에서 실행되고 있습니다
이제 채팅으로 들어가서
여기서 이전 대화도 볼 수 있는데
Windsurf에서 했던 것처럼
LMS 텍스트를 크롤링해 달라고 요청했고
여기서 새로운 대화를 시작해서
문서를 사용해서 Vercel AI SDK가 무엇인지
알려달라고 요청할 수 있습니다
이건 아주 기본적인 질문인데
단순하게 시작해서 여러분께
MCP 서버의 입력과 출력이 무엇인지 보여드리고 싶어서입니다.
그래서 이걸 닫고
다시 들어가보겠습니다.
보시다시피 우리가
MCP 서버에서 perform rag query 도구를 호출했습니다.
Vercel AI SDK에 대한 쿼리로 말이죠.
여기서는 특정 소스로 필터링하지 않았습니다.
아주 기본적인 질문이라서요.
그리고 오른쪽에 보이는 모든 것은
키워드 검색에서 반환된 청크들과
의미 검색, 즉 더 전통적인 RAG 조회의
조합이 될 것입니다.
여기에 정말 많은 정보가 있습니다.
꽤 많은 청크를 받았거든요.
물론 LLM에게는 너무 많지 않지만요.
이제 다시 돌아가서
여기가 우리의 답변입니다.
Vercel 팀이 구축한 것으로
애플리케이션과 기능을 확장하기 위해 만들어졌습니다.
AI 애플리케이션을 향상시키는 것이죠.
네, 정말 좋아 보입니다.
매우 종합적인 답변이네요.
이렇게 하이브리드 검색을 해봤습니다.
이제 다음 전략은 에이전틱 RAG입니다.
저는 이미 제 채널에서
에이전틱 RAG에 대해 꽤 많이 다뤘습니다.
이것은 AI 에이전트에게
지식 베이스를 다양한 방법으로 탐색할 수 있는
능력을 제공하는 것입니다.
에이전틱 RAG의 정말 일반적인 패턴 중 하나는
서로 다른 목적을 가진 여러 개의
벡터 데이터베이스를 갖는 것입니다.
그리고 에이전트가 각각에 접근할 수 있는
도구를 갖는 것이죠. 그리고 이것이 바로
코드 예제 테이블로 우리가 하고 있는 일입니다.
RAG를 위한 완전히 별도의 테이블로
거의 별도의 벡터 데이터베이스 같은 것인데
우리가 크롤링한 라이브러리와 관련된
모든 코드 예제를 특별히 저장하는 곳입니다.
그래서 저는 모든 문서를 포함한
페이지들을 크롤링했고
특히 예제들에 집중했습니다.
그리고 저는 예제가 정말 강력하다고 생각합니다.
AI 코딩 어시스턴트에게 예제를 제공하면 정말 많은 도움이 됩니다.
그래서 전용 섹션을 만들고
이것들을 특별히 검색할 수 있는 능력을 갖는 것으로
정말 좋은 결과를 얻었습니다.
그리고 앞서 암시했듯이
우리는 특별히 하나의 도구를 가지고 있습니다.
RAG 쿼리를 수행하는 도구인데
코드 예제가 아닌 크롤링된 페이지 테이블에서 말이죠.
그것이 N8N에서 사용된 것입니다.
하지만 그다음에는 매우 유사한 도구가 또 있는데
이번에는 코드 예제 테이블을 검색하는 것입니다.
둘 다 RAG를 사용하지만 서로 다른 지식 베이스이고
에이전트가 사용자 질문이나
코딩하려는 내용에 따라 어떤 것을 검색할지
추론할 수 있습니다.
그래서 이것이 에이전틱 RAG인 것입니다.
여기에는 더 많은 추론이 작용합니다.
에이전트가 지식 베이스를 탐색하는 다양한 방법들이죠.
그래서 N8N에서 아주 간단한 예제를
보여드리기 위해 여기서 명확히 하겠습니다.
확실한 데모를 만들고 싶어서요.
또한 글로벌 규칙과
시스템 프롬프팅 등을 사용하면
이러한 다양한 테이블을 정말 잘
사용하는 방법을 알게 할 수 있습니다.
하지만 글로벌 규칙과
시스템 프롬프팅 등을 통해
이 다양한 테이블들을 정말 잘
사용할 수 있게 만들 수 있습니다.
하지만 저는 단순히 AI SDK 코드 예제를 검색해서
OpenAI 스트리밍 출력을 사용하는 예제를 찾으라고 지시하고 있습니다.
그래서 여기로 들어가보면
첫 번째 실행에서 사용 가능한
모든 소스들을 가져오는 것을 볼 수 있습니다.
그리고 두 번째 실행에서는 이제
OpenAI를 쿼리로 사용하여
스트리밍 출력으로 코드 예제를 검색하는
함수를 사용하고 있습니다.
그리고 여기에 소스 ID가 있습니다.
이제 우리가 받는 결과는
매우 유사하게 보일 것입니다.
단지 여러 청크들의 묶음이지만
이제 이것들은 우리의 perform rag 쿼리 도구 대신
코드 예제 도구에서 나오고 있습니다.
그래서 여기 출력으로 돌아가면
예제가 있습니다. 좋습니다, 이것을 살펴보죠.
POST 요청이 있고
출력을 OpenAI로 보내고 있습니다.
그리고 어시스턴트 응답을 반환하고 있습니다.
이것이 정확한지는 완전히 확실하지 않지만
여기서 중요한 것은
이러한 예제들을 다시 가져오고 있다는 것입니다.
이것을 보세요. AI SDK에서 직접
가져온 이 예제가 있고
제가 여기서 본 코드를 기반으로
OpenAI에서 어시스턴트 응답을 가져오고 있습니다.
마치 제가 정확히 하고 싶었던 것처럼
내뱉고 있는 것 같습니다.
예제를 찾아서 제게 내뱉어 주었습니다.
그것은 정말 완벽합니다.
그리고 그것이 우리를 여기
마지막 전략인 리랭킹으로 이끕니다.
아직 제 채널에서 다루지 않은 내용이지만
이것은 확실히 또 다른 매우 강력한 전략입니다.
리랭킹의 역할은
벡터 데이터베이스에서 반환된 청크들을 가져와서
실제로 질문이나
우리가 코딩하려는 것과 가장 관련성이 높은 순서로
정렬하는 것입니다.
별도의 AI 모델을 사용합니다.
대형 언어 모델이 아니라
크로스 인코더라고 불리는 모델을 사용해서
쿼리와 우리가 되돌려 받은 청크들을 분석하고
평가된 관련성을 기반으로 정렬합니다.
그래서 코드로 가보면
리랭킹을 사용하고 있다면
이것이 어떻게 보이는지
다시 말하지만, 이것은 환경 변수에서
설정한 것에 의해 결정됩니다.
그러면 결과를 리랭킹하기 위해
이 함수를 호출할 것입니다.
그래서 우리는 이 모델을 호출할 것입니다.
이것은 단지 여러분의 컴퓨터에서
로컬로 실행되는 크로스 인코더 모델입니다.
우리가 여기서 설정한 것을 보여드리겠습니다.
그래서 HuggingFace에서
다운로드하고 있는 이 크로스 인코더가 있습니다.
오픈소스 모델을 가져와서
리랭킹을 하는 데 사용하고
그다음 점수를 기반으로
정렬된 결과를 반환합니다.
우리가 생성하는 모든 쌍에 대해
model.predict를 호출해서 점수를 얻습니다.
사용자 쿼리나 이 경우 AI 어시스턴트 쿼리와
각 청크의 쌍을 생성하고
그것들을 점수 매기고 정렬할 것입니다.
그래서 N8N으로 돌아가면
이 출력이 어떻게 보이는지 볼 수 있습니다.
코드 예제에서 반환한 청크의
이 최상위 항목이 가장 높은 점수를 가지고 있습니다.
점수를 봅시다. 아래로 스크롤해서
re-rank 점수를 확인해보면, 이
JSON이 정말 복잡하게 보이지만
AI 코딩 어시스턴트가 읽기에는 매우
쉽습니다. re-rank 점수는
3점입니다. 그리고 맨 아래
마지막 청크까지 가보면
re-rank 점수가 -10.4입니다. 이 값이
우리에게 큰 의미는 없지만 기본적으로
작을수록, 즉 매우 부정적인
숫자일수록 관련성이 낮다는
의미입니다. 그래서 맨 아래에
있는 것이죠. 그리고 이것은
3점으로 가장 관련성이 높습니다.
출력을 비교했을 때 보신 것처럼
이것이 실제로 선택되어
우리 질문인 'OpenAI로
스트림 출력을 어떻게 하는가'에
대해 공유된 예시입니다.
재랭킹은 또한 강력한 방법으로
RAG에서 50개의 다른 청크 같은
많은 청크를 반환하고 나서
재랭킹을 사용해서
가장 관련성 높은 10개만 반환하는
방법입니다. 기본적으로
LLM에 더 많이 넣지 않고도
더 많은 청크로 작업할 수 있게 해주어
압도당하지 않고 프롬프트가
너무 길어지지 않게 하는 방법입니다.
재랭킹은 또 다른 매우 강력한
기법이고 이는 이 RAG MCP
서버에 대한 미래 계획으로 이어집니다
왜냐하면 더 많은 전략을
구현하고 싶기 때문입니다. 멀티쿼리 RAG
쿼리 확장 같은 것들, 심지어
Graffiti나 Light RAG 같은
지식 그래프를 활용한 에이전틱 RAG 구축도요.
여기서 구현할 수 있는 다양한
전략들이 정말 많아서 AI 코딩 어시스턴트를
위한 최고의 RAG MCP 서버를
만들 수 있습니다. 그리고 많은 것들을
뒤에서 실험하고 있습니다
지금 이 순간에. 그래서 시간을
들이고 있고 그래서 이 시점에서
Archon에서 실제 활동을
많이 보지 못했습니다. 왜냐하면
이것을 Archon에 구축하고 Archon에 대한
비전을 AI 코딩 어시스턴트의
지식 백본으로 전환할 때까지
최적의 RAG 전략을
확실히 갖추고 싶기 때문입니다.
Archon을 프로젝트 작업 관리를
돕고 프로젝트의 다른 부분을
관리할 에이전트를 설정해서
구축하는 것으로 계속 발전시켜 나가고
있습니다. 이에 대한 아이디어가
정말 많고, 흥미진진한 이유가
정말 많습니다. 그리고 이것을 오픈소스로
유지하겠습니다. 공개적으로 계속
구축해 나갈 것이고 여러분도
계속 따라오실 수 있고
원한다면 구축을 도와주실 수도 있습니다.
정말 그것을 권장합니다.
실제로 지금 누군가가 Archon의
프론트엔드 개편을 도와주고 있어서
자동 크롤링을 설정할 수 있고
문서를 최신 상태로 유지하고
UI에서 MCP 서버를 관리할 수 있습니다.
기본적으로 Archon을 완전한
애플리케이션으로 만들어서 AI 코딩
어시스턴트와 AI 에이전트에
연결할 수 있게 하는 것입니다.
충분히 범용적이어서 이제
원하는 모든 것에 대한 RAG가 될 것입니다.
그래서 Archon에 대한 비전은
사람들이 작업하는 대부분의
에이전트와 AI 코딩 어시스턴트에
동력을 제공하는 것입니다.
거기까지 갈 수 있는 능력이 있다고
생각하고 그 정도까지 가져갈 비전이 많습니다.
지금 이 Crawl4AI RAG MCP
서버에 대해 갖고 있는 모든 것과
최종적으로 이것을 Archon의
다음 진화로 만들 계획입니다.
그리고 다시 한 번 강조하고 싶은 것은
이것이 완전히 오픈소스 프로젝트이고
계속 그럴 것이라는 점입니다.
그래서 다양한 방법으로 참여하실 수
있습니다. GitHub에서 PR을 만들어
변경 사항을 도와주실 수 있고
아래 댓글이나 GitHub
저장소에서 제안을 해주실 수 있습니다.
어떤 방식으로든 참여하고 싶으시다면
정말 환영합니다. 이것은 큰 사업이고
여러분의 도움이 확실히 필요합니다.
이 콘텐츠를 좋아하시고
이 MCP 서버나 AI 에이전트에
대한 더 많은 내용을 기대하신다면
좋아요와 구독을 정말
부탁드립니다. 그럼 다음 영상에서
뵙겠습니다