Next.js przepisany od zera za $1100

Next.js przepisany od zera za $1100
pradoslaw
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 313
0

Zignorowałbym tego newsa, gdyby informacja ta nie pochodziła z oficjalnej strony cloudflare
Efektem prac jest vinext. Co o tym myślicie?

Chwalą się, że:

  • buduje aplikacje produkcyjne 4x szybciej
  • generuje do 57% mniejsze budle klienta.

i całość niby kosztowała ich $1100 w tokenach. 4k PLN!

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10286
2
pradoslaw napisał(a):

Zignorowałbym tego newsa, gdyby informacja ta nie pochodziła z oficjalnej strony cloudflare
Efektem prac jest vinext. Co o tym myślicie?

Chwalą się, że:

  • buduje aplikacje produkcyjne 4x szybciej
  • generuje do 57% mniejsze budle klienta.

i całość niby kosztowała ich $1100 w tokenach. 4k PLN!

Ilekroć widzę coś takiego to się zastanawiam jak bardzo skopana była ta biblioteka na początku. Bo możliwe że ktoś nieopatrznie dowalił tam gdzieś O(n^2), i wystarczyło to usunąć i już mamy szybkość za darmo. Także ja jestem ciekaw, czy ta aplikacja już była bardzo dobra od startu, i AI ją ulepszyło jeszcze bardziej ponad ludzkie możliwości? Czy ta aplikacja była po prostu słaba, i człowiek też byłby w stanie ją w tydzień poprawić?

Poza tym, to jest też częsty przypadek że jak się pracuje z czymś od początku, to mamy mentalny model w głowie który pozwoli coś znacznie prościej napisać; więc jeśli to Twórca biblioteki promptował AI, to zastanawiam się czy on sam też nie byłby po prostu w stanie jej przepisać, nawet bez AI, i ile wtedy by to trwało? Bo jak np. nie 7 dni tylko 8, to byłyby to ciekawe dane.

Xarviel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 848
1

Vercel (właściciel Next.js) udostępnia użytkownikowi całą platformę do zarządzania buildami i im raczej nie jest na rękę szybszy ani prostszy sposób na build.

Dłuższy build = użytkownik musi kupić droższy abonament, aby zmieścić się w limicie czasowym = więcej $$$

obscurity
  • Rejestracja: dni
  • Ostatnio: dni
0
pradoslaw napisał(a):

Chwalą się, że:

  • buduje aplikacje produkcyjne 4x szybciej
  • generuje do 57% mniejsze budle klienta.

To nie są zalety rozwiązania które stworzyli tylko bundlera vite który jest o tyle lepszy od używanego przez next.js turbopacka

https://markaicode.com/vite-vs-turbopack-performance-comparison/

Riddle napisał(a):

Ilekroć widzę coś takiego to się zastanawiam jak bardzo skopana była ta biblioteka na początku. Bo możliwe że ktoś nieopatrznie dowalił tam gdzieś O(n^2), i wystarczyło to usunąć i już mamy szybkość za darmo.

AI sobie całkiem nieźle radzi z przepisywaniem kodu z jednej technologii na drugą, tutaj 99% pracy, zwłaszcza odnośnie performance'u odwaliła ekipa vite.

Także ja jestem ciekaw, czy ta aplikacja już była bardzo dobra od startu, i AI ją ulepszyło jeszcze bardziej ponad ludzkie możliwości?

Nie była skopana i nie ponad ludzkie możliwości, po prostu przechodziła przez wiele warstw, vite to upraszcza, praktycznie wszystko teraz chodzi na vite.

Czy ta aplikacja była po prostu słaba, i człowiek też byłby w stanie ją w tydzień poprawić?

Oczywiście że tak, AI zrobiło dokładnie to o co poprosił człowiek, po prostu przepisała API z jednego frameworka na drugi i pozbyła się całego bagażu wstecznej kompatybilności

to zastanawiam się czy on sam też nie byłby po prostu w stanie jej przepisać, nawet bez AI, i ile wtedy by to trwało? Bo jak np. nie 7 dni tylko 8, to byłyby to ciekawe dane.

