Strona główna / Artykuły / Uwagi praktyczne: RAG nie istnieje już. LLM Wiki — pomysł Andreja Karpathy’ego — to to, co przyjdzie dalej

Uwagi praktyczne: RAG nie istnieje już. LLM Wiki — pomysł Andreja Karpathy’ego — to to, co przyjdzie dalej

Krok po kroku instrukcja obsługi Notatek praktycznych: RAG nie istnieje już. LLM Wiki — pomysł Andreja Karpathy’ego — to to, co przyjdzie dalej: kontrakty, weryfikacje oraz miejsca na kod dostępne dla zespołów tworzących rozwiązania typu RAG.

2114 słów

Poniższe notatki przedstawiają praktyczne podejście do tematu „RAG Is Dead. LLM Wiki — pomysł Andreja Karpathy’ego — to to, co przyjdzie dalej”. Nacisk kładziony jest na umowy, sprawdzania oraz miejsca zastępcze dla kodu, a nie na motywacyjne aspekty. Pracując nad przeglądem ogólnym, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zdokumentuj zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponowne, ludzkie kontrolery oraz obsługa wiadomości błędowych stanowią część produktu, a nie elementy dodawane później.

Czym jest LLM Wiki?

Co to jest LLM Wiki? Najlepiej funkcjonuje, gdy traktuje się je jako mierzalną powierzchnię. Zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres. Wolij małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy jakiś krok zawiedzie, awaria powinna wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Określ budżet tokenów na jeden ruch i na jedną sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne limity zapobiegają temu, by demonstracje przerodziły się w nieoczekiwane rachunki.

Cztery implementacje

The Four Implementations funkcjonuje najlepiej, gdy traktuje się je jako mierzalną powierzchnię do analizy. Zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia działań, zanim rozszerzysz zakres pracy. Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzuć przypadki częściowego ukończenia pracy bez informacji.

1. nashsu/llm_wiki — Aplikacja desktopowa

  1. nashsu/llm_wiki — Aplikacja na komputerze działa najlepiej, gdy traktuje się ją jako powierzchnię poddającą się pomiarom. Zanim rozszerzy się zakres, należy zarejestrować jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Obok wyników funkcjonalnych należy zapisywać czasy wykonywania operacji oraz koszt tokenów lub zapytań. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy przechodzi się od wersji demonstracyjnej do środowisk współdzielonych. Określ budżet tokenów na jeden ruch i na jedną sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne limity zapobiegają temu, by wersje demonstracyjne przerodziły się w niespodziewane rachunki.
  2. nashsu/llm_wiki — Aplikacja na komputerze działa najlepiej, gdy traktuje się ją jako powierzchnię poddającą się pomiarom. Zanim rozszerzy się zakres, należy zarejestrować jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Należy jednocześnie udokumentować prawidłowy przebieg działania oraz ścieżkę naprawczą. Próby ponownych działań, kontrola przez człowieka oraz obsługa wiadomości nieodebranych stanowią część produktu, a nie elementy dodawane później.
git clone https://github.com/nashsu/llm_wiki.git
cd llm_wiki
npm install
npm run tauri dev

2. nvk/llm-wiki — Wtyczka Agent

Dla 2. nvk/llm-wiki — The Agent Plugin, należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy preferować małe, łatwe do przetestowania jednostki nad rozbudowanymi skryptami. Gdy dany krok zawiedzie, powinno to wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. W przypadku, gdy następnym krokiem jest kod lub wywołanie narzędzia, lepsze są ustrukturyzowane wyniki z walidacją schematu niż tekst w formie swobodnej.

# For Claude Code users
claude plugin install wiki@llm-wiki
# For Codex users
codex plugin marketplace add nvk/llm-wiki# For any LLM agent (including local)
git clone https://github.com/nvk/llm-wiki.git
cp llm-wiki/AGENTS.md ./AGENTS.md
# Pass AGENTS.md as the system prompt to your local agent runner
/wiki init                              # Create ~/wiki/
/wiki:research "machine learning" --sources 10
@wiki query "what is attention mechanism"
@wiki audit                             # Find gaps

3. Pratiyush/llm-wiki — The Transcript Wiki

Dla 3. Pratiyush/llm-wiki — The Transcript Wiki, przed zmianą kodu należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia. Operatorzy powinni móc ponownie uruchomić ten krok od znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Traktuj tę fazę jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nazwij poszczególne elementy, zdefiniuj kryteria sukcesu i odrzuć ciche, częściowe ukończenie zadania. Przy następnym kroku, który polega na pisaniu kodu lub wywoływaniu narzędzia, preferuj strukturyzowane wyniki z walidacją schematu zamiast tekstów w formie swobodnej.

