Nowe życie dawnych narzędzi matematycznych
Moje zainteresowanie wykorzystaniem technologii w nauce i popularyzacji matematyki sięga 1999 roku. W tamtym czasie stworzyłem szereg apletów w języku Java 1.0, które miały wspierać moje kursy analizy zespolonej i algebry liniowej oraz wizualizować obiekty matematyczne, takie jak zbiory Besicovitcha czy struktury typu „plaster miodu”. Choć projekty te były użyteczne, ich ręczne programowanie było niezwykle czasochłonne. Z biegiem lat standardy przeglądarek internetowych przestały wspierać Javę, co doprowadziło do wyłączenia tych narzędzi z użytku.
Ostatnio podjąłem próbę przeniesienia moich dawnych zasobów internetowych do bardziej nowoczesnego repozytorium, korzystając przy tym z pomocy sztucznej inteligencji. Eksperyment polegał na zleceniu agentowi AI konwersji starych apletów na język JavaScript. Efekty przerosły moje oczekiwania – w ciągu zaledwie kilku godzin wszystkie aplety odzyskały funkcjonalność, a niektóre zyskały nawet ulepszenia graficzne, jak choćby kolorowa wersja wizualizacji zbioru Besicovitcha, która wcześniej była monochromatyczna.
Współpraca z AI w procesie tworzenia kodu
Współpraca z agentami kodującymi opartymi na dużych modelach językowych (LLM) okazała się zaskakująco efektywna. Choć powszechnie wiadomo, że narzędzia te mogą generować błędy, w przypadku moich dwóch tuzinów apletów napotkałem tylko jeden drobny problem techniczny. Co więcej, agent samodzielnie zidentyfikował dwa błędy w moim oryginalnym kodzie, o których istnieniu nie miałem pojęcia. Biorąc pod uwagę, że aplety te pełnią rolę pomocniczych wizualizacji, a nie krytycznych elementów dowodów matematycznych, ryzyko związane z ewentualnymi błędami jest w pełni akceptowalne.
Sukces ten zachęcił mnie do tworzenia zupełnie nowych narzędzi. Przykładem jest wizualizator dla szczególnej teorii względności, o którym marzyłem jeszcze w 1999 roku. Wówczas porzuciłem ten projekt ze względu na zbyt dużą złożoność kodu. Dzięki nowoczesnym agentom AI, po zaledwie kilku godzinach pracy, udało mi się stworzyć działającą aplikację, która realizuje moją pierwotną wizję. Podobnie postąpiłem w przypadku hipotezy Gilbreatha, dla której przygotowałem interaktywną wizualizację towarzyszącą mojemu najnowszemu artykułowi.
Rola wiedzy dziedzinowej w erze AI
Wielu zadaje sobie pytanie, czy w obliczu tak sprawnej automatyzacji warto jeszcze uczyć się programowania. Moim zdaniem, doświadczenie programistyczne oraz głęboka wiedza dziedzinowa pozostają niezbędne. W przypadku aplikacji do teorii względności, to właśnie zrozumienie różnicy między modelem danych (opartym na stałym układzie laboratoryjnym) a interfejsem użytkownika (prezentującym relatywistyczne układy odniesienia) pozwoliło mi poprawnie ukierunkować agenta AI.
Choć automatyzacja przejęła żmudne zadania związane z niskopoziomową składnią i implementacją, to decyzje dotyczące wysokopoziomowego projektu kodu nadal należą do człowieka. Programowanie – czy to w Javie, Pythonie czy języku Lean – pozostaje kluczową kompetencją, która pozwala nie tylko na uzyskanie użytecznego kodu, ale także na skuteczne diagnozowanie problemów i weryfikację wyników pracy sztucznej inteligencji.

