Vibe kodiranje hype završava, jer postoje ogromna ograničenja na ono što veliki jezični modeli mogu postići. Unatoč ovom kodiranje agenti postaju prilično dobri. Oni mogu spin up nove frontend stranice, Wire up APIs, i čak izgraditi CI / CD konfig. Ali svatko zna koliko su nedosljedni. Isti poziv može raditi jednom i razbiti sljedeći. Oni zaboraviti dijelove vaše kodne baze, miješati iscrpljene SDK, ili samo napraviti stvari. Problem nije u tome što je model loš – problem je u tome što nije Evo i dokaza – Netko je napisao programski jezik isključivo pomoću agenta za kodiranje. Saznajte svoj kontekst https://cursed-lang.org/ Da biste dobili pouzdani ishod, ne možete samo prompt bolje. Agent djeluje – oblikujte njegove ulaze, dajte mu strukturu i postavite prave granice. . engineer the environment context engineering LLM-ovi ne razmišljaju kao inženjeri LLM-ovi ne "razumiju" kod na način na koji to radimo. Oni predviđaju žetone na temelju uzoraka u prethodnom unosu, a ne na aplikacijama ili strukturi. tako da čak i male promjene u prompt ili okolnim datotekama mogu promijeniti izlaz. Bez strukture, oni su poput stažista koji nagađaju vaš kup iz pamćenja. Ne možete to riješiti vičući na modelu. (Mogu reći, pokušao sam) Vi to riješite dajući mu pravo – ograničenja i okruženje koje ga vodi prema valjanom kodu svaki put. scaffolding Ograničenja čine kod predvidivim Ako želite da se agenti ponašaju dosljedno, Oni sužavaju prostor mogućih izlaza i prisiljavaju model da ostane u skladu s vašom postavkom. constraints are your friend Nekoliko korisnih ograničenja: Tipovi – Ako koristite TypeScript ili JSON sheme, agent može točno vidjeti koje oblike treba slijediti. Lint + pravila formata - Prettier, ESLint ili codegen pravila čine izlazak dosljednim bez dodatnih promptinga. Manji zadatci – Umjesto „izgradite mi backend“, pitajte „dodajte ovaj put do src/api/user.ts.“ Lokalni opseg = manje iznenađenja. Konfiguracije i predlošci – alatima kao što su Typeconf i Varlock možete unaprijed definirati promjenjive okoline, SDK-ove ili bilo koje konfiguracijske obrasce koje agent mora slijediti. Trik je osigurati da uvijek pišete kod sa snažnim tipovima.Ne gubiš fleksibilnost - samo uhvatite pogreške ranije i učinite ponašanje ponovljivim. Izgradite sustave kao temeljne istine Čak i kada kod izgleda dobro, često prekida vrijeme izgradnje jer je agent pogriješio o tome kako su stvari vezane. Na primjer: Zamolite ga da pokrene testove, piše npm test - ali vaš repo koristi pnpm ili nx. Pokušava izgraditi Dockerfile koji čak i ne postoji u vašem stvarnom okruženju. Uvozi paket koji nije ni instaliran. Fix je za – dajte agentu jasnu sliku o tome kako je kod izgrađen, testiran i raspoređen. abstract the build system Jednom kada agent zna što "izgraditi" znači u vašem svijetu, može koristiti to znanje umjesto nagađanja. Bazel, Buck, Nx, ili čak i dobro strukturirani package.json već su dobri temelji. Što više površine ove informacije, manje halucinacija ćete se nositi s. Ako želite ići dalje možete napisati vlastite alatke kako biste spriječili agenta da pozove pogrešan sustav izgradnje, provjerite Claude Code vodič: . https://docs.claude.com/en/docs/claude-code/hooks-guide Problem zastarjelog osposobljavanja Oni će sretno koristiti API-je koji više ne postoje, ili kodne obrasce koje su svi napustili prije stoljeća. Vjerojatno ste vidjeli stvari poput: Stara metoda životnog ciklusa React Nepostojeće funkcije knjižnice Sljedeći članak Next.js APIs NPM zapovijedi za knjižnice koje su premještene na nove verzije Morate donijeti svoj vlastiti kontekst - stvarne dokumente, pravi kod, stvarne konfigure. Postoji nekoliko načina za zatvaranje jaza: Feed u knjižnici doc, na primjer putem MCP-ova kao što je Context7. Pustite agenta da pročita stvarne datoteke koda i ovisnosti - uputite ga na čitanje node_modules, iznenadićete se koliko često bi to pomoglo popraviti API. Dodajte prilagođene upute na AGENTS.md govoreći modelu kako bi se izbjeglo ponavljanje problematičnog obrasca koji pokušava koristiti. Kada model zna što je zapravo tamo, prestaje halucinirati. 5. razlike u kontekstu Dobar agent za kodiranje ne samo da čita vaš poziv - čita cijelu situaciju. Možete razmišljati o kontekstu u tri sloja: Static context Struktura projekta, raspored datoteke, tipovi, konfiguracije, komande za izgradnju, ovisnosti. Dynamic context Trenutačni zadatak, otvorena datoteka, poruke o pogreškama, rezultati testa, dnevnici vremena rada. External context Dokumenti, reference SDK-a, changelogi ili snippeti s mreže kada je to potrebno. Kombinirajte sve tri, a agent počinje djelovati kao netko tko je zapravo uključen u vašu bazu kodova - a ne slučajni freelancer koji nagađa iz pamćenja. Primjeri iz stvarnog svijeta Kada sam počeo automatizirati WorkOS AuthKit integraciju, ovdje je ne iscrpljujući popis problema koje je model generirao za mene: Počeli su koristiti deprecated withAuth i getUser API-je; Mješovita frontend i backend logika; (kao što je korištenje useState na komponentama na strani poslužitelja) pogrešne ekološke varijable; instalirati pogrešan paket; Naravno, model je također prošao kroz sve menadžere paketa, ponekad npm, ponekad pnpm, što je bilo najzanimljivije za model u jednom trenutku. Nakon što sam dodao ograničenja, izravno odredio što bi agent trebao koristiti, isporučen s najnovijim API-jem model je počeo generirati integracijski kod . consistently Razlika nije u modelu - to je u onome što vidi. Kontekst je novi sučelje Većina ljudi još uvijek razmišlja o agentima za kodiranje kao što su chatbots: dati poziv, dobiti odgovor. Prava magija događa se u kontekstu - datoteke, tipove, zapovijedi i povratne informacije koje agent može pristupiti. U budućnosti nećemo samo "govarati" s agentima za kodiranje - mi ćemo ih povezati u naše sustave za izgradnju. Zaključak Agenti kodiranja ne uspiju jer su glupi, već zato što rade slijepo. Ako želite da budu pouzdani kolege, dajte im strukturu: ograničenja koja definiraju kako bi trebala biti kodirana; Izgradite abstrakcije koje pokazuju kako vaš projekt zapravo radi; ažurirani kontekst kako bi prestali koristiti stare obrasce; Što je kontekst bolji, to je kod bolji. Ne samo da ste pustili novog inženjera u vaš rep i rekli "izračunajte ga".