Czy używacie copilota?

0

Było już wiele tematów o copilocie tutaj ale bardziej w ramach paniki że nam zabierze pracę. Natomiast tu chciałbym spytać z perspektywy usera i o doznania po dłuższym używaniu.

Od kilku miesięcy mam narzucony w pracy i rozważam wykupienie subskrypcji dla siebie ale ostatnio wydaje mi się że bardziej mi przeszkadza niż pomaga.
Są miejsca w których fajnie działa, ale za każdym razem muszę przeanalizować kod który wypluł, a czytanie kodu zajmuje zazwyczaj więcej niż pisanie. Zdarzają się bugi, często muszę coś poprawiać lub całkowicie napisać od zera bo wygenerowany kod stosuje zbyt naiwne podejście.
Ostatnio naciskam z 1000 razy dziennie escape bo nie chcę jego podpowiedzi bo wiem że będą bzdurne bo nie wie co chcę zrobić a napisanie komentarza co chcę zrobić zajmie tyle samo czasu co napisanie kodu.
Ostatecznie przydaje się do pisania krótkich powtarzalnych linijek kodu które sam mógłbym napisać w podobnym czasie.

Jednocześnie czasem potrafi zadziwić na przykład gdy powolutku sobie porządkuję cudzy legacy spaghetti kod żeby go lepiej zrozumieć a copilot wypluwa kod który świadczy o tym że już dawno zrozumiał co ten kod robi na długo przede mną. Szybko się też "uczy" i podpowiada na przykład komunikaty do logowania w tej samej konwencji co reszta komunikatów a po poprawieniu go potrafi zastosować tę poprawkę przy kolejnej okazji.

Czasem oszczędza wycieczkę na stackoverflow czy do googla, ale osobiście nie wydaje mi się warty tych $10 miesięcznie i korzystałem z niego tylko w ramach triala. Krótki, prosty kod za darmo generuje wbudowane w IDE AI, a dłuższy kod również za darmo wygeneruje bing chat, chat gpt czy inne gemini.

A jakie są wasze odczucia? Potraficie ślepo zaufać temu co generuje i zacommitować do projektu pod swoim nazwiskiem? A może uważacie że źle z niego korzystam i macie jakieś wypróbowane tricki? Płacicie z własnej kieszeni do prywatnych projektów?

0

Bawiłem się nim trochę ale tylko w zakresie - jak jest on inteligentny. Finalnie gdzie się dało to go wyłączyłem. Nie używałem go do pracy jako takiej ale do próby pozyskania informacji. Niestety jest to skrajnie lewicowy twór tak jak odpad google. Zagina rzeczywistość w tym co z siebie wypluwa na wiele tematycznych obszarów.

No chyba że wykorzysta się go do jakiś zadań matematycznych, bo już niekoniecznie statystycznych.

Finalnie nie korzystam z tego, jest to za kołkowate i zbyt sztucznie naginane co do tego - co się tam wyświetla. Kawały o Polakach dla przykładu są bardzo proszę od ręki - kawały o żydach i czarny już - jesteś pytającym rasistom. Tak samo zapytania o statystyki, lub proporcje jeśli mają jakiś typ zakorzenienia z rzeczami nawet blisko leżącymi co do poprawności politycznej.

Finalnie dla mnie do mojego zakresu pracy humanistycznej jest to całkowicie nieprzydatne. Lecz dla ludzi co potrzebują prostej konstrukcji może im pomóc. Być może także w prostej matematyce (niezbyt złożonych i rozbudowanych zależności). Ale nie ufam temu narzędziu za grosz w sprawach socjologicznych czy humanistycznych.

0

Trochę używam w domu, Mam mieszane uczucia; co do Copilota; częściowo przez potrzebę ciągłego analizowania tego co wypluwa. Rozgoryczenie mi przechodzi jak mi poda jakąś linijke kodu poprawnie i daje mu kolejną szansę. Może jakbym więcej kodu produkował to byłby bardziej opłacalny. Obecnie traktuję jako zdobywanie tzw. "hands on experience" z copilotem (ale bez spiny).

ChatGPT nawet spoko, ale korzystałem tylko do poszukiwania informacji i generacji małych fragmentów kodu. Wydaje mi się bardziej przydatny, no i jak generuję kod to mniej męczącze jest to "ciągłe analizowanie tego co wypluwa"

