NLWeb — opis narzędzia

przez Łukasz | maj 19, 2026

Czym jest NLWeb

NLWeb to otwarty standard Microsoftu który pozwala stronie internetowej odpowiadać na pytania w języku naturalnym — zarówno od ludzi jak i od agentów AI.

Bez NLWeb: agent otwiera stronę, scrape’uje HTML, próbuje zrozumieć strukturę, szuka odpowiedzi w treści.

Z NLWeb: agent wysyła pytanie do /ask. Strona odpowiada bezpośrednio.

Microsoft ogłosił NLWeb 19 maja 2025 na konferencji Build 2025, nazywając go „HTML dla agentic web”. Wśród pierwszych partnerów którzy zadeklarowali adopcję: Shopify, TripAdvisor, O’Reilly Media, Snowflake.

Repozytorium: github.com/nlweb-ai/NLWeb

Dwa endpointy

NLWeb definiuje dwa standardowe punkty dostępu:

/ask — konwersacyjny endpoint dla zapytań w języku naturalnym. Użytkownik lub agent pyta: „jakie usługi oferujecie?” Strona odpowiada na podstawie swojej treści. Działa jak chatbot oparty na zawartości witryny — bez konieczności budowania osobnego UI.

/mcp — endpoint MCP dla agentów AI. Zamiast czytać stronę, agent wywołuje funkcję. Ustrukturyzowany dostęp do treści i akcji strony zgodny z Model Context Protocol Anthropic.

Oba endpointy razem sprawiają że strona przestaje być pasywnym dokumentem do odczytania i staje się aktywnym uczestnikiem rozmowy z agentem.

Związek z MCP i WebMCP

NLWeb, MCP i WebMCP rozwiązują ten sam problem w różnych warstwach:

MCP (Anthropic) — protokół komunikacji między modelem AI a narzędziami po stronie serwera.

WebMCP (propozycja Chrome/W3C) — standard przeglądarkowy po stronie klienta. Strona wystawia listę akcji bezpośrednio w przeglądarce.

NLWeb (Microsoft) — protokół dla stron internetowych. Strona wystawia endpoint który rozumie pytania w języku naturalnym. Implementuje /mcp jako jeden z endpointów — jest kompatybilny z ekosystemem MCP.

Trzy standardy, trzy warstwy. Mogą współistnieć na tej samej stronie.

Historia bezpieczeństwa — czego nauczyła pierwsza podatność

Kilka tygodni po ogłoszeniu NLWeb, niezależni badacze bezpieczeństwa Aonan Guan i Lei Wang odkryli w implementacji referencyjnej klasyczny błąd path traversal.

Mechanizm był prosty: przez spreparowany URL można było nawigować poza dozwolone katalogi i odczytać dowolne pliki na serwerze bez uwierzytelnienia. W tym pliki .env z kluczami API do modeli językowych — GPT-4, Gemini i innych.

Guan opisał konsekwencję precyzyjnie: „Te pliki zawierają klucze API dla modeli językowych, które są kognitywnym silnikiem agenta. Atakujący nie kradnie tylko poświadczenia — kradnie zdolność agenta do myślenia, rozumowania i działania.”

1 lipca 2025 Microsoft wydał łatkę. Jednocześnie odmówił przyznania identyfikatora CVE, łamiąc standardowe praktyki odpowiedzialnego ujawniania podatności. Uzasadnienie: kod referencyjny nie jest używany bezpośrednio w produktach Microsoft. Wszystkie wdrożenia oparte na repozytorium pozostawały jednak narażone do czasu aktualizacji.

Szczegóły wyszły publicznie w sierpniu 2025. Instalacje które nie zaktualizowały się po 1 lipca pozostawały narażone przez kolejne tygodnie.

Dlaczego to ważne dla właścicieli stron:

Path traversal to błąd z lat 90. Pojawił się w protokole który miał być „HTML dla agentic web” — w centralnym punkcie który trzyma klucze API do wszystkich zintegrowanych modeli językowych. Ta sama historia co LiteLLM, Flowise, Marimo — stare klasy błędów, nowe miejsce, nowe konsekwencje.

Jeśli wdrażasz NLWeb przez własne repozytorium — sprawdź czy używasz wersji po 1 lipca 2025.

Jak wdrożyć — trzy ścieżki

Ścieżka 1: Cloudflare AI Search (najprostsza) Cloudflare oferuje wdrożenie NLWeb przez dashboard AI Search bez pisania kodu. Crawluje stronę, indeksuje treść, deployuje Worker z endpointami NLWeb. Publiczne preview — kontakt przez nlweb@cloudflare.com dla wdrożeń produkcyjnych.

Ścieżka 2: Implementacja referencyjna Repozytorium GitHub zawiera implementację w Pythonie. Wymaga własnego serwera, obsługuje różne backendy dla wektorowego wyszukiwania (Azure AI Search, Qdrant, Snowflake i inne).

Ścieżka 3: Cloudflare Worker Template Worker z gotową implementacją endpointów NLWeb. Deployujesz na własnym koncie Cloudflare, pełna kontrola nad konfiguracją.

Co NLWeb zmienia dla właścicieli stron

llms.txt i llms-full.txt mówią agentowi co strona zawiera. NLWeb pozwala agentowi wejść w dialog z treścią strony — zadać pytanie i dostać odpowiedź bez scrape’owania HTML.

Dla właścicieli sklepów, firm usługowych i serwisów contentowych — każda strona z NLWeb staje się de facto asystentem AI opartym na własnych danych, dostępnym dla każdego agenta który zna standard.

Dla kogo teraz

Deweloperzy i osoby techniczne — które chcą eksperymentować ze standardem zanim stanie się powszechny. Cloudflare Worker daje działający endpoint w kilka godzin, bez dotykania istniejącej strony.

Właściciele serwisów contentowych — dokumentacja, baza wiedzy, FAQ — to przypadki gdzie /ask ma natychmiastową wartość. Agent który obsługuje klienta nie musi scrape’ować — pyta.

Jeśli potrzebujesz agent-readiness dziś i nie chcesz eksperymentować — zacznij od llms.txt i structured data. Jeśli chcesz być gotowy na to co standardem stanie się za rok — NLWeb jest ważniejszy niż WebMCP bo ma działającą implementację dostępną teraz.


Sprawdź słownik pojęć Agentic Web

Sprawdź inne narzędzia AI

Table of Contents