N8N AI Agent Tutorial: Od prostego promptu do ustrukturyzowanych danych przepływu pracy
Dlaczego automatyzacja przepływu pracy teraz wymaga więcej niż stałych reguł
Wyobraź sobie przepływ pracy, który otrzymuje zdanie takie jak: “A new client named John bought a gpu server on 01/06/2026.” Osoba czytająca to natychmiast widzi trzy przydatne wartości: nazwę klienta, produkt i datę.
Sztywny przepływ pracy nie. Może podzielić tekst, wyszukiwać wzorce i walidować formaty, ale w momencie, gdy zmienia się sformułowanie — “John just ordered a GPU server yesterday” lub “New customer John purchased hosting on June 1” — kruche parsowanie zaczyna się łamać.

To jest granica między klasyczną automatyzacją a warstwą AI. Deterministyczne przepływy pracy doskonale sprawdzają się, gdy dane wejściowe są czyste: routing danych, transformacja pól, walidacja rekordów, wywoływanie API i niezawodne powtarzanie sekwencji. Potykają się na brudnym pierwszym kroku — interpretacji intencji, klasyfikacji żądań, streszczaniu nieustrukturyzowanej zawartości lub wyodrębnianiu pól z języka naturalnego, zanim przepływ pracy będzie mógł działać.
To jest dokładnie miejsce, gdzie n8n AI Agent staje się praktyczny. W tym przewodniku najpierw zdobędziesz zrozumienie w zwykłym języku angielskim, czym dokładnie jest n8n AI Agent wewnątrz przepływu pracy, a następnie zbudujesz ugruntowany pierwszy przypadek użycia, który zamienia język naturalny w dane strukturyzowane.
Czym naprawdę jest agent AI n8n
W n8n agent AI najlepiej rozumieć jako krok rozumowania wewnątrz workflow’u. Jest to node, który używa modelu do interpretacji danych wejściowych, pracy z kontekstem i pomocy w kształtowaniu tego, co się stanie dalej. Może to oznaczać odpowiadanie na prompt, ekstrakcję pól, klasyfikację żądania lub decydowanie o tym, jak powinien być przygotowany następny krok workflow’u. Ważne jest to, że agent znajduje się wewnątrz workflow’u. Nie jest to cały system sam w sobie.

Poszczególne części są łatwiejsze do zrozumienia, gdy oddzielisz je według roli:
| Część | Co robi |
|---|---|
| 🤖 Model czatu | Zapewnia model języka, który generuje lub strukturyzuje odpowiedź |
| 🧠 Pamięć | Przenosi kontekst rozmowy lub zadania między turami |
| 🛠️ Narzędzia | Umożliwiają agentowi wywoływanie zewnętrznych możliwości lub źródeł danych |
| 🔗 Zwykłe nodes workflow’u | Obsługują wyzwalacze, mapowanie, walidację, routing i działania downstream |
Model obsługuje elastyczną interpretację. Otaczające nodes n8n nadal kontrolują strukturę: skąd pochodzą dane, jak są mapowane, co jest walidowane, który node uruchamia się następnie i co ostatecznie zostaje zapisane w innym systemie. Jeśli potrzebujesz przewidywalnego wykonania, zatwierdzeń, integracji lub reguł biznesowych, workflow pozostaje odpowiedzialny.
💡 Wskazówka: Najczystszy model mentalny to: workflow to wciąż szyny; agent to krok rozumowania wewnątrz tych szyn.
To również ułatwia powiedzenie, czym agent AI n8n nie jest. Nie jest to tylko node chatbota. Nie jest to magiczna autonomia. Nie jest to coś, czego potrzebuje każdy workflow. Jeśli stała reguła, prosta transformacja lub jedno ograniczone AI prompt już rozwiązuje problem, dodanie warstwy agenta tylko komplikuje sprawy. Wartość pojawia się, gdy workflow musi radzić sobie z niejasnością, zanim będzie mógł ponownie stać się deterministyczny.
Gdzie agenci AI n8n pomagają najbardziej w rzeczywistych przepływach pracy
Najlepszym miejscem do użycia agenta AI n8n jest punkt, w którym niejednoznaczność człowieka wchodzi do systemu.
- Zespoły wsparcia mogą potrzebować przeczytać przychodzące żądanie i sklasyfikować, czy dotyczy ono rozliczeń, problemów technicznych czy jest pilne.
- Zespoły operacyjne mogą otrzymywać wewnętrzne żądania w języku naturalnym i muszą wyciągnąć pola przed routingiem.
- Zespoły sprzedaży mogą chcieć przekształcić bałaganiarską wiadomość od potencjalnego klienta w czyste dane gotowe do CRM.
- Przepływy pracy obciążone dokumentami mogą potrzebować wyciągnięcia nazw, dat, numerów faktur lub szczegółów usług z nieustrukturyzowanego tekstu.
W każdym z tych przypadków podział pracy pozostaje taki sam. Agent interpretuje, wyciąga, podsumowuje lub klasyfikuje. Węzły deterministyczne następnie walidują wynik, kierują go do właściwej gałęzi, tworzą rekordy, powiadamiają ludzi lub zapisują wynik w innym systemie. Ta granica ma znaczenie, ponieważ zachowuje użyteczną część AI — elastyczną interpretację — bez rezygnacji z przewidywalności, która sprawia, że automatyzacja przepływu pracy jest warta zastosowania.

