Przejdź do treści
coden

Jak działa agent AI: model językowy w pętli z narzędziami

Pętla rozumowanie – wywołanie narzędzia – wynik na prawdziwym zadaniu na artykułach tej strony, trzy podejścia i ich koszt w tokenach, dlaczego rośnie kontekst, plan i pamięć, niezawodność długich zadań z kontrolą i bez niej oraz dlaczego agent potrzebuje zatwierdzania.

11 minut Matěj Žalmánek 2026-10-16

Seria Podstawy AI Część 50 z 52
  1. Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
  2. Krótka historia sztucznej inteligencji: od Turinga do modeli językowych
  3. Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
  4. Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
  5. Zbiory i relacje: klocki, z których składają się definicje w AI
  6. Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
  7. Logika i dowody: reguły, według których rozumuje AI
  8. Grafy i drzewa: struktura, na której opierają się przeszukiwanie i sieci neuronowe
  9. Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
  10. Pochodne, gradient i reguła łańcuchowa: jak model ustala, w którą stronę się uczyć
  11. Spadek gradientu: jak uczy się model
  12. Czym jest prawdopodobieństwo: od rzutu kostką do aksjomatów Kołmogorowa
  13. Prawdopodobieństwo warunkowe i twierdzenie Bayesa: jak zmienić ocenę, gdy dowiesz się czegoś nowego
  14. Zmienna losowa i dystrybuanta: jedna funkcja, która mówi o rozkładzie wszystko
  15. Funkcja gęstości i funkcja prawdopodobieństwa: dlaczego zmienna ciągła ma w punkcie prawdopodobieństwo zero
  16. Wartość oczekiwana, wariancja i kowariancja: gdzie leży rozkład, jak jest szeroki i co z czym się wiąże
  17. Przegląd rozkładów prawdopodobieństwa: Bernoulliego, dwumianowy, Poissona, jednostajny, normalny i wykładniczy
  18. Prawo wielkich liczb i centralne twierdzenie graniczne: dlaczego średnie zachowują się tak przewidywalnie
  19. Statystyka i estymacja parametrów: największa wiarygodność, MAP i przedziały ufności
  20. Teoria informacji: entropia, entropia krzyżowa i dywergencja KL — skąd się biorą funkcje straty
  21. Przeszukiwanie przestrzeni stanów: BFS, DFS, UCS i A* z animacjami
  22. Gry i przeciwnik: minimax, przycinanie alfa-beta i Monte Carlo tree search
  23. Spełnianie ograniczeń: backtracking, propagacja ograniczeń i AC-3 na sudoku i mapie czeskich krajów
  24. Logika i systemy z bazą wiedzy: wnioskowanie w przód i wstecz, rezolucja i systemy ekspertowe
  25. Planowanie: STRIPS, świat klocków, heurystyki z relaksacji i planowanie w agentach AI
  26. Przeszukiwanie lokalne i symulowane wyżarzanie: komiwojażer przez czeskie miasta wojewódzkie
  27. Algorytmy genetyczne: populacja, krzyżowanie, mutacja i selekcja na plecaku na wycieczkę
  28. Strategie ewolucyjne i programowanie genetyczne: od reguły jednej piątej do prawa Keplera
  29. Optymalizacja kolonią mrówek: jak ślad feromonowy znajduje krótką drogę
  30. Optymalizacja rojem cząstek: bezwładność, własne doświadczenie i doświadczenie roju
  31. Neuroewolucja: ewolucja wag i kształtu sieci neuronowych oraz algorytm NEAT
  32. Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”
  33. Logika rozmyta a prawdopodobieństwo: dlaczego „trochę ciepło” nie znaczy „prawdopodobnie ciepło”
  34. Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
  35. Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku
  36. Klasteryzacja rozmyta: algorytm fuzzy c-means i punkty między skupieniami
  37. Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
  38. Łańcuchy Markowa: macierz przejścia, rozkład stacjonarny i PageRank
  39. Ukryte modele Markowa: algorytm Viterbiego i nieuczciwe kasyno
  40. Sieci bayesowskie: dlaczego trawa jest mokra i co z tego wynika dla zraszacza
  41. Filtr Kalmana: jak z niedokładnych pomiarów oszacować, gdzie jest samochód i jak szybko jedzie
  42. Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
  43. Prompty, kontekst i RAG: jak dać modelowi właściwe informacje
  44. Wariacyjne autoenkodery (VAE): nowe obrazki z ciągłej przestrzeni latentnej
  45. Generatywne sieci przeciwstawne (GAN): fałszerz kontra detektyw
  46. Modele dyfuzyjne: jak z czystego szumu powstaje obraz
  47. Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana
  48. Q-learning i DQN: uczenie się wartości akcji od tabeli po sieć neuronową
  49. Policy gradient i PPO: uczenie się bezpośrednio polityki
  50. Jak działa agent AI: model językowy w pętli z narzędziami
  51. Programowanie z agentami AI: zadanie, testy i kontrola
  52. Ocena i bezpieczeństwo systemów AI: jak mierzyć i jak pilnować