Nie nie zaufałbym na ślepo.

Z mojej strony pytanie. Możecie w pracy używać copilota? On wysyła kod "na zewnątrz".

0

teraz chyba leposzy jest https://claude.ai/

0

W c++ projektach w ogóle sobie nie radzi. Także nie.

0
krsp napisał(a):

Z mojej strony pytanie. Możecie w pracy używać copilota? On wysyła kod "na zewnątrz".

To jest ciekawe pytanie, nie tylko możemy ale musimy bo firma ma w planach w ten sposób zaoszczędzić kasę. Firma dostarczyła własną zmodyfikowaną wersję wtyczki copilota i nie wiem jak to działa i co zostało zmienione, ale mamy zakaz używania oficjalnej wersji. Logujemy się wewnętrznym SSO (wiecie że jak w githubie podczas logowania w loginie wpiszemy underscore + nazwa firmy to przekieruje nas do strony logowania tej firmy? Ja wcześniej nie wiedziałem i nie rozumiałem czemu nie można mieć podkreśleń w nazwie użytkownika).
Jednocześnie mamy nie dawać do copilota danych wewnętrznych firmy, ale niby w jaki sposób skoro nie decydujemy co jest przesyłane i działa to cały czas w tle. Domyślam się że chodzi o chat w copilocie który być może działa inaczej.

1

Nie korzystam. Chociaż czasem korzystam z ChatGPT, ale do inspiracji/edukacji w stylu "pokaż mi, jak coś takiego zrobić", ale nie żeby przekopiowywać później rozwiązanie, tylko co najwyżej zainspirować się, użyć takiej i takiej metody/idiomu itp. Albo do nazewnictwa, jak nie wiem, jak nazwać klasę/funkcję.

obscurity napisał(a):

Od kilku miesięcy mam narzucony w pracy

Co to znaczy narzucony? Po prostu masz mieć zainstalowany czy masz z niego aktywnie korzystać i generować kod?

Są miejsca w których fajnie działa, ale za każdym razem muszę przeanalizować kod który wypluł, a czytanie kodu zajmuje zazwyczaj więcej niż pisanie. Zdarzają się bugi, często muszę coś poprawiać lub całkowicie napisać od zera bo wygenerowany kod stosuje zbyt naiwne podejście.

Ja trochę nie kumam, czemu wiele ludzi myśli, że generowanie kodu za pomocą AI będzie jakimś game changerem, jeśli chodzi o tworzenie oprogramowania. Przecież od lat mamy rozwiązania klasyczne, które pozwalają na oszczędzanie czasu programistom - biblioteki, frameworki itp. Czyli gotowe kawałki kodu, które możesz sobie użyć. I jakoś zawód programisty dalej istnieje, a frameworki generują więcej pracy, a nie mniej (bo przeciętny programista może więcej zrobić za pomocą frameworków, więc więcej się od niego wymaga).

Czemu więc generowanie kodu za pomocą AI miałoby być jakimś game changerem? Przecież to tylko trochę lepsze autocomplete(ew. stack overflow). I funkcjonalnie w zasadzie gorsze niż rozwijana latami biblioteka/framework.

Wydaje mi się, że to kwestia tego, że możliwości LLM są naprawdę imponujące i ludzie wiążą zbyt wielkie nadzieje z tym, próbując używać tego wszędzie. To trochę jakby robić ekspres do kawy napędzany energią nuklearną i twierdzić, że zlikwiduje to zawód baristy.

0
LukeJL napisał(a):

Co to znaczy narzucony? Po prostu masz mieć zainstalowany czy masz z niego aktywnie korzystać i generować kod?

mamy mieć zainstalowany i aktywny i siłą rzeczy z niego korzystać

LukeJL napisał(a):

Ja trochę nie kumam, czemu wiele ludzi myśli, że generowanie kodu za pomocą AI będzie jakimś game changerem, jeśli chodzi o tworzenie oprogramowania. Przecież od lat mamy rozwiązania klasyczne, które pozwalają na oszczędzanie czasu programistom - biblioteki, frameworki itp. Czyli gotowe kawałki kodu, które możesz sobie użyć. I jakoś zawód programisty dalej istnieje

Podyskutowałbym ale nie chciałem żeby to był kolejny temat o zabieraniu pracy przez AI tylko temat o tym że udajemy że jest przydatny i jak go najlepiej wykorzystywać.