Ekstrakcja strukturalna jest szczególnie silnym pierwszym przypadkiem użycia, ponieważ jest ograniczona, widoczna i natychmiast użyteczna dla następnych etapów. Możesz zobaczyć zdanie wejściowe, zdefiniować pola, które chcesz otrzymać, a następnie użyć tych pól jak normalnych danych przepływu pracy. To sprawia, że korzyść jest konkretna. Zamiast „AI powiedziało coś pomocnego” otrzymujesz „przepływ pracy ma teraz nazwę, produkt i datę, a następny węzeł może na nich działać.”
To również dobre miejsce, aby pamiętać o jednej zasadzie: więcej zachowań agenta niekoniecznie jest lepsze. Jeśli stała reguła lub pojedynczy prompt już rozwiązuje problem, prawdopodobnie nie potrzebujesz pełnej warstwy agenta. Ten artykuł zawęża się do ekstrakcji strukturalnej, ponieważ pokazuje rzeczywistą wartość przepływu pracy bez udawania, że każdy problem automatyzacji wymaga szerokiej autonomii.
Co budujemy w tym tutorialu

Ten tutorial celowo uczy dwóch przepływów pracy. Przepływ pracy A to najmniejszy możliwy wzorzec:
Manual Trigger -> Set -> AI Agent -> OpenRouter Chat Model -> plain responseJego zadaniem nie jest Cię imponować. Jego zadaniem jest uczynić ścieżkę danych widoczną, abyś mógł dokładnie zobaczyć, jak prompt wchodzi do przepływu pracy, dociera do agenta i wraca jako zwykła odpowiedź.
Przepływ pracy B zachowuje tę samą bazę i ulepsza ją za pomocą Structured Output Parser oraz węzła kodu Create invoice. Zamiast zwracać akapit, agent zwróci przewidywalne pola. Te pola są następnie używane do zbudowania obiektu faktury, co sprawia, że dane wyjściowe są natychmiast przydatne dla reszty przepływu pracy.
Ta dwuetapowa progresja ma znaczenie. Najpierw widzisz, jak agent zachowuje się w najprostszej możliwej formie. Następnie widzisz, dlaczego zwykłe wyjście AI to tylko połowa historii automatyzacji. Prawdziwa korzyść pojawia się, gdy przepływ pracy zamienia język naturalny w dane strukturalne.
Zanim zaczniesz: wymagania wstępne i przygotowanie