Pełny program serii Gotowe: 52 z 83 tematów

Czego się dowiesz
  • Co dzieje się w agencie krok po kroku i co robi model, a co program obsługujący.
  • Dlaczego kontekst jest drogi i jak dobrzy agenci go oszczędzają.
  • Dlaczego długie zadania bez kontroli zawodzą i jak pomagają testy i zatwierdzanie.

Warto wiedzieć wcześniej: Prompty, kontekst i RAG: jak dać modelowi właściwe informacje, Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana

Model językowy sam z siebie tylko odpowiada: dostaje tekst, zwraca tekst. Agent to model, któremu dajemy ręce — narzędzia, którymi może coś sprawdzić albo zrobić — i pozwalamy mu pracować w pętli, dopóki nie skończy zadania. Tak działają agenci programistyczni, którzy sami czytają kod, uruchamiają testy i poprawiają błędy, i asystenci, którzy szukają w sieci. I tak działa też agent, którym sterujesz z telefonu przez coden. W tej części rozbierzemy pętlę na prawdziwym zadaniu i policzymy, ile kosztuje i gdzie się łamie.

Nawiązuje do części Prompty, kontekst i RAG, Tokenizacja i Procesy decyzyjne Markowa.

1. Model w pętli

Definicja — agent AI

Agent to program, w którym model językowy wielokrotnie (1) dostaje zadanie i dotychczasowy przebieg, (2) decyduje, co dalej — wywołać narzędzie czy odpowiedzieć, (3) program obsługujący naprawdę wykonuje narzędzie i dołącza wynik do kontekstu. Pętla kończy się, gdy model napisze ostateczną odpowiedź albo skończy się budżet kroków. Przeplatanie rozumowania i działania opisali Shunyu Yao i in. (2022) pod nazwą ReAct (reason + act).

Mówiąc prościej

Bystry kolega przez telefon, który nie widzi twojego komputera. Mówi „otwórz folder src”, ty mu czytasz, co tam jest, on mówi „teraz plik server.js, wiersze od 100 do 150” — i tak dalej, aż ma odpowiedź. Model to ten kolega, program obsługujący to twoje ręce i oczy. W języku uczenia ze wzmocnieniem: stanem jest dotychczasowa rozmowa, akcją wywołanie narzędzia.

vk = M(ck),   ck+1 = ck ⊕ vk ⊕ N(vk)

