Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 30.05.2023 uwzględniając wszystkie działy

  1. Uzjel

    Męczymy AI z ChatGPT

    Ja używam prawie codziennie, ale trochę do innych rzeczy. Sprawdzam, czy kod można zoptymalizować i generuję prostą dokumentację. Przykład //Opisz proszę ten kod, jest w języku GML: //Zwraca listę drzwi w postaci ds_mpay function scan_entrances(_doors,_list){ var _check = 0b_10000 for(i=0;i<5;i++) { if _doors & _check > 0 { ds_list_add(_list,i) } _check = _check >> 1 } return _list } Rezultat: Ten kod w języku GML definiuje funkcję o nazwie scan_entrances, która przyjmuje dwa argumenty: _doors i _list. Funkcja ta zwraca listę drzwi w postaci ds_list. Poniżej znajduje się krótkie objaśnienie poszczególnych linii kodu: var _check = 0b_10000 - tworzy zmienną _check i przypisuje do niej wartość binarną 0b_10000, czyli dziesiętnie 16. Ustawienie tej wartości pozwala na porównanie poszczególnych bitów zmiennej _doors. for(i=0;i<5;i++) - rozpoczyna pętlę, która wykona się pięć razy. if _doors & _check > 0 - sprawdza, czy wartość zmiennej _doors po AND z _check daje wynik większy niż 0. Wykorzystanie operatora AND (&) pozwala na porównanie poszczególnych bitów. Jeśli wynik jest większy niż 0, to oznacza, że bit dla aktualnie sprawdzanego drzwi jest ustawiony na wartość 1. ds_list_add(_list,i) - jeśli warunek w linii 3 jest spełniony, to dodaje wartość i do listy _list. Wartość ta oznacza indeks drzwi, które są otwarte. _check = _check >> 1 - po każdej iteracji pętli przesuwa wartość _check o jeden bit w prawo. Dzięki temu następna iteracja pętli porówna kolejny bit w zmiennej _doors. return _list - zwraca listę _list, zawierającą indeksy otwartych drzwi. Podsumowując, funkcja scan_entrances służy do skanowania zmiennej _doors, która przechowuje informacje o stanie otwarcia pięciu drzwi. Funkcja zwraca listę zawierającą indeksy drzwi, które są otwarte.
    2 punkty
  2. I am Lord

    Męczymy AI z ChatGPT

    A jak to jest ze zwrotami sugerującymi coś zamiast wydawać rozkazy że ma być to i to. Wczoraj gadałem z nim kilka godzin próbując zrobić generator labiryntu. Utknął na jednym problemie z którym ja sam także miałem kłopoty z wymyśleniem rozwiązania. Ale gdy użyłem właśnie zwrotów sugerujących, a może użyjemy tego lub tego to będzie lepiej. Wtedy zmienił kompletnie podejście do rozwiązania problemu i się udało dokończyć generator z kilkoma bugami które jeszcze są do poprawy. (Tak sam mógłbym je poprawić ale za cel w tym projekcie obrałem zasadę że nie chcę ingerować w jego kod.) Sugestie wydają się być ciekawym narzędziem też.
    1 punkt
  3. Kuzyn

    Męczymy AI z ChatGPT

    Osobiście przy GM użyłem go raz do systemu kolizji (prosiłem go o przerobienie istniejącego kodu z dodatkowymi warunkami) i udało mu się, a danych wejściowych miał dosyć mało. Później wprowadzili move_and_collide i wszystko poszło na marne 🤣 Natomiast bardzo często używałem go w pracy do tworzenia skryptów w google sheets (apps script), które później można użyć do obrabiania danych czy jakichś tam spraw organizacyjnych. Jak ktoś ma zamiar używać tego częściej to moje spostrzeżenia są takie: Bot będzie starał się stworzyć kod dosłownie tak, jak mu to napisaliście. Jeśli zastosowaliście jakieś skróty myślowe, to będzie się to rozjeżdżać z rzeczywistością. Najlepiej rozpisać mu wszystko w krokach z jak największą ilością danych, żeby rezultat był zbliżony do tego co chcecie osiągnąć. Nie raz widziałem na Twitterze czy wręcz artykuły na stronach krzyczące, że głupi bot nie robi tego co sobie ktoś wymyślił, więc się z nim schowajcie bo żaden z niego pożytek. No tak, tylko nikomu nie przyszło do głowy, że on nie jest od interpretacji myśli, tylko tego co mu człowiek literkami napisał na wejściu. Często pomaga pisanie do niego wymieniając konkretne działania od myślników albo pisanie 1 by 1. Najpierw prosimy go o coś ogólnego/pierwszego. Jak się uda wygenerować dobry kod i działa to lecimy dalej. Nie zawsze radzi sobie ze zrobieniem wszystkiego na raz, ale to raczej kwestia tego o czym pisałem powyżej. On interpretuje tylko tekst, nie nasze zamiary. Najprawdopodobniej bot będzie używał najprostszych metod na osiągnięcie celu, co w przypadku takiego apps script odbija się na wydajności. Można prosić go o optymalizowanie danego rozwiązania, ale nie zawsze się to sprawdza bo on będzie próbował optymalizować to co już ma, a nie stosować alternatywne rozwiązania. Przykładowo: mamy 1000 wierszy po kilka kolumn z danymi i chcemy je przerobić. Jeśli napiszemy tak wprost do bota, to będzie budował kod tak, żeby operować na wierszach i kolumnach i powtarzać dane akcje na arkuszu. Nie przyjdzie mu do głowy, że arraye będą szybsze i lepiej jest dane zapisać do arraya, obrobić je tam i później wypluć rezultat. Pomijając, że samo działanie na arkuszach jest wolne, to po 400 wierszach drastycznie spada prędkość pracy skryptów. Bot tego nie wie, więc warto sugerować mu korzystanie z arraya w takich sytuacjach.
    1 punkt
  4. I am Lord

    Foto-galeria

    Teraz laptop na kajak, nago i przebijasz Threefa 😂
    1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+01:00
×
×
  • Dodaj nową pozycję...