Prowadząc szkolenia ze sztucznej inteligencji często słyszę obiekcję, że nie warto uczyć się pisania promptów.
Przecież mamy coraz bardziej zaawansowane modele, które sobie z tym poradzą. A nawet jak nie teraz, to za chwilę będzie kolejna wersja, która będzie jeszcze mądrzejsza.
Okazuje się, że to bardzo powszechne podejście. A wiele osób nie widzi różnicy między „dobrym”, a „złym” promptem. A co gorsze, nie widzi sensu, żeby się nad tym zastanowić.
Po wdrożeniu kilku projektów wykorzystujących LLMy i moich doświadczeniach w codziennej pracy przy pisaniu promptów, podam Ci kilka przykładów jak ważne jest pochylenie się nad tym problemem.
Pisząc zapytania na żywo np. bezpośrednio z poziomu ChatGPT – rzeczywiście nie ma to aż tak dużego znaczenia. Ostatecznie tego typu narzędzia zostały zaprojektowane dla mas. Czyli dla użytkowników, którzy nie mają większej wiedzy o LLM i którzy zazwyczaj zadowolą się uniwersalną odpowiedzią. A jeżeli będą jakieś trudności, to zawsze możesz doprecyzować zapytanie albo napisać swój prompt jeszcze raz.
Rozumiem jednak, że Ty nie jesteś przeciętnym użytkownikiem i chcesz czegoś więcej 🙂
Powiedźmy, że Twoje zadanie polega na napisaniu promptu, który ma wyciągnąć dane z faktury. Dodam tylko, że faktury przychodzą w różnych, nieznanych nam formatach i jest ich sporo, a nawet bardzo dużo.
W tej sytuacji zaczynają się trudności:
- Ponieważ jest to automatyzacja, to nie masz możliwości doprecyzowania swojego promptu w locie.
- Duża ilość faktur oraz ich różnorodność zmusza Cię do optymalizacji aplikacji. Pierwszy krok to optymalizacja Twojego promptu. Tu już trzeba się trochę postarać.
- Okazuje się jednak, że koszty komunikacji z LLM są tak duże, że trzeba przesiąść się na inny szybszy i tańszy model. Niestety, Twój ogólny prompt nie działa na mniej zaawansowanym modelu… Musisz go dopracować.
Mam nadzieję, że ten przykład przekonał Cię, że z punktu widzenia programisty warto wiedzieć, jak pisać „dobre” prompty.
Wymagania wobec programistów coraz bardziej się zmieniają, a podejście do pracy z LLM coraz bardziej przypomina to, które znamy z baz danych.
- Przeciętny użytkownik może napisać proste zapytanie w stylu „SELECT * FROM TABLE”
- Wobec programistów, szczególnie seniorów mamy jednak dużo większe wymagania.
- A i tak mamy dedykowanych specjalistów od baz danych, którzy zajmują się tylko tym.
Podobnej sytuacji spodziewamy się w przypadku LLM.
Przeciętny Kowalki << Programista << Prompt Engineer
➡ ZOBACZ 👉: Generatywna AI, Generatywna Sztuczna Inteligencja
Zobaczmy to na jeszcze jednym przykładzie.
Jak wygląda standardowa wizyta u lekarza z punktu widzenia programisty?
- Wywiad, zebranie informacji
- Badania i analiza wyników (oby…)
- Diagnoza na bazie zgromadzonych danych. Zazwyczaj proste drzewo decyzyjne – jeżeli gorączka to paracetamol itp.
Oczywiście trochę upraszczam ale… Wydaje się prosto, tak?
To zobaczmy to na innym przykładzie.
Jak wygląda tworzenia aplikacji z generatywną AI/LLM?
- Wywiad, zebranie informacji (wymagania klienta).
- Przekazanie wymagań do AI i wygenerowanie aplikacji.
Wydaje się jeszcze prostsze, tak? Skoro AI może generować kod, to czy potrzebujemy programisty, który to wywoła?
Podejrzewam, że chętniej zgodzisz się na wykorzystanie AI podczas tworzenia oprogramowania niż podczas leczenia Ciebie lub Twojego dziecka…
Jednak wbrew pozorom te dwie sytuacje maja bardzo dużo wspólnego. Błędna diagnoza podczas kataru raczej nas nie zabije. Podobnie błędne wygenerowanie kodu do prywatnego bloga… Tylko, że to nie są jedyne projekty jakie piszemy, prawda? 🙂
AI to narzędzie. Proste rzeczy może robić praktycznie każdy. Jednak, żeby zrobić coś więcej potrzebujesz jeszcze:
- wiedzy domenowej
- wiedzy programistycznej
- oraz wiedzy o komunikacji z LLM.
Dlatego korzystaj z tego narzędzia z głową! 🙂
A jeżeli interesuje Cię temat Generatywnej AI i automatyzacji dla programistów to 👇
>> A jeżeli chcesz rozwijać się w kierunku AI
i Automatyzacji,
zobacz co dla Ciebie przygotowałem.
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!