MCP + RAG: Dlaczego przestałem budować złożone systemy RAG
Spędziłem cztery lata na budowaniu złożonych systemów RAG.
Używałem strategii chunkingu, modeli embeddingowych, baz danych wektorowych i rerankerów. Zbudowałem system dla mojej bazy wiedzy o objętości 1800 godzin. Za każdym razem myślałem, że czynię go doskonałym.
Nigdy nie działał dobrze.
Potem dodałem obsługę Model Context Protocol (MCP). To zmieniło wszystko. MCP sprawia, że tradycyjne, złożone RAG staje się dla większości ludzi przestarzałe.
Kiedyś zmagałem się z tymi problemami:
- Wybór między chunkingiem semantycznym a rekurencyjnym.
- Wybór między embeddingami OpenAI, Cohere czy Nomic.
- Decydowanie między Pinecone, Weaviate czy Chroma.
- Zarządzanie top-k retrieval i rerankingiem.
Mój system RAG osiągnął 2000 linii kodu. Był imponujący, ale zawiódł. Próbowałem uczynić moje dane inteligentnymi, podczas gdy AI było już inteligentne.
Przeszedłem na podejście MCP. Zbudowałem serwer mający zaledwie 150 linii kodu.
Dałem AI tylko dwa narzędzia:
- search_notes: Używa prostego dopasowania tekstu do znajdowania notatek.
- get_note_content: Zwraca pełną treść notatki.
Żadnego chunkingu. Żadnych złożonych embeddingów. Żadnych baz danych wektorowych.
To proste podejście wygrywa z moim wymyślnym systemem RAG w 9 na 10 przypadków. Oto dlaczego:
- AI zajmuje się logiką. AI lepiej decyduje o tym, co jest istotne, niż z góry ustawiony chunker.
- Pełny kontekst. Tradycyjne RAG tnie notatki na małe kawałki. Często powoduje to utratę odpowiedzi. Dzięki MCP AI czyta całą notatkę. Widzi kompletny pomysł.
- Przewidywalność. Wyszukiwanie tekstowe jest proste. Jeśli słowo kluczowe istnieje, działa. Unikasz dryfu embeddingów i błędów wymiarowości.
Powinieneś nadal używać tradycyjnego RAG, jeśli:
- Masz ponad 100 000 dużych dokumentów.
- Potrzebujesz skalowalnej produkcji o niskich opóźnieniach.
Ale w przypadku osobistych baz wiedzy, projektów pobocznych czy narzędzi wewnętrznych, nie jest to potrzebne.
Korzyści z MCP:
- Łatwość utrzymania: 150 linii zamiast 2000.
- Brak kosztów embeddingów: Nie musisz ponownie tworzyć embeddingów danych, gdy zmieniają się modele.
- Większa dokładność: AI otrzymuje pełny kontekst.
- Łatwe debugowanie: Możesz dokładnie zobaczyć, dlaczego wyszukiwanie nie powiodło się.
Przestań stosować over-engineering. Pozwól AI wykonać najcięższą pracę. Daj jej dostęp do swoich danych i pozwól jej czytać.
Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi
