Flaga - Unia Europejska
Wróć
14.03.2024

Naj w AI #15 – Devin, autonomiczny programista AI

AI

Naj w AI #15 – Devin, autonomiczny programista AI

AUTOR: Maciej Rubczyński – Head of Development | Big Data & AI Solutions Architect w TIDK

2024 rok wywołuje wiele poruszenia i opinii w tematach związanych z programowaniem, przyszłością wytwarzania oprogramowania i wykorzystaniem w tym celu LLM. Mieliśmy już w ostatnim czasie wypowiedź szefa NVIDIA, twierdzącego, że nie warto uczyć dzieci programowania, gdyż nie jest to przyszłościowy zawód. Pojawił się również ciekawy raport wskazujący wady korzystania z asystentów programowania takich jak niezwykle popularny GitHub Copilot. Ostatnią nowością wywołującą niemałe zainteresowanie w dziedzinie programowania AI jest Devin, pierwszy autonomiczny programista, produkt firmy Cognition Labs.

Twórcy Devin przetestowali go z wykorzystaniem SWE-Bench, zbioru problemów zgłoszonych w projektach open-source dostępnych na GitHub. Poprzednie próby podejścia AI do tego typu zbioru zadań pozwalały rozwiązać tylko 1,96% z nich bez wsparcia programisty, a 4,8% korzystając z niewielkiej pomocy człowieka. Devin przygotował bez ludzkiego udziału aż 13,86% poprawnych implementacji rozwiązujących wskazane problemy.  Twórcy rozwiązania twierdzą, że zatrudnili Devin nawet dla kilku zleceń z popularnej platformy dla freelancerów UpWork i model sobie z nimi poradził.

Cognition Labs uważa, że Devin jest w stanie:

  • Planować i wykonywać złożone zadania programowania
  • Podejmować decyzje w jaki sposób zaimplementować konkretny scenariusz.
  • Opierać się na pozostałej części bazy kodu używanego w konkretnej aplikacji, przywoływać odpowiedni kontekst i zachowywać standardy.
  • Poprawiać błędy znalezione w kodzie.

Według deweloperów, którzy mieli już okazję przetestować model, Devin jest „skilled and tireless”, potrafi wydajnie I bez przerwy wykonywać zadania na poziomie stażysty lub świeżego juniora. Czyżby stwierdzenie, że każdego seniora może zastąpić nieskończona liczba juniorów, niedługo miało zostać zaktualizowane? 😉 Na ten moment trzeba poczekać przynajmniej do momentu udostępnienia rozwiązania szerszej grupie użytkowników, by każdy mógł przetestować jego zdolności.

Mimo, że tego typu rozwiązania potrafią wzbudzać niepokój wśród programistów o przyszłość ich rynku, sami twórcy nalegają by traktować Devin jako wsparcie przy programowaniu, a nie zastąpienie pracownika. Rozwiązanie ma pomóc szczególnie przy prostych i żmudnych zadaniach, choć docelowo jego potencjał jest większy. Wpisuje się w rodzinę rozwiązań typu AutoGPT, agentów, którzy mając sprecyzowane zadanie mają wykonać kroki by do niego autonomicznie dotrzeć. Ich koncepcja jest z pewnością ciekawa, ale dotychczasowe rozwiązania jednak były dalekie od spodziewanych. Tego typu mechanizmy działały na iteracyjnych kolejnych zapytaniach do modeli LLM, a stopień halucynacji i odchylenia rezultatów od spodziewanego wyniku zwiększał się z każdym zapytaniem. Natomiast oczywiście są to dopiero pierwsze miesiące takich prób, przyszłość w wydaniu autonomicznych agentów wykonujących zadania może nas zaskoczyć.

Z pewnością interesujące jest czy Devin i inne autonomiczne modele przeznaczone do programowania powtórzą sukces lub zastąpią Asystentów AI. Copilot od Github już mocno zakorzenił się w świadomości wielu użytkowników, można go nazwać jednym z najbardziej udanych wdrożeń GenAI do codziennie wykorzystywanych narzędzi. Ma on swoje wady przedstawiane w jednym z poprzednich artykułów, m.in. skupia się tylko na generowaniu nowego kodu nie naprawiając poprzedniego, czy nie zachowuje spójności między kodem w ramach tego samego rozwiązania za każdym razem proponując inne podejście. Jednak rynek Asystentów AI również się rozwija i powstają rozwiązania mające zaradzić tym problemom. Jednym z najciekawszych jest Copilot++.

Copilot++ jest rozwiązaniem firmy Cursor, które ma zaradzić problemom znanym z Github Copilot. Pozwala na sugerowanie poprawek do wcześniejszego kodu, rekomendacje nowego kodu nie tylko na końcu pliku, ale również wskazując odpowiednie miejsce na umieszczenie go, rekomendacje kodu do usunięcia czy ustandaryzowania. W celu spełnienia tych elementów twórcy Copilot++ wydali go jako osobne narzędzie, oparte o Visual Studio, ale jednak odrębne. Niemożliwe było dostarczenie go jako dodatku do Visual Studio jak Github Copilot, wiązałoby się to ze znacznym ograniczeniem funkcjonalności. Możliwości ma więc większe niż rozwiązanie Microsoftu, zobaczymy, czy przyjmie się tak samo dobrze.

Mamy więc dwa podejścia: asystenci AI, podpowiadający przy pisaniu kodu, oraz agenci AI, wykonujący zadania w całości. W najbliższych miesiącach i latach przekonamy się czy i które z nich się przyjmie 🙂

Źródła:

Partnerstwa

tidk logo

Bałtycka 6
61-013 Poznań