Jak nauczyć się tworzenia agentów AI od podstaw
Poznaj sześciostopniową ścieżkę nauki agentów AI: od koncepcji i pętli decyzyjnych po narzędzia, pamięć oraz bezpieczeństwo. Zbuduj własne projekty zamiast polegać na frameworkach.
Sześciostopniowa ścieżka
Aby nauczyć się tworzenia agentów AI od podstaw, należy przejść przez sześć etapów w określonej kolejności: koncepcje, pierwsza pętla, narzędzia, pamięć, projektowanie pętli oraz bezpieczeństwo. Każdy etap wymaga samodzielnego zbudowania konkretnego elementu. Pomijanie etapów jest najczęstszą przyczyną braku postępów, ponieważ frameworki ukrywają dokładnie te mechanizmy, które należy zrozumieć.
Agent AI to pętla wokół modelu językowego, która posiada uprawnienia do wywoływania narzędzi. To zdanie stanowi istotę całego zagadnienia. Wszystko, co następuje po nim, to szczegóły dotyczące zawartości pętli, zakresu działania narzędzi oraz sposobów przerwania pętli w przypadku wystąpienia błędu. Jeśli potrafisz wyjaśnić działanie pętli innej osobie, oznacza to, że opanowałeś materiał. Jeśli potrafisz jedynie wymienić nazwy frameworków, oznacza to, że jeszcze tego nie zrobiłeś.
Poniższy plan zakłada naukę poprzez budowanie. Przeczytaj etap, zbuduj mały projekt, celowo go zepsuj, a następnie przejdź dalej. Etap, który został tylko przeczytany, jest etapem niewykonanym.
Czego faktycznie potrzebujesz przed etapem 1
Rzetelna lista wymagań wstępnych jest krótka i krótsza, niż sugeruje większość stron kursów.
- Potrafisz czytać i pisać w Python lub TypeScript na poziomie pięćdziesięcioliniowego skryptu.
- Swobodnie poruszasz się w powłoce Linux: potrafisz zainstalować pakiet, edytować plik, odczytać log.
- Posiadasz klucz API do modelu hostowanego lub maszynę, na której można uruchomić model lokalny.
To cała lista. Nie potrzebujesz teorii uczenia maszynowego ani doświadczenia w trenowaniu modeli. Praca z agentami nie obejmuje gradientów ani danych treningowych. Karta graficzna ma znaczenie tylko wtedy, gdy zdecydujesz się na samodzielne uruchomienie modelu, co jest osobną umiejętnością, którą można zdobyć później, korzystając z hostowania Ollama na VPS w celu samodzielnego uruchomienia LLM.
To, co ludzie często nie doceniają, to biegłość w obsłudze powłoki. Agenci zawodzą z powodu uprawnień, ścieżek, zmiennych środowiskowych i procesów, które kończą się bez komunikatu. Jeśli ślad stosu dotyczący PATH lub trybu pliku powoduje, że zamykasz terminal, poświęć najpierw weekend na podstawy systemu Linux. Zaoszczędzi Ci to miesiąc pracy w przyszłości.
Etap 1: czym jest agent, a czym nie jest
Zacznij od jednego wywołania API bez pętli. Wyślij prompt, wyświetl odpowiedź i sprawdź liczbę tokenów w odpowiedzi. W ten sposób zrozumiesz jednostkę kosztu oraz jednostkę opóźnienia.
Następnie należy poznać użycie narzędzi. To jedyna naprawdę nowa koncepcja w całej tej dziedzinie. Funkcję opisuje się dla modelu za pomocą nazwy, opisu oraz schematu JSON (JavaScript Object Notation) określającego dane wejściowe. Model niczego nie uruchamia. Zwraca ustrukturyzowane żądanie: wywołać run_command z tymi argumentami. Kod uruchamia funkcję, odsyła jej wynik jako wiadomość i ponownie wysyła żądanie do modelu. Model jest modułem planującym, który odczytuje tekst i zapisuje tekst. Kod pełni rolę wykonawczą. Kod po tej stronie wymiany ma nazwę, gdy zaczyna się porównywać projekty: to uprząż agenta, czyli pętla, narzędzia i uprawnienia opakowane wokół modelu, który nie ma żadnego z tych elementów.
Chatbot kończy działanie po jednej odpowiedzi. Agent powtarza tę wymianę, dopóki model przestanie żądać użycia narzędzi. Ta powtarzalność stanowi całą różnicę i dlatego tryby awarii również są odmienne. Chatbot udziela błędnej odpowiedzi jednorazowo. Agent podejmuje działania na podstawie błędnej odpowiedzi wielokrotnie, zanim ktokolwiek to zauważy.
Etap 2: samodzielne napisanie pętli
Nie należy zaczynać od frameworka. Należy napisać około trzydziestu linii kodu w Python, aby zrozumieć strukturę rozwiązania.
sudo apt update && sudo apt install -y python3-venv
python3 -m venv ~/agent
source ~/agent/bin/activate
pip install anthropic
export ANTHROPIC_API_KEY=your-key-hereimport subprocess
import anthropic
client = anthropic.Anthropic()
tools = [{
"name": "run_command",
"description": "Run a read only shell command and return its output.",
"input_schema": {
"type": "object",
"properties": {"command": {"type": "string"}},
"required": ["command"],
},
}]
messages = [{"role": "user", "content": "How much disk space is free here?"}]
while True:
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=messages,
)
if response.stop_reason != "tool_use":
break
messages.append({"role": "assistant", "content": response.content})
results = []
for block in response.content:
if block.type == "tool_use":
done = subprocess.run(
block.input["command"], shell=True,
capture_output=True, text=True, timeout=10,
)
results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": done.stdout or done.stderr,
})
messages.append({"role": "user", "content": results})
print(next(b.text for b in response.content if b.type == "text"))Uruchom kod za pomocą python3 agent.py. Poprawne wykonanie skutkuje wyświetleniem akapitu z nazwami systemów plików oraz ilością wolnego miejsca, ponieważ model otrzymał polecenie df -h, kod je wykonał, a drugie przejście pętli przekształciło tabelę w zdanie. Jeśli wynik jest pusty, oznacza to, że pętla zakończyła się przed otrzymaniem bloku tekstu. Dodaj print(response.stop_reason) wewnątrz pętli, aby obserwować zmiany wartości.
Teraz należy celowo wywołać błąd. Usuń linię tool_use_id i przeanalizuj komunikat o błędzie, ponieważ wynik narzędzia bez pasującego identyfikatora jest odrzucany przez API, co stanowi najczęstszy błąd początkujących użytkowników. Zadaj pytanie wymagające wykonania dwóch poleceń i obserwuj, jak pętla wykonuje się dwukrotnie. Zadaj pytanie niemożliwe do zrealizowania i sprawdź, czy proces zakończy działanie, czy wpadnie w nieskończoną pętlę.
Ostrzeżenie dotyczące tego przykładu: przekazuje on dane wyjściowe modelu bezpośrednio do powłoki za pomocą shell=True, co jest dopuszczalne na maszynie testowej przeznaczonej do reinstalacji, lecz niedopuszczalne w jakimkolwiek innym środowisku. Etap 6 rozwiązuje ten problem. Koncepcje związane z pętlą zostały szerzej omówione w budowanie własnego agenta AI na VPS.
Etap 3: narzędzia, których agent nie posiadał wcześniej
Twoje narzędzie run_command działa, ale prawdziwy agent potrzebuje narzędzi, które wykraczają poza jego środowisko: systemu zgłoszeń, bazy danych, repozytorium. Pisanie dedykowanego wrappera dla każdej usługi i każdego agenta nie jest skalowalne.
Model Context Protocol (MCP) jest rozwiązaniem, na które zdecydowała się branża. Serwer MCP udostępnia zestaw narzędzi za pośrednictwem standardowego transportu, a każdy agent obsługujący MCP może z nich korzystać bez dodatkowego kodu integrującego. Referencyjny serwer systemu plików to jedno polecenie:
npx -y @modelcontextprotocol/server-filesystem /home/you/projectsWymaga to zainstalowanego Node, a argument katalogu jest jedyną ścieżką, do której serwer będzie miał dostęp. To model bezpieczeństwa w miniaturze: to serwer wyznacza granice, a nie model. Skieruj na niego klienta, a Twój agent zyska możliwość odczytu i zapisu plików, których nie musiałeś samodzielnie implementować. Prawidłowe uruchamianie tych rozwiązań, z wykorzystaniem konta serwisowego oraz wyjaśnieniem wyboru transportu, zostało opisane w uruchamianie serwerów MCP na VPS dla agentów programistycznych AI. W przypadku drugiego serwera, który wskazuje na rzeczywiste dane, a nie na katalog tymczasowy, self hosting openGym, narzędzia do śledzenia treningów dostarcza wersję tylko do odczytu. Dzięki temu możesz ćwiczyć zadawanie pytań dotyczących własnej historii treningowej bez ryzyka, że agent uszkodzi jakiekolwiek dane.
Lekcją płynącą z tego etapu jest to, że projektowanie narzędzi to właściwa praca. Niejasny opis zmusza model do zgadywania. Narzędzie, które zwraca czterdzieści tysięcy znaków, zatruwa okno kontekstowe. Narzędzie, które może usuwać dane, ostatecznie je usunie.
Etap 4: pamięć, czyli głównie pliki
Początkujący użytkownicy sięgają w tym miejscu po bazę wektorową. Nie należy tego robić, przynajmniej na razie.
Agent nie posiada pamięci pomiędzy wywołaniami. Za każdym razem przesyłana jest cała konwersacja, dlatego długa sesja kosztuje więcej za każdą turę niż krótka. Pamięć dzieli się zatem na dwa problemy. Pierwszym jest to, co mieści się w oknie kontekstowym w danej chwili; zarządza się tym poprzez podsumowywanie, przycinanie starych danych wyjściowych narzędzi oraz buforowanie stałego prefiksu promptu, co pozwala płacić ułamek ceny za jego przetwarzanie. Drugim problemem jest to, co przetrwa restart, czyli przechowywanie danych.
W przypadku drugiego problemu, zwykły plik markdown, który agent może odczytywać i edytować, sprawdza się lepiej niż baza wektorowa w niemal każdym pierwszym projekcie. Należy udostępnić jeden plik, określić jego format i polecić agentowi odczytanie go przed rozpoczęciem pracy oraz aktualizację po zdobyciu nowej wiedzy. Pozwala to uzyskać większość korzyści, a użytkownik może w każdej chwili otworzyć plik i sprawdzić, jakie informacje posiada agent. Po embeddingi i mechanizmy wyszukiwania warto sięgnąć dopiero wtedy, gdy notatki przestaną mieścić się w oknie kontekstowym, a nie wcześniej.
Etap 5: pętla jako produkt
Na tym etapie możliwe jest stworzenie agenta, który działa pod nadzorem. Etap 5 polega na zapewnieniu jego poprawnego działania bez nadzoru.
Cztery pytania decydują o tym, czy pozostawienie agenta bez opieki jest bezpieczne. Co go wyzwala, aby nie działał bez celu. W jakich granicach operuje, aby ewentualny błąd miał ograniczony zasięg. W jaki sposób weryfikowany jest wynik, ponieważ agent oceniający własną pracę zawsze wystawia sobie ocenę pozytywną. Jaki budżet go ogranicza, wyrażony w tokenach lub czasie rzeczywistym. Świadome zaprojektowanie tych czterech elementów to dyscyplina opisana w inżynierii pętli i zakresie tej definicji.
Ćwiczenie: należy wziąć agenta z etapu 2, zlecić mu zadanie wymagające czterech lub pięciu kroków i dodać sztywny limit iteracji. Następnie należy usunąć limit i zaobserwować, jak nieograniczona pętla wpływa na zużycie tokenów. Należy wykonać to raz przy niskim budżecie, aby uniknąć przypadkowego wygenerowania wysokich kosztów w przyszłości.
Etap 6: bezpieczeństwo, sekrety i koszty
Ten etap nie jest opcjonalny; znajduje się na końcu tylko dlatego, że ryzyko staje się odczuwalne dopiero po zbudowaniu działającego rozwiązania.
Uruchamiaj agenta jako osobnego użytkownika bez uprawnień, nigdy jako root i nigdy jako własne konto. Dzięki temu zasięg ewentualnej awarii ogranicza się do katalogu, a nie całego systemu. Nie udostępniaj poświadczeń modelowi, ponieważ każda informacja znajdująca się w oknie kontekstowym może zostać przytoczona w wywołaniu narzędzia. Rozwiązaniem jest stosowanie krótkotrwałych tokenów za pośrednictwem pomocnika, zgodnie z opisem w utrzymywanie sekretów poza agentami AI. Nałóż twardy limit wydatków, ponieważ działająca w pętli usługa generuje koszty przy każdej iteracji bez nadzoru. Limity oraz mechanizmy przetwarzania wsadowego, które zapewniają kontrolę, opisano w kontrola kosztów agenta AI na serwerze VPS działającym w trybie ciągłym.
Jeśli agent działa wewnątrz gotowego środowiska, a nie w samodzielnie napisanym skrypcie, część tego etapu polega na konfiguracji, a nie na kodowaniu. Wtyczki wtyczki DeepSeek Harness warte zainstalowania realizują większość tych założeń poprzez limity budżetowe, reguły uprawnień narzędzi oraz skanowanie pod kątem wstrzykiwania kodu.
Kwestia kosztów wymaga konkretnych liczb. Według stanu na lipiec 2026 roku, Claude Opus 5 kosztuje 5 USD za milion tokenów wejściowych i 25 USD za milion tokenów wyjściowych. Rozgadany agent, przesyłający ponownie rosnącą historię konwersacji, może przetworzyć kilkaset tysięcy tokenów w ramach jednego zadania. Prompt caching oraz stosowanie mniejszego modelu do rutynowych kroków zmieniają ten rachunek znacznie bardziej niż jakakolwiek optymalizacja promptu.
W tym miejscu należy również wspomnieć o wstrzykiwaniu promptów (prompt injection). Jeśli agent odczytuje stronę internetową, system śledzenia zgłoszeń lub skrzynkę odbiorczą, autorzy tych treści mogą jednocześnie przesyłać instrukcje dla agenta. Wyszukiwanie w sieci jest zazwyczaj narzędziem, które otwiera tę furtkę jako pierwsze, a kierowanie agenta na własną instancję SearXNG pokazuje zarówno sposób połączenia, jak i wynikającą z tego powierzchnię ataku. Obrona nie polega na stosowaniu sprytniejszego promptu systemowego. Kluczowe są granice uprawnień, ponieważ agent, który nie ma możliwości usunięcia repozytorium, nie może zostać nakłoniony do jego usunięcia.
Którą ścieżkę nauki wybrać?
Należy wybrać jeden program nauczania i ukończyć go, zamiast próbować sześciu różnych. Repozytorium Microsoft ai-agents-for-beginners jest najbardziej kompletnym darmowym źródłem; to kurs składający się z osiemnastu lekcji, który do lipca 2026 roku uzyskał ponad 70,000 gwiazdek i jest ściśle powiązany z powyższymi etapami. Zestawienia popularnych repozytoriów z agentami są przydatne do sprawdzenia, co istnieje na rynku, ale znacznie mniej użyteczne jako sylabus, ponieważ lista posortowana według gwiazdek odzwierciedla popularność, a nie kolejność nauczania.
Jeśli celem jest praca nad rzeczywistym projektem w ramach ćwiczeń, najlepszym pierwszym wyborem jest agent programistyczny: informacja zwrotna jest natychmiastowa, narzędzia są oczywiste, a błędy łatwe do naprawienia. Uruchamianie agenta AI do programowania na VPS przeprowadza przez ten proces od początku do końca. Jeśli zamiast budowania od zera preferowana jest analiza działających systemów, porównanie w najlepsze samodzielnie hostowane agenty AI pokazuje, w jaki sposób różne projekty rozwiązują ten sam problem pętli.
Ile czasu to zajmuje?
Dla osoby posiadającej doświadczenie w programowaniu, etapy 1 i 2 to kwestia jednego wieczoru. Etap 3 zajmuje weekend, przy czym większość czasu poświęca się na opisy narzędzi, a nie na sam protokół. Etapy 4 i 5 wymagają kilku tygodni rzeczywistego użytkowania, ponieważ braki w wiedzy agenta ujawniają się dopiero w trakcie jego pracy. Etap 6 nigdy nie kończy się w pełni, gdyż każda nowa funkcja dodana do systemu wymaga ponownej weryfikacji.
Dwa miesiące regularnej pracy wieczorami pozwalają większości osób stworzyć działającego, ograniczonego i użytecznego agenta. Osoby, którym zajmuje to rok, zazwyczaj poświęcają czas na czytanie zamiast na budowanie.
FAQ
Czy muszę znać uczenie maszynowe, aby budować agentów AI?
Nie. Budowanie agenta polega na wywoływaniu modelu przez API i łączeniu jego żądań narzędzi z rzeczywistymi funkcjami, co jest zwykłym programowaniem aplikacji. Nie ma potrzeby zajmowania się trenowaniem, gradientami ani zbiorami danych. Umiejętności decydujące o tym, czy agent działa poprawnie, to projektowanie schematów dla narzędzi, obsługa błędów oraz uprawnienia w systemie Linux. Teoria uczenia maszynowego staje się istotna dopiero w przypadku dostrajania modelu, co jest odrębnym zadaniem o innych wymaganiach wstępnych.
Czy powinienem zacząć od frameworka typu LangChain lub CrewAI?
Najpierw napisz jedną surową pętlę, a dopiero potem zastosuj framework. Framework zastępuje trzydzieści linii kodu z etapu 2 obiektem konfiguracyjnym, co jest wygodne, gdy wiadomo, co zostało zastąpione, ale dezorientujące, gdy nie ma się tej wiedzy. Gdy agent działa nieprawidłowo, konieczne jest bezpośrednie przeanalizowanie listy wiadomości oraz wyników narzędzi, co jest znacznie trudniejsze bez wcześniejszego doświadczenia w tym zakresie. Po napisaniu własnej pętli framework oszczędza czas, zamiast ukrywać mechanizm działania.
Ile kosztuje nauka tworzenia agentów AI?
Mniej, niż większość osób zakłada, pod warunkiem nałożenia limitów. Klucz API od dostawcy oraz mały VPS wystarczą do realizacji wszystkich sześciu etapów. Prawdziwym ryzykiem nie jest stawka godzinowa, lecz nieograniczona pętla generująca koszty przy każdej iteracji podczas snu. Pierwszego dnia ustaw twardy limit wydatków na koncie API, dodaj limit iteracji do każdej napisanej pętli i używaj tańszego modelu do rutynowych kroków. Uruchamianie modelu lokalnie eliminuje opłaty za tokeny, zastępując je wymaganiami sprzętowymi.
Jaka jest różnica między agentem AI a chatbotem?
Chatbot odpowiada jednorazowo. Agent powtarza cykl: model prosi o narzędzie, kod je uruchamia, wynik wraca, a model decyduje o kolejnym kroku. Ta powtarzalność pozwala agentowi ukończyć zadanie wieloetapowe i jest powodem, dla którego agenci wymagają ograniczeń, których nie potrzebują chatboty. Błędna odpowiedź chatbota to tylko niepoprawny akapit tekstu. Błędna odpowiedź agenta to niepoprawny akapit oraz skutki działań, które agent podjął na jego podstawie.