logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Czy AI wykonuje lepsze oprogramowanie Arduino niż przeciętny programista?

andreyatakum 12 Mar 2024 18:17 3060 20
REKLAMA
  • Mimo że ChatGPT istnieje już od kilka lat, dotychczas nie przyszło mi głowy skorzystać z niego dla tworzenia oprogramowania do Arduino. Opracując syntezator częstotliwości dla radiostacji typu Citizen Band na podstawie układu scalonego si5351 już napisałem kiedyś odpowiedni sketch, ale zgubiłem plik gdzieś na dysku twardym, na którym mam prawdziwy bałagan. Więc, zamiast tracić czas na wyszukiwanie pliku lub opracowania sketchu od podstaw postanowiłem skorzystać z AI. Zajmowało to prawie 1 minutę i byłem zaskoczony rezultatem.
    Moje zadanie wyglądało następująco: potrzebuję sterowanie licznikiem na Arduino od zera do 40 za pomocą dwóch przycisków up-down wyświetlacz TM1637. AI za kilka sekund zaproponował mi ten plik:
    #include <TM1637Display.h>
    
    #define CLK 2  // Pin zegara (Clock)
    #define DIO 3  // Pin danych (Data)
    
    TM1637Display display(CLK, DIO);
    
    #define BUTTON_UP 4    // Pin przycisku do góry
    #define BUTTON_DOWN 5  // Pin przycisku w dół
    
    int counter = 0;  // Zmienna przechowująca wartość licznika
    
    void setup() {
      pinMode(BUTTON_UP, INPUT);
      pinMode(BUTTON_DOWN, INPUT);
    
      // Inicjalizacja wyświetlacza TM1637
      display.setBrightness(7);  // Ustaw jasność wyświetlacza (od 0 do 7)
    }
    
    void loop() {
      // Sprawdź, czy przycisk do góry został naciśnięty
      if (digitalRead(BUTTON_UP) == HIGH) {
        delay(50);  // Debouncing (zapobieganie drganiom przycisku)
        if (digitalRead(BUTTON_UP) == HIGH) {
          incrementCounter();
        }
      }
    
      // Sprawdź, czy przycisk w dół został naciśnięty
      if (digitalRead(BUTTON_DOWN) == HIGH) {
        delay(50);  // Debouncing
        if (digitalRead(BUTTON_DOWN) == HIGH) {
          decrementCounter();
        }
      }
    
      // Wyświetl aktualną wartość licznika
      display.showNumberDec(counter);
    
      // Dodaj opóźnienie, aby uniknąć częstego odświeżania
      delay(100);
    }
    
    void incrementCounter() {
      if (counter < 40) {
        counter++;
      }
    }
    
    void decrementCounter() {
      if (counter > 0) {
        counter--;
      }
    }
    

    Trochę się pomyliłem, bo ma być nie od zera, lecz od jedynki. Ale to można lekko poprawić — if (counter > 1) zamiast if (counter > 0), oraz if (counter < 1) zamiast if (counter < 0) Oprócz tego można ustawić numer kanału po włączeniu — int counter = 0; // Zmienna przechowująca wartość licznika. Po załadowaniu do Arduino licznik działał bez zarzutów.
    Teraz zostaje tylko opracować dodatek do sketchu, gdzie numer kanału będzie odpowiadał za określona częstotliwość i przekazywać te dane do si5153. Też mam odpowiedni sketch, ale nie pamiętam gdzie i na którym z laptopów. Więc znów spróbuję skorzystać z AI.
    #include <TM1637Display.h>
    #include "Si5351.h"
    
    #define CLK_TM1637 2  // Pin zegara TM1637
    #define DIO_TM1637 3  // Pin danych TM1637
    
    TM1637Display display(CLK_TM1637, DIO_TM1637);
    
    #define BUTTON_UP 4    // Pin przycisku do góry
    #define BUTTON_DOWN 5  // Pin przycisku w dół
    
    int counter = 0;  // Zmienna przechowująca wartość licznika
    
    #define SI5351_CLK_PIN 13
    #define SI5351_DATA_PIN 11
    #define SI5351_RESET_PIN 10
    
    Si5351 si5351;
    
    void setup() {
      pinMode(BUTTON_UP, INPUT);
      pinMode(BUTTON_DOWN, INPUT);
    
      // Inicjalizacja wyświetlacza TM1637
      display.setBrightness(7);  // Ustaw jasność wyświetlacza (od 0 do 7)
    
      // Inicjalizacja syntezatora Si5351
      si5351.init(SI5351_CLK_PIN, SI5351_DATA_PIN, SI5351_RESET_PIN);
    }
    
    void loop() {
      // Sprawdź, czy przycisk do góry został naciśnięty
      if (digitalRead(BUTTON_UP) == HIGH) {
        delay(50);  // Debouncing (zapobieganie drganiom przycisku)
        if (digitalRead(BUTTON_UP) == HIGH) {
          incrementCounter();
        }
      }
    
      // Sprawdź, czy przycisk w dół został naciśnięty
      if (digitalRead(BUTTON_DOWN) == HIGH) {
        delay(50);  // Debouncing
        if (digitalRead(BUTTON_DOWN) == HIGH) {
          decrementCounter();
        }
      }
    
      // Wyświetl aktualną wartość licznika
      display.showNumberDec(counter);
    
      // Ustaw częstotliwość na syntezatorze Si5351
      setSi5351Frequency();
    
      // Dodaj opóźnienie, aby uniknąć częstego odświeżania
      delay(100);
    }
    
    void incrementCounter() {
      if (counter < 40) {
        counter++;
      }
    }
    
    void decrementCounter() {
      if (counter > 0) {
        counter--;
      }
    }
    
    void setSi5351Frequency() {
      // Przykładowe przeliczenia częstotliwości w zależności od wartości licznika
      // Poniżej założono, że każdy krok licznika to 10 kHz
      unsigned long frequency = 27100 + (counter * 10000);
    
      // Ustaw częstotliwość na syntezatorze Si5351
      si5351.setFrequency(SI5351_CLK0, frequency);
    }
    

    Tym razem AI zmienił sposób podłączenia przycisków. Ale to nie jest aż tak istotnie, chociaż wymaga dwóch dodatkowych rezystorów. Nie wiem, na czym polega taka decyzja AI i jak na razie nie chcę na tym się skupić. Mnie zależy tylko na tym, żeby działało. I z tym nie ma problemów. Zostało to tylko podłączyć między sobą. Później chcę dodać zegar, żeby po wyłączeniu stacyjki wyświetlacz pokazywał czas (oczywiście zasilanie na syntezatorze zostaje cały czas).

    Czy AI wykonuje lepsze oprogramowanie Arduino niż przeciętny programista?

    Wynik — AI świetnie się nadaje do stworzenia nie bardzo skomplikowanego oprogramowania. Ewentualnie nawet może dać redę ze skomplikowanymi. Problem polega tylko na tym, żeby podać mu konkretne zadanie. Ale współpracując z programistami, robimy to samo.

    Czy AI wykonuje lepsze oprogramowanie Arduino niż przeciętny programista?

    Nawet AI ma więcej zalet, bo wie dużo więcej niż przeciętny programista. Np. opracując odbiornik do NavTex, miałem wyjaśnić do bardzo doświadczonego programisty zasady działania tego systemu odbioru informacji pogodowej i to trochę trwało. AI "zna" ten system od podstaw. Drugim atutem współpracy z AI jest dyspozycja. On nie musi prowadzić dziecko do szkoły, nie choruje i nie pije, nawet nie śpi. Dla tego można mu wybaczyć, jeżeli kod się okazuje na pare bajtów większy niż stworzony przez człowieka.
    Nie wykluczam, że kod opracowany przez AI jest lepszy od stworzonego przez człowieka. Bo AI lepiej zna się na sposobie "myślenia" maszyny niż człowiek. Moim zdaniem AI radzi sobie lepiej z kodami maszynowymi niż z tłumaczeniami tekstów w językach obcych człowieka.

    Fajne? Ranking DIY
    O autorze
    andreyatakum
    Poziom 13  
    Offline 
    Elektronik, podróżnik, dziennikarz niezależny
    Specjalizuje się w: komunikacja bezprzewodowa
    andreyatakum napisał 471 postów o ocenie 590. Mieszka w mieście Antalya. Jest z nami od 2021 roku.
  • REKLAMA
  • #2 21001774
    TechEkspert
    Redaktor
    Nie wiem czy AI lepiej rozumie sposób "myślenia" maszyny gdyż AI szkoliło się na tekstach wytworzonych przez ludzi. Natomiast ilość informacji na różne tematy zgromadzone w modelu AI już dawno swoim zakresem przekroczyły możliwości jednego człowieka.

    Jak dla mnie pokazałeś w praktyce, że AI jako copilot bardzo ułatwia i przyspiesza programowanie. W wielu przypadkach może zastąpić juniorów, działając szybciej i za mniejsze pieniądze.
  • #3 21001795
    KonradGatek
    Poziom 29  
    andreyatakum napisał:
    Nawet AI ma więcej zalet, bo wie dużo więcej niż przeciętny programista.

    Masz rację. Przeciętny programista będzie do zwolnienia, ponieważ zastąpi go AI obsługiwane przez handlowca. Będzie szybsze, a czas od pomysłu do półki sklepowej się skróci. Czyli będzie taniej.
    Na razie poszukujemy tanich szpadli zmieniając kraje. Potem tamte szpadle też się odstawi, bo będzie AI.
    Cytat:
    "Po prostu szukają taniej siły roboczej, pozbawiając nas z dnia na dzień pracy" — mówią w rozmowie z "Gazetą Wyborczą" pracownicy poznańskiego oddziału firmy Infosys. Ich obowiązki przejmą pracownicy z Indii. Tamtejszy miliarder, który jest właścicielem firmy, w jednym z wywiadów mówił, że Hindusi muszą stać się "wysoce zdeterminowani, niezwykle zdyscyplinowani i niezwykle pracowici".

    https://www.msn.com/pl-pl/finanse/najpopularn...mi-z-indii/ar-BB1jHuia?rc=1&ocid=winp1taskbar

    Ciekawe, jak AI poradzi sobie z bezpieczeństwem. Na razie programista też sobie nie radzi:
    https://cyberdefence24.pl/kamery-przemyslowe-wykorzystane-do-ataku-ddos
    Cytat:
    Eksperci z firmy Sucuri odkryli botnet, pod którego kontrolą pozostaje ponad 25 tys. kamer internetowych podłączonych do sieci. Wykorzystano go do ataku DDoS na stronę internetową. Ta sieć to według ekspertów dopiero początek, jeżeli chodzi o ataki DDoS przy użyciu urządzeń z sektora IoT – Internet of Things.
  • #4 21001889
    khoam
    Poziom 42  
    andreyatakum napisał:
    Nawet AI ma więcej zalet, bo wie dużo więcej niż przeciętny programista.

    Bazy google też "wiedzą" więcej niż przeciętny programista. Jest różnica pomiędzy posiadaniem informacji, a umiejętnym i logicznym jej wykorzystaniem.
  • REKLAMA
  • #5 21001926
    chemik_16
    Poziom 26  
    KonradGatek napisał:
    zastąpi go AI obsługiwane przez handlowca

    oj naprawdę nie łatwo o człowieka ze sfery "biznesowej" który będzie potrafił sformułować to czego oczekuje, potem jeszcze to zweryfikować.
    Z resztą AI jest w stanie zastąpić każdą osobę wykonującą prace na komputerze. Zrobi w kilka sekund zdjęcie/grafikę jaką ci się wyśni, obrobi excela, zredaguje i poprawi tekst, streści i podsumuje tysiące dokumentów, wskaże gdzie jest to czego szukasz. Policzy, zrobi prognozę, wybada rynek. Obsłuży klienta.

    Pomimo tego nadal jest to narzędzie które bardziej wspiera pracownika niżeli go zastępuje. Nadal aplikacje ktoś musi wgrać, w razie czego zebrać opieprz za błędy :) Czym bardziej rozbudowana solucja tym gorzej sobie z nią radzi, zaczyna robić mocno dziwne i nieefektywne rzeczy.
    Jako programista cieszy mnie jej rozwój, pracuje się znacznie efektywniej. Pisanie kodu to i tak zwykle najmniej ciekawy etap projektu. Posiadanie narzędzia które większość przygotuje za nas zgodnie z najwyższymi standardami i uwzględniające najnowsze rozwiązania - to same zalety dla programu.
  • #7 21002118
    TechEkspert
    Redaktor
    khoam napisał:
    andreyatakum napisał:
    Nawet AI ma więcej zalet, bo wie dużo więcej niż przeciętny programista.

    Bazy google też "wiedzą" więcej niż przeciętny programista. Jest różnica pomiędzy posiadaniem informacji, a umiejętnym i logicznym jej wykorzystaniem.


    Sęk w tym że GPT korzysta ze zgromadzonej wiedzy a dokładniej ze zbudowanego w sieci modelu 'rzeczywistości' i jest to zupełnie inne podejście niż wyszukiwarka google lub jakaś baza wiedzy.
  • REKLAMA
  • #8 21002451
    piotr_go
    Konstruktor DIY elektronika
    A jak będzie coś nie tak, bo nowy układ, przykładów brak, to odpowie "przepraszam" i wypluje kolejny błędny kod. W pdfach nie wszystko można znaleźć.
    Jeżeli AI było uczone na przykładach o jakości jak ten schemat, to programiści mogą spać spokojnie.
  • #9 21002528
    ORMO_PL
    Poziom 19  
    Trochę offtopic - z jakim mieszaczem używasz tego Si5351? Jest to coś diodowego, czy Gilbert? Mam na myśli dalszą część tego projektu :)

    Pozdróweczki
  • #10 21002657
    andreyatakum
    Poziom 13  
    ORMO_PL napisał:
    z jakim mieszaczem używasz tego Si5351

    W tym projekcie używam mieszać wbudowany do układu scalonego MC3362. Ale w innem diodowy. Diodowe mieszaczy lepiej pasują do Si5351. Bo na wyjściu mamy meandr nie synusoidę.
    Radiostacja CB, jak wiadomo ma nie wielkłe pasmo częstotląwości i łatwo jest odfiltrować wszystko co poniżej lub powyżej. Si5351 daje dużo częstotliwości harmonicznych niestety. Bez dobrego filtru na wejściu można złapać wszystko i przeładować ten mieszać.
  • #11 21002797
    austin007
    Poziom 17  
    Ciekawy temat. Jak formułujecie prompt dla ChatGpt (w praktyce) , żeby dostać kod o jaki nam chodzi. Piszę z ręki , używając oparcie w gotowych sketchach w bardziej skomplikowanych/nowych dla mnie zadaniach. Ciekaw jestem jak dobrze sobie radzi np w obsłudze peryferiów w Arduino. Wykorzystuje biblioteki czy tworzy obsługę samodzielnie w oparciu o datasheets?
  • #12 21002813
    andreyatakum
    Poziom 13  
    austin007 napisał:
    Wykorzystuje biblioteki czy tworzy obsługę samodzielnie w oparciu o datasheets?

    Na ile zrozumiałem i tak i siak. W powyżej wymienionych skicach to widać. Np do obsługi przycisków użyłbym bibliotekę bo poprostu znalazłem odpowiednia część kodu potrzebująca bibliotekę. AI zaś zaproponował bibliotekę tylko dla wyświetlacza.
  • #13 21002819
    austin007
    Poziom 17  
    Miałem na myśli skomplikowane peryferia jak na przykład obsługę ADE7758 (pomiar mocy, energii 3F).
  • REKLAMA
  • #14 21003058
    pixel7
    Poziom 23  
    andreyatakum napisał:
    Więc, zamiast tracić czas na wyszukiwanie pliku lub opracowania sketchu od podstaw postanowiłem skorzystać z AI. Zajmowało to prawie 1 minutę i byłem zaskoczony rezultatem.

    W takim razie temat powinien również poruszyć problem komunikacji z AI.
    Jak sformułowałeś prompt który wygenerował kod? Jak przebiegła konwersacja?
    Ile było poprawek, bo wiedziałeś że są konieczne?
    Skoro mamy skutecznie używać AI, musimy nauczyć się z nią komunikować.

    KonradGatek napisał:
    Przeciętny programista będzie do zwolnienia, ponieważ zastąpi go AI obsługiwane przez handlowca.

    Jak to będzie tak łatwe to po co handlowiec? Zamawiający sam może sobie stworzyć potrzebne narzędzie. Nikt po drodze nie będzie potrzebny. Obawiam się że i potrzeba zniknie...

    Jeśli AI ma stać się podstawą wiedzy społeczeństwa, to ono musi skupić się na współpracy z nią.
    Trzeba będzie ludzi edukować w kierunku tworzenia promptów, reszta będzie tylko hobby....
    Ile będzie warta wiedza?
  • #15 21003802
    tmf
    VIP Zasłużony dla elektroda
    andreyatakum napisał:
    Nawet AI ma więcej zalet, bo wie dużo więcej niż przeciętny programista. N


    Pokazałeś trywialny kod i na jego podstawie wysuwasz ogólny wniosek. "Przeciętny programista" - pod tym pojęciem rozumiesz początkującego amatora, który przysiadł do Arduino, wkleił dwa kody z netu i uważa, że potrafi programować? Jeśli tak, to ok, AI już teraz jest lepsze. Niemniej, może mam pecha, może wydziwiam, ale jakoś mi się nie udało zmusić AI do napisania w 100% samodzielnie jakiegokolwiek poprawnego, nietrywialnego kodu. Owszem, jako co-pilot, coś tam był w stanie pomóc, ale niewiele z tego wyszło. Jako źródło banalnego kodu, typu definicje dla 7-segmentowego LED - ok, wyszukiwarka algorytmów realizujących jakąś funkcję - często ok, ale nic więcej. Przynajmniej póki co.
    Spójrz na wygenerowany kod, który przedstawiłeś - jedyny jego plus jest taki, że zapewne działa. Jednak jest koszmarny. Nieszczęśliwie zrealizowany debouncing, zaśmiecanie globalnej przestrzeni nazw itd. Napawa mnie przerażeniem myśl, że ktoś wypuszczający generowane przez AI kody mógłby pomyśleć, że jest programistą.
    I druga sprawa - mając jakieś tam umiejętności programistyczne, jestem w stanie przynajmniej zauważyć niektóre błędy w generowanym przez AI kodzie i je poprawić lub zmusić AI po do poprawy. Jeśli miałbym zero wiedzy, to bym bezkrytycznie przyjmował to co generuje AI i co gorsze mógłbym te babole potraktować jako wyznacznik dobrych praktyk :)
  • #16 21003844
    p.kaczmarek2
    Moderator Smart Home
    Nie jest powiedziane, że LLM ma tylko napisać raz kod i nam go zostawić. Są też próby utworzenia systemów wieloagentowych gdzie AI pisze kod w sposób iteracyjny:



    Więcej przykładów: https://www.youtube.com/@Cognition-Labs/videos
    Pomogłem? Kup mi kawę.
  • #17 21003868
    tmf
    VIP Zasłużony dla elektroda
    p.kaczmarek2 napisał:
    Nie jest powiedziane, że LLM ma tylko napisać raz kod i nam go zostawić. Są też próby utworzenia systemów wieloagentowych gdzie AI pisze kod w sposób iteracyjny:

    Ale IMHO ciągle jest poważny problem - bo co znaczy dobry kod - czy wystarczy, że on działa? Jeśli tak, to może, szczególnie w relatywnie prostych programach.
    W kodzie z tego wątku - mamy debouncing oparty na delay. Pomijam sam fakt dosyć nieszczęśliwej sekwencji realizacji tego debouncingu, to np. mamy tu czas wykonania pętli uzależniony od naciśniętych przycisków. W tym programie to nie przeszkadza za bardzo, po prostu dziwnie będzie wyglądać zliczanie - raz szybciej, raz wolniej, w zależności od liczby wciśniętych przycisków.
    Ale w miarę komplikacji programu, dodawania kolejnych przycisków, ta początkowo drobna wada może stworzyć nierozwiązywalny problem. Skąd osoba, kierowana przez takiego co-pilota AI będzie o tym wiedzieć, zanim poważny problem wystąpi? Obawiam się, że zauważy kłopot jak kod już będzie tak rozbudowany i pokręcony, że będzie trzeba go napisać od nowa. Z kolei AI skąd ma wiedzieć co to będzie za projekt i czy np. oparcie debouncingu na przerwaniach warto zrobić, czy niekoniecznie? Z kolei ten "programista" musi wiedzieć, że są różne techniki debouncingu, nie musi umieć ich zaimplementować, bo w tym ew. pomoże AI, ale musi wiedzieć, że są, żeby chociażby temu AI napisać - zrób mi debouncing oparty na przerwaniach.
    IMHO na tym etapie AI co najwyżej zastąpi bezmyślnego klepacza kodu (osobę, która robi copy&paste) lub zwiększy możliwości i efektywność osoby posiadającej dużą wiedzę. Ale jeśli ktoś chce sensownie z AI korzystać to i tak będzie musiał posiadać taką samą wiedzę jak obecnie, a im większą będzie miał, tym efektywniej będzie korzystał z AI, co powiększy jego przewagę nad nieposiadającą wiedzy resztą.
  • #18 21004295
    andreyatakum
    Poziom 13  
    tmf napisał:
    Spójrz na wygenerowany kod, który przedstawiłeś - jedyny jego plus jest taki, że zapewne działa. Jednak jest koszmarny. Nieszczęśliwie zrealizowany debouncing, zaśmiecanie globalnej przestrzeni nazw itd.

    Daję sobie sprawę że kod nie jest na 100% optymalny. Ale ja nie jestem programistą. I jestem ciekaw jak może wyglądać lepsze go opracowanie? Czy mogbyś przedstawić własną wersję? W każdym razie nie nalegam że AI może wycofać propramistów. Tylko pytam.
    pixel7 napisał:
    W takim razie temat powinien również poruszyć problem komunikacji z AI.

    Właśnie badam tą sprawę. Przypomina mi to początek powstania wyszukiwarek. Wtedy żeby dostać poprawny wynik trzeby było jasne podać słowo kluczowe lub zdanie. Np. "koszt naprawy silnika". Teraz można pisać w ten sam sposób jak pytamy człowieka- ąle kosztuje.... Ale do tychczas jestem przyzwyczający pisać bardziej formalnie.
    W każdym razie tak samo mamy do czynienia z programistą - poprawnie sformulowane zadanie to jest połowa sukcesu. Chociaż już teraz zauważyłem komunikacja z AI ma odbywać w bardziej sprecyzowanem języku. Nie mogę mu powąedzić "Co tam nie tak z kodem, który opracowałesz wczoraj do tego odbiorniku?". Ale nie jestem pewny że to jest mankamentem.
  • #19 21004514
    khoam
    Poziom 42  
    andreyatakum napisał:
    Daję sobie sprawę że kod nie jest na 100% optymalny. Ale ja nie jestem programistą. I jestem ciekaw jak może wyglądać lepsze go opracowanie?

    To może zapytaj ChatGPT? ;) Jestem przekonany, że będzie przynajmniej zabawnie.

    andreyatakum napisał:
    W każdym razie nie nalegam że AI może wycofać propramistów. Tylko pytam.

    W całym tym AI-zgiełku wcale nie chodzi o programistów. Najgorliwszymi zwolennikami AI są "księgowi" i akcjonariusze firm, którzy liczą na większe zyski, przy mniejszych kosztach operacyjnych. Wspierają ich w tych różnej maści celebryci. Dla nich programiści to tylko zasób, jeżeli można ten zasób "optymalizować", to czemu nie. Ostatnio szef NVIDIA publicznie apelował do programistów, aby zajęli się uprawą roli i wypasem bydła - w ich miejscu ponoć AI poradzi sobie lepiej.

    Co do programu, który przedstawiłeś w pierwszym poście, to on nawet nie jest napisany w C++ tzn. żaden szanujący się programista C++ tak by go nie napisał.
  • #20 21004963
    gps79
    Poziom 35  
    W artykule padła odpowiedź na tytułowe pytanie "Czy AI wykonuje lepsze oprogramowanie Arduino niż przeciętny programista?"
    Wiele młodych osób czytających Elektrodę jako forum branżowe technologiczne zastanawia się, jak ulokować swoje środki i czas w swoją przyszłość przed ukończeniem szkoły. Taki artykuł mógłby zakrzywiać ich postrzeganie świata, jeśli napisany został niechlujnie lub bez wystarczającej wiedzy.
    W związku z tym mam kilka pytań do autora:
    1. Jaki poziom doświadczenia (wg ogólnie przyjętej klasyfikacji tzw. seniority inżynierów oprogramowania) ma wg autora "przeciętny programista"?
    2. Jakie kompetencje i doświadczenie ma autor w ocenianiu poziomu zaawansowania programisty wymaganego do wykonania zlecanego zadania programistycznego?
    3. Proszę o załączenie listingu programu napisanego orzez "przecietnego programistę", który został użyty w celu porównania z kodem wygenerowanym przez AI.
    4. Jaki poziom seniority inżyniera oprogramowania systemów wbudowanych wymagany jest wg autora do stworzenia zacytowanego listingu?
    5. Proszę o podanie kryteriów i poziomów ich istotności branych pod uwagę przy porównaniu obu listingów.
    6. Ile różnych porównań testowych wykonał autor w celu napisania artykułu?
    7. Czy autor planuje napisać podobny artykuł o "przeciętnym elektroniku" i AI, które potrafi wyliczyć wartość rezystora dla diody świecącej?

    Jako, że autor tytułuje się dziennikarzem, a post został zaklasyfikowany w portalu jako artykuł, proszę autora o odpowiedzi na powyższe pytania.
  • #21 21005007
    p.kaczmarek2
    Moderator Smart Home
    Tutaj można nieco poczytać o obecnych metodach benchmarkowania i porównywania LLM:
    https://deepgram.com/learn/llm-benchmarks-guide-to-evaluating-language-models
    Do oceny generacji kodu służy m. in. benchmark HumanEval:
    https://deepgram.com/learn/humaneval-llm-benchmark
    Pomogłem? Kup mi kawę.

Podsumowanie tematu

Dyskusja dotyczy wykorzystania sztucznej inteligencji (AI) w programowaniu dla platformy Arduino, w kontekście porównania jej efektywności z umiejętnościami przeciętnego programisty. Użytkownicy dzielą się doświadczeniami związanymi z generowaniem kodu przez AI, wskazując na jego przydatność jako narzędzia wspierającego programistów, zwłaszcza w prostych zadaniach. Zauważają jednak, że AI może mieć trudności z bardziej złożonymi projektami, a jakość generowanego kodu nie zawsze spełnia standardy profesjonalne. Wskazują na potrzebę umiejętności formułowania precyzyjnych zapytań do AI oraz na różnice w podejściu do programowania w porównaniu do tradycyjnych metod. Pojawiają się również obawy dotyczące przyszłości zawodów programistycznych w obliczu rosnącej automatyzacji.
Podsumowanie wygenerowane przez model językowy.
REKLAMA