Gdzie AI jest naprawdę groźne?
Jest wiele dyskusji i martwienia się o skutki stosowania AI w programowaniu – jest wiele obaw, że kod będzie niskiej jakości, nieczytelny, że pojawią się trudne do wykrycia błędy i tak dalej.
Ja jednak się dużo bardziej obawiam o AI w rękach prezesów, decydentów czy polityków. W odpowiedzi na prompt powierzchownie opisujący sytuację AI wygeneruje im sensownie brzmiący zestaw ogólników, a oni uznają to za dobry pomysł i każą wdrożyć albo przynajmniej będą na tej podstawie podejmować decyzje.
Dlaczego to gorsze niż kod napisany przez LLM? Ano dlatego, że w przypadku oprogramowania mamy możliwość szybkiej, obiektywnej weryfikacji – testy, przeglądy itp. Co więcej, wszystkie sensowne metody wykorzystywania AI w programowaniu mówią o starannym tworzeniu specyfikacji i planów implementacji a także zmuszaniu samego AI do pisania testów (w efekcie kod AI ma zwykle więcej i lepszych testów niż wiele korporacyjnych systemów1). Tymczasem w przypadku decydenta, który napisze coś do Chata GPT a potem uzna to za świetną podstawę do nadania kierunku w firmie – lub, co gorsza, czymś większym – takiej szybkiej weryfikacji nie ma. A fatalne skutki decyzji podejmowanej bez realnego zrozumienia tematu oczywiście też będą – ale dużo później, na tyle późno, że nawet sam decydent może już zdążyć zapomnieć jak to właściwie było. Nie będą też o tym pamiętać ani wiedzieć ci, których skutki tej decyzji dotkną (który dyrektor przyzna się, że w istocie decyzję podjął Claude?).
I, dodajmy, to nie jest wina samego AI. AI nie ma przecież szans mieć pełnego kontekstu sytuacji towarzyszącego każdej większej decyzji menedżerskiej czy politycznej. A już na pewno typowy menedżer (że z listości nie wspomnę o politykach) nie będzie umiał zawrzeć tego w promptcie choćby w formie pewnych zastrzeżeń czy żądania researchu. Zatem AI będzie musiało pójść w ogólniki niejako z konieczności. Warto zwrócić uwagę, że kiedyś zanim decydenci pytali o takie rzeczy AI zdarzało się im wynajmować konsultantów – a ci zwykle spędzali wiele dni jak nie tygodni analizując sytuację zanim wyszli z propozycjami rozwiązań. Dlaczego? Bo bez znajomości kontekstu trudno o dobrą decyzję.
To kolejna różnica w stosunku do AI w programowaniu. Agent kodujący nawet jeśli nie ma tego w promptcie ma w instrukcjach, żeby zajrzeć do istniejącego kodu, do dokumentacji, do historii zmian – i ma narzędzia, żeby to zrobić. Szanse na wyższą jakość wyniku jego pracy są więc dużo większe niż w przypadku powiedzmy dyrektora pytającego AI jak najlepiej prowadzić projekty w jego departamencie.
Jak z tym walczyć? No oczywiście, poprzez próby edukowania… czyli jak to już nie raz bywało: branża informatyczna dostarczyła najpierw fajnych zabawek, a dopiero potem „reszta” musi żmudnie się uczyć jak ich z sensem używać.
- Wiem, że ciężko w to uwierzyć patrząc na datę, ale wciąż są miejsca gdzie polega się na testach manualnych! Oczywiście dołożenie tam kodującego AI to recepta na piękną katastrofę. ↩︎
