10 przykładów, jak wykorzystuję AI w mojej pracy jako programista

AI programista możliwości

AI, Sztuczna Inteligencja, ML, LLM, Gen AI… – na pierwszy rzut oka te wszystkie hasła mogą wydawać się jedynie modnymi terminami, które zdominowały świat technologii.

Czy jednak kryje się za nimi coś więcej i czy programista znajdzie tutaj coś ciekawego?

Zdecydowanie tak!
Żyjemy w czasach, gdzie sztuczna inteligencja stała się niezwykle użytecznym narzędziem właśnie dla programistów, dostarczając rozwiązania, które rewolucjonizują naszą pracę.

W tym wpisie przyjrzymy się, jak AI już teraz wspiera programistów na różnych etapach tworzenia oprogramowania, od automatycznego generowania kodu, przez refaktoryzację kodu, aż po automatyzację codziennych zadań.

Poniżej znajdziesz aż 10 przykładów, jak wykorzystuję AI w mojej pracy jako programista.
Zapraszam! 👇

➡ ZOBACZ 👉: AI vs Człowiek! To będzie prawdziwa walka! Nie Daj Się Zastąpić! ⚔️🥊💥🤼

Praktyczne przykłady,
jak programista może wykorzystać AI już dziś! 🔥

Automatyczne Generowanie Kodu: Zwiększenie Efektywności Pracy

Jednym z podstawowych zastosowań AI w programowaniu jest automatyczne generowanie kodu. Narzędzia takie jak GitHub Copilot potrafią sugerować i tworzyć fragmenty kodu na podstawie opisu problemu lub istniejącego kodu.

Kluczową zaletą tego podejścia jest oszczędność czasu – im bardziej precyzyjnie określisz swoje oczekiwania, tym większa szansa na uzyskanie zadowalających wyników.

ChatGPT, AI, generowanie kodu

Oczywiście możemy to też zrobić korzystając z przeglądarkowej wersji ChatGPT, jednak integracja LLM z naszym IDE i łatwy dostęp do plików projektu znacząco usprawnia ten proces!

Intellij Copilot

Jak to wygląda w praktyce?

Przykładem może być sytuacja, w której piszesz polecenie dotyczące zapisu obiektu do pliku. LLM analizuje Twoje potrzeby i dostarcza odpowiednią sugestię kodu.

Czy tak przygotowany kod będzie „idealny” i pozbawiony wszystkich wad?
Niekoniecznie 🙂
Ale z pewnością zajmie Ci mniej czasu dostosowanie go do Twoich potrzeb niż pisanie wszystkiego od zera.

Automatyczne Testowanie Kodu: Redukcja Błędów na Wczesnym Etapie

Testowanie kodu to kolejny obszar, w którym AI może okazać się niezastąpionym wsparciem.

W podstawowej wersji wykorzystujemy tutaj podobne podejście jak przy generowaniu dowolnego innego fragmentu naszego projektu. Czyli „prosimy” naszego LLMa o wygenerowanie testów.

Pamiętaj jednak, że nie jest to tylko klasyczny generator, a odrobinę bardziej zaawansowane narzędzie. Dzięki dostępowi do innych testów i do zawartości naszych klas LLM może dopasować styl testów, czy uzupełnić brakujące przypadki testowe.

Poza pisaniem klasycznych testów możesz też poprosić LLM o analizę Twojego kodu i próbę odnalezienia w nim potencjalnych błędów. To podejście jest podobne do statycznej analizy kodu, tylko działa lepiej 🙂

➡ ZOBACZ 👉: Testowanie oprogramowania

Refaktoryzacja Kodu i Inteligentne Sugestie: IDE na Sterydach! 💉

Kolejnym krokiem w wykorzystaniu AI jest refaktoryzacja kodu oraz inteligentne sugestie bezpośrednio w IDE. Nowoczesne edytory, takie jak Visual Studio Code, czy Intellij Idea zintegrowane z GitHub Copilot, oferują sugestie podczas pisania kodu, przewidując, co programista zamierza napisać.

I to naprawdę działa…

