Wiadomości obiegły cały świat, a jeśli jeszcze o tym nie słyszałeś, to czas zapoznać się z ChatGPT od OpenAI. To niezwykle potężne narzędzie oparte na Sztucznej Inteligencji. Koncepcja polega na tym, że możesz zadać mu prawie każde pytanie lub powierzyć mu jakieś zadanie, a ono hipotetycznie odpowie na pytanie lub wykona za ciebie zadanie. Na przykład, ludzie używają go do pisania przemówień, komponowania e-maili, badania tematów, a nawet pisania kodu. Chociaż model nie jest jeszcze doskonały, jest nadal bardzo imponujący i zawiera mnóstwo dobrych informacji. Nasz własny Mark Harris niedawno zademonstrował mi tę możliwość za pomocą prostego skryptu, który kontroluje instrument do automatycznego testowania. Postanowiłem zanurzyć się w ten króliczą norę i eksperymentować z ChatGPT i automatycznym testowaniem. W tym artykule przeprowadzimy Cię przez proces rozpoczęcia korzystania z ChatGPT, nauczymy, jak zadawać mu pytania i, co najważniejsze, zrozumiemy, jakie pytania są potrzebne, aby osiągnąć pożądane rezultaty.
Zanim zanurkujesz, warto zapoznać się z ChatGPT i tym, co ma do zaoferowania. Najpierw przejdź do chat.openai.com i zarejestruj się lub zaloguj na swoje konto. W momencie pisania tego artykułu narzędzie było oferowane za darmo, więc powinieneś móc od razu zacząć. Zacznij od prostych pytań, takich jak „ile to jest 1 + 1?” lub „jakiego koloru jest niebo?” Po tym możesz zacząć zadawać mu zadania, takie jak komponowanie eseju, tworzenie szkicu e-maila lub pisanie prostej funkcji w oprogramowaniu. Interfejs jest czysty i prosty, wystarczy wpisać wiadomość w dolnym polu, tak jak wysyłałbyś jakąkolwiek wiadomość i kliknąć wysłać (lub nacisnąć enter).
Gdy już poczujesz się komfortowo prowadząc rozmowę z ChatGPT, możesz zacząć eksperymentować z generowaniem przez niego kodu. Podstawowe prośby, takie jak „napisz funkcję w C, która dodaje dwie liczby”, to trywialne zadanie, z którym łatwo sobie poradzi. Zaczyna się komplikować, gdy dodasz więcej szczegółów do prośby. Lubię mieć cały mój kod uporządkowany w ładnych małych klasach, więc wyraźnie mówię ChatGPT, aby stworzył klasę, która coś dla mnie robi. Oto przykład:
Zauważysz również, że poprosiłem go o wygenerowanie dla mnie testów przy użyciu Pytest. Poradził sobie z tym zadaniem również, ale niestety, kod zawierał szereg błędów, które były dość trudne do naprawienia. Mimo to, był to świetny proces, aby zobaczyć, jak strukturyzuje kod i testy jednostkowe. Z pewnością, nauczyłem się jednej lub dwóch rzeczy, obserwując, jak generuje kod w sposób, którego sam bym nie zastosował.
Jednym z opisanych powyżej podejść jest umożliwienie AI dostarczenie Ci narzędzia (tj. biblioteki oprogramowania), abyś mógł zbudować produkt (tj. skrypt testowy). Innym podejściem jest podanie ChatGPT konkretnych specyfikacji testowych i pozwolenie mu na wygenerowanie kodu dla Ciebie. Jest to świetne do generowania szybkich i prostych skryptów testowych, które pozwalają ruszyć z miejsca, zanim będzie potrzebne dostosowanie konfiguracji i przypadków testowych. Spójrzmy na przykład.
Podaję poniższy, bardzo prosty, zestaw instrukcji dla ChatGPT, aby przetestować przetwornicę zasilania:
Napisz mi skrypt w Pythonie używając Pytest do wykonania następujących czynności:
1. Włącz zasilacz Rigol DP832 i ustaw go na 5V i 2A na kanale 1
2. Włącz obciążenie elektroniczne Rigol DL3021 i ustaw obciążenie na stały prąd 1.5A przez 3 minuty
3. Wyłącz DP832 i DL3021
Nie wprowadziłem nawet żadnych konkretnych testów w tym przypadku. Wszystko, co chciałem zrobić, to zaobserwować, czy mój przetwornik DC-DC może obsłużyć obciążenie 1,5A przez 3 minuty. Wygenerowany kod był całkiem niezły, ale co jakiś czas pojawiały się błędy, które utrudniały jego naprawę. Możesz również kazać ChatGPT wprowadzić konkretne asercje lub testować określone awarie, ale mnie interesowało tylko testowanie podstaw z aplikacją AI. Dodatkowo, możesz nawet poprosić, aby napisał dla ciebie klasę testową (z mockami lub bez) do walidacji kodu. Znowu, nie wszystko było idealnie dopasowane. Musiałem dopracować sam kod i klasę testową, aby wszystko działało perfekcyjnie.
Podsumowując, eksperymentowanie z ChatGPT było dobrym doświadczeniem. Miło było mieć „agregator”, który pozwalał zebrać pewne koncepcje w kodzie, bez konieczności wykonywania ręcznej pracy lub szukania przykładów w sieci. Mimo że nie jest to doskonałe, było to nadal pomocne i zabawne do eksperymentowania. Po przeczytaniu tego artykułu powinieneś mieć przyzwoite zrozumienie, jak:
Zachęcam Cię do sprawdzenia tego i uruchomienia przykładów, które przedstawiłem w tym artykule, lub wypróbowania własnych. Pamiętaj, że ChatGPT jest technicznie nadal w fazie beta, więc nie nastawiaj się na zbyt wiele. Bądź cierpliwy i upewnij się, że informujesz go, kiedy popełnia błędy, aby mógł się z nich "uczyć". Miłego kodowania!