git clone https://github.com/Pratiyush/llm-wiki.git
cd llm-wiki
./setup.sh            # or setup.bat on Windows
pip install -e .
llmwiki sync          # Parse your transcripts
llmwiki build         # Generate static HTML
llmwiki serve         # Browse at http://localhost:8080
llmwiki mcp start

4. lucasastorian/llmwiki — The MCP-Powered Wiki

Dla 4. lucasastorian/llmwiki — Wiki napędzane MCP, przed zmianą kodu należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy rejestrować czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy ścieżka przechodzi z środowiska demonstracyjnego do współdzielonych środowisk. W przypadku, gdy następnym krokiem jest kod lub wywołanie narzędzia, należy preferować ustrukturyzowane wyniki z walidacją schematu zamiast tekstów w formie swobodnej. Dla 4. lucasastorian/llmwiki — Wiki napędzane MCP, przed zmianą kodu należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy udokumentować zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponownego wykonania, kontrola przez człowieka oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy do dodania później.

git clone https://github.com/lucasastorian/llmwiki.git
cd llmwiki
cd api && pip install -r requirements.txt && cd ..
cd web && npm install && cd ..export ANTHROPIC_API_KEY=your_key_here
./llmwiki init
./llmwiki open ~/your-documents

Który model powinieneś użyć?

Pracując nad pytaniem „Który model powinieneś użyć?”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Wolij małe, testowalne jednostki od rozbudowanych skryptów. Gdy jakiś krok się nie powiedzie, błąd powinien wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Zachowuj w pamięci tymczasowej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego prefiksu to częsty powód marnotrawstwa zasobów.

Ollama vs vLLM

Gdy porównujesz Ollamę z vLLM, najpierw spisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzuć przypadkowe, częściowe ukończenie zadań. Zapisuj identyfikator żądania, identyfikator modelu oraz czas opóźnienia przy każdej próbie połączenia. Bez tych informacji przerywane błędy dostawcy wyglądają jak błędy aplikacji.

Zalecenia dotyczące modeli

Gdy pracujesz nad Model Recommendations, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zapisz czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy przechodzi się z środowiska demonstracyjnego do współdzielonych środowisk. Zachowuj w pamięci podręcznej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego prefiksu to częsty powód marnotrawstwa zasobów. Gdy pracujesz nad Model Recommendations, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zdokumentuj zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponownych wysiłków, kontrola przez ludzi oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dodawane później.

Rozruch z Ollamą

Najlepsze efekty uzyskuje się podczas pracy z Ollamą, gdy traktuje się ją jako coś mierzalnego. Zanim rozszerzysz zakres, zapisz jeden udany przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Wolno preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy jakiś krok zawiedzie, awaria powinna wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Ustal stałe wartości interpretera oraz pliku lockfile z zależnościami przed nauczeniem pętli. Różnice między laptopem a środowiskiem CI to najczęstsza przyczyna ukrytych awarii w demonstracjach API.

ollama pull qwen2.5:14b
# The API is now at http://localhost:11434
# OpenAI-compatible endpoint: http://localhost:11434/v1

Praca z vLLM

Korzystanie z vLLM działa najlepiej, gdy traktuje się je jako mierzalną powierzchnię do analizy. Zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia działań, zanim rozszerzysz zakres pracy. Traktuj ten etap jako umowę pomiędzy wprowadzanymi danymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzucaj ciche, częściowe ukończenie zadań. Określ budżet tokenów na jeden ruch i na całą sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne limity zapobiegają temu, by demonstracje przerodziły się w nieoczekiwane rachunki.

pip install vllm
vllm serve Qwen/Qwen2.5-14B-Instruct \
  --max-model-len 131072 \
  --host 0.0.0.0 \
  --port 8000
vllm serve Qwen/Qwen2.5-1M \
  --enable-chunked-prefill \
  --max-model-len 1000000

Wybór odpowiedniej implementacji

Wybór odpowiedniej implementacji daje najlepsze rezultaty, gdy traktuje się ją jako coś mierzalnego. Zanim rozszerzysz zakres, zapisz jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Zapisz czasy wykonywania operacji oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy przechodzi się od wersji demonstracyjnej do środowisk współdzielonych. Przydziel budżet tokenów na każdy ruch i sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne limity zapobiegają temu, by wersje demonstracyjne przerodziły się w niespodziewane rachunki. Wybór odpowiedniej implementacji daje najlepsze rezultaty, gdy traktuje się ją jako coś mierzalnego. Zanim rozszerzysz zakres, zapisz jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Zdokumentuj zarówno prawidłowy przebieg działania, jak i ścieżkę naprawczą. Próby ponownych działań, kontrolne punkty ludzkie oraz obsługa wiadomości błędowych stanowią część produktu, a nie elementy dodawane później.

