Deweloper wziął model językowy o 350 milionach parametrów, poddał go procesowi fine-tuningu i wdrożył jako w pełni funkcjonalnego asystenta AI, który działa w dowolnej nowoczesnej przeglądarce internetowej — bez wywołań serwera, bez kluczy API i bez rachunków za chmurę.
Projekt udostępnia wagi modelu wraz ze statyczną stroną internetową, co pozwala agentowi wybierać narzędzia, wiązać argumenty, rozstrzygać odniesienia typu „ten drugi” i odmawiać odpowiedzi, gdy brakuje mu informacji — a wszystko to przy zachowaniu danych wyłącznie na własnym urządzeniu użytkownika.
Jak zbudowano agenta działającego w przeglądarce
Punktem wyjścia była rodzina modeli LFM2.5 od LiquidAI, a konkretnie warianty o 230 mln i 350 mln parametrów.
Zamiast upychać w modelu katalogi produktów czy tabele cen, trener nauczył go wzorców interakcji. Agent nigdy nie zna konkretnego numeru SKU; uczy się natomiast, jak:
- Wybierać odpowiednie narzędzie do danego zapytania.
- Wiązać właściwe argumenty i identyfikatory z tym narzędziem.
- Interpretować niejednoznaczne odniesienia („kilkanaście”, „ten drugi”).
- Pobierać tekst zewnętrzny i wykorzystywać go do odpowiadania na pytania.
- Odmawiać odpowiedzi, gdy brakuje wymaganych informacji.
- Utrzymywać rozmowę na temacie.
Zestaw narzędzi jest celowo statyczny: list_items, get_item, search_knowledge, add_to_cart, remove_from_cart, clear_cart, checkout oraz navigate. Zamrożenie listy zapobiega zapamiętywaniu przez model identyfikatorów narzędzi i pozwala zachować niewielką ilość danych do fine-tuningu.
Trzy decyzje inżynieryjne sprawiają, że system jest lekki:
- Zamrożona lista narzędzi – Model widzi stałą listę akcji, więc nie potrzebuje rozbudowanego słownictwa nazw narzędzi.
- RAG jako narzędzie – Generowanie wspomagane wyszukiwaniem (RAG) działa jak każda inna funkcja. Agent wywołuje
search_knowledge, aby pobrać tekst, a następnie wstawia go bezpośrednio do swojej odpowiedzi, unikając osobnego potoku wyszukiwania, który zwiększyłby opóźnienia i zużycie pamięci. - Dekodowanie ograniczone gramatyką – Podczas generowania dekoder podąża za prostą gramatyką, która wymusza strukturę wyjściową zgodną z poprawnym wywołaniem narzędzia. To ograniczenie eliminuje zbędne tokeny i redukuje liczbę błędnie sformatowanych poleceń.
W procesie trenowania wykorzystano destylację danych syntetycznych. Autor zdefiniował 18 scenariuszy interakcji, z których każdy opisuje typową wymianę zdań między użytkownikiem a asystentem. Większy model „nauczyciel” generował część w języku naturalnym, podczas gdy deterministyczny skrypt tworzył dokładny format wywołania narzędzia. Proces fine-tuningu zużył około 30 milionów tokenów i zmieścił się na pojedynczym procesorze GPU z 16 GB pamięci.
Dlaczego przetwarzanie na urządzeniu ma znaczenie
- Prywatność – Wszystkie polecenia użytkownika pozostają w pamięci przeglądarki. Żadne dane telemetryczne nie opuszczają urządzenia, co jest kluczowe przy wrażliwych zapytaniach.
- Możliwość pracy offline – Ponieważ model jest przechowywany lokalnie w pamięci podręcznej, asystent działa bez połączenia z internetem, co otwiera możliwości pracy w terenie lub w podróży.
- Koszty – Udostępnianie statycznych plików modelu eliminuje konieczność utrzymywania serwerów inferencyjnych opartych na GPU lub opłat za każde wywołanie API.
- Dostępność – Sterowanie głosowe złożonymi interfejsami internetowymi staje się możliwe na urządzeniach o słabszych parametrach, co zwiększa zasięg aplikacji webowych wśród użytkowników korzystających z technologii wspomagających.
Te zalety zmieniają kierunek dyskusji z pytania „Czy gigantyczny model jest w stanie na to odpowiedzieć?” na „Jak mały może być model, aby wciąż oferować przydatną pomoc?”.
Potencjalne ograniczenia
Model tej wielkości nie jest w stanie zapamiętać faktów encyklopedycznych. Gdy użytkownik pyta o cenę konkretnego produktu lub najnowszy nagłówek wiadomości, asystent albo pobiera informacje za pomocą search_knowledge, albo grzecznie odmawia. Taka konstrukcja chroni prywatność, ale jednocześnie uzależnia system od jakości i aktualności zewnętrznego źródła wiedzy.
Co dalej warto obserwować
Publiczne demo znajduje się pod prostym adresem GitHub Pages, a kod źródłowy jest ogólnodostępny.
Wniosek: Ucząc model LLM o umiarkowanej wielkości przestrzegania ścisłej gramatyki narzędzi i traktując wyszukiwanie jako kolejną funkcję, deweloperzy mogą dostarczać użytecznych asystentów AI działających w całości w przeglądarce — oferując prywatność, pracę offline i zerowe koszty chmurowe, nie rezygnując przy tym z podstawowych zdolności konwersacyjnych.