byłby w stanie, nie trwałoby to 8 dni tylko znacznie dłużej, to tzw. "robota głupiego", dość prosta ale mozolna, obstawiam że zajęłoby to co najmniej rok głównie dlatego że łatwo o pomyłkę i taka robota szybko męczy i wymaga dużo przerw na csa, choć można prace łatwo zrównoleglić. AI jest idealne do takich zadań, człowiek nie ma szans, to tak jakbyś chciał konkurować z "replace all" w edytorze tekstu.
Natomiast wydaje mi się że w parę tygodni jesteś w stanie napisać narzędzie nie używające AI które by ten proces znacznie przyspieszyło, tak to się drzewiej robiło.

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9138
3

Ten wątek/temat już gdzieś był chyba wczoraj na forum.
Ogólnie - komentarze były takie, że przepisanie czegoś na nowo/zrobienie klona to taka mało kreatywna sprawa, więc tutaj AI może działać. Ale żeby samo coś wymyśliło i stworzyło od zera to kiepsko.

Ja za to uważam inaczej/bardziej biznesowo patrzę: Nieważne, czy to było twórcze i kreatywne, czy bezmyślne sklonowanie. Jeśli za tysiąc dolarów powstało coś, co znacząco usprawni pracę, skróci jej czas, zredukuje obciążenie serwerów lub w inny sposób spowoduje oszczędności, to jest to super opcja i było warto. Jeśli CF z tego korzysta to podejrzewam, że przy skali tego przedsięwzięcia, nawet niewielkie optymalizacje generują kosmiczne oszczędności w zasobach, a co za tym idzie, także finansowe. Poszukałem na szybko i z tego z znalazłem w necie koło 20% ruchu (przy tym 40-50% istotnych i ważnych stron) leci przez Cloudflare. Także... jest to zmiana, która mogła bardzo dużo wnieść, a jednocześnie kosztowała śrubki/w skali działania tej firmy to nic nie kosztowała.

Jedynie kwestia - czy na pewno działa dobrze. Na ile to jest wiarygodne i przetestowane. Żeby sie nie okazało za jakiś czas, że narobi niezłej kaszany ;)

złoty
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 115
2

Moim zdaniem clue tego osiągnięcia jest wyjaśnione w artykule na stronie CF,:

Why this problem is made for AI

Not every project would go this way. This one did because a few things happened to line up at the right time.

Next.js is well-specified. It has extensive documentation, a massive user base, and years of Stack Overflow answers and tutorials. The API surface is all over the training data. When you ask Claude to implement getServerSideProps or explain how useRouter works, it doesn't hallucinate. It knows how Next works.

Next.js has an elaborate test suite. The Next.js repo contains thousands of E2E tests covering every feature and edge case. We ported tests directly from their suite (you can see the attribution in the code). This gave us a specification we could verify against mechanically.

Czyli: w sytuacji gdy mamy dobrą dokumentację i porządny zestaw testów, AI sprawdza się znakomicie, bo jest mniej okazji do popełnienia błędu i ta "przestrzeń poszukiwań" dobrego rozwiązania (=kodu biblioteki) jest mocno ograniczona. Nic tylko siedzieć i generować 🙂
Jestem bardziej ciekaw czy to wpłynie jakoś na Open Source. Czy przed wrzuceniem jakiegoś projektu w OS nie będą się ludzie zastanawiać, czy ich projekt ktoś może sobie "przyswoić" i wygenerować swój, coś jak clone ale kreatywniej.

vitoldinho
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Tego typu sytuacje będą się zdarzać coraz częściej. Wzrost wykładnicy jest brutalny - znacie na 100% opowiadaną 9999 razy opowieść o ziarnach na szachownicy. Na razie jest to po prostu lepsze przepisanie biblioteki co teraz jest. Tylko że my z rozwojem AI to jesteśmy troszkę za początkiem. Porównując do opowieści o ziarnach to dotarliśmy może do 2^10. Zmiana nabiera rozpędu. Kołpakowanie że "od początku słabo by coś AI samo wymyśliło!" jest bez sensu. Tak, zgadza się. Jest to póki co prawda. Ale jak długo? Przy obecnym rozwoju AI myślę że całkiem racjonalne jest założenie że jeszcze 3-4 lata i da radę coś samemu wymyśleć.

SL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1093
1

AI jest generalnie dobre, jeżeli mamy wyrocznię, która za każdym razem jest w stanie powiedzieć czy zmiana dokonana przez AI jest dobra czy nie i przepisanie w stylu ma działać tak jak kiedyś tylko z szybciej jest proste