Przed zbudowaniem przepływu pracy przygotuj trzy rzeczy:
- Uruchomioną instancję n8n
- Uprawnienia do tworzenia i edycji przepływu pracy
- Działające poświadczenia API OpenRouter
Możesz uruchomić tę samą logikę w n8n Cloud, jeśli chcesz, ale ten artykuł jest sformułowany wokół środowiska samodzielnie hostowanego, ponieważ jest to typowy przypadek użycia w stylu AlexHost, gdy zespoły chcą większej kontroli nad danymi, siecią lub prywatnymi integracjami.
Praktyczne źródło tego samouczka zostało zaobserwowane na n8n 2.26.8 działającym na VPS AlexHost. Jeśli nadal musisz wdrożyć n8n przed spróbowaniem części AI, użyj oddzielnego przewodnika AlexHost tutaj: n8n automation tutorial for Ubuntu: from zero to flow.
📓 Uwaga: Mała uwaga terminologiczna zanim będziesz kontynuować: nowsza dokumentacja może pokazywać węzeł Set jako Edit Fields (Set), ale ten przewodnik zachowuje prostsze słowo Set, ponieważ to jest to, co używa praktyczne źródło.
Powód, dla którego ten artykuł zaczyna się od Manual Trigger + Set zamiast Chat Trigger, jest prosty: utrzymuje dane wejściowe jawne, ułatwia mapowanie do inspekcji i usuwa jedną warstwę zamieszania dla pierwszej budowy. Uczysz się, jak węzeł AI Agent pasuje do przepływu pracy i jak ten przepływ pracy przechodzi od swobodnego monitu do strukturalnych, gotowych do automatyzacji wyników.
Praktyczna część 1: zbuduj najmniejszy możliwy przepływ n8n AI Agent
Ten pierwszy przepływ pracy potwierdza podstawowy wzorzec, zanim poprosimy go o coś bardziej użytecznego. Utworzysz widoczne wejście, przekażesz je do AI Agent, połączysz model OpenRouter i potwierdzisz, że przepływ pracy zwraca normalną odpowiedź tekstową.
1.0 Dodaj węzeł wyzwalacza i węzeł wejścia
Zacznij od umieszczenia węzła Manual Trigger i węzła Set na kanwie. To utrzymuje punkt wejścia prosty i daje ci jedno jasne pole do przekazania do agenta.

W tym momencie nie robisz jeszcze nic „specyficznego dla AI”. Przygotowujesz czyste wejście przepływu pracy, aby następny węzeł miał coś wyraźnego do odczytania.
1.1 Skonfiguruj węzeł Set
Otwórz węzeł Set, przełącz go na Manual Mapping, utwórz pole o nazwie prompt i wklej poniższy tekst startowy. To daje przepływowi pracy jedną widoczną wartość, którą możesz później zamienić na bardziej biznesowe zdanie.
Hello, who are you?
To robi coś prostego, ale ważnego: zamiast ukrywać prompt wewnątrz węzła AI, trzymasz go w normalnych danych przepływu pracy. To sprawia, że ścieżka wejścia jest łatwiejsza do zrozumienia i ponownego użycia.
2.0 Umieść AI Agent i połącz model czatu
Teraz dodaj węzeł AI Agent i połącz OpenRouter Chat Model do jego wejścia Chat Model. W prostych słowach, widoczne wejścia oznaczają to: Chat Model to model, którego agent używa do odpowiadania, Memory to opcjonalny kontekst, który utrzymuje się między turami, a Tool to opcjonalne połączenie, które pozwala agentowi wywoływać zewnętrzne możliwości. W tym pierwszym przepływie pracy tylko model jest połączony, ponieważ celem jest zrozumienie najmniejszego działającego wzorca.

Gdy to będzie na miejscu, podział ról staje się widoczny: przepływ pracy nosi wejście, a agent będzie obsługiwać krok interpretacji.
2.1 Skonfiguruj model OpenRouter
Wybierz poświadczenie OpenRouter account i wybierz ten sam model, który pokazano w przepływie pracy źródłowej: deepseek/deepseek-v4-flash. Nie potrzebujesz dodatkowego dostrojenia do tego pierwszego przebiegu.