ck
kontekst przed k-tym wywołaniem modelu: prompt systemowy, zadanie i wszystko, co się dotąd wydarzyło. To cały „stan” agenta — niczego innego model nie pamięta
M
model językowy; z kontekstu pisze następny krok. Jedyna część, która „myśli”, i jedyna, której nie można w pełni ufać
vk
krok modelu: rozumowanie i wywołanie narzędzia albo ostateczna odpowiedź (wtedy pętla się kończy)
N(vk)
wynik narzędzia, który oblicza program obsługujący; dodaje do kontekstu to, czego model sam wiedzieć nie może (zawartość pliku, wynik testów)
⊕ to dołączenie tekstu na końcu. To uproszczona formalizacja na potrzeby tej części, nie zapis z artykułu o ReAct.
kontext = [prompt systemowy, opis narzędzi, zadanie]
for k = 1 … K_max:                       # budżet kroków
    krok = model(kontext)                # czyta CAŁY kontekst
    kontext += krok
    if krok to ostateczna odpowiedź: return ją
    if narzędzie wymaga zgody, a człowiek jej nie dał:
        kontext += "odrzucono"; continue
    výsledek = proveď(krok.nástroj, krok.parametry)   # program obsługujący
    kontext += výsledek
return "skończył się budżet kroków"

2. Narzędzia

Definicja — wywoływanie narzędzi (tool use, function calling)

Do promptu wstawia się opis narzędzi: nazwę, do czego służą i jakie mają parametry (zwykle jako schemat JSON). Model jest dostrojony tak, by zamiast zwykłego tekstu umiał zwrócić ustrukturyzowane wywołanie, na przykład {"nastroj": "hledej", "text": "KL divergence"}. Program obsługujący sprawdza wywołanie, wykonuje je i zwraca wynik jako kolejną wiadomość. Model sam niczego nie uruchamia — tylko pisze, co ma zostać uruchomione.

Mówiąc prościej

Karta dań i zamówienie. Model dostaje kartę („masz takie narzędzia i tak się je zamawia”) i pisze zamówienie dokładnie w formie, którą kuchnia rozumie. Gotuje kuchnia, nie gość. Dlatego kuchni można nakazać, żeby niektórych dań nie wydawała bez zgody.

Nasz agent pracuje na tekstach 21 starszych artykułów tej strony (tych samych co w częściach o tokenizacji i RAG; są po czesku, więc i agent pracuje po czesku) i ma trzy narzędzia. Cały jego prompt systemowy ma 157 tokenów:

Jsi agent, který odpovídá na otázky podle článků webu. Máš nástroje:
- seznam(): Vypíše články a jejich délku ve znacích.
- hledej(text, max): Najde výskyty textu ve všech článcích; vrátí článek, pozici a okolí.
- cti(clanek, od, do): Vrátí úsek článku od pozice do pozice (znaky).
V každém kroku napiš krátkou úvahu a zavolej jeden nástroj, nebo napiš konečnou odpověď s odkazem na článek. Když něco nenajdeš, zkus jiný dotaz.

Prawdziwe narzędzia agentów programistycznych są podobne: szukać w plikach, przeczytać fragment pliku, zmienić go, uruchomić polecenie w terminalu. Od 2024 roku narzędzia można podłączać także przez wspólny protokół MCP (Model Context Protocol), dzięki czemu to samo narzędzie — bazę danych, kalendarz, przeglądarkę — może używać dowolny agent.

3. Jedno pytanie, trzy podejścia

Pytanie: „Dlaczego dywergencja KL nie jest odległością? Podaj przykład z artykułów.” (w oryginale: „Proč KL divergence není vzdálenost? Uveď příklad z článků.”). Odpowiedź jest w artykule o teorii informacji: dywergencja KL nie jest symetryczna, DKL(0,7 ‖ 0,5) = 0,119, ale DKL(0,5 ‖ 0,7) = 0,126. Kroki agenta spisaliśmy ręcznie — za model napisaliśmy rozważania i wywołania. Narzędzia, ich wyniki i tokeny są jednak prawdziwe.

Przykład — dlaczego DKL(0,7 ‖ 0,5) ≠ DKL(0,5 ‖ 0,7)

Dla dwóch rozkładów tak/nie (deszcz z prawdopodobieństwem p, model mówi q) jest DKL(p ‖ q) = p log2(p/q) + (1 − p) log2((1 − p)/(1 − q)) bitów.