Z wad to na pewno dużo firm działających na zasadzie zapewniamy darmową bibliotekę i płatną wersję premium dla chętnych obudzi się z ręką w nocniku podobnie jak to było z infrastrukturą w stylu słynnej dramy z ElasticSearch i Redisem. O ile dobrze pamiętam to Tailwind miał problem z tym, że AI robi to co ich wersja premium

Pyxis
  • Rejestracja: dni
  • Ostatnio: dni
2

Jest to póki co prawda. Ale jak długo? Przy obecnym rozwoju AI myślę że całkiem racjonalne jest założenie że jeszcze 3-4 lata i da radę coś samemu wymyśleć.

Ok, to teraz wykorzystaj tę wiedzę, by być milionerem, bo wydaje się być dla Ciebie oczywiste, że tak będzie. Znasz przyszłość, więc masz przewagę. Inwestuj pieniądze swoje, a najlepiej jeszcze rodziny i znajomych. Będziecie mieli niesamowitą stopę zwrotu. Albo pomyśl trzeźwo, masz to co jest. I tylko bazuj na tym, co będzie, tego nikt nie wie.

Przy obecnym rozwoju AI myślę że całkiem racjonalne (...)

Z mojego punktu widzenia ten rozwój wyhamowuje i postaram się to pokazać. Trenowanie modeli jest nieopłacalne i kosztowne. Uczenie LLM-ów trwa na tyle długo (tygodnie/miesiące), że w chwili wytrenowania model posiada przestarzałą wiedzę o świecie. Wprowadzono więc agentów AI, którzy mają pobierać dane ze świata zewnętrznego. I ta koncepcja jest naprawdę sprytna, ale ma bardzo niebezpieczne efekty uboczne, o których zaraz. Samo wprowadzenie agentów, o ile na pierwszy rzut oka wygląda jak zbawienie i super feature, o tyle ja to postrzegam jako maskowanie problemu, że nie ma postępu przy skalowaniu sieci (dalej mamy blocker, więc dajemy coś w zamian i robimy wokół tego marketing). Doszliśmy do jakiegoś limitu jeśli chodzi o architekturę, nie mamy mechanizmów by:

  1. modele same obserwowały świat (i tu nie chodzi o definiowaniem im funkcji) i wyciągały wnioski
  2. testowały swoje wnioskowanie (robiły eksperymenty, dokładnie tak, jak to się robi w nauce)
  3. aktualizowały wagi na podstawie obserwacji (uczyły się w czasie rzeczywistym)

Bez tych trzech koncepcji możemy na razie pożegnać się z AGI.

Wracając do agentów. Problem z nimi jest taki, że:

  1. Nie są deterministyczne (tak wiem, nie ma prawdziwej losowości w komputerze) i budują swoją odpowiedź w oparciu o każdy przetworzony (wczytany i wypowiedziany przez siebie) token. Z człowiekiem jest tak samo, różne osoby odpowiedzą inaczej na to samo pytanie, ale możemy oczekiwać, że odpowiedzi będą zbieżne (o ile pytamy o prosty temat). Problem może się pojawić przy systemach multiagentowych, które będą polegać na swoich wynikach. Mam obawy, że może nastąpić kumulowanie błędów, a ponieważ agenci będą się wymieniać tylko podsumowanymi wynikami (by uprościć kontekst), to może nie zadziałać aha moment, w którym kolejny agent sam się zorientuje, że coś jest nie tak. Nawet na to nie wpadnie, bo dostanie szczątkowy, kompaktowy wynik od innego agenta. Podsumowując, jest ryzyko wystąpienia efektu kuli śnieżnej, co wynika z niedeterministycznej natury LLM-ów. Czegoś takiego nie ma w programowaniu klasycznym.
  2. Tylko największych graczy stać na trenowanie modelu. Jak zrobią alignment pod siebie albo product placement, to bardzo łatwo agenci narzucą pewną narrację. Jest to bardzo niebezpieczne zjawisko, które chyba w ogóle w tej chwili nie jest brane pod uwagę przez firmy, które bezrefleksyjne korzystają z AI.
  3. Agent przetwarza tokeny. Co więc jest na wejściu, agent traktuje jako instrukcję. Można więc wpływać na niego. Oczywiście to powoduje, że projektując agentów, trzeba jeszcze bardziej przewidywać, co można im udostępnić, a co nie. Jak zadbać o bezpieczeństwo. I jak się bardzo mocno zacznie o tym myśleć, to można dostrzec, że agent musi być tak obwarowany zabezpieczeniami, że korzyść z tego, iż przetwarza język naturalny na jakąś decyzję jest znikomy. Zatem prościej wiele funkcjonalności jest zaprogramować klasycznie, bo to bardziej zabezpiecza system.

