Кнігадрукаванне I spent four weeks part-time (probably 80 hours total) building a complete reactive UI framework with 40+ components, a router, and supporting interactive website using only LLM-generated code, it is evident . LLMs can produce quality code—but like human developers, they need the right guidance Ключавыя вынікі On Code Quality: Добра вызначаныя задачы даюць чысты першапачатковы код Праблема ў тым, што добрыя матывы не заўсёды добрыя справы. Код распаўсюджваецца з часам без надуманага пераўтварэння LLMs абаронна над-інжынер, калі запрашаецца, каб палепшыць надзейнасць On The Development Process: Важна быць «дакладна ўзнагароджаным», калі задача вялікая. Вышыня размовы ("думання") вырабляе лепшыя вынікі, хоць часам вядзе да круглай або надта экспансіўнай логікі Многія перспектывы LLM (замяненне мадэляў) прапануе каштоўны архітэктурны агляд і дапамогу ў дэбаг Structured framework use, e.g. Bau.js or Lightview, prevent slop better than unconstrained development Формальныя метрыкі аб'ектыўна ідэнтыфікаваць і накіраваць зніжэнне складанасці кода Усё, што вы чулі пра карысць пара раней - усяго толькі чуткі і павер'і. Выклік Чатыры тыдні таму, я паступіў, каб адказаць на пытанне, якое было гарыцца ў развіцці супольнасці: можа LLMs генеруюць сутнаснае, вытворчасць якаснага коду? Не іграшковае прыкладанне.Не простае CRUD прыкладанне.Поўная, сучасная рэактыўная рамка UI з шматлікімі папярэднімі кампанентамі, маршрутарам і падтрымкай вэб-сайту з: Тысячы тысяч ліній JavaScript, CSS і HTML Memory, performance, and security considerations Професійны UX і досвед распрацоўшчыка I chose to build (Адміністрацыя )—реактивная рамка UI, якая аб'ядноўвае лепшыя функцыі Bau.js, HTMX і Juris.js. абмежаванне: 100% LLM-генераваны код з выкарыстаннем Anthropic's Claude (Opus 4.5, Sonnet 4.5) і Google's Gemini 3 Pro (Flash не быў выпушчаны, калі я пачаў). Lightview Вынікі пошуку - dev Starting With Questions, Not Code Я пачаў з Клода Опуса: "Я хачу стварыць рэактыўную бібліятэку UI, якая аб'ядноўвае HTMX, Bau і Juris. Для гіпермедыя, я лепш ніякіх спецыяльных імёнаў прыкмет — толькі павышаная паводзіны. Я таксама хачу строк літарнай апрацоўкі ў HTML, спаначны маршрутызатар, бібліятэка кампанентаў UI з аўтаматычным стварэнням наладных элементаў, SEO-змогуць прыкладання без дадатковай працы, і вэб-сайт для прасоўвання і адукацыі карыстальнікаў. "Я хачу стварыць рэактыўную бібліятэку UI, якая аб'ядноўвае HTMX, Bau і Juris. Для гіпермедыя, я лепш ніякіх спецыяльных імёнаў прыкмет — толькі павышаная паводзіны. Я таксама хачу строк літарнай апрацоўкі ў HTML, спаначны маршрутызатар, бібліятэка кампанентаў UI з аўтаматычным стварэнням наладных элементаў, SEO-змогуць прыкладання без дадатковай працы, і вэб-сайт для прасоўвання і адукацыі карыстальнікаў. Клод упершыню не занурыўся ў код. : dozens of clarifying questions TypeScript or vanilla JavaScript? Якая бібліятэка кампанентаў UI для сталінга? (Прыстаўленыя варыянты з прасоў/незадач) Якія HTMX функцыі ў прыватнасці? Працягвайце свой хост? Навошта рабіць маршрут? However, at times it started to write code before I thought it should be ready and I had to abort a response and redirect it. Навучанне: LLM маюць моцную прыхільнасць да ранняга генерацыі кода. Навіць калі нагадваюць, каб не кодзіць яшчэ, яны забываюць пасля некалькіх узаемадзеянняў. Гэта адбываецца з усімі мадэлямі — Claude, Gemini, GPT. Яны, здаецца, асабліва выкліканыя, каб пачаць працэс генерацыі, калі дадзены прыкладны код, нават калі прыклады прадастаўляюцца разам з пытаннямі, а не як патрабаванні рэалізацыі. Калі не ведаць спецыфікі польскай (і габрэйскай) сітуацыі, то можна і не зразумець - а пра што там вядзецца? Finding: LLMs have a strong bias toward premature code generation. Пытанне: Калі LLM пачынае генераваць код, перш чым вы будзеце гатовы, адмовіцца завяршыць адразу і перанакіраваць: "Не генеруйце код яшчэ. У вас ёсць больш пытанняў?" Вы можаце змяніць гэта некалькі разоў, як LLM "забывае" і вяртаецца назад да генерацыі кода. Плануванне супраць хуткага рэжыму пераключэння ў Antigravity або падобных рэжымах у іншых IDE павінны дапамагчы з гэтым, але гэта незручна выкарыстаць паўторна. Лепшым рашэннем будзе: калі карыстальнік запрашае пытанне, LLM павінна прыпускаць, што яны хочуць дыскусіі, а не кода. Калі LLM пачынае генераваць код, перш чым вы будзеце гатовы, адмяніць завяршэнне адразу і перанакіраваць: "Не генеруйце код яшчэ.У вас ёсць больш пытанняў?" Вы можаце змяніць гэта некалькі разоў, як LLM "забывае" і дрейфуе назад у бок генерацыі кода. Плануванне супраць хуткага рэжыму пераключэння ў Antigravity або падобных рэжымах у іншых IDE павінны дапамагчы з гэтым, але гэта незручна выкарыстоўваць больш за раз. Усё, што вы чулі пра карысць пара раней - усяго толькі чуткі і павер'і. Guidance: A better solution would be After an hour of back-and-forth, Claude finally said: "No more questions. Would you like me to generate an implementation plan since there will be many steps?" План, які атрымаўся, быў комплексны - падрабязная файл Markdown з каскамі, вырашэннем праекта і разгляданнямі для: Core reactive library 40+ працэнтаў Ротавая сістэма Веб-сайт ... хоць вэб-сайт атрымаў менш увагі - прагаласаванне, якое я хацеў бы рабіць пазней Я не зрабіў ніякіх істотных зменаў у гэтым плане, за выключэннем паясненняў на элементы сайта і даданне адной асноўнай функцыі, дэкларацыйнай падзеі на канцы развіцця. Будаўніцтва стартуе With the plan in place, I hit my token limit on Opus. No problem—I switched to Gemini 3 (High), which had full context from the conversation plus the plan file. За некалькі хвілін, Gemini вырабляе — асноўны рухавік рэалізацыі — разам з двума прыкладнымі файламі: дэма «Hello, World!», якая паказвае як Bau-подобную сінтаксу, так і vDOM-подобную сінтаксу. lightview.js І тады я зрабіў помилку. "Пабудуйце вэб-сайт як SPA", - сказаў я, не ўказваючы, каб выкарыстоўваць саму Lightview. Калі я вярнуўся, у маім браўзэры працаваў выдатны вэб-сайт. Я паглядзеў на код і маё сэрца затапіла: . React with Tailwind CSS React + Tailwind is an extremely common pattern for SPAs. Without explicit guidance to use Lightview—the very framework I'd just built—the LLM defaulted to what it had seen most often in training data. Finding: LLMs will use the most common/popular solution if you don't specify otherwise. React + Tailwind з'яўляецца выключна распаўсюджаным патэнтам для СПА. Без ясных парадкаў для выкарыстання Lightview - самая рамка, якую я толькі што пабудаваў - LLM па параўнанні з тым, што ён бачыў найбольш часта ў дадзеных навучання. Finding: LLMs will use the most common/popular solution if you don't specify otherwise. Што хутчэе, калі я папрасіў перабудаваць яго з Lightview, я забыў сказаць "вылучыць існуючы сайт перш за ўсё". Пытанні: Калі запрашаць LLM, каб перапрацаваць працу, быць ясным аб падыходу: Вылучэнне існуючага сайта і перабудовы з нуля з дапамогай Lightview vs Змяніць існуючы сайт, каб выкарыстоўваць Lightview Пытанні: Калі запрашаць LLM, каб перапрацаваць працу, быць ясным аб падыходу: Вылучэнне існуючага сайта і перабудовы з нуля з дапамогай Lightview vs Змяніць існуючы сайт, каб выкарыстоўваць Lightview The first is often more token-efficient for large changes. The second is better for targeted fixes. The LLM won't automatically choose the efficient path—you need to direct it. The Tailwind Surprise Пасля таго, як Клод стварыў вэб-сайт з выкарыстаннем кампанентаў Lightview, я заўважыў, што ён яшчэ быў поўны класаў CSS Tailwind. "Well," Claude effectively explained, "you chose DaisyUI for the UI components, and DaisyUI requires Tailwind as a dependency. I assumed you were okay with Tailwind being used throughout the site." Я любіў семантычныя класы CSS і хацеў, каб сайт выкарыстоўваў класічныя падыходы CSS. Навучанне: LLM робяць разумныя, але часам небажаныя высновы. Калі вы ўяўляеце адну тэхналогію, якая мае залежнасці, LLM будзе пашыраць гэты выбар да супольных частак праекта. Калі вы вызначаеце адну тэхналогію, якая мае залежнасці, LLM будзе пашыраць гэты выбар да супольных частак праекта. Finding: LLMs make reasonable but sometimes unwanted inferences. Калі вы хочаце прымусіць свой мозг працаваць, прыходзьце ў Клуб інтэлектуальных гульняў УЗВ! Guidance: Калі вы хочаце прымусіць свой мозг працаваць, прыходзьце ў Клуб інтэлектуальных гульняў УЗВ! Guidance: I asked Claude to rewrite the site using classic CSS and semantic classes. I liked the design and did not want to delete the files, so once again I suffered through a refactor that consumed a lot of tokens since it touched so many files. I once again ran out of tokens and tired GPT-OSS bit hit syntax errors and had to switch to another IDE to keep working. Пытанне: Калі адзін LLM змагаецца з вашай кодавай базай, пераходзьце назад на той, які быў раней паспяховы. Розныя мадэлі маюць розныя "разумленне" вашага праектнага канцэпту. І, калі вы выкарыстоўваеце Antigravity, калі вы выконваеце токены, вы можаце перайсці на MS Visual Code ў той жа каталогу і выкарыстоўваць лёгкі GitHub Copilot рахунак з Клод. Antigravity заснаваны на Visual Code, так што ён працуе ў вельмі падобным выглядзе. When one LLM struggles with your codebase, switch back to one that was previously successful. Different models have different "understanding" of your project context. And, if you are using Antigravity when you run out of tokens, you can switch to MS Visual Code in the same directory and use a light GitHub Copilot account with Claude. Antigravity is based on Visual Code, so it works in a very similar manner. Guidance: Ітэратыўныя танцы На працягу наступных некалькіх тыдняў, я працаваў, каб пабудаваць вэб-сайт і выпрабаваць / ітэраваць на кампанентах, я працаваў над некалькімі LLM як токен ліміты рэстаўрацыі. excelled at architectural questions and generated clean website code with Lightview components Claude Pro consistently tried to use local tools and shell helper scripts to support its own work—valuable for speed and token efficiency. However, it sometimes failed with catastrophic results, many files zeroed out or corrupt with no option but to roll-back. Gemini Перакладныя перспектывы аказаліся магутнымі: "Вы іншы LLM. Якія вашы думкі?" часта прыносяць прарыўныя ўзоры або хуткае выпрабаванне брэндаў, на якіх адзін LLM круціцца. I found the real winner to be Gemini Flash. It did an amazing job of refactoring code without introducing syntax errors and needed minimal guidance on what code to put where. Sometimes I was skeptical of a change and would say so. Sometimes, Flash would agree and adjust and other times it would make a rational justification of its choice. And, talk about fast … wow! Эволюцыя маршрута У першай частцы сустрэчы школьнікі пазнаёміліся інфармацыйнымі блокамі. ( І Гэта цалкам падыходзіць для SPA — гэта проста, надзейны і не патрабуе канфігурацыі сервера. #/about #/docs Але ў мяне былі дадатковыя патрабаванні, якія я не заявіў ясна: я хацеў звычайных шляхоў ( І Гульня Call of Duty 4 - адзін з найбольш знакамітых шутэраў усіх часоў і народаў паказаць дэталёвае апісанне /about /docs Навучанне: LLM часам будзе параўноўвацца з самым простым правільным рашэннем. Хаш-базавы маршрутызацыя лёгка рэалізаваць і працуе без канфігурацыі з боку сервера. Паколькі я не сказаў, што я хацеў маршрутызацыі на аснове шляху, LLM будзе выбраць больш просты падыход. Акрамя таго, для некаторых элементаў у экспазіцыі вядома нават імя майстра, які іх вырабіў, — гэта знакаміты нямецкі даспешнік Кольман Хельмшміт, які выконваў заказы для каралеўскіх дамоў і найбуйнейшых магнатаў Еўропы. Finding: LLMs will sometimes default to the simplest valid solution. Калі я расказаў Клоду, што мне патрэбныя звычайныя шляхі для SEO і глыбокіх спасылак, ён вельмі хутка перапісаў маршрутызатар і прыйшоў з тым, што я лічу разумным рашэннем — гібридным падыходам, які робіць СПА-страніны як глыбокія спасылки, так і SEO-індэксаваныя без цяжкасці рэндангу з боку сервера. аднак, ён не пакінуў некаторыя з першапачатковага кода на месцы, які выдатна замацаваў тое, што адбывалася, і быў цалкам небяспечны. Я быў вымушаны сказаць яму, каб выдаліць гэты код, які падтрымліваў рэшткі хаш-базаных маршрутаў. Гэта рэшткі кода — гэта тое, што можа прывесці Упраўленне: Для архітэктурных мадэляў, будзьце экспрэсіўнымі пра вашыя патрабаванні раней. Не падумайце, што LLM ведае, што вы хочаце больш складаны, але SEO-прыемны падыход. Укажыце: "Я хачу маршрутаванне на аснове шляху з гісторыяй API для SEO" а не толькі "Я хачу маршрутаванне". For architectural patterns, be explicit about your requirements early. Don't assume the LLM knows you want the more complex but SEO-friendly approach. Specify: "I need path-based routing with History API for SEO" rather than just "I need routing." Guidance: Напэўна, мы не з’яўляемся нейкімі паддоследнымі суб’ектамі, на якіх Бог эксперыментуе, спасылаючы нейкія цяжкасці і выпрабаванні. Guidance: I also found that LLMs defensively try to ensure compatibility with previous versions, this can lead to overly complex code. If you are writing from scratch you need to remind them that backward compatibility is not required. У параўнанні з лічбамі Фінальныя казкі Project Size: 60 JavaScript files, 78 HTML files, 5 CSS files 41,405 total lines of code (including comments and blanks) Больш за 40 кампетэнтаў 70+ website files Белы дом Трампа распрацаваў сваю нацыянальную стратэгію бяспекі, але “да рэаліяў прэзідэнцкага тэрміну Трампа яна дачынення не мае”, гэта чыста экспертная творчасць. Core Libraries: File Lines Minified Size lightview.js 603 7.75K lightview-x.js 1,251 20.2K lightview-router.js 182 3K lightview.js 603 775 К Сцягнуць Lightview-x.js 1,251 20.2K Сцягнуць Lightview-router.js 182 3K Сайт scored well on for performance without having had super focused optimization. Галерэя компонентаў Lighthouse Але потым прыйшлі метрычныя праблемы. Вынікі пошуку - hollywood Я запрасіў Gemini Flash, каб ацэньваць код, выкарыстоўваючы тры формальныя метрыкі: A combined metric where 0 is unmaintainable and 100 is perfectly documented/clean code. The calculation considers: 1. Maintainability Index (MI): Halstead Volume (памер памераў і складанасці кода) Цыкламатычная цяжкасць Лініі кода Як вызначыць density Scores above 65 are considered healthy for library code. This metric gives you a single number to track code health over time. Старая, але яшчэ каштоўная метрыка, якая вымярае колькасць лінейна незалежных шляхоў праз код. 2. Cyclomatic Complexity: Больш папулярных будынкаў Больш цяжка выпрабаваць глыбока (метрыка можа фактычна сказаць вам, колькі вам можа быць неабходна напісаць) More cognitive load to understand Напрыклад, мінулае лета, як вы памятаеце, было сухім і спякотным. 3. Cognitive Complexity: Гніздовыя кандыдаты і крупы (двойнае гніздо = вышэйшая штрафная кара) Boolean operator chains Рэканструкцыя Breaks in linear flow The thresholds: 0-15: Чысты код - лёгка зразумець і падтрымліваць High Friction - refactoring suggested to reduce technical debt 16-25: Critical - immediate attention needed, maintenance nightmare 26+: Gemini Flash першапачаткова шукаў існуючую бібліятэку метрыкі, не мог знайсці, а затым напісаў свой поўны аналізатар (metrics-analysis.js) з дапамогай Acorn JavaScript-аперсара — без просьбы дазволу. Gemini Flash першапачаткова шукаў існуючую бібліятэку метрык, не мог знайсці, то ( (Рэгістратар - гэта проста кампанія, праз якую вы можаце зарэгістраваць сваё даменнае імя ў абмен на штогадовую плату.) Finding: LLMs excel at creating analysis tools. wrote its own complete analyzer metrics-analysis.js The Verdict Overall health looked good: File Functions Avg Maintainability Avg Cognitive Status lightview.js 58 65.5 3.3 ⚖️ Good lightview-x.js 93 66.5 3.6 ⚖️ Good lightview-router.js 27 68.6 2.1 ⚖️ Good Вынікі пошуку - lightview.js 58 65.5 3.3 ⚖️ Good Сцягнуць Lightview-x.js 93 66.5 3.6 ️ Добры lightview-router.js 27 68.6 2.1 ⚖️ Good But drilling into individual functions told a different story. Two functions hit "Critical" status: (lightview-x.js): handleSrcAttribute Cognitive Complexity: 🛑 35 Цыкламатычная складанасць: 22 Індэкс абслугоўвання: 33,9 (lightview-x.js): Anonymous Template Processing Cognitive Complexity: 🛑 31 Cyclomatic Complexity: 13 Гэта быў скід.Тэхнічны забор, які чакае, каб стаць абслугоўваннем кошмараў. Хіба ён зможа зрабіць свой уласны крок? Here's where it gets interesting. The code was generated by Claude Opus, Claude Sonnet, and Gemini 3 Pro several weeks earlier. Could the newly released Вычысціць гэта наперад? Gemini 3 Flash Я прасіў Flash да refactor Гэта здавалася, што займае трохі больш часу, чым трэба. Так што я абортуў і праводзіў некалькі часу на агляд яго працэсу мыслення. Былі абсалютныя месцы, дзе ён атрымаў бок-трэкі або нават пайшоў у кругі, але я сказаў яму працягваць. Пасля таго, як ён скончыўся, я ручна праверыў код і глыбока выпрабаваў усе участкі сайта, якія выкарыстоўваюць гэтую функцыю. handleSrcAttribute Gemini Flash "thinks" extensively. While reviewing all its thought processes would be tedious, important insights flash by in the IDE. When an LLM seems stuck in a loop, aborts and review historical thoughts for possible sidetracks and tell to continue or redirect as needed. Critical Discovery #2: Gemini Flash "думае" шырока. У той час як агляд усіх яго працэсаў мыслення было б досыць, важныя ўзнагароды ўспыхнуць у IDE. Калі LLM, здаецца, застрыманы ў ланцугу, абортуе і агляд гістарычныя думкі для магутных боковых трак і сказаць працягваць або перанапраўляць, калі гэта неабходна. Critical Discovery #2: Пасля фіксацыі на , I asked for revised statistics to see the improvement. handleSrcAttribute Flash знікненне акта На жаль, Gemini Flash вылучыла яе file! It had to recreate the entire analyzer. metrics-analysis.js After Flash uses a script or analysis tool it creates, it often deletes the file assuming it is temporary. This happens even for files that take significant effort to create and that you might want to keep or reuse. Finding: Gemini Flash aggressively deletes temporary files. After Flash uses a script or analysis tool it creates, it often deletes the file assuming it is temporary. This happens even for files that take significant effort to create and that you might want to keep or reuse. Finding: Gemini Flash aggressively deletes temporary files. Tell Gemini to put utility scripts in a specific directory (like or ) and explicitly ask it to keep them. You can say: "Create this in /home/claude/tools/ and keep it for future use." Otherwise, you'll find yourself regenerating the same utilities multiple times. Guidance: /home/claude/tools/ /home/claude/scripts/ Сказаць Gemini, каб ставіць карысныя сцэнары ў вызначаны каталог (такія як або ) and explicitly ask it to keep them. You can say: "Create this in /home/claude/tools/ and keep it for future use." Otherwise, you'll find yourself regenerating the same utilities multiple times. Guidance: /home/claude/tools/ /home/claude/scripts/ The Dev Dependencies Problem When I told Gemini to keep the metrics scripts permanently, another issue surfaced: it failed to officially install dev dependencies like (the JavaScript parser). acorn Flash проста падумаў, што гэта таму, што ён знайшоў пакеты ў , it could safely use them. The only reason was available was because I'd already installed a Markdown parser that depended on it. node_modules acorn They'll use whatever's available in without verifying it's officially declared in . This creates fragile builds that break on fresh installs. Finding: LLMs don't always manage dependencies properly. node_modules package.json They'll use whatever's available in without verifying it's officially declared in . This creates fragile builds that break on fresh installs. Finding: LLMs don't always manage dependencies properly. node_modules package.json After an LLM creates utility scripts that use external packages, explicitly ask: "Did you add all required dependencies to package.json? Please verify and install any that are missing." Better yet, review the script's imports and cross-check against your declared dependencies yourself. Guidance: After an LLM creates utility scripts that use external packages, explicitly ask: "Did you add all required dependencies to package.json? Please verify and install any that are missing." Better yet, review the script's imports and cross-check against your declared dependencies yourself. Guidance: The Refactoring Results With the analyzer recreated, Flash showed how it had decomposed the monolithic function into focused helpers: (cognitive: 5) fetchContent (cognitive: 5) parseElements АктуальнасцьЦыруючыяконтент (кагнітыўны: 7) (cognitive: 2) elementsFromSelector Узнагароджанне ў калектыве (Cognitive: 10) Вынікі Metric Before After Improvement Cognitive Complexity 35 🛑 10 ✅ -71% Cyclomatic Complexity 22 7 -68% Status Critical Slop Clean Code — Когнітыўны комплекс 35 гадоў 10 ✅ -71% Cyclomatic Complexity 22 7 -68% Статус Critical Slop чыстыя коды — Manual inspection and thorough website testing revealed zero bugs. The cost? A 0.5K increase in file size - negligible. Калі я паехаў у 1971 годзе ў ЗША і 6 месяцаў там працаваў як стыпэндыят UNESCO, я пабачыў, што гэта іншая краіна і іншая сыстэма. Extracted Functions: collectNodesFromMutations - ітэрацыйная логіка ProcessAddedNode - сканерная логіка - template interpolation for text transformTextNode transformElementNode — інтэрполяцыя і рэкурсія Results: Function Group Previous Max New Max Status MutationObserver Logic 31 🛑 6 ✅ Clean domToElements Logic 12 ⚠️ 6 ✅ Clean MutationObserver Logic 31 жніўня 6 ✅ Clean domToElements Logic 12 ⚠️ 6 ✅ Clean Final Library Metrics Пасля рэфактарызацыі, lightview-x.js значна палепшылася: Функцыі: 93 → 103 (Лепшая разважанне) 66.5 → 66.8 Avg Maintainability: Avg Когнітыўны: 3.6 → 3.2 Любая новая палітычная тэорыя, як бы яна ні называлася, вяртала назад да іерархізаванага і строга рэгламентаванага грамадства. File Functions Maintainability (min/avg/max) Cognitive (min/avg/max) Status lightview.js 58 7.2 / 65.5 / 92.9 0 / 3.4 / 25 ⚖️ Good lightview-x.js 103 0.0 / 66.8 / 93.5 0 / 3.2 / 23 ⚖️ Good lightview-router.js 27 24.8 / 68.6 / 93.5 0 / 2.1 / 19 ⚖️ Good react.development.js 109 0.0 / 65.2 / 91.5 0 / 2.2 / 33 ⚖️ Good bau.js 79 11.2 / 71.3 / 92.9 0 / 1.5 / 20 ⚖️ Good htmx.js 335 0.0 / 65.3 / 92.9 0 / 3.4 / 116 ⚖️ Good juris.js 360 21.2 / 70.1 / 96.5 0 / 2.6 / 51 ⚖️ Good lightview.js 58 7.2 / 65.5 / 92.9 0 / 3.4 / 25 ⚖️ Good lightview-x.js 103 0.0 / 66.8 / 93.5 0 / 3.2 / 23 ⚖️ Good lightview-router.js 27 24.8 / 68.6 / 93.5 0 / 2.1 / 19 ️ Добры react.development.js 109 0.0 / 65.2 / 91.5 0 / 2.2 / 33 ️ Добры bau.js 79 11.2 / 71.3 / 92.9 0 / 1.5 / 20 ⚖️ Good htmx.js 335 0,0 / 65,3 / 92,9 0 / 3.4 / 116 ⚖️ Good juris.js 360 21.2 / 70.1 / 96.5 0 / 2.6 / 51 ⚖️ Good LLMs зеркальнае чалавечае паводзіны — для лепшага і гіршага LLM паказваюць такія ж тэндэнцыі, як сярэднія распрацоўшчыкі: Rush to code without full understanding Don't admit defeat or ask for help soon enough Забяспечыць энергетычную бяспеку і энергетычную незалежнасць краіны. Produce cleaner code with structure and frameworks The difference? They do it Яны могуць стварыць горы пагоркаў у часы, якія б займалі людзі тыднямі. faster and at greater volume 2. Thinking Helps Extended reasoning (visible in "thinking" modes) shows alternatives, self-corrections, and occasional "oh but" moments. The thinking is usually fruitful, sometimes chaotic. Don’t just leave or do something else when tasks you belive are comple or critical are being conducted. The LLMs rarely say "I give up" or "Please give me guidance" - I wish they would more often. Watch the thinking flow and abort the response request if necessary. Read the thinking and redirect or just say continue, you will learn a lot. Многія перспектывы магутныя When I told a second LLM, "You are a different LLM reviewing this code. What are your thoughts?", magic happened. Знаходжанне: LLM з'яўляюцца выдатна не абароннымі. Калі сутыкаюцца з рэалізацыяй, якая крытыкуецца як занадта абстрактная, не дастаткова абстрактная, або неэфектыўная, вядучыя LLMs (Клод, Gemini, GPT) не будзе сустракацца. When faced with an implementation that's critiqued as too abstract, insufficiently abstract, or inefficient, leading LLMs (Claude, Gemini, GPT) won't argue. They'll do a rapid, thorough analysis and return with honest pros/cons of current versus alternative approaches. Finding: LLMs are remarkably non-defensive. This behavior is actually : beyond what most humans provide How many human developers give rapid, detailed feedback without any defensive behavior? How many companies have experienced architects available for questioning by any developer at any time? How many code review conversations happen without ego getting involved? Before OR after making changes, switch LLMs deliberately: Guidance: Make progress with one LLM (e.g., Claude builds a feature) Switch to another (e.g., Gemini) and say: "You are a different LLM reviewing this implementation. What are your thoughts on the architecture, potential issues, and alternative approaches?" Then switch back to the first and ask what it thinks now! This is especially valuable before committing to major architectural decisions or after implementing complex algorithms. The second opinion costs just a few tokens but can save hours of refactoring later. Перш чым або пасля таго, як зменіцца, звярніцеся да LLM з упэўненасцю: Guidance: Make progress with one LLM (e.g., Claude builds a feature) Switch to another (e.g., Gemini) and say: "You are a different LLM reviewing this implementation. What are your thoughts on the architecture, potential issues, and alternative approaches?" Then switch back to the first and ask what it thinks now! This is especially valuable before committing to major architectural decisions or after implementing complex algorithms. The second opinion costs just a few tokens but can save hours of refactoring later. 4. Structure Prevents Slop Знаходжанне: Кажучы LLM выкарыстоўваць "vanilla JavaScript" без абмежаванняў запрашае схіл. Vanilla JavaScript з'яўляецца выдатным, але ўнутрана вольны мова, праз якую часам схільны або несумяшчальны браўзэра API выяўляецца. Без абмежаванняў, гэта лёгка, каб стварыць непаўторны код — як для людзей, так і LLMs. Вызначаючы рамку (Bau.js, React, Vue, Svelte, і г.) прапануе страйкі, якія прыводзяць да чысцей, больш падтрымліваемы код. Кажучы LLM, каб выкарыстоўваць "Vanilla JavaScript" без абмежаванняў запрашае схіл. Vanilla JavaScript з'яўляецца выдатным, але ўнутрана воласны мова, праз якую часам схільны або несумяшчальны браўзэра API выяўляецца. Без абмежаванняў, гэта лёгка, каб стварыць непаўналетні код — як для людзей, так і LLMs. Узнагароджанне рамкі (Bau.js, React, Vue, Svelte, і г.д.) прапануе страйкі, якія прыводзяць да чысцей, больш падтрымліваемы код. Finding: Пытанні, якія часта задаюць пра вегетарыянства Рамка / бібліятэка для выкарыстання (React, Vue, Svelte і г.д.) The architectural pattern (MVC, MVVM, component-based, etc.) Code organization preferences (feature-based vs. layer-based folders) Naming conventions Whether to use TypeScript or JSDoc for type safety Іншыя бібліятэкі для выкарыстання ... не забяспечваюць перавышэння. Don't say: "Build me a web app in JavaScript" Do say: "Build me a React application using functional components, hooks, TypeScript, and feature-based folder organization. Follow Airbnb style guide for naming." Што далей, то будзе лепей і лепш, бо лічу беларускую сталіцу надта прывабнай і унікальнай у сваім родзе. Пытанні, якія часта задаюць пра вегетарыянства Рамка / бібліятэка для выкарыстання (React, Vue, Svelte і г.д.) The architectural pattern (MVC, MVVM, component-based, etc.) Code organization preferences (feature-based vs. layer-based folders) Naming conventions Whether to use TypeScript or JSDoc for type safety Іншыя бібліятэкі для выкарыстання ... не забяспечваюць перавышэння. Don't say: "Build me a web app in JavaScript" Do say: "Build me a React application using functional components, hooks, TypeScript, and feature-based folder organization. Follow Airbnb style guide for naming." The more structure you provide upfront, the less slop you'll get. This applies to all languages, not just JavaScript. 5. Metrics Provide Objective Truth Яны часта лічацца занадта тупымі, механічнымі, цяжкімі або каштоўнымі для атрымання для чалавечага развіцця, але ў IDE з LLM з LLM, які можа напісаць код, каб рабіць афіцыйны аналіз крыніцы (не патрабуецца падпіска IDE плагіна), яны павінны атрымаць значна больш увагі, чым яны робяць. They're perfect for: Finding: Formal software metrics can guide development objectively. Identifying technical debt automatically Tracking code health over time Guiding refactoring priorities Validating that "improvements" actually improve things They're perfect for: Finding: Formal software metrics can guide development objectively. Identifying technical debt automatically Здаровая касметыка вы можаце зрабіць самі Пытанні, якія часта задаюць пра вегетацыю Validating that "improvements" actually improve things Метрыкі не ляжаць. – Яны вызначылі падыход, які мне прапусціла інтуіцыя. Руководства: Інтэграваць метрыкі ў свой працоўны працэс LLM: Run complexity metrics on all files. Identify functions with cognitive complexity > 15 or cyclomatic complexity > 10. After initial implementation: Address Critical (cognitive > 26) functions first, then "High Friction" (16-25) functions. Prioritize refactoring: Don't just say ‘improve this’. Say ‘Refactor handleSrcAttribute to reduce cognitive complexity to target range’. Request targeted refactoring: After refactoring, re-run metrics. Ensure complexity actually decreased and maintainability increased. Sometimes ‘improvements’ just shuffle complexity around. Verify improvements: Before marking code as done, try to have all functions with a cognitive complexity < 15 and maintainability index > 65. Set quality gates: Integrate metrics into your LLM workflow: Guidance: Run complexity metrics on all files. Identify functions with cognitive complexity > 15 or cyclomatic complexity > 10. After initial implementation: Address Critical (cognitive > 26) functions first, then "High Friction" (16-25) functions. Prioritize refactoring: Don't just say ‘improve this’. Say ‘Refactor handleSrcAttribute to reduce cognitive complexity to target range’. Request targeted refactoring: After refactoring, re-run metrics. Ensure complexity actually decreased and maintainability increased. Sometimes ‘improvements’ just shuffle complexity around. Verify improvements: Усё, што вы чулі пра карысць пара раней - усяго толькі чуткі і павер'і. Суддзя Пасля 40 000 ліній кода, створанага LLM, я абсалютна эфектыўны. But like human developers, they need: Yes, LLMs can generate quality code. Ясныя і падрабязная спецыфікацыя Структурныя абмежаванні (рамкі, мадэлі) Regular refactoring guidance Калi статус такой фiзiчнай асобы ў Multiple perspectives on architectural decisions Крытыка, што LLMs генеруюць схіл, не няправільна — але гэта непаўторна. . unclear requirements, insufficient structure, and lack of quality enforcement The difference is iteration speed. What might take a human team months to build and refactor, LLMs can accomplish in hours. The cleanup work remains, but the initial generation accelerates dramatically. Глядзець наперад I'm skeptical that most humans will tolerate the time required to be clear and specific with LLMs - just as they don't today when product managers or developers push for detailed requirements from business staff. The desire to "vibe code" and iterate will persist. But here's what's changed: The feedback loop has compressed from weeks to hours. We can now iterate and clean up faster when requirements evolve or prove insufficient. Як кодаванне асяроддзяў эвалюцыя, каб абвесціць LLM ў лепшую структуру - аўтаматызаваныя метрыкі, прымушаныя мадэлі, мульты-мадэлі агляд -якасць будзе палепшыцца. мы не там яшчэ, але фундамент абяцае. Праўдзівае пытанне не ў тым, ці LLMs могуць генеруць якасны код. Гэта, ці мы можам забяспечыць іх - і нас саміх - з дысцыплінай, каб рабіць гэта ў адпаведнасці. And, I have a final concern … if LLMs are based on history and have a tendency to stick with what they know, then how are we going to evolve the definition and use of things like UI libraries? Are we forever stuck with React unless we ask for something different? Or, are libraries an anachronism? Will LLMs and image or video models soon just generate the required image of a user interface with no underlying code? Зважаючы на яе поўны ўступ у гульню і заснаванне LLM ўжо ёсць, я не маю высокіх надзеяў на прыняцце Lightview, але гэта быў цікавы эксперымент. Вы можаце наведаць праект на: https://lightview.dev