0

Mam dostęp, nie używam, nie wiem nawet jak się włącza. Nie wiem po co miałbym włączać.
Ale mogliby tego użyć w MS, żeby wreszcie wygenerować sprawny ORM.

Jeśli to jest wbudowane w edytor zapytań do Cosmos DB, to znaczy, że użyłem raz.

0

W robocie dają za darmo, to czasem jakieś autocompletion się przyda, ale nie jest to dla mnie warte płacenia pieniędzy. Czat odblokowali dopiero niedawno, dziś zauważyłem.

1

Nie, ale korzystam z prywatnego chata GPT czasem jak mam problemy z taskiem.

0

Korzystam bardzo dużo, piszę kod, posty na forum, prowadzę social media. Copilot uprościł znacznie moją pracę i życie, teraz mogę się skupić na rzeczach ważnych.

2

Z Copilot jeszcze nie korzystałem.
W firmie jest wyraźny zakaz używania, bo kod leci na serwery MS. Firma coś przebąkuje, że coś udostępni.
Prywatnie niedawno się zarejestrowałem na próbną wersję i sprawdziłem, że działa, ale jeszcze nie użyłem tego do pisania prawdziwego kodu (brak weny do pisania własnych rzeczy).

ChatGpt traktuje jako szybsze przeszukiwanie dokumentacji. Pytam co potrzebuje, a potem sprawdzam czy ChatGpt bredzi. (50/50).

Za to ostatnio przekonuje się do nowej wyszukiwarki internetowej: https://www.perplexity.ai/
Odruchowo korzystam z google, ale jak zawodzi, to wtedy przypominam sobie o perplexity i na razie wymiata. Odpowiada mi forma abstraktu (jak w publikacji naukowej), z tego co znalazło w internecie.

0

Dostałem licencje tydzień temu, podpowiedzi całkiem całkiem - przy rzeczach typu testy przyspiesza x3 razy robotę.
Jest opcja chat'u coś ala GPT, choć to musi być jakiś bardziej ograniczony model - zapytałem o Scala i NonFatal(e) to dostałem taką sobie odpowiedź.
Najbardziej pomaga jak się piszę podobny kod do istniejącego typu nowy api endpoint.

0
somekind napisał(a):

Mam dostęp, nie używam, nie wiem nawet jak się włącza. Nie wiem po co miałbym włączać.

Akurat w twoim przypadku to nie ma sensu bo nie stosuje się modelu ogólnego do trenowania modelu specjalizowanego chyba że ten drugi zaczyna gonić w piętkę.

2

No dobra, wczoraj miałem oficjalne szkolenie, i mam tego używać, to używam:

  1. Ogólnie pozwala zaoszczędzić czasu na używaniu Google, zamiast szperać w dokumentacji on im daje od razu kod do skopiowania. Wydaje mi się to szybsze niż przebijanie się przez dziesiątki wątków na SO, które często maja ponad 15 lat.
  2. Potrafi generować testy jednostkowe do istniejącego kodu. Jest to strasznie głupie w nieodpowiednich rękach, i zapewne spowoduje powstanie jeszcze więcej gównianego kodu, no ale czasem może być przydatne. Testy są nawet sensowne pod względem pokrycia przypadkami, i można nawet zażyczyć sobie jakich bibliotek do testów ma użyć.
  3. W przypadku prawdziwego problemu raczej nie pomoże - np. gdy AutoMapper zaczął rzucać wyjątkiem, Copilot dawał generyczną odpowiedź "błąd złej konfiguracji jest dlatego, że masz złą konfigurację, napraw konfigurację", zamiast zaproponować coś konkretnego.
  4. Jak go spytałem jak zrefaktoryzować jakąś tam rozrośniętą encję, to wymyślił, żeby ją podzielić na 6 managerów. 😆
  5. Chwalą się też, że umie przeanalizować kod projektu i wyjaśnić, co tam się dzieje. Konfabuluje jak nieprzygotowany uczeń podstawówki, który zamiast odpowiedzieć na zadane pytanie, mówi wszystko, co wie w temacie. Np. znalazł w kodzie Tenant i kafkę, więc stwierdził, że to aplikacja typu multitenant, która przechowuje w bazie dane tenantów, którzy z kolei komunikują się między sobą przy użyciu kafki. Zapewne to dość popularny przypadek użycia, no ale aplikacja robi coś zupełnie innego.