Dlaczego to ma znaczenie

Aby zrozumieć, dlaczego to jest ważne, należy przed modyfikacją kodu określić dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy dany krok zawiedzie, powinien wskazywać na konkretną odpowiedzialność, a nie na skomplikowany proces. W przypadku, gdy następnym krokiem jest kod lub wywołanie narzędzia, lepsze są ustrukturyzowane wyniki z walidacją schematu niż tekst w formie swobodnej.

Lista kontrolna przy rozpoczynaniu pracy

Dla listy kontrolnej rozpoczęcia pracy należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie wykonać dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Traktuj tę fazę jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nazwij poszczególne elementy, zdefiniuj kryteria sukcesu i odrzuć ciche, częściowe ukończenie zadania. Przy następnym kroku, który polega na pisaniu kodu lub wywoływaniu narzędzia, preferuj strukturyzowane wyniki z walidacją schematu zamiast tekstów w formie swobodnej.

Wiadomość od naszego założyciela

Aby otrzymać wiadomość od naszego założyciela, należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić dany krok od znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy rejestrować czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy ścieżka przechodzi z środowiska demonstracyjnego do współdzielonych środowisk. W przypadku, gdy następnym krokiem jest kod lub wywołanie narzędzia, lepiej używać ustrukturyzowanych wyników z walidacją schematu niż tekstu w formie swobodnej. Aby otrzymać wiadomość od naszego założyciela, należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić dany krok od znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy udokumentować zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponownych działań, kontrolne punkty ludzkie oraz obsługa wiadomości błędowych stanowią część produktu, a nie elementy dodawane później.

Lista kontrolna operacyjna

Dla listy kontrolnej operacyjnej należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie wykonać dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu.

Konfigurację należy przechowywać oddzielnie od kodu aplikacji. Pliki środowiskowe, magazyny tajemnic oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności przeglądania całej struktury.

Zamiast tekstów swobodnego formatu, należy preferować ustrukturyzowane wyniki z walidacją schematu, szczególnie gdy następnym krokiem jest kod lub wywołanie narzędzia.

Należy zmierzyć stopień odnalezienia odpowiedzi na ustalone zestawy pytań przed dostosowywaniem promptów. Częste zmiany promptów rzadko rozwiązują problemy z słabą efektywnością wyszukiwania.

Należy utrzymywać koszt przetwarzania na niskim poziomie i odkładać drogie operacje obliczeniowe na później, po dokonaniu pomiarów. Przedwczesne stosowanie mechanizmów memoizacji może ukrywać błędy związane ze starymi danymi.

Dodaj test dymny, który sprawdza kluczową ścieżkę w CI przy użyciu fixitów, a nie rzeczywistych, płatnych API, gdy tylko pozwala na to budżet.

Zanim przejdziesz na nową architekturę, zamroź wersje, utwórz „złoty” zapis transkrypcji dla kluczowej ścieżki i potwierdź kroki odwracania zmian. Środowiska współdzielone wymagają ograniczeń szybkości, weryfikacji dostępu oraz wyraźnego właściciela odpowiedzialnego za rotację haseł. Wolisz nudną niezawodność od sprytnych, jednorazowych demonstracji.

Uwaga dotycząca a71fa3c414a4: trzymaj klucze dostawcy poza repozytorium, ustaw ograniczenie liczby tokenów na sesję i przechowuj transkrypcje obok fixitów do oceny, aby późniejsze zamiany modeli pozostały porównywalne.

Literatura pokrewna

  • Notatki praktyczne: Wykorzystanie Spring AI do tworzenia następnej generacji — Szczegółowy przewodnik po Notatkach praktycznych: Wykorzystanie Spring AI do tworzenia następnej generacji: kontrakty, sprawdzania oraz gotowe elementy kodu dla zespołów wdrażających ten wzorzec.
  • Notatki praktyczne: Google Next 2026: Co nowego w Looker, BigQuery i obsłudze danych — Szczegółowy przewodnik po Notatkach praktycznych: Google Next 2026: Co nowego w Looker, BigQuery i obsłudze danych: kontrakty, sprawdzania oraz gotowe elementy kodu dla zespołów wdrażających ten wzorzec.