📝 Notatka: Dostępne modele OpenRouter mogą się różnić w zależności od konta, chociaż przykład źródła prawdy tutaj używa deepseek/deepseek-v4-flash.
Jeśli twoje konto pokazuje inną listę, wzorzec przepływu pracy nadal ma większe znaczenie niż dokładna nazwa modelu.
3.0 Zmapuj pole prompt do AI Agent
Połącz wyjście węzła Set z AI Agent, ustaw Source for Prompt (User Message) na Define below i zmapuj wartość przepływu pracy do pola prompt, używając poniższego wyrażenia. To mówi agentowi, aby odczytał wartość prompt z danych upstream zamiast używać wiadomości zakodowanej na stałe wewnątrz węzła.
{{ $json.prompt }}
To mapowanie jest kluczowym mostem między normalnymi danymi n8n a krokiem AI. Gdy to kliknie, reszta samouczka staje się znacznie łatwiejsza do śledzenia.
3.1 Wykonaj przepływ pracy
Uruchom przepływ pracy, aby dane przesunęły się przez pełny łańcuch: Manual Trigger -> Set -> AI Agent -> OpenRouter Chat Model. Weryfikujesz nie tylko to, że model odpowiada, ale że przepływ pracy czysto przekazuje prompt z jednego węzła do następnego.

Jeśli wykonanie powiedzie się, masz teraz dowód, że agent może konsumować dane przepływu pracy, a nie tylko pisać na wolne ręce wewnątrz własnego interfejsu.
3.2 Przejrzyj odpowiedź
Otwórz wyjście i sprawdź wynik. Na tym etapie AI Agent zwraca normalną odpowiedź tekstową na prompt. To jest podstawowy wzorzec w jego najprostszej formie: wejście promptu, wyjście odpowiedzi.

Ten pierwszy przepływ pracy ma znaczenie, ponieważ potwierdza instalację. Pokazuje również wyraźnie ograniczenie: akapit jest w porządku do interakcji, ale niezręczny do automatyzacji downstream. Następny krok to miejsce, gdzie przepływ pracy staje się znacznie bardziej użyteczny.
Praktyczne ćwiczenie 2: zamiana odpowiedzi na dane strukturalnego przepływu pracy
Teraz zachowujemy ten sam podstawowy przepływ pracy i zmieniamy cel. Zamiast prosić agenta o ogólną odpowiedź, poprosimy go o wyodrębnienie przewidywalnych pól, które następny węzeł może używać jak zwykły JSON.
4.0 Zmień monit i wymagaj określonego formatu
Wróć do węzła Set i zastąp zwyczajne powitanie zdaniem w stylu biznesowym poniżej. Następnie włącz Require Specific Output Format w AI Agent, aby przepływ pracy przestał dążyć do tekstu i zaczął dążyć do strukturalnej ekstrakcji.
A new client named John bought a gpu server on 01/06/2026
To jest moment, w którym przypadek użycia staje się rzeczywisty. Zdanie zawiera dane, które człowiek rozumie natychmiast, a przepływ pracy jest teraz nauczany zwracać te dane w formie możliwej do użycia przez maszynę.
4.1 Dodaj parser strukturalnego wyjścia
Połącz Structured Output Parser z wejściem Output Parser AI Agent. Ten parser to to, co daje modelowi strukturę docelową zamiast pozwalać mu odpowiadać w tekście swobodnym.