Ogólnie jestem rozczarowany, myślałem, że to jakieś mocne narzędzie, któremu np. mogę kazać zamienić wszystkie wystąpienia X na Y w całym projekcie, no ale on udaje, że nie umie pisać w plikach. Zaproponowałem mu nawet łapówkę, ale nie przyjął. Trzeba go wysłać na rok na Podlasie.

0
somekind napisał(a):

Ogólnie jestem rozczarowany, myślałem, że to jakieś mocne narzędzie, któremu np. mogę kazać zamienić wszystkie wystąpienia X na Y w całym projekcie, no ale on udaje, że nie umie pisać w plikach.

Copilot się do takich rzeczy nie nadaje. On nie zna twojego projektu i nie potrafi go poznać. Jest w stanie pracować w ramach jednego pliku, albo gdy jawnie pokażesz mu kilka plików, to tylko wtedy coś bardziej sensownego powie na temat tych plików, które zobaczył.

LLM sam w sobie nie jest w stanie przeglądać plików i wyszukiwać czegokolwiek. Żeby stworzyć chatbota, która odpowiada na pytania odnośnie jakiejś wiedzy zgromadzonej w wielu plikach, to trzeba albo wprowadzić te pliki do okienka kontekstowego (zły pomysł) albo stworzyć bazę wektorową po której chatbot wyszukuje fragmenty tekstu powiązane z pytaniem (lepszy pomysł). Github Copilot żadnego z tych rzeczy nie robi :). Co z resztą jest zrozumiałe, ponieważ nie mógłby kosztować 10$.

0
Haskell napisał(a):

Copilot się do takich rzeczy nie nadaje. On nie zna twojego projektu i nie potrafi go poznać. Jest w stanie pracować w ramach jednego pliku, albo gdy jawnie pokażesz mu kilka plików, to tylko wtedy coś bardziej sensownego powie na temat tych plików, które zobaczył.

Jest funkcja explain dla całego solution, więc powinien być w stanie poznać mój projekt.

1
somekind napisał(a):
Haskell napisał(a):

Copilot się do takich rzeczy nie nadaje. On nie zna twojego projektu i nie potrafi go poznać. Jest w stanie pracować w ramach jednego pliku, albo gdy jawnie pokażesz mu kilka plików, to tylko wtedy coś bardziej sensownego powie na temat tych plików, które zobaczył.

Jest funkcja explain dla całego solution, więc powinien być w stanie poznać mój projekt.

Tak, jakoś od grudnia funkcjonalność Copilota został rozszerzona o obsługę projektu, ale to zwyczajnie nie działa. Copilot z parametrem @workspace potrafi co najwyżej wyszukać coś na podstawie nazwy pliku.

1

Ja jestem AI hipsterem - korzystałem z TabNine od 2020, jak jeszcze w becie było i zanim sprzedali się Codota. Początkowo to był tool do podpowiadania kilku kolejnych słów, przydawało się w powtarzalnych procesach. Potem podpowiadało minimalnie dłuższe kawałki - nadal to po prostu oszczędzało mi głównie klepania po klawiaturze, a myślenie zostawało.

Korzystałem z tego w trakcie rozwoju, aż w końcu po formacie kompa okazało się, że IDE + plugin w najnowszej wersji działa zupełnie inaczej i nie wiem co z tym zrobić. Skasowałem więc to narzędzie.

CoPilota początkowo olałem (jak w ogóle stał się publicznie dostępny), ale dość szybko stwierdziłem, że spróbuję - w końcu jest trial, a $100 rocznie to nie jest taka tragedia. Osobiście nie wierzę w triale i nieszczególnie wierzyłem w CoPilota, ale ... kupili mnie tym trialem.

Może to kwestia tego, co robię (głównie frontend + bardziej hobbystycznie backend w node, trochę skryptów CI/CD), ale u mnie sprawdza się na poziomie wręcz magicznym. Otwieram np. plik z komponentem reactowym, zaczynam dopisywać jakąś funkcję - i bardzo często CoPilot już od razu wie, co chcę zrobić, mimo, że w mojej głowie nie dałem mu tyle kontekstu, żeby to mógł wykminić.

