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:

  1. Zamrożona lista narzędzi – Model widzi stałą listę akcji, więc nie potrzebuje rozbudowanego słownictwa nazw narzędzi.
  2. 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.
  3. 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.