📝 Uwaga: Structured Output Parser dobrze nadaje się do tego pierwszego demo, ale oficjalne wytyczne n8n zauważają, że bezpośrednie parsowanie na agentach może być mniej niezawodne w bardziej zaawansowanych przepływach pracy. Dla tego wzorca dla początkujących, to wciąż jest właściwy krok nauczania, ponieważ ułatwia dostrzeżenie zmiany kształtu danych.
Ważna idea to nie dodatkowy węzeł sam w sobie. To fakt, że zamieniasz „odpowiedź AI” na „umowę przepływu pracy”.
4.2 Zdefiniuj schemat wyjścia na podstawie przykładu JSON
W parserze ustaw Schema Type na Generate From JSON Example i użyj dokładnego przykładu poniżej. To daje agentowi jasny schemat z trzema polami, które przepływ pracy oczekuje z powrotem.
{
"name": "Alex",
"product": "VPS hosting",
"date": "21/6/2026"
}
Po zdefiniowaniu tego przykładu nie prosisz już modelu o „powiedzenie czegoś użytecznego”. Prosisz go o zwrócenie przewidywalnej struktury z name, product i date.
4.3 Sprawdź strukturalny wynik
Wykonaj przepływ pracy ponownie i sprawdź wyjście AI Agent. Tym razem wynik powinien wrócić jako pola zamiast akapitu.

Ta zmiana kształtu to prawdziwe ulepszenie. Strukturalne wyjście to nie tylko ładniejsze formatowanie. To to, co sprawia, że wynik jest wystarczająco niezawodny, aby logika poniżej mogła go konsumować bez zgadywania.
4.4 Użyj przeanalizowanych pól w węźle JavaScript tworzenia faktury
Teraz przekaż wynik do węzła JavaScript Create invoice. Kluczowy szczegół źródła prawdy w tym przewodniku to fakt, że przeanalizowany obiekt jest odczytywany z $input.first().json.output, co oznacza, że kod konsumuje strukturalne wyjście agenta bezpośrednio.
// Input data
const order = $input.first().json.output
// Parse the order date
const [day, month, year] = order.date.split("/");
const orderDate = new Date(`${year}-${month}-${day}`);
// Generate a pseudo unique invoice ID (8 chars)
function generateId() {
return Math.random().toString(36).substring(2, 10);
}
const invoiceId = generateId();
// Calculate payment due date (7 days later)
const dueDate = new Date(orderDate);
dueDate.setDate(orderDate.getDate() + 7);
// Build invoice record
const invoice = {
invoice_id: invoiceId,
customer: order.name,
product: order.product,
order_date: orderDate.toISOString().split("T")[0],
due_date: dueDate.toISOString().split("T")[0],
status: "Pending"
};
// Print invoice
console.log("Invoice Generated:");
for (const [key, value] of Object.entries(invoice)) {
console.log(`${key}: ${value}`);
}
// If inside n8n Function node, return JSON
return [{ json: invoice }];
To jest moment, w którym przepływ pracy przestaje zachowywać się jak demo czatu i zaczyna zachowywać się jak automatyzacja. Agent wyodrębnił pola, a następny węzeł użył ich dokładnie jak każdego innego strukturalnego wejścia.
4.5 Przejrzyj wygenerowane dane faktury
Otwórz ostateczne wyjście i sprawdź obiekt faktury. Powinieneś zobaczyć użyteczne pola takie jak invoice_id, customer, product, order_date, due_date i status.

To jest pełny cykl życia, do którego artykuł zmierzał: zdanie w języku naturalnym -> strukturalna ekstrakcja -> rekord faktury. Gdy wynik ma taki kształt, przepływ pracy może go przekazać do późniejszych kroków tak samo niezawodnie jak każdy inny ładunek JSON.
Co te pierwsze dwa przepływy pracy faktycznie dowodzą