IMO drastycznie skraca to czas na samo klepanie.

Co prawda czasem wyprodukuje bzdury, wtedy olewam podpowiedzi, piszę dalej, aż "zrozumie".

Czego mi brakuje - na pewno szerszego zrozumienia całego projektu. Nie używam opcji czatowania z botem bezpośrednio w IDE, mam wrażenie, że sprawdza się to gorzej niż rozmowa z darmową wersją ChatGPT. A podpowiedzi inline w trakcie pisania kodu jako kontekst używają chyba kilku ostatnio otwartych plików, nic więcej. I to często jest za mało, czasem "ręcznie" muszę otworzyć jakiś plik, żeby dopchać go do kontekstu, żeby CoPilot mógł wpisać się z podpowiedziami w konwencję.

Z fajnych rzeczy też - bodajże to wysyła do API wersję pliku przed zmianami/commitem i bieżącą. Powoduje to, że refaktor jest bardzo przyjemny - mogę usunąć kawałek kodu, a CoPilot podpowie mi potem fragmenty robiące to samo, tylko w innym miejscu, uporządkowane tak jak powinno być to "po nowemu".

Każdemu kto ma wątpliwości przypominam - jest trial. Można spróbować za darmo. Jak się boicie podpinać karty do GitHuba to znaczy, że jesteście nieprzygotowani do życia w 2024 (wirtualne karty tymczasowe (nie jednorazowe - tych GitHub nie przyjmie)).

Nadmienię jeszcze, że korzystałem z kilku alternatyw - od JetBrains i jeszcze jakieś drugie - żadno z nich nie stało nawet koło CoPilota. Zupełnie inna liga. Zero "magiczności" i bycia pomocą, tylko właśnie ciągła weryfikacja bzdur.

0
dzek69 napisał(a):

Nie używam opcji czatowania z botem bezpośrednio w IDE, mam wrażenie, że sprawdza się to gorzej niż rozmowa z darmową wersją ChatGPT. A podpowiedzi inline w trakcie pisania kodu jako kontekst używają chyba kilku ostatnio otwartych plików, nic więcej. I to często jest za mało, czasem "ręcznie" muszę otworzyć jakiś plik, żeby dopchać go do kontekstu, żeby CoPilot mógł wpisać się z podpowiedziami w konwencję.>

No to ja mam zupełnie odwrotnie - pogadać z nim idzie, wtedy coś podpowie, ale to co chce wstawiać do kodu, to jakiś syf i paranoja.

0
MarekR22 napisał(a):

W firmie jest wyraźny zakaz używania, bo kod leci na serwery MS. Firma coś przebąkuje, że coś udostępni.

Update: właśnie dostałe e-mail, że firma podpisała umowę z MS (z gwarancją nie szpiegowania) i firma udostępni pracownikom Copilot. Nadal jest wyraźny zakaz używania innych usług AI.
Nie używamy usługi Github, więc Copilot będzie udostępniony przez prywatne konta na Github :)

0
MarekR22 napisał(a):
MarekR22 napisał(a):

W firmie jest wyraźny zakaz używania, bo kod leci na serwery MS. Firma coś przebąkuje, że coś udostępni.

Update: właśnie dostałe e-mail, że firma podpisała umowę z MS (z gwarancją nie szpiegowania) i firma udostępni pracownikom Copilot. Nadal jest wyraźny zakaz używania innych usług AI.
Nie używamy usługi Github, więc Copilot będzie udostępniony przez prywatne konta na Github :)

Spytaj czy ta grwaracja polega na obowiązku odznaczenia opcji
"Allow GitHub to use my code snippets from the code editor for product improvements *"

Jeden z typów problmów firmy jakie "uwielbiam". Zapewnij że wszyscy korzystający mają odznaczonego checkboxa :D

0
krsp napisał(a):

Spytaj czy ta grwaracja polega na obowiązku odznaczenia opcji
"Allow GitHub to use my code snippets from the code editor for product improvements *"

Jeden z typów problmów firmy jakie "uwielbiam". Zapewnij że wszyscy korzystający mają odznaczonego checkboxa :D

a no to by wyjaśniało jaką zmianę wprowadzili w customowej wtyczce której kazali używać zamiast oficjalnej

1 użytkowników online, w tym zalogowanych: 0, gości: 1