Vibe kodimit hype është duke përfunduar poshtë, sepse ka kufizime të mëdha në atë që mund të bëjnë modelet e mëdha të gjuhës. Pavarësisht kësaj agjentët e kodimit janë duke u bërë mjaft të mirë. Ata mund të spin up faqe të reja frontend, wire up APIs, dhe madje edhe të ndërtuar CI / CD konfigurime. Por kushdo e di se sa të paqëndrueshme ata janë. e njëjta këshillë mund të punojnë një herë dhe të thyejnë të ardhshëm. Ata harrojnë pjesë të bazës tuaj të kodit, përzierje SDKs deprecated, ose vetëm të bëjë gjëra deri. Problemi nuk është se modeli është i keq – është se nuk Këtu është prova - Dikush shkroi një gjuhë programimi duke përdorur vetëm agjentin e kodimit.Nëse kjo ishte e mundur, çdo gjë është. Njihuni me kontekstin tuaj https://cursed-lang.org/ Për të marrë një prodhim të besueshëm, ju nuk mund vetëm të nxirrni më mirë. agjenti punon – formoni hyrjet e tij, i jepni strukturë dhe vendosni kufijtë e duhur. . engineer the environment context engineering LLMs nuk mendojnë si inxhinierët LLMs nuk "kuptojnë" kodin në mënyrën se si ne e bëjmë. Ata parashikojnë token bazuar në modelet në hyrjen e mëparshme, jo në ndërtimet e aplikacioneve ose strukturën. kështu që edhe ndryshime të vogla në skedarët e porosisë ose rrethues mund të ndryshojnë prodhimin. Kjo është arsyeja pse një drejtim kalon testet dhe një tjetër thyen importet ose harron një gjysmë koloni. Pa strukturë, ata janë si stazhistët që gjykojnë grumbullimin tuaj nga kujtesa. Ju nuk mund ta rregulloni këtë duke bërtitur në model. (Unë mund të them, unë u përpoqa) Ju e rregulloni atë duke i dhënë atë të drejtë - kufizimet dhe mjedisi që e udhëheqin atë drejt kodit të vlefshëm çdo herë. scaffolding Kufizimet e bëjnë kodin të parashikueshëm Nëse ju dëshironi që agjenti të sillet në mënyrë të qëndrueshme, Ata kufizojnë hapësirën e prodhimeve të mundshme dhe detyrojnë modelin të qëndrojë në përputhje me konfigurimin tuaj. constraints are your friend Disa kufizime të dobishme: Llojet – Nëse jeni duke përdorur skemat TypeScript ose JSON, agjenti mund të shohë saktësisht cilat forma duhet të ndjekë. Lint + rregullat e formatit - Prettier, ESLint, ose rregullat codegen bëjnë prodhimin konsistente pa nxitje shtesë. Detyrat më të vogla – Në vend të “bëj një backend për mua”, kërkoni “shto këtë rrugë në src/api/user.ts.” Konfigurimet dhe templates - Mjetet si Typeconf dhe Varlock mund të paracaktojnë variablat e mjedisit, SDK-të ose çdo model konfigurimi që agjenti duhet të ndjekë. Ju nuk e humbni fleksibilitetin – thjesht kapni gabimet më herët dhe bëni që sjellja të përsëritet. Ndërtimi i sistemeve si e vërteta e tokës Edhe kur kodi duket mirë, shpesh thyhet në kohën e ndërtimit sepse agjenti gjeti gabim për mënyrën se si gjërat janë të lidhur. Për shembull: Ju e kërkoni atë për të drejtuar teste, ajo shkruan testin npm - por repo juaj përdor pnpm ose nx. Ajo përpiqet të ndërtojë një Dockerfile që nuk ekziston as mjedisi juaj aktual. Ajo importon një paketë që nuk është as instaluar. Fix është për Jepni agjentit një imazh të qartë se si kodet janë ndërtuar, testuar dhe zbatuar.Mendoni për të si një mjet shtesë agjent për mjedisin e projektit tuaj. abstract the build system Pasi agjenti e di se çfarë do të thotë “të ndërtosh” në botën tënde, ai mund ta përdorë atë njohuri në vend që të mendojë. Bazel, Buck, Nx, ose madje edhe një paketë të strukturuar mirë.json janë tashmë themele të mira. Sa më shumë që mbuloni këtë informacion, aq më pak hallucinacione do të merren me ju. Nëse doni të shkoni më tej ju mund të shkruani kapakët tuaj të mjeteve për të parandaluar agjentin nga thirrja e sistemit të gabuar të ndërtimit, shikoni udhëzimin Claude Code: . https://docs.claude.com/en/docs/claude-code/hooks-guide Problemi me trajnimin e vjetëruar Shumica e agjentëve të kodimit janë të trajnuar në të dhënat që janë një ose dy vjet të vjetra. ata do të përdorin me kënaqësi API-t që nuk ekzistojnë më, ose modelet e kodit që të gjithë kanë braktisur kohë më parë. Ndoshta keni parë gjëra të tilla si: Metodat e vjetra të jetesës React Funksionet jo ekzistuese të bibliotekës Fjalë kyçe Next.js Komandat NPM për bibliotekat që janë zhvendosur në versione të reja Ju duhet të sillni kontekstin tuaj - dokumente të vërteta, kod të vërtetë, konfigurime të vërteta. Disa mënyra për të mbyllur hendekun: Feed në dokumentin e bibliotekës, për shembull përmes MCP-ve si Context7. Lëreni agjentin të lexojë skedarët aktualë të kodit dhe varësitë - tregoni atë për të lexuar node_modules, ju do të habiteni se sa shpesh do të ndihmojë për të rregulluar API. Shtoni udhëzime të personalizuara në AGENTS.md duke i thënë modelit për të shmangur modelin e përsëritur problematik që po përpiqet të përdorë. Kur modeli e di se çfarë është në të vërtetë atje, ai ndalon hallucinating. 5.Ndryshimet në kontekst Një agjent i mirë i kodimit nuk lexon vetëm këshillën tuaj - lexon të gjithë situatën. Ju mund të mendoni për kontekstin në tre shtresa: Static context Struktura e projektit, faqja e skedarit, llojet, konfigurimet, komandat e ndërtimit, varësitë. Dynamic context Detyra aktuale, skedari i hapur, mesazhet e gabimit, rezultatet e testimit, regjistrimet e kohës së drejtimit. External context Docs, referencat SDK, changelogs, ose snippets nga web kur është e nevojshme. Kombinoni të tre, dhe agjenti fillon të veprojë si dikush që është në fakt në bord në bazën tuaj të kodit - jo një freelancer i rastësishëm duke menduar nga kujtesa. Shembuj nga bota reale Unë jam duke ndërtuar aktualisht SourceWizard - agjenti i kodimit për automatizimin e integrimeve.Kur fillova të automatizoj integrimin e WorkOS AuthKit, këtu është lista jo-shteruese e problemeve që modeli ka gjeneruar për mua: Filloi duke përdorur APIs deprecated withAuth dhe getUser; Logjika e përzier e frontend dhe backend; (si përdorimi i useState në komponentët e serverit) variablat e gabuara të mjedisit; instaluar paketën e gabuar; Është e qartë se modeli gjithashtu shuffled nëpër të gjitha menaxherët e paketave, nganjëherë npm, nganjëherë pnpm, çfarëdo që ishte më interesante për modelin në një kohë. Pasi kam shtuar kufizime, direkt specifikuar se çfarë agjenti duhet të përdorë, furnizuar me API më të fundit modeli filloi gjenerimin e kodit të integrimit . consistently Dallimi nuk është në model, është në atë që sheh. Konteksti është ndërfaqja e re Shumica e njerëzve ende mendojnë për agjentët e kodimit si chatbots: jepni një thirrje, merrni një përgjigje. Magjia e vërtetë ndodh në kontekst – skedarët, llojet, komandat dhe rrjedhat e reagimit që agjenti mund të hyjë. Në të ardhmen, ne nuk do të “flasim” vetëm me agjentët e kodimit – ne do t’i lidhim ata në sistemet tona të ndërtimit. Konkludimi Agjentët e kodimit dështojnë jo sepse janë budallenj, por sepse punojnë të verbër. Nëse dëshironi që ata të jenë shokë të besueshëm të ekipit, jepini atyre strukturë: kufizimet që përcaktojnë se si ato duhet të kodohen; Ndërtoni abstrakcione që tregojnë se si projekti juaj funksionon në të vërtetë; Konteksti i përditësuar në mënyrë që ata të ndalojnë përdorimin e modeleve të vjetra; Sa më i mirë është konteksti, aq më i mirë është kodi. Ju nuk thjesht hedhni një inxhinier të ri në repo tuaj dhe thoni "mblidhni atë."Ju jeni në bord.