Oczywiście ktoś powie, że: OK, ale Ty mówisz o projektowaniu agentów, ja mam takiego Claude Code'a co mi robi kod. No tak, tylko te wymagania tego kodu, czy zdradzanie zapotrzebowania na dane produkty są zbierane przez firmy zewnętrzne (dzielisz się know-how). I z początku ufałem, że to raczej niemożliwe, bo przecież inferencja jest kosztowana sama w sobie, gdzie mieliby trzymać te wszystkie dane? Ale taki openAI wprowadził darmowe tokeny dla API pod warunkiem, że dane mogą być wykorzystywane do trenowania, czyli muszą je zapisywać do swoich baz: https://www.denishartl.com/how-to-get-free-tokens-for-the-openai-api/

LLM-y pokazały siłę sieci neuronowych, to jest bardzo ważne wydarzenie. Nie chodzi, by wyrzucić to do kosza. Trzeba z tego czerpać mądrze i tylko to, co jest niezbędne. Ale to temat na inny post.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

Nie znam się na frontendzie, ale wydaje mi się, że next.js istniał już od dawna, czyżby więc ktoś stracił 1100$?

vitoldinho
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0
slsy napisał(a):

AI jest generalnie dobre, jeżeli mamy wyrocznię, która za każdym razem jest w stanie powiedzieć czy zmiana dokonana przez AI jest dobra czy nie i przepisanie w stylu ma działać tak jak kiedyś tylko z szybciej jest proste

Powtórzę to co pisałem wyżej: To co napisałeś jest prawdą. NA RAZIE. Widać w ciągu nawet ostatnich 2 lat jak wielki jest progres AI. Skoro dziś AI potrafi zastąpić junior deva, to dlaczego by nie zakładać że za 2 lata, czy nawet - no dobra, pójdźmy na rękę - za 5 lat nie zastąpi też architekta / seniora?

piotrpo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3356
0

Jestem bardzo ostrożny w przypadku takich komunikatów prasowych jakiejś firmy od AI, bo najczęściej jest w nich 90% hype i 10% pełnej niedopowiedzeń treści. $1100 to jedynie część kosztu, bo jest jeszcze ten jeden inżynier, który wklepywał prompty, sprawdzał czy efekt jest zgodny z oczekiwaniem, oraz nie określony nakład pracy związany z opisaniem API tego frameworku. W większości bibliotek i frameworków, to właśnie zdefiniowanie API jest najtrudniejsze i najbardziej czasochłonne. Z przyzwoitym napisaniem ciała funkcji o znanych parametrach wejściowych, wyniku i opisanych wymaganiach poradzi sobie junior, albo AI. Tylko ktoś musi wiedzieć, że ta funkcja ma być, po co ma być, jaką ma mieć sygnaturę i jak wpasować się w resztę tworzonego rozwiązania.
Zresztą wokół tego toczył się w odległych czasach spór pomiędzy Oracle i Google. Google wzięło API Javy i napisało od nowa "środek" tworząc Java-podobny język programowania dla Androida. Z tego co pamiętam skończyło się na konkretnej kasie dla Oracle.

SL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1093
0
vitoldinho napisał(a):

Powtórzę to co pisałem wyżej: To co napisałeś jest prawdą. NA RAZIE. Widać w ciągu nawet ostatnich 2 lat jak wielki jest progres AI.

Możliwe chociaż uważam, że akurat w tym zakresie tj. wymyślanie głupot AI wcale nie stało się lepsze i zasadniczo wygląda to tak samo: potrzeba kogoś lub czegoś co będzie weryfikowało wypociny stworzone przez AI. IMO też ciężko powiedzieć na ile musiałoby być lepiej, żeby takie AI można by puścic samopas. Co z tego, że takie AI będzie się myliło 10x rzadziej jak ta krzywa może być logarytmiczna i potrzeba wzrostu 1000x, żeby takie coś zmieniło zasady gry

Skoro dziś AI potrafi zastąpić junior deva

AI nie jest w stanie zastąpić juniorów. AI może sprawić, że seniorzy są produktywniejsi przez co potrzeba mniej osób w zespole, ale dobry junior jest i tak lata świetlne nad jakimkolwiek AI jeśli chodzi o etos pracy i dbałość o szczegóły. Zresztą junior też może używać AI

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.