W odróżnieniu od tradycyjnych narzędzi do statycznej analizy kodu, LLM potrafi zasugerować bardziej zaawansowane i kontekstowe poprawki, które można wdrożyć samodzielnie lub poprosić AI o ich wyjaśnienie, dostosowanie do naszych potrzeb, czy nawet bezpośrednie zaimplementowanie w naszym kodzie 🙂

I nie mówimy tutaj tylko o podpowiedzi kolejnego parametru w metodzie, a raczej o całych fragmentach kodu jak np. brakujące metody.

A co jeżeli nie podoba Ci się przygotowana sugestia?

Zawsze możesz spróbować kolejnej i kolejnej… Albo doprecyzować czego potrzebujesz.

➡ ZOBACZ 👉: Refaktoryzacja Kodu | Dlaczego kusi Cię, by wywalić kod i napisać go od nowa?

Wykrywanie Błędów i Debugowanie: Nowy Wymiar Jakości

Skoro jesteśmy już przy pisaniu testów i refaktoryzacji, to warto również wspomnieć o możliwości wykorzystania AI podczas debugowania naszego kodu i poszukiwaniu/naprawie różnego rodzaju błędów.

LLM może samodzielnie podjąć próbę analizy naszego kodu i przygotować sugestie, ale możemy go również wykorzystać do wspólnego prześledzenia logiki biznesowej. Czyli prosisz LLM o dokładne krok po kroku wyjaśnienie jak zachowa się dany fragment kodu, a gdy coś jest nie jasne dopytujesz i doprecyzowujesz. Dzięki takiej współpracy można dość szybko wyłapać braki w rozumowaniu.

Czyli AI może analizować kod pod kątem potencjalnych błędów, sugerować poprawki, a nawet automatycznie naprawiać niektóre z nich.

Oczywiście podczas takiej analizy możemy też wkleić fragment błędu czy nawet cały stacktrace.

A jeżeli chcesz iść już całkiem na całość, to można też przygotować automatyzację, która na produkcji będzie śledziła logi i w razie potrzeby podejmowała odpowiednie kroki!

➡ ZOBACZ 👉: Debugowanie, jakiego jeszcze nie znałeś

Automatyczne Tworzenie Dokumentacji: AI zrób to za mnie…

Lubisz pisać dokumentację? Bo ja nie…

Jest to jednak jeden z tych elementów programowania, o którym lepiej nie zapominać.

Całe szczęście ten proces też możemy sobie usprawnić, chociażby pisząc czysty i samodokumentujący się kod.

Wykorzystując dzisiejsze możliwości AI możemy pójść jeszcze o krok dalej i przy pomocy LLM wygenerować dokumentację dla naszego projektu.

Czy będzie ona idealna i nic nie będziesz musiał robić?

No nie… aż tak dobrze to nie będzie. Ale dzięki takiemu szkicowi z pewnością zajmie Ci to zdecydowanie mniej czasu.

➡ ZOBACZ 👉: Komentarze i samodokumentujący się kod | Kurs Java

Szybsza Nauka i Natychmiastowa Informacja Zwrotna: Personalizacja Procesu Nauki

Od kiedy korzystam w swojej pracy z możliwości dużych modeli językowych mój proces nauki nowych rzeczy znacząco przyspieszył. W dużej mierze związane jest to z bardzo łatwym dostępem do kontekstowej, personalizowanej wiedzy i natychmiastową wręcz informacją zwrotną.

W dzisiejszych czasach nie mamy problemu z dostępem do informacji. Wręcz przeciwnie często tej wiedzy jest tak dużo, że nie wiemy od czego zacząć… 10 książek na półce, czy link do obszernej dokumentacji w żaden sposób nie poprawi Twoje sytuacji.

A teraz wyobraź sobie, że piszesz fragment kodu i nie możesz sobie przypomnieć jaka to była metoda i z jakiej biblioteki – bezpośrednio z poziomu Twojego IDE opisujesz swój problem i już po chwili masz podpowiedzi.

Nie rozumiesz jakiegoś fragmentu kodu? To zaznaczasz go i prosisz o wyjaśnienie!