Razem te dwa przepływy pracy pokazują dwa różne wzorce dla n8n AI Agent. Pierwszy wzorzec to zwykła odpowiedź na prompt: agent otrzymuje tekst i odpowiada tekstem. Drugi wzorzec to strukturalna ekstrakcja: agent otrzymuje chaotyczny język naturalny i zwraca pola, które przepływ pracy może faktycznie wykorzystać.
Ta różnica ma znaczenie, ponieważ ulepszenie dotyczy możliwości, a nie estetyki. Generowanie tekstu pomaga w interakcji. Strukturalna ekstrakcja pomaga w automatyzacji. Drugi wzorzec to to, co zmienia krok AI z „interesującego” w „operacyjnie przydatny”.
Poniższa tabela podsumowuje tę zmianę:
| Wzorzec | Co zrobił agent | Co przepływ pracy może zrobić dalej |
|---|---|---|
| Zwykła odpowiedź na prompt | Przeczytaj widoczny prompt i zwróć normalną odpowiedź tekstową | Wyświetl odpowiedź, przejrzyj ją lub użyj jej do lekkiej interakcji skierowanej do użytkownika |
| Strukturalna ekstrakcja | Przeczytaj zdanie i zwróć przewidywalne pola takie jak nazwa, produkt i data | Zweryfikuj wartości, utwórz rekordy, rozgałęź logikę, powiadom systemy lub przekaż JSON do kolejnych węzłów |
Kiedy zrozumiesz tę ścieżkę ulepszenia, przykład faktury przestaje być „samouczkiem dotyczącym faktur” i staje się wielokrotnie używalnym wzorcem przepływu pracy. To samo podejście może zasilać przechwytywanie potencjalnych klientów, przyjmowanie zgłoszeń wsparcia, analizowanie zamówień, wzbogacanie biletów lub wewnętrzne kierowanie żądań. W każdym przypadku cel jest ten sam: zamień język naturalny na dane strukturalne, a następnie pozwól deterministycznym węzłom przepływu pracy zrobić resztę.
Co spróbować dalej po tym pierwszym przypadku użycia

Najbezpieczniejszym krokiem nie jest autonomia—to utrzymanie ograniczonego wzorca i ulepszanie jednej zmiennej na raz. Zamień Manual Trigger na Chat Trigger lub Webhook, gdy potrzebujesz danych wejściowych. Dodaj pamięć tylko wtedy, gdy ciągłość ma znaczenie. Dołącz narzędzia tylko wtedy, gdy agent musi coś wyszukać lub działać poza węzłem. Następnie dodaj walidację lub zatwierdzenie, jeśli dane wyjściowe dotykają rzeczywistych systemów.
Self-hosting staje się krytyczny, gdy przepływy pracy wymagają prywatnych danych wejściowych, dostępu do usług wewnętrznych, przewidywalnego czasu pracy lub ściślejszej kontroli—tutaj infrastruktura VPS w stylu AlexHost jest częścią projektu, a nie tylko tłem. W przypadku wdrożenia ten sam przewodnik AlexHost obejmuje konfigurację: n8n automation tutorial dla Ubuntu: od zera do przepływu.
📝 Uwaga: Reguła przewodnia: heurystyka najmniejszego systemu. Jeśli ekstrakcja strukturalna rozwiązuje problem, zatrzymaj się tam. Nie dodawaj pamięci, narzędzi ani autonomii, chyba że przepływ pracy naprawdę ich wymaga.
Zacznij od ograniczonego przypadku użycia, nie od szumu wokół autonomii

Sztywna automatyzacja zwykle pęka w momencie, gdy do systemu wchodzą bałaganiarskie dane od człowieka. To jest luka, na której skupiał się ten artykuł. Teraz masz zarówno model mentalny, jak i działający wzorzec: n8n AI Agent obsługuje elastyczny krok interpretacji, a otaczający workflow zamienia ten wynik w coś ustrukturyzowanego i niezawodnego.
To jest reguła projektowania warta zachowania. Zacznij od kontrolowanych zadań interpretacyjnych, które generują dane gotowe do workflow. Rozszerzaj się na pamięć, narzędzia lub bogatsze wyzwalacze tylko wtedy, gdy rzeczywisty workflow ich potrzebuje — nie dlatego, że słowo „agent” sprawia, że większa autonomia brzmi bardziej imponująco.
na wszystkich usługach hostingowych