18 maj
Kiedy pierwszy raz usłyszałem, że modele językowe można wykorzystać do analizy danych, byłem sceptyczny. Przecież to narzędzia stworzone do generowania tekstów, nie do manipulacji DataFrame’ami, prawda?
A jednak — im bardziej testuję GPT-4 czy Claude 3, tym mocniej widzę ich potencjał jako interfejsu między człowiekiem a kodem. Mogę zapytać w prostym języku o problem z danymi, a model podpowiada, jak go rozwiązać — często trafnie, czasem nawet z gotowym kodem.
To nie magia. To połączenie wiedzy statystycznej z kontekstowym rozumieniem danych. I choć nie oddaję agentowi pełnej kontroli nad moimi zbiorami, to zyskuję potężnego asystenta, który potrafi skrócić wiele godzin pracy.
Model językowy nie jest cudownym uzdrowicielem DataFrame’a. Nie zna kontekstu biznesowego, nie sprawdzi za mnie logiki danych i nie podejmie decyzji, które wymagają wiedzy o tym, „jak powinno być”.
Ale jeśli dostarczę mu dobrze opisany problem, z przykładem danych — potrafi:
To nie zastępuje myślenia. Ale bardzo przyspiesza proces.
Zwłaszcza wtedy, gdy potrzebuję szybkiej konsultacji... a nie mam nikogo obok.
Jeden z pierwszych przypadków, które testowałem, to problem z brakującymi wartościami i niespójnymi typami danych. Klasyka: kolumna z datą, ale część to stringi, część to NaN, a część to błędny format.
Zamiast ręcznie pisać łańcuch warunków, wrzuciłem fragment DataFrame’a do GPT-4 z prostym poleceniem:
„Znajdź problemy w tym fragmencie danych i podpowiedz, jak ujednolicić kolumny.”
Model od razu zidentyfikował:
– brakujące dane,
– niejednolity format dat,
– kolumnę z liczbami zapisanymi jako tekst.
Dostałem propozycję użycia pd.to_datetime
, obsługi błędów, konwersji stringów i zgrabnego .fillna()
na koniec.
Nie wkleiłem tego 1:1 — ale była to świetna baza, by przyspieszyć czyszczenie danych bez pisania wszystkiego od zera.
Kolejny klasyczny przypadek: dane z różnych źródeł, te same kolumny… ale różne nazwy. Raz „Client_Name”, raz „client”, czasem „Name”. To samo z wartościami: w jednej kolumnie „Tak/Nie”, w drugiej „1/0”, a w trzeciej „yes/no”.
Tym razem zapytałem model:
„Jak ujednolicić strukturę kolumn i wartości w danych z różnych źródeł?”
Model zaproponował:
– utworzenie słownika mapującego nazwy kolumn,
– znormalizowanie wartości (np. .str.lower().map({...})
),
– i sprawdzenie, czy wartości są unikalne we wszystkich wersjach.
To był moment, w którym zrozumiałem, że AI może pełnić rolę konsultanta logicznego. Nie wykonuje za mnie całej roboty, ale naprowadza. To szczególnie pomocne w pracy z danymi, które „na oko” wyglądają dobrze, ale w środku są niespójne.
Cała zabawa z wykorzystaniem LLM-ów do pracy z danymi opiera się na umiejętnym zadawaniu pytań. To nie tylko „wrzucam DataFrame i działa”. Trzeba nauczyć się prowadzić model — dokładnie jak juniora na stażu.
Z mojego doświadczenia wynika, że skuteczne prompty mają kilka cech:
df.head()
lub fragmentem),Dzięki temu model wie, o co naprawdę Ci chodzi — i nie generuje ogólników typu „sprawdź kolumny pod kątem błędów”.
Z czasem zauważyłem, że przygotowanie dobrego prompta… uczy mnie lepiej rozumieć moje własne dane. Paradoksalnie: to ja uczę się, jak lepiej komunikować się z AI — a nie odwrotnie.
Nie mam złudzeń – AI nie zrobi wszystkiego. Ale też nie taka jest jej rola. W pracy z danymi cenię modele językowe za trzy rzeczy:
– szybkość – wstępna analiza i pomysły pojawiają się w kilka sekund,
– wsparcie w diagnozie – model potrafi wychwycić to, co ja bym przeoczył,
– propozycje kodu – często skracają czas pisania nawet o 70–80%.
Ale są też ograniczenia:
– model nie zna mojego kontekstu biznesowego,
– nie zweryfikuje poprawności logicznej danych,
– czasem generuje kod, który wygląda dobrze, ale nie działa (albo gorzej – działa, ale źle).
Dlatego traktuję LLM jako asystenta, nie jako automat. Pracuje szybko, ale to ja podejmuję decyzje.
Nie traktuję modeli językowych jak narzędzi do wszystkiego.
Ale jako partnera do pracy z danymi – zdecydowanie tak.
Dzięki nim mogę szybciej zdiagnozować problemy, sprawdzić rozwiązania, przetestować kod i uporządkować dane. Nie potrzebuję zaawansowanego środowiska ani tygodnia na debugowanie. Czasem wystarczy jedno pytanie — i dobry fragment DataFrame’a.
To nie magia. To narzędzie, które działa, jeśli wiesz, jak je prowadzić.
I właśnie tego uczę się na bieżąco — żeby lepiej rozmawiać z AI. Bo im lepiej rozumiem dane i ich strukturę, tym więcej mogę z tej współpracy wyciągnąć.