DKL(0,7 ‖ 0,5) = 0,7 · log2 1,4 + 0,3 · log2 0,6 = 0,340 − 0,221 = 0,119.

DKL(0,5 ‖ 0,7) = 0,5 · log2(5/7) + 0,5 · log2(5/3) = −0,243 + 0,368 = 0,126.

Za każdym razem uśrednia się według innego rozkładu (według tego, który jest rzeczywistością), dlatego zamiana argumentów daje inną liczbę — a odległość (metryka) musi być symetryczna. To jest odpowiedź, której agent szuka.

Podejście 1: szukaj i czytaj fragment
  1. Szukam dokładnie słów z pytania.

    hledej(text: "KL divergence není metrika")
    nic nenalezeno
    +34 tokenów, kontekst 209
  2. Nic. Spróbuję samej nazwy pojęcia.

    hledej(text: "KL divergence")
    5 výskytů:
    informace:3258: … minimum je tam, kde model říká pravdu. KL divergence Definice — Kullbackova–Leiblerova diver…
    informace:3656: …,222 bitu. Podle Gibbsovy nerovnosti je KL divergence vždy nezáporná a nulová jen pro q = p .…
    informace:3717: …záporná  … (jeszcze 310 znaków)
    +205 tokenów, kontekst 414
  3. To jest w artykule informace. Przeczytam otoczenie.

    cti(clanek: "informace", od: 3660, do: 3960)
    ivergence vždy nezáporná a nulová jen pro q = p . Pozor, KL divergence není vzdálenost: není symetrická. D KL (0,7 ‖ 0,5) = 0,119, ale D KL (0,5 ‖ 0,7) = 0,126. Záleží na tom, co je skutečnost a co model. Informační zisk Definice — podmíněná entropie H ( Y | X … (jeszcze 40 znaków)
    +146 tokenów, kontekst 560

Trzy wywołania narzędzi, a czwarte wywołanie modelu pisze odpowiedź. Pierwsze wyszukiwanie nic nie znajduje — słów z pytania nie ma w tekście. Agent to widzi i próbuje ogólniejszego zapytania; to przewaga pętli nad jednorazowym wyszukaniem. Na końcu kontekst ma 560 tokenów.

Podejście 2: czytaj artykuły jeden po drugim
  1. Nie wiem, gdzie to jest. Przejdę artykuły jeden po drugim.

    cti(clanek: "co-je-pravdepodobnost")
    Jazykový model nevybírá další slovo, ale pravděpodobnosti všech slov. Klasifikátor neříká „je to kočka“, ale „s pravděpodobností 0,93 je to kočka“. Celé strojov … (jeszcze 7 175 znaków)
    +1 933 tokenów, kontekst 2 108
  2. Tu tego nie ma, następny artykuł.

    cti(clanek: "csp")
    Rozvrh hodin, ve kterém žádný učitel neučí dvě třídy naráz. Sudoku. Rozmístění součástek na desce, směny v nemocnici, přidělení letadel k branám. Všechny tyhle  … (jeszcze 11 914 znaków)
    +3 148 tokenów, kontekst 5 256
  3. … jeszcze 8 kroków tak samo (kontekst na końcu 24 927 tokenów)

Agent bez wyszukiwania przechodzi artykuły w kolejności alfabetycznej. Na odpowiedź trafia dopiero w 10. artykule, a kontekst rośnie w tym czasie do 24 927 tokenów.

I trzecie podejście, jednorazowy RAG z poprzedniej części: wyszukać trzy najbardziej podobne fragmenty i wstawić je do promptu. Wszystkie trzy fragmenty pochodzą z właściwego artykułu (informace, informace, informace), ale żaden nie zawiera przykładu z liczbami 0,119 i 0,126 — odpowiedź byłaby bez przykładu. Agent w pętli może sobie powiedzieć „to nie wystarczy, czytam dalej”. Jednorazowe wyszukanie nie.

4. Kontekst jest drogi

Definicja — koszt pętli

Model nie ma pamięci między wywołaniami; w każdym kroku od nowa czyta cały kontekst — prompt systemowy, zadanie i wszystkie dotychczasowe kroki i wyniki narzędzi. Jeśli ck to długość kontekstu przed k-tym wywołaniem, model przetwarza łącznie ∑k ck tokenów. Ponieważ kontekst rośnie z każdym krokiem, łączny koszt rośnie mniej więcej z kwadratem liczby kroków.

Mówiąc prościej

Jakbyś przed każdym zdaniem listu musiał przeczytać cały list od początku. Krótki list nie przeszkadza. Długi list, do którego w dodatku wkleiłeś dziesięć przeczytanych książek, jest drogi — a wśród tych wszystkich stron łatwo gubi się to, co istotne.

102103104105106 czytaj wszystko 141 820 szukaj, czytaj wycinek 1 358 jednorazowy RAG 647 przetworzone tokeny (liczba, skala log.) podejście (wariant)
Ile tokenów model przetwarza łącznie (logarytmicznie)

Podejście „czytaj wszystko” kosztuje 141 820 przetworzonych tokenów, „szukaj i czytaj fragment” tylko 1 358 — 104 razy mniej, i to za tę samą odpowiedź. Dlatego dobrzy agenci programistyczni najpierw szukają (grep) i czytają tylko kawałki plików. I dlatego długą sesję od czasu do czasu się kompaktuje: starszą część rozmowy zastępuje streszczenie, żeby kontekst się zmieścił, a model się w nim nie gubił. Pomaga też zapisywanie początku promptu w pamięci podręcznej (prompt caching), dzięki czemu ponowne czytanie tego samego początku jest tańsze.

Z = ∑k=1K ck,   ck = c1 + ∑j<k (vj + oj)

Z
łącznie przetworzone tokeny — to, za co się płaci i na co się czeka
K
liczba wywołań modelu (kroki z narzędziem + ostateczna odpowiedź); każde wywołanie czyta kontekst od nowa
c1
prompt systemowy i zadanie; są w kontekście od pierwszego wywołania, więc płaci się za nie K razy — dlatego opłaca się, by były krótkie i trzymane w pamięci podręcznej
vj + oj
tokeny, które dodał krok j: wywołanie i wynik narzędzia. Krok j jest czytany we wszystkich późniejszych wywołaniach, dlatego za długi wynik narzędzia płaci się wiele razy
Koszt jednego kroku zależy nie tylko od tego, co krok zwróci, ale też od tego, ile kroków jeszcze po nim nastąpi.
Twierdzenie — koszt rośnie z kwadratem liczby kroków

Jeśli każdy krok dodaje tyle samo, d tokenów, to ck = c1 + (k − 1) d oraz

Z = K c1 + d · K(K − 1) / 2.

Dowód: ∑k=1K (k − 1) = 0 + 1 + … + (K − 1) = K(K − 1) / 2. ∎ Dla dużego K przeważa drugi składnik ≈ d K² / 2: dwa razy dłuższa sesja kosztuje mniej więcej cztery razy więcej.

Przykład — przeliczenie obu podejść

Szukaj i czytaj fragment. Prompt systemowy ma 157 tokenów, pytanie 18, czyli c1 = 175. Po trzech krokach kontekst ma 209, 414, 560 tokenów. Cztery wywołania modelu czytają Z = 175 + 209 + 414 + 560 = 1 358 tokenów.

Czytaj wszystko. K = 11 wywołań, kontekst rośnie z 175 do 24 927 tokenów, średnio o d = (24 927 − 175) / 10 ≈ 2 475 na krok. Według twierdzenia Z ≈ 11 · 175 + 2 475 · 11 · 10 / 2 = 138 050; w rzeczywistości 141 820 (artykuły mają różną długość, więc kroki nie dodają dokładnie tyle samo). Prompt systemowy z pytaniem to z tego tylko 1 925 tokenów — prawie wszystko to ponowne czytanie artykułów.

5. Plan i pamięć

Definicja — planowanie i pamięć agenta

Plan to lista kroków, którą agent na początku zapisuje w kontekście i na bieżąco odhacza i poprawia. Pamięć robocza to kontekst jednej sesji. Pamięć długotrwała to pliki lub bazy danych poza modelem — notatki, które agent zapisuje i czyta w następnej sesji. Podagenci dostają osobny kontekst na zadanie cząstkowe i zwracają tylko wynik, więc nie zapełniają głównego kontekstu szczegółami.

Mówiąc prościej

Rzemieślnik przy dłuższym zleceniu pisze sobie listę na kartce, a wieczorem notuje w zeszycie, czego się dowiedział — rano nie musi wszystkiego pamiętać, wystarczy otworzyć zeszyt. Do prac pomocniczych wysyła ucznia i chce od niego tylko „gotowe, to było tutaj”.

U agentów programistycznych pamięcią długotrwałą jest zwykle zwyczajny plik tekstowy w projekcie (zasady, polecenia, na co uważać), który agent czyta na początku każdej sesji. To najprostsza i najbardziej przejrzysta pamięć: człowiek może ją przeczytać, a nawet poprawić.

6. Długie zadania i kontrola

Agent, który robi właściwy krok w 90 % przypadków, wygląda na niezawodnego. Tyle że zadanie składa się z wielu kroków, a błąd w którymkolwiek z nich je psuje. Jeśli krok udaje się z prawdopodobieństwem p, całe zadanie z n kroków udaje się z prawdopodobieństwem pn — o ile agent nie rozpoznaje błędów.

Definicja — zamknięta pętla ze sprzężeniem zwrotnym

Agent po kroku sprawdza wynik (uruchamia testy, czyta wyjście polecenia, porównuje z oczekiwaniem). Jeśli rozpoznaje błąd z prawdopodobieństwem d i może powtórzyć krok do r razy, skuteczność kroku wynosi q = p ∑k=0r ((1 − p) d)k, a całego zadania qn.

Mówiąc prościej

Kto pisze długi program bez uruchamiania, prawie na pewno ma w nim błąd. Kto po każdej zmianie puszcza testy, znajduje błąd od razu, gdy jest jeszcze mały i wiadomo, gdzie jest. Z agentami jest tak samo.

q = p ∑k=0r ((1 − p) d)k = p + p (1 − p) d + p ((1 − p) d)² + …

p
próba się udaje; każdy składnik kończy się dokładnie jedną udaną próbą
1 − p
próba się nie udaje; każda porażka przed sukcesem kosztuje jeden taki czynnik
d
kontrola rozpoznaje porażkę; tylko wtedy agent powtarza krok — nierozpoznany błąd przechodzi dalej i psuje zadanie
∑k=0r, k
k = ile prób się nie udało, zanim jedna wyszła; najwyżej r powtórzeń, żeby agent nie próbował w nieskończoność
Skuteczność kroku z kontrolą; całe zadanie z n niezależnych kroków udaje się z prawdopodobieństwem qn. Bez kontroli d = 0 i zostaje q = p.
0 %25 %50 %75 %100 % 020406080100 długość zadania n (liczba kroków) skuteczność zadania (%)
Skuteczność zadania w zależności od liczby kroków (kontrola rozpoznaje 90 % błędów, najwyżej dwie powtórki) krok udaje się w 90 % krok udaje się w 99 % ciągła z kontrolą, przerywana bez

Przy p = 0,9 i dwudziestu krokach bez kontroli udaje się tylko 12 % zadań, z kontrolą 79 %. Symulacja 20 000 zadań daje 12 % i 79 %, wzór się zgadza. Nawet bardzo dobry krok (p = 0,99) przy setce kroków bez kontroli częściej zawodzi, niż się udaje (37 %); z kontrolą udaje się w 90 %. To główny powód, dla którego agenci programistyczni działają tak dobrze: kod można uruchomić i przetestować, więc prawie każdy krok ma informację zwrotną. Organizacja METR (2025) mierzy, że długość zadań, z którymi agenci radzą sobie w połowie przypadków, podwaja się mniej więcej co siedem miesięcy.

Przykład — p = 0,9, d = 0,9, r = 2, dwadzieścia kroków

Skuteczność kroku: q = 0,9 + 0,9 · 0,1 · 0,9 + 0,9 · (0,1 · 0,9)² = 0,9 + 0,081 + 0,00729 = 0,98829.

Całe zadanie: bez kontroli 0,920 = 0,122, z kontrolą 0,9882920 = 0,790. Krok poprawił się tylko z 90 % do 98,8 %, ale zadanie z 12 % do 79 % — potęga n rozdmuchuje małe różnice w kroku.

Definicja — długość zadania, z którym agent radzi sobie w połowie przypadków

To największe n, dla którego qn ≥ 1/2, czyli n½ = ln 0,5 / ln q ≈ 0,69 / (1 − q) dla q bliskiego 1.

W naszym modelu: p = 0,9 bez kontroli 6,6 kroku, z kontrolą 58,8; p = 0,99 bez kontroli 69,0, z kontrolą 686. Zadanie, z którym agent radzi sobie w połowie przypadków, wydłuża się mniej więcej proporcjonalnie do tego, ile razy spada zawodność kroku 1 − q.

Tę samą wielkość (długość zadania, z którym agent radzi sobie w 50 % przypadków) mierzy METR — tylko nie w krokach, lecz w czasie, jaki zadanie zajęłoby człowiekowi (Thomas Kwa i in., Measuring AI Ability to Complete Long Tasks, 2025). Nasz wzór to uproszczony model z niezależnymi krokami, nie ich metoda.

7. Uprawnienia i nadzór

Agent, który może uruchamiać polecenia, może też szkodzić — przez pomyłkę (usunie zły folder) albo na polecenie, które przeczytał w cudzym tekście (prompt injection). Obrona nie opiera się na modelu, lecz na programie obsługującym: narzędzia z ograniczonymi uprawnieniami, praca w odizolowanym środowisku, a przede wszystkim zatwierdzanie — niebezpieczne lub nieodwracalne kroki są wykonywane dopiero po zgodzie człowieka. Na tym opiera się też coden: agent pracuje na twoim komputerze, a ty zatwierdzasz jego kroki z telefonu.

8. Podsumowanie

  • Agent = model językowy w pętli: rozumowanie, wywołanie narzędzia, wynik do kontekstu, od nowa.
  • Model tylko opisuje narzędzia ustrukturyzowanym wywołaniem; uruchamia je program obsługujący, który może egzekwować zasady.
  • Pętla potrafi naprawić nieudane wyszukiwanie — jednorazowy RAG nie.
  • Każde wywołanie czyta cały kontekst: „czytaj wszystko” kosztowało 141 820 tokenów, „szukaj i czytaj fragment” 1 358.
  • Plan, notatki w plikach i podagenci utrzymują kontekst mały i przejrzysty.
  • Bez kontroli skuteczność spada z długością zadania jak pn; testy i weryfikacja to zmieniają (20 kroków przy p = 0,9: 12 % → 79 %).

Chcesz to sprawdzić na własnej skórze? Poproś agenta AI, żeby opisał ci każde wywołanie narzędzia, które wykona przy zadaniu, a na końcu oszacował, ile tokenów kosztowało go zadanie. Potem daj mu to samo zadanie z poleceniem „najpierw szukaj, czytaj tylko fragmenty”.

Masz inne zdanie? Napisz na support@coden-app.com.

Agent na twoim komputerze, sterowany z telefonu