Naprawa routera modeli zajęła półtorej minuty. Zwrot inwestycji: sto lat.

Wybór modelu AI do zadania da się zautomatyzować, niestety nie z pudełka: mój router mylił się z bardzo pewnie, dopóki nie dokonałem pomiarów i nie douczyłem na własnych zadaniach. Teraz trafia w 85% ale i tak jest wyłączony, bo sprzęt, którego potrzebuje, kosztowałby więcej, niż oszczędza.

3 min czytania

Tokenów na ulicy nie rozdają. Mimo to odruch, żeby wszystko robić najwyższym modelem, trudno opanować: w końcu klient płaci, klient wymaga najwyższej jakości. Tyle że to myślenie często jest chybione, niekoniecznie tylko z powodu rachunku ekonomicznego. Literówka nie potrzebuje najmocniejszego modelu, tylko odpowiedniego.

Dlatego w Kelterze, środowisku do uruchamiania agentów, które buduję (kod jest otwarty na GitHubie), każde zadanie programistyczne dostaje najpierw jedną z czterech odpowiedzi: bez agenta kodowania, tani, średni albo najdroższy model. Najdroższy zawsze czeka na moje kliknięcie. Zadanie liczy się jako zrobione dopiero wtedy, gdy przejdzie prawdziwy test, a jeśli nie przejdzie, idzie poziom wyżej.

Do tej decyzji podpiąłem router z nowej rodziny modeli, które zamiast pisać odpowiedź wybierają z podanej listy i przy każdej opcji stawiają prawdopodobieństwo. Pierwsza odpowiedź dotyczyła literówki w README. Router wysłał poprawkę do średnio drogiego modelu, pewny na 0,9.

Lol, wtf.

Nie mogłem się zdecydować pomiędzy depresją a impostor syndrome. Powinno działać, więc pewnie coś spieprzyłem, nawet nie wiedziałem co.

Mówią na mnie człowiek-PoC: zanim zainwestuję dalej, sprawdzam, czy warto. Więc sprawdziłem. 48 zadań, przy których znałem dobrą odpowiedź, po dwanaście na każdą ścieżkę. Router trafił w 17, czyli 35 procent, przy 25 procentach za zgadywanie w ciemno spośród czterech. I prawie nigdy nie miał wątpliwości. Przy błędnych odpowiedziach potrafił podać 0,96, a nawet 1,0. Najprostsze ustawienie to próg pewności: ufaj wszystkiemu powyżej 0,8. Przepuściłby to wszystko.

Niczego nie spieprzyłem. Router po prostu nie znał moich zadań. Douczyłem go na 120 innych przykładach; duży model pod spodem został bez zmian, uczyła się tylko mała warstwa na wierzchu, półtorej minuty na zwykłym procesorze. Te same 48 zadań: 41 trafień, 85 procent. Drobne poprawki i typowe zadania trafiał zawsze. Cztery zadania, które nie potrzebowały agenta programistycznego, i tak do niego wysłał, a trzy, które wymagały najdroższego modelu, dał średniemu. Ten drugi błąd jest tani: test nie przechodzi i zadanie idzie poziom wyżej.

Jedno zastrzeżenie: te zadania napisał i oznaczył agent według moich reguł. 85 procent pokazuje więc, że router radzi sobie ze sformułowaniami, których nie widział. Nie pokazuje, że ludzie oznaczyliby zadania tak samo.

Potem okazało się, że na moim domowym serwerze się nie mieści. Chciał około 21 GB pamięci z 62, cały czas. Reszta maszyny zaczęła się dusić. Wyłączyłem go. Po ochłonięciu wyszło mi, że to, co zaoszczędziłbym na tokenach dzięki routingowi, i tak musiałbym wpakować w infrastrukturę, która zwróci mi się pewnie za sto lat.

Czyli PoC odpowiedział na pytanie, które naprawdę miałem. Router działa, kiedy go zmierzysz i douczysz. U mnie się nie opłaca.

Na razie decydują proste reguły, a ja nie wiem jeszcze, jak często same się mylą. To następna rzecz do zmierzenia, na tych samych 48 zadaniach.

Jeśli wprowadzasz decyzje AI do produktu i chcesz je zmierzyć, zanim trafią do użytkowników, biorę takie projekty: Projekty.

Szkic przygotowały agenty AI, redakcja i sprawdzenie faktów — ja.

Czat odpowie na podstawie tego wpisu i mojego profilu.

Wszystkie eksperymenty