A co w sytuacji gdy LLM nie ma w swojej bazowej wiedzy np. informacji o najnowszej wersji frameworku?

Wystarczy, że skopiujesz dany fragment dokumentacji i dodasz go do kontekstu.

Z takim wsparciem nauka nowych rzeczy jest dużo dużo prostsza.

➡ ZOBACZ 👉: Nauka Programowania 100x Szybciej dzięki AI
➡ ZOBACZ 👉: Nauka programowania – jak się uczyć programowania, mimo braku czasu i motywacji

Podjęcie decyzji skomplikowanych decyzji projektowych

Jest to kolejny przykład na to jak LLM może być naszym partnerem w procesie wytwarzania oprogramowania.

Pamiętaj: nie chodzi o to, by zrzucić całą odpowiedzialność za zadanie na AI, a o to, by wykorzystać jej potencjał do lepszego i szybszego procesu podejmowania decyzji.

W przypadku trudniejszych decyzji architektonicznych np. wyborze konkretnej technologii, czy rozwiązania zazwyczaj zastanawiamy się miedzy 2-3 opcjami. Coś już wiemy, mamy jakieś przemyślenia, ale trzeba to dobrze ułożyć w głowie, może czegoś doszukać, sprawdzić coś – i dopiero wtedy podjąć ostateczną decyzję.

I właśnie w takim procesie świetnie sprawdzają się LLMy! 🙂

Możemy tutaj wykorzystać np. technikę projektowania promptów drzewo myśli (ang. three of thoughts).

W dużym uproszczeniu polega to na tym, że przygotowujemy dość rozbudowany prompt z naszym kontekstem i to co chcemy osiągnąć, a następnie prosimy LLM o przygotowanie 3 alternatywnych scenariuszy. Nie kończymy jednak w tym momencie, a kontynuujemy proces myślowy rozszerzając te scenariusze. Czyli wspólnie z AI przechodzimy przez cały proces myślowy.

Dzięki tej drobnej zmianie można uzyskać naprawdę świetne rezultaty.

AI, drzewo myśli

Tworzenie Chatbota lub Asystenta Programisty: Nowe Możliwości w Kodowaniu

Do tej pory mówiliśmy głównie o wykorzystaniu LLMów podczas procesu tworzenia oprogramowania, ale nic nie stoi na przeszkodzie, żeby wykorzystać je również bezpośrednio w kodzie naszych aplikacji! I dzięki temu dostarczyć jeszcze większą wartość dla naszych klientów.

Asystent, Mentor programowania AI

Między innymi tak powstał nasz asystent do nauki programowania, czy asystent wsparcia klienta C3PO.

Asystent nauki programowania

Asystent nauki programowania, którego screen widzisz powyżej, to aplikacja, która powstała w ramach programu KierunekJava.pl, żeby pomóc kursantom jeszcze lepiej i szybciej uczyć się programowania.

Pod spodem wykorzystujemy komunikację z LLM i rozszerzamy jego bazową wiedzę o naszą wewnętrzną bazę wiedzy.

Fajne i bardzo praktyczne, bo kursant dostaje spersonalizowane porady, a my nie musimy odpowiadać n-ty raz na te same pytania.

Asystent wsparcia klienta, C3PO

C3PO, to kolejny z naszych asystentów opartych o AI. Tym razem możliwości LLM zostały wykorzystane między innymi do wywoływania wewnętrznej logiki. Czyli model językowy jest swego rodzaju interfejsem, z którego korzysta użytkownik.

Korzystamy tutaj np. z możliwości przydzielenia odpowiednich uprawnień na discord (wywołanie specjalnego API), czy odpowiedzi na podstawowe pytania bazując na wewnętrznej bazie wiedzy.

Asystent, C3PO

Automatyzacja Codziennych Zadań: Zwiększenie Produktywności

AI nie tylko pomaga w tworzeniu kodu, ale również w automatyzacji codziennych zadań, takich jak analiza danych, podsumowanie wiadomości czy nawet odpowiedzi na maile.

Dzięki temu jako programista mogę skupić się na bardziej kreatywnych aspektach pracy, a rutynowe zadania przekazać robotom 🙂

Automatyczna obsługa nagrań ze spotkania

Jedna z moich starszych automatyzacji obsługuje nasze cykliczne spotkania mentoringowe.

W kalendarzu mam cykliczne wydarzenie na spotkanie, które czasami muszę przenieść na inny termin. Jednak poza przyjściem na samo spotkanie, jest to moja jedyna aktywność w tym temacie 🙂

Całą resztę pracy wykonuje automat, czyli:

  • Sprawdza kiedy jest spotkanie i informuje o tym kursantów.
  • Przypomina o zbliżającym się wydarzeniu.
  • Nagrywa spotkanie i przenosi materiał na platformę z nagraniami.
  • Aktualizuje stronę z nagraniami i powiadamia zainteresowane osoby.

AI, spotkanie, powiadomienia

Analiza ankiet

Analiza dużych zbiorów danych, to kolejne zadanie w którym bardzo chętnie korzystam z AI.

Zasilam model danymi w nieustrukturyzowanej formie, a następnie proszę go o:

  • Poukładanie i pozbycie się śmieci oraz duplikatów.
  • Streszczenie i podsumowanie.
  • Wyciągnięcie wniosków.
  • I co tylko jeszcze przyjdzie mi do głowy 🙂

Odpisanie na maila, czy na komentarz w social media

Komunikacja w dzisiejszych czasach zajmuje nam bardzo dużo czasu, a przecież w większości wypadków nie przekłada się to bezpośrednio na nasze wynagrodzenie…

Dodatkowo znaczna część takiej komunikacji przecież się powtarza.

O ile nie zleciłbym jeszcze AI całkowicie obsługi mojego maila 😉 to tutaj też możemy wspierać się jej możliwościami.

Bazując na wcześniejszych naszych odpowiedziach można przygotować bazę wiedzy oraz poprosić model o odtworzenie naszego stylu wypowiedzi.

Wtedy wystarczy już prosta automatyzacja, która przygotuje szablon odpowiedzi do naszej późniejszej weryfikacji i wysłania.

Asystent AI, social media

 

Podsumowanie wiadomości i zawsze bycie na bieżąco

W dzisiejszym szybko zmieniającym się świecie technologii bycie na bieżąco jest bardzo ważne.

Jednak dla przeciętnego śmiertelnika przeczytanie i zweryfikowanie wszystkich pojawiających się informacji jest poza zasięgiem.

AI reddit podsumowanie

Całe szczęście tutaj też możemy wspomóc się LLM.

Jedna z automatyzacji, którą wykorzystuję zbiera mi popularne wpisy z danego tygodnia, a następnie odpowiednio je przefiltrowuje i podsumowuje.

Określiłem tutaj reguły, które definiują co mnie interesuje, a co można pominąć.

AI podsumowanie wiadomości

AI to potężne narzędzie

AI to nie jest magiczna kula, która wszystko wie i wszystko potrafi…

LLM to potężne, ale jednocześnie dość ograniczone narzędzie!

Czasem „głupie”…
Ale dobrze wykorzystane, potrafi naprawdę bardzo, bardzo dużo!

To od naszych umiejętności i pomysłowości zależy, jak wykorzystamy ten potencjał! 🚀

AI to narzędzie

I właśnie dlatego zapraszam Cię na nasz warsztat! 👇

Warsztat AI dla programistów

Live, AI dla Programistów, co Cię czeka? ⏰

>> Link do szkolenia
i wszystkie niezbędne informacje

Podczas spotkania omówimy 👇

  • ✅ Co AI potrafi już dzisiaj i czego spodziewamy się w najbliższych latach. 🤔
  • ✅ Jak wykorzystać AI, żeby pisać kod nawet x100 szybciej! 🔥
  • ✅ Praktyczne projekty AI z wykorzystaniem dużych modeli językowych. 🚀
  • ✅ Dlaczego AI czasem kłamie & jak „nauczyć” LLM nowych rzeczy? 🤯

20+ BONUSOWYCH materiałów z programowania

e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!

Jak zostać programistą

No comments
Share:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *