22/02/2024

Więcej niz kod: AI w DevOpsie – Rola i ograniczenia

Sztuczna inteligencja z pewnością dała nam wiele. Fakt, nie zawsze jest to to czego chcemy, albo to czego potrzebujemy. Mamy jednak samochody, które same przemierzają drogi, odbywamy głębokie rozmowy z chatbotami oraz oglądamy filmy przedstawiające najbardziej wpływowe osoby na świecie grające razem w Minecraft. Pewna rewolucja dzieje się na naszych oczach. Rodzi się jednak pewne pytanie – gdzie jest granica? Do czego AI jest zdolne, a gdzie możliwości sztucznej inteligencji okazują się niewystarczające? Na szczęście dla większości, obecna lista zawodów, których nie da się zastąpić sztuczną inteligencją jest dość długa.

DevOps również pozostaje w ludzkich rękach, przynajmniej na razie. Istota tej dziedziny, i jej specyficzne wymagania dotyczącymi kreatywności, krytycznego myślenia i głębokiego zrozumienia złożonych systemów – opiera się pełnemu przejęciu przez naszych krzemowych odpowiedników. Nie można jednak zaprzeczyć, że AI w DevOpsie może pomóc ludziom, w szczególności tym którzy wiedzą, co robią. Być może przyszłość nie będzie polegać na zastępowaniu ludzi, ale na rozszerzaniu ich kompetencji poprzez ich wspomaganie.

AI a Dev

Nie ma cienia wątpliwości, że sztuczna inteligencja pomaga programistom w ich codziennych zadaniach. Weźmy jako przykład GitHub Copilot. Uruchomiony wśród wielu fanfar i sceptycyzmu, ten oparty na sztucznej inteligencji asystent okazał się czymś więcej niż tylko zaawansowaną funkcją autouzupełniania.

Stał się przykładem tego, jak sztuczna inteligencja może zwiększyć ludzkie możliwości, prowadząc do znacznego wzrostu zadowolenia i produktywności programistów. Według badań przeprowadzonych przez GitHub, programiści korzystający z Copilot zgłaszają, że czują się bardziej spełnieni w swojej pracy, doświadczają mniej frustracji podczas kodowania i cieszą się możliwością skupienia się na bardziej satysfakcjonujących, kreatywnych zadaniach.

Ekonomiczne implikacje

Rozmowy o ekonomicznych implikacjach integracji sztucznej inteligencji z procesami rozwoju są równie przyjemne dla ucha. W innym badaniu podkreślono, że wzrost produktywności przypisywany narzędziom takim jak GitHub Copilot może potencjalnie zwiększyć globalny PKB o ponad 1,5 biliona dolarów. Nie mówimy tu o drobnych!

Ograniczenia sztucznej inteligencji w programowaniu

Pomimo chętnie pokazywanego potencjału, sztuczna inteligencja nie jest pozbawiona ograniczeń. Przykład GPT, który przeszedł rozmowę kwalifikacyjną Google, może prowadzić do wniosku, że AI w DevOpsie wkrótce zastąpi programistów z krwi i kości. Ważne jest jednak, aby zdać sobie sprawę, że chociaż sztuczna inteligencja może opanować składnię i strukturę kodu, jej zdolność do poruszania się po bardziej złożonych aspektach tworzenia oprogramowania wciąż pozostawia wiele do życzenia.

Wyzwania związane z „halucynacjami” AI lub generowaniem kodu pełnego błędów są realne i nie należy ich ignorować. Nie są to tylko drobne potknięcia, a znaczące przeszkody, które podkreślają konieczność ludzkiego nadzoru i interwencji.

Programiści nie zostaną zastąpieni przez AI w DevOpsie

Obecną mocną stroną sztucznej inteligencji jest radzenie sobie z podstawowymi zadaniami kodowania, oferowanie sugestii, a nawet automatyzacja powtarzalnych aspektów kodowania. Ciężko jest zaprzeczyć, że jest to cennym wkładem. Jednak jeśli chodzi o rozwiązywanie „dziwnych” problemów lub etyczne aspekty rozwiązań programowych, człowiek jest tym, czego na ten moment nie da się zastąpić. Sztuczna inteligencja może tworzyć bloki, ale to właśnie ludzie są potrzebni, aby złożyć je w znaczące, funkcjonalne struktury, które służą potrzebom i wartościom społeczeństwa.

Opowieść o chatbocie AI Chevroleta, który został przekonany do sprzedaży samochodów za $1, jest dobrym przykładem tego, co dzieje się, gdy sztuczna inteligencja napotyka scenariusze, które zbaczają z prostej i wąskiej ścieżki, na którą została zaprogramowana. Te „dziwne” problemy – sytuacje, w których człowiek poradziłby sobie ze zdrowym rozsądkiem, względami etycznymi i świadomością kontekstu – często pozostawiają sztuczną inteligencję zdezorientowaną lub, co gorsza, prowadzą do niezamierzonych konsekwencji

Poza wiedzą techniczną, deweloperzy wnoszą unikalną perspektywę, która ma kluczowe znaczenie w kierowaniu aplikacjami AI. Zapewniają oni, że systemy te działają wydajnie. Przestrzegają również standardów etycznych i norm społecznych. Ludzki nadzór jest tym, co powstrzymuje nasz cyfrowy postęp przed popadnięciem w absurd i utonięciem w morzu błędów spowodowanych halucynacjami.

Sztuczna inteligencja a Ops

Wiele żmudnych, czasochłonnych i powtarzalnych zadań można powierzyć (częściowo, lub w pełni, jeśli jesteś wystarczająco odważny) sztucznej inteligencji:

  • Zapewnienie zgodności: Sztuczna inteligencja stale monitoruje systemy. Nie potrzebuje odpoczynku. Nie potrzebuje snu. 24/7 może zapewnić zgodność z najnowszymi standardami regulacyjnymi, znacznie zmniejszając ręczny wysiłek wymagany do kontroli zgodności.
  • Kontrola integralności danych: Dzięki zdolności do szybkiego przetwarzania i analizowania danych, sztuczna inteligencja identyfikuje rozbieżności i anomalie. Pomaga to człowiekowi podejmować świadome decyzje w oparciu o dokładne i spójne informacje.
  • Autonomiczne zarządzanie zadaniami biznesowymi: Od rutynowych zapytań po zarządzanie złożonymi przepływami pracy – sztuczna inteligencja może autonomicznie obsługiwać wiele operacji biznesowych. Minimalizuje to potrzebę interwencji człowieka.
  • Szybkie przetwarzanie danych: Sztuczna inteligencja jest w stanie przeglądać ogromne ilości danych szybciej niż kot jest w stanie przewrócić szklankę. Wczesne wykrywanie luk w zabezpieczeniach i potencjalnych awarii systemu zapobiega poważnym problemom.
  • Podsumowywanie danych: Jak niektórzy z nas mogli się nauczyć po skondensowaniu kilku długich wiadomości e-mail za pomocą Chatu GPT, sztuczna inteligencja jest świetna w podsumowywaniu. Podobnie, doskonale radzi sobie z podsumowywaniem ogromnych zbiorów danych w spostrzeżenia, na podstawie których można działać. Osoby decyzyjne otrzymują jasne i zwięzłe informacje, które mają kluczowe znaczenie dla świadomego podejmowania decyzji.

Da się powiedzieć 'Ops’ nie mówiąc 'ludzie’ ale czy warto?

Integracja sztucznej inteligencji (AI) z DevOps niezaprzeczalnie zrewolucjonizowała sposób automatyzacji i optymalizacji operacji. Nie oznacza to jednak, że powinniśmy całkowicie zastąpić „ludzką” część „Ops”. Musimy o tym pamiętać:

  • Niedoskonałości i skłonności do błędów: Sztuczna inteligencja, pomimo wszystkich swoich osiągnięć, nie jest nieomylna. Może popełniać błędy, w wyniku błędnych danych lub uprzedzeń algorytmicznych. Ludzki nadzór służy identyfikacji, korygowaniu i wyciąganiu wniosków z tych błędów.
  • Koszt: Chociaż AI w DevOpsie może usprawnić wiele procesów, konfiguracja i utrzymanie zaawansowanych systemów sztucznej inteligencji może być kosztowne.
  • Kwestie etyczne i prawne: Ludzie muszą nadzorować te systemy, aby upewnić się, że działają one w granicach etyki. Być może AI nie jest jeszcze w stanie wywołać zamieszek. Warto się jednak upewnić.
  • Halucynacje: Modele sztucznej inteligencji, zwłaszcza LLMs, mogą generować „halucynacje” lub wyniki, które są całkowicie sfabrykowane i nie mają podstaw w rzeczywistości. Interwencja człowieka jest niezbędna, aby dostrzec te nieścisłości.