Sztuczna inteligencja czyli AI przeszła długą drogę w ostatnich latach, a jednym z najbardziej ekscytujących zastosowań tej technologii jest jej zdolność do pisania kodu. W rzeczywistości narzędzia AI, takie jak ChatGPT, są obecnie powszechnie używane do pomocy w generowaniu fragmentów kodu, rozwiązywaniu problemów programistycznych, a nawet pisaniu całych programów. Ale czy AI naprawdę może pisać kod, który działa? W tym wpisie na blogu podzielę się swoim eksperymentem i spostrzeżeniami na temat tego, czy AI może generować funkcjonalny, działający kod Pythona, korzystając z rzeczywistego przykładu projektu cyfrowej ramki do zdjęć, nad którym pracowałem.
Mój eksperyment: AI pisze kod dla cyfrowej ramki do zdjęć
W ramach mojej eksploracji AI i jej możliwości postanowiłem przetestować możliwości kodowania ChatGPT za pomocą prostego projektu: przekształcenia Raspberry Pi i wyświetlacza Waveshare e-Paper w cyfrową ramkę do zdjęć. Celem było stworzenie skryptu Pythona, który wyświetlałby losowe obrazy z wybranego folderu na wyświetlaczu.
Jednak, zamiast pisać kod samodzielnie (co zwykle robię), postanowiłem pozwolić ChatGPT wygenerować kod na podstawie skryptów testowych dostarczonych przez Waveshare. Te skrypty testowe pomagają sprawdzić, czy wyświetlacz działa, ale nie są tym, czego potrzebowałem. Dlatego poprosiłem ChatGPT o oczyszczenie skryptu testowego, usunięcie niepotrzebnych części i przekształcenie go w w pełni funkcjonalny program, który może wyświetlać losowe obrazy.
Wyniki: Czy to działa?
Ku mojemu zaskoczeniu, ChatGPT dostarczył kod. Chociaż nie był idealny od razu, wygenerował działającą bazę. Skrypt poprawnie obsługiwał wyświetlanie obrazów na wyświetlaczu e-Paper, ale było kilka problemów, które należało rozwiązać, takich jak niepotrzebny kod testowy i kilka drobnych poprawek w logice.
Czego się nauczyłem:
- AI może generować działający kod, ale wymaga dostrojenia
Kod wygenerowany przez AI był dobrym punktem wyjścia, ale nie był idealny. Sztuczna inteligencja rzeczywiście może pomóc w generowaniu kodu, który działa w odpowiednim kontekście. Jednak kod często wymaga pewnych modyfikacji, aby dopasować go do konkretnych wymagań projektu, zwłaszcza w przypadku niestandardowych potrzeb. - Kod testowy kontra kod produkcyjny
Skrypty testowe dostarczone przez Waveshare były przydatne do sprawdzania wyświetlacza. Należy pamiętać, że kod testowy często zawiera elementy, które służą wyłącznie do sprawdzania sprzętu lub funkcjonalności w izolacji. Aby przekształcić go w coś bardziej praktycznego, konieczne były dodatkowe modyfikacje. ChatGPT był w stanie w tym pomóc, usuwając niepotrzebne części i zachowując tylko odpowiedni kod. - Sztuczna inteligencja jest świetna do automatyzacji, ale nie polegaj na niej całkowicie
Chociaż sztuczna inteligencja może szybko generować kod, nadal wymaga ona od programisty oka do udoskonalania. Narzędzia sztucznej inteligencji, takie jak ChatGPT, doskonale sprawdzają się w automatyzacji powtarzalnych zadań i dostarczają przydatnych fragmentów kodu, ale wkład ludzki jest niezbędny, aby kod był naprawdę funkcjonalny i zoptymalizowany. Dowiedziałem się, że chociaż sztuczna inteligencja może zaoszczędzić czas, powinna być wykorzystywana jako uzupełnienie umiejętności programowania, a nie jako zamiennik.
Wskazówki dotyczące pisania lepszego kodu za pomocą sztucznej inteligencji
Teraz, gdy miałem okazję eksperymentować z kodem generowanym przez sztuczną inteligencję, oto kilka wskazówek, jak uzyskać najlepsze wyniki z narzędzi takich jak ChatGPT lub innych asystentów kodowania AI:
- Bądź konkretny w swoich prośbach
Im bardziej szczegółowe będą Twoje wymagania, tym lepsze będą wyniki. Zamiast prosić o „kod do wyświetlania obrazów”, poproś o „kod Python do wyświetlania losowych obrazów z folderu na 7,3-calowym wyświetlaczu e-Paper Waveshare”. Im więcej kontekstu podasz, tym dokładniejsza będzie sztuczna inteligencja w generowaniu potrzebnego kodu. - Podziel złożone zadania
Jeśli projekt jest złożony, podziel go na mniejsze zadania. Na przykład poproś sztuczną inteligencję o wygenerowanie kodu dla jednej części projektu najpierw (np. wyświetlenie jednego obrazu), a następnie rozwijaj go. Pomaga to zapewnić, że AI generuje czystszy i bardziej zarządzalny kod, który można później łatwo dostosować. - Przeglądaj i udoskonalaj
Kod generowany przez AI rzadko jest idealny. Przejrzyj go dokładnie, aby upewnić się, że spełnia Twoje potrzeby. Poszukaj redundancji, błędów lub wąskich gardeł wydajnościowych. Nie wahaj się usunąć niepotrzebnego kodu lub przepisać sekcji, które wymagają poprawy. Ważne jest, aby pamiętać, że AI jest narzędziem, które ma Ci pomóc, a nie całkowicie Cię zastąpić. - Zrozum kod
Chociaż AI dostarcza kod, ważne jest, abyś zrozumiał, jak on działa. AI może generować logikę, ale nadal powinieneś wiedzieć, co kod robi, aby móc podejmować świadome decyzje podczas jego dostosowywania lub ulepszania. - Przekaż feedback, aby poprawić wyniki AI
Jeśli AI nie spełnia oczekiwań, podaj więcej kontekstu lub wyjaśnij swoją prośbę w następnej interakcji. Dzięki iteracji procesu uzyskasz lepsze wyniki za każdym razem.
Obejrzyj cały proces w akcji
W moim filmie zagłębiam się w ten eksperyment i pokazuję krok po kroku, jak użyłem ChatGPT do oczyszczenia skryptu testowego i wygenerowania działającego programu Python dla cyfrowej ramki na zdjęcia. Dzielę się również kilkoma spostrzeżeniami i wskazówkami, dzięki czemu możesz dowiedzieć się, jak najlepiej wykorzystać sztuczną inteligencję w kodowaniu.
Jeśli chcesz zobaczyć, jak sztuczna inteligencja może pomóc w programowaniu i jak udoskonalić kod generowany przez sztuczną inteligencję, koniecznie obejrzyj film How I Got Working Python Code from AI to Build a Digital Photo Frame.
Checklista jak uzyskać lepszy kod z ChatGPT(więcej na ten temat w filmie):
- Podaj konkretne informacje o tym, co kod powinien robić
- Podaj język programowania i wersję
- Wymień wymagane biblioteki, struktury lub interfejsy API
- Opisz dane wejściowe i oczekiwane dane wyjściowe
- Określ, co jest najważniejsze: czytelność, wydajność itp.
- Poproś o komentarze i wyjaśnienia, jeśli to konieczne
- Podaj kontekst, jeśli jest to część większego projektu
Przy okazji Lepiej unikać wklejania produkcyjnego kodu do ChatGPT i innych podobnych narzędzi, chyba że uruchamiasz taki serwer AI lokalnie. Korzystanie z publicznych narzędzi może wiązać się z ryzykiem ujawnienia wrażliwych danych lub kodu, którego nie chcesz udostępniać. Jeśli chcesz dowiedzieć się, jak stworzyć własny lokalny serwer AI, który pozwala na bezpieczne korzystanie z takich narzędzi, koniecznie przeczytaj artykuł na moim blogu lub obejrzyj film, w którym krok po kroku wyjaśniam, jak zamienić nawet stary laptop w lokalny serwer AI.
Podsumowanie
Czy AI jest naprawdę gotowa do pisania działającego kodu? Z mojego doświadczenia wynika, że tak. Sztuczna inteligencja może pisać działający kod. Ale tak jak w przypadku każdego narzędzia, wymaga pewnej interwencji człowieka, aby upewnić się, że kod jest funkcjonalny, zoptymalizowany i spełnia określone potrzeby Twojego projektu. Sztuczna inteligencja nie może w pełni zastąpić umiejętności kreatywnych i rozwiązywania problemów, które towarzyszą programowaniu ludzkiemu, ale z pewnością może pomóc przyspieszyć proces i pomóc w bardziej powtarzalnych zadaniach.
Tak więc, chociaż AI jest fantastycznym zasobem do generowania kodu, ważne jest, aby pamiętać, że działa najlepiej, gdy jest używana w połączeniu z Twoimi umiejętnościami i wiedzą specjalistyczną. Ostatecznie chodzi o współpracę między Tobą a AI w celu stworzenia najlepszego możliwego kodu.