W moim przypadku działa to świetnie do:
-
Tworzenia funkcji mapujacych obiekt z jednej klasy do drugiej(np. From/TryFrom w Rust)
-
Dopisywania logiki w prostszych funkcjach - czasami wystarczy wpisać nazwę funkcji, argumenty i zwracany typ, by cała logika którą oczekiwałem była wpisana do środka
-
Podpowiadaniu w jaki sposób używać danej biblioteki - zdarza się, że mimo przeczytania dokumentacji, nie mam pomysłu w jaki sposób użyć danej funkcji i zwykle podpowiedzi nawet nie do końca trafne, kierują mnie na właściwe rozwiązanie (pomogło mi to przy bibliotece diesel, która jest trudna do opanowania)
dzięki temu, zamiast żmudnego kopiowania i wklejania czy też tworzenia mniej wymagających funkcji, mogę skupić się na bardziej wymagających zadaniach.
Jednak zauważyłem, że pod niektórymi wątkami na reddicie i innych forach, jest spora rzesza osób, które z ai wcale nie korzystają(nie dlatego że nie wiedzą, ale bo nie chcą korzystać).
Jednym z argumentów, jest kwestia etyczna, bo kod nauczony przez ai nie jest w żaden sposób sprawdzany pod kątem licencji oryginalnego kodu.
Inny argument to kwestia tego, że więcej szkodzi(lub bierze więcej czasu niż jakby pisać to wszystko ręcznie) niż pomaga - akurat w moim przypadku argument chybiony.
Jakie są wasze argumenty za/przeciw?
#programowanie
#ai
#sztucznainteligencja
Czy korzystacie z AI przy programowaniu?
Ja ostatnio użyłem chata gpt, żeby zrobić program do wytrenowania modelu AI na bazie berta i program do wektoryzowania danych do wyszukiwania. "Programiści" AI sami na siebie bata kręcą xD
Natomiast jesli chodzi o normalne codzienne zadania, to raczej nie zdarza mi sie pisac powtarzalnego kodu, do tego sa watpliwosci licencyjne takiego kodu
Używam Copilot, głównie do pisania testów. W normalnym kodowaniu z reguły bardziej przeszkadza, niż pomaga, za wyjątkiem właśnie takich trywialnych zadań jak mapowanie obiektów czy pisanie DSL.
@qarmin ja jestem konserwatywny w tym sensie, ze nie chce mi sie uczyc nowych rzeczy/przeskakiwac z jednego narzedzia na drugie/instalowac kolejnego softu i osiadam na sprawdzonych rozwiazaniach. dodatkowo lubie miec kontrole nad tym co programuje, rozeznac sie w proponowanych rozwiazaniach i miec jako-taka pewnosc, ze to rozwiazanie, na ktore sie zdecyduje jest najlepsze, a AI robiloby to rozeznawanie za mnie i bym musial zaufac algorytmowi. jednoczesnie mam poczucie, ze nie ulatwiajac sobie pracy dzieki uzywaniu AI zostaje w tyle i zniecheca mnie to do programowania, moze sie przekwalifikuje na designera.
@5tgbnhy6 na designera? Przecież AI już opracowuje designy i grafiki w kilka sekund i ten zawód niedługo zniknie.
@AsiaUK gameplay designera, nie mam za bardzo umiejetnosci artystycznych
Jedyne, co jest naprawdę ważne dla mnie podczas programowania, to żebym dokładnie rozumiał, co piszę. Przeczucie, że nie jestem pewien jak coś ma działać, jest najlepszym sygnałem alarmowym, że zaraz napiszę trudny do poprawienia błąd. Nie wiem, jak mógłbym wykorzystać AI, które zabrałoby mi to bezcenne narzędzie.
@Skylark to nie czytasz kodu wygenerowanego przez AI czy go nie rozumiesz? Dziwny argument
@AsiaUK Czytanie cudzego kodu jest o wiele trudniejsze niż pisanie własnego. To nie jest żadna nowość - to jest obserwacja znana pokoleniom programistów.
@Skylark bzdura, widać że jesteś script kiddie a nie programista
@AsiaUK A Ty to pewnie wyjadacz, wybitny wirtuoz pracujący dla NASA i FAANGA? XD
Niezłe ego niektórzy ludzie mają..
@qarmin - ja się czasem tym co AI wypluwa inspiruję bo nie raz wypluło coś prościej zaimplementowane niż bym ja sam zrobił.
Niemniej kod od AI wymaga wprowadzania poprawek i nigdy nie używam kodu od AI którego nie rozumiem.
Zaraz zostaniesz zastąpiony przez te narzędzia
Taaa. Kiedyś ludzie z asemblera mówili tak o C. Może oprócz kwestii etycznej.
@qarmin nie jestem programistą i kompletnie się na tym nie znam, ale jak chciałem pozmieniać nazwy dwóch tysięcy plików w określonym schemacie za jednym zamachem, czy zrobić skrypt ściągający filmy z YouTube, to chatGPT załatwił mi to od ręki. Fajne narzędzie dla takich laików, którzy od czasu do czasu mogą sobie ułatwić życie prostym skryptem, a w ogóle nie znają się na programowaniu.
@qarmin skorzystałem raz do rozwiązania zadania z języka obcego, gdy miałem zaćmienie umysłu. Ale ja nie programista. Ze względów etycznych (pracę włożyli głównie maluczcy, zarabiają tylko wielcy) i przede wszystkim licencyjnych (tajemnice handlowe i tak dalej) generalnie nie korzystam. A największym osiągnięciem całej tej nowej gałęzi AI jest chyba wmówienie, że to "sztuczna inteligencja". Na taką jeszcze trzeba poczekać.
Dobra, pogadałem sobie
Kwestie etyczne? Przecież open source właśnie do tego jest open by się nim dzielić.
Natomiast halucynacje są problemem. Trzeba sprawdzać każdy fragment kodu.
@Dzemik_Skrytozerca ta, do momentu jak wpadniesz w licencje gnu albo inna z gatunku zaraźliwych. Wtedy twoim kodem też musisz się podzielić ze społecznościa.
I o to chodzi - nie wiesz na jakiej licencji było to, co ai podsunęło.
@wykopany no I załóżmy że masz w swoim niepublicznym projekcie algorytm z AI o niewiadomej licencji. Co to zmienia jak masz kod w prywatnym repozytorium? Jak ktoś miałby cię ganiać za licencję?
@AsiaUK w prywatnym pewnie nic. Ale jak wyjdzie, że kod napisany dla klienta lub pracodawcy ma kod z GNU to już gorzej.
@qarmin preferuje copilota. Podpowiada w miejscu w którym pisze, mega sam łapie kontekst tego co chce zrobić zanim z kodu wyniknie co chce zrobić
Chat gpt, szczególnie darmowy 3.5 jest tępy. Poza banałami typu zaokrąglanie liczby nie jest w stanie rozwiązać mi prawie żadnego problemu, wszystko go przerasta. I uwielbia dorzucać coś od siebie, daje mu np. skrypt w bashu, chce, żeby mi zmienił jedno zachowanie, a on po cichu sobie zmienia jeszcze dwie rzeczy inne
Programista, Java, 8+ lat skilla. W pracy zawodowej nie mogę korzystać (polityka firmy) ale w prywatnej jak najbardziej. I tutaj zarówno chat-gpt (dopłacam do wersji 4) oraz Github Copilot (mam też opcję czatu, z której czasem korzystam).
Tak jak inni wspominali, do pisania jakiejś bardziej zaawansowanej logiki nie zawsze się to nadaje, tak do pisania testów czy też jakichś mapperów jest bardzo spoczko
@qarmin próbowałem kilkanaście razy na prostych rzeczach i dostawałem totalne głupoty
Najczęściej używam do odpowiedzi na konkretne pytania - czemu aplikacja zakończyła się z kodem 139, jak wykonać insert or update w Django itp. Generowanie prostych funkcji nie pomaga mi dużo a nie mogę w projekcie używać w pełni copilota z powodów formalnych.
Myślę, że z czasem będzie coraz powszechniej używane i nawet wymagane do pracy. A jak ktoś nie chce teraz używać to będzie miał większe braku do nadrobienia lub większą szansę na bycie zastąpionym
Nie korzystam, bo szybciej odpowiedź znajduje w Google. Czasami widzę jakichś oświeconych juniorów na redicie i wykopie, którzy na pytania odpowiadają na zasadzie „użyj chat gpt dostaniesz odpowiedź szybciej niż tutaj”, po czym wklejają jakiś wysryw od czata, który nie jest nawet blisko rozwiązania problemu, a wręcz od tego rozwiązania oddala. Do generowania trywialnych rzeczy rozwiązania zazwyczaj istnieją już od lat. Te podpowiedzi w intellij z podpowiadaniem całych wierszy to bardziej rozpraszają uwagę i zmuszają do analizowania tego, co tam się wyświetla, zamiast po prostu dopisać to, co faktycznie chciało się zrobić, czasu zajmujemy tyle samo, albo nawet więcej niż normalne pisanie. Jak ktoś z automatu generuje testy w ai, to też chyba warto zadać sobie pytanie, jaka jest ich jakość. AI w aktualnej formie to jest co najwyżej jak poziom jakiegoś pluginu do IDE, jedynie firmy w chuj siana wydają na marketing, żeby pchać wyniki na giełdzie do przodu
@qarmin w prywatnych projektach używam i działa super. Powodzenia w dużym monorepo z obostrzeniami dot. bezpieczeństwa danych.
@qarmin czesto z gpt. Jak sie z twgo copilota korzysta?
@GrindFaterAnona Github Copilot jest płatny. Można go znaleźć tutaj: https://github.com/features/copilot
@qarmin Używam chataGPT głównie właśnie gdy próbuje ogarnąć nową bibliotekę czy frameworka. Zwyczajnie często szybciej jest zapytać się o coś AI niż szukać w dokumentacji. Ba, nawet sami twórcy frameworków i bibliotek to zauważyli bo ostatnio coraz częściej widzę na stronach integracje z https://www.kapa.ai/ .
Genialnie to potrafi zadziałać czasem, ale w sumie często wypluwa dokładnie to samo co pierwsza strona z googla z tym że mam dużo większe zaufanie do np odpowiedzi że stacka z wieloma plusami i komentarzami albo z jakiegoś bloga o programowaniu niż do odpowiedzi AI. Zbyt często AI kłamie i zmyśla, ileż to już razy AI podało mi nazwy paczek noda które nie istnieją. Ba ktoś to nawet sprawdził i jak AI podała mu nazwę jakiejś nieistniejącej paczki to zrobił puste repo o takiej nazwie i po miesiącu miał wiele tysięcy pobrań. Czyli nie tylko jemu wyszła ta konkretna paczka w odpowiedzi od AI. Oprócz samych paczek wymyśla też nazwy funkcji itp i podaje rozwiązania które nie istnieją.
Jednocześnie jeżeli nie mogę czegoś znaleźć na pierwszej stronie google to bardzo prawdopodobne, że AI też mi tego nie znajdzie. Potrzebowałem kilka razy paru skomplikowanych komend do Linuxa i nie potrafiło mi wgl pomóc, dopiero na Reddicie mi odpowiedzieli gdy zadałem pytanie.
@qarmin Nie jestem programistą - pracuję jako administrator aplikacji - ale często muszę skryptować rzeczy w powershellu i podobnych. O ile z tym nie mam problemu to ostatnio była potrzeba wyciągnięcia konkretnych danych z pewnej bazy MsSQL. Na tym się już kompletnie nie znam, no przynajmniej nie na tyle, że robić dzikie zapytania. Tutaj nasz firmowy MLM dał radę. Dałem mu strukturę, sformułowałem oczekiwania i w przeciągu 3 min miałem query. Także z takiej perspektywy AI jest super.
Jest mi w stanie pomóc przy rzeczach o których nie mam pojęcia (np. język którego nie używam na codzień, nowa biblioteka, framework którego nie znam), ale przy rzeczach z którymi pracuję na codzień bardziej przeszkadza niż pomaga, pisze kod z bugami na debugowanie którego trzeba poświęcić więcej czasu niż na napisanie wszystkiego samemu od początku, czasami podpowiada funkcje które nie istnieją i traci się czas na szukanie tych funkcji w dokumentacji, w starszych wersjach biblioteki itd. Generalnie jest okej, ale na tą chwilę na pewno nie jest to game changer, natomiast jest to jeszcze młoda branża więc liczę na to że w przyszłości się poprawi
AI może łatwo przemycić błędny kod na polecenie amerykańskiego rządu. Już wcześniej istniała zarówno afera inwigilacyjna Prysm, jak i ewidentnie próby skompromitowania bezpieczeństwa kryptografii potencjalnie przez agencje rządowe.
Problem jest podwójny bo z jednej strony masz rząd USA z pełną kontrolą nad amerykańskimi firmami, a z drugiej masz rządy typu chiny gotowe tworzyć masę fake repozytoriów w celu nauczenia AI potencjalnego przemycania luk w bezpieczeństwie
@Amebcio ( ͡ʘ ʖ ͡ʘ)
@Amebcio W Solidity też?(° ͜ʖ °)
@Amebcio To tak nie działa xd
@qarmin raczej rzadko używam, jak już do tworzenia dokumentacji, kod piszę sam z pomocą narzędzi typu intellisense bo modele AI nie radzą sobie jeszcze zbyt dobrze ze skomplikowanymi koncepcjami, przynajmniej w moim przypadku zazwyczaj produkował niedziałające rozwiązania lub po prostu sprzeczne z tym o co go prosiłem. Nawet tak zachwalane testy jednostkowe przekręcał, albo trzeba było 10 razy poprawiać więc szybciej sam napiszę takie bzdety. Ogólnie - dla słabych programistów, albo takich którzy robią dużo powtarzalnej roboty/używają więcej niż jednego języka czy frameworka do jakichś zastosowań w firmie (np. macie coś w c, c++, pythonie, js, bashu, batchu itd.) dobre, bo bez przypominania sobie składni coś prostego nam czasem wypluje, ale nie ufam mu na tyle żeby później w robocie się z błędów tłumaczyć.
Używam GH Copilot na codzień w robocie, traktuję go jako wyższy poziom autocomplete i czasami jak coś muszę napisać bez niego to aż mi brakuje. Senior 8+ lat, głównie Python.
Ale mamy tu programistów
@qarmin zdecydowane większość jednak nie programuje.
Ai to zwykłe złodziejstwo już istniejącego contentu.
A niektórzy walą konia że ai zastąpi pisarzy, scenarzystow i np malarzy
Zaraz się temu ai dobiorą do pipy i skończy się 'muzyka ai'
@qarmin czat jest ok, ale tylko płatna wersja ma sens no i nawet jak coś skopie to łatwo naprawić. Mi to ogromnie poprawia produktywność
Obydwa nadają się do trywialnych i prostych zadań. Niech dla przykładu zaproponuje Ci rozwiązanie problemu, gdy mając jakąś starą aplikację w Javie (choćby 7 i starsze) musisz zacząć obsługiwać TLSv1.2. Skończysz na przepisywaniu aplikacji lub tysiącu propozycji, z których żadna nie zadziała.
Dopiero się z tym ogarniam, wiele prostych podpowiedzi jest spoko, niestety jak już trzeba coś na poważnie skonfigurować to sugestie AI są - delikatnie mówiąc - z pupy.
U mnie niestety przydatne tylko do wskazania ogólnego kierunku - w narzędziu z którym pracuję najczęściej kod napisany przez chatGPT po prostu nie działa. Za dużo halucynacji, wymyśla biblioteki które nie istnieją, wrzuca nieaktualne biblioteki albo takie które nie są wspierane w wykorzystywanej przeze mnie wersji tylko następnej, albo podaje kod który zwyczajnie nie zadziała bo korzysta ze słów kluczowych czy funkcji które nie istnieją. Często też podaje użycie funkcji w sposób w który nie da się z nich skorzystać (np totalnie złe argumenty). A czasami zapytany o stworzenie jakiejś logiki zwraca deklarację funkcji z jej nazwą i komentarzem - dopisz sobie resztę xD
Szkoda bo narzędzie jako takie bardzo przydatne, ale najwyraźniej moje środowisko pracy zbyt mało popularne żeby umiał sobie z nim poradzić.
Zaloguj się aby komentować