Hacker News

Kuva HN: märk, mis näitab, kui hästi teie koodibaas LLM-i kontekstiaknasse sobib

Kommentaarid

11 min read Via github.com

Mewayz Team

Editorial Team

Hacker News

Teie koodibaasil on uus mõõdik, mis on tegelikult oluline

Arendajad on aastakümneid olnud kinnisideeks koodiridade, tsüklomaatilise keerukuse, testide ulatuse protsendi ja juurutussageduse pärast. Kuid uus mõõdik kujundab vaikselt ümber seda, kuidas insenerimeeskonnad oma koodibaasidest mõtlevad: kontekstiakna sobivus – protsent kogu teie koodibaasist, mille LLM suudab ühe viipaga seedida. See kõlab petlikult lihtsalt, kuid sellest numbrist on saamas üks praktilisemaid näitajaid selle kohta, kui tõhusalt suudab teie meeskond AI-ga toetatud arendustööriistu kasutada. Ja kui te seda ignoreerite, jätate olulise tootlikkuse kasvu lauale.

Idee sai arendajate kogukondades hiljuti kõlapinda pärast seda, kui ilmnes projekt, mis genereerib lihtsa märgi – erinevalt teie tuttavatest ehituse läbimise või katvuse kaitsetest –, mis näitab täpselt, kui suur osa teie hoidlast mahub populaarsetesse LLM-i kontekstiakendesse. See kutsus esile üllatavalt rikkaliku vestluse koodibaasi arhitektuuri, monorepose versus mikroteenuste kohta ja selle kohta, kas me peaksime oma koodi kujundama a tehisintellekti mõistmiseks. Mõju on sügavam, kui enamik arendajaid esialgu mõistab.

Mida kontekstakna sobivus tegelikult mõõdab

Iga suur keelemudel töötab piiratud kontekstiaknas – maksimaalses koguses teksti, mida see korraga töödelda saab. GPT-4 Turbo saab hakkama ligikaudu 128 000 märgiga. Claude'i uusimad mudelid ületavad 200 000 märgi. Kaksikud nõuavad üle miljoni. Kui sisestate oma koodibaasi ühte neist mudelitest analüüsiks, soovituste muutmiseks või vigade tuvastamiseks, näeb mudel ainult seda, mis sellesse aknasse mahub. Kõik väljaspool seda on nähtamatu, nagu poleks seda olemaski.

Kontekstakna sobivus mõõdab teie koodibaasi kogumahu (märkides) ja antud mudeli kontekstiakna vahelist suhet. 80 000 märgini loov hoidla sobib 100% 200 000 märgiga mudelisse – tehisintellekt suudab kogu teie projekti ühe käiguga mõista. 2-miljoniline monorepo? Te vaatate ühekohalisi protsente, mis tähendab, et tehisintellekt töötab fragmentidega, ei saa kunagi aru kogu pildist. See eristus on väga oluline tehisintellekti loodud koodisoovituste, arhitektuuriülevaate ja automaatse ümbertöötluse kvaliteedi seisukohalt.

Märgi kontseptsioon muudab selle nähtavaks ja jagatavaks mõõdikuks. Sisestage see oma README-sse koos oma CI oleku ja katvuse protsendiga. See ütleb kaasautoritele ja hooldajatele midagi tõeliselt kasulikku: kui AI-sõbralik see koodibaas on?

Miks see mõõdik muudab seda, kuidas meeskonnad tarkvara loovad?

Tarkvaraarhitektuuri otsuseid on alati ajendanud inimlikud mured – loetavus, hooldatavus, jõudlus, meeskonna struktuur. Kontekstiakna sobitamine tutvustab nendesse vestlustesse uut sidusrühma: AI paari programmeerijat. Kui kogu teie koodibaas mahub kontekstiaknasse, saavad AI tööriistad põhjendada valdkondadevahelisi probleeme, tuvastada peened sõltuvusahelad ja soovitada muudatusi, mis arvestavad kogu süsteemiga. Kui seda ei juhtu, palute sisuliselt tehisintellektil teie köök ümber kujundada, näidates samal ajal ainult vannituba.

Sellel on praktilised tagajärjed, mida insenerijuhid hakkavad tõsiselt võtma. Kõrge konteksti sobivuse skooriga meeskonnad teatavad tehisintellekti koodide ülevaatustööriistade mõõdetavalt parematest tulemustest. Vigade tuvastamise määr paraneb, kuna mudel suudab jälgida failide täitmisteed. Refaktoreerimissoovitused muutuvad pigem arhitektuuriliselt usaldusväärseks kui lokaalselt optimaalseks, kuid globaalselt hävitavaks. Üks keskmise suurusega SaaS-i ettevõtte insenerimeeskond dokumenteeris AI soovitatud regressioonide vähenemise 40% pärast monorepo jagamist väiksemateks kontekstiaknasõbralikeks teenusteks.

Mõõdik loob ka heade inseneritavade jaoks sunnifunktsiooni, mida meeskonnad peaksid igal juhul järgima. Koodibaasidel, mis sobivad kontekstiakna sobivuse osas hästi, on tavaliselt puhtamad moodulipiirid, vähem surnud koodi, probleemide parem eraldamine ja rohkem keskendunud hoidlad. AI mõistmise mõõdik on lõpuks koodi üldise seisukorra puhver.

Arhitektuuri tagajärjed, mida keegi ei oodanud

Kontekstiakna sobivuse ümber toimuv vestlus on monorepo versus polürepo arutelu taaskäivitanud täiesti uue mõõtmega. Monorepo pooldajad on juba pikka aega väitnud, et kõige hoidmine ühes hoidlas lihtsustab sõltuvuse haldamist, võimaldab teenuste vahelist sidumist ja vähendab integratsioonivalu. Kuid kui teie monorepo tokeniseerub 5 miljonile märgile ja parim saadaolev kontekstiaken on 200 000, olete loonud koodibaasi, mida ükski AI tööriist täielikult ei mõista.

See ei tähenda, et monorepos on surnud – kaugel sellest. Targad meeskonnad leiavad keskteed. Tekkivad strateegiad on järgmised:

  • Intelligentne tükeldamine: .contextignore-failide kasutamine (sarnaselt failiga .gitignore), et välistada AI analüüsist loodud kood, hankija sõltuvused ja testimisseadmed
  • Moodulitaseme kontekstikaardid: kergete manifestide loomine, mis aitavad AI-tööriistadel mõista, millised failid milliste funktsioonidega on seotud ilma kõike laadimata.
  • Arhitektuurne dokumentatsioon kontekstina: sisaldab kokkuvõtlikke arhitektuuriotsuste kirjeid (ADR-id), mis annavad tehisintellektile struktuurilise arusaama ilma, et see peaks järeldama seoseid ainult koodi põhjal.
  • Teenuste strateegiline eraldamine: tõeliselt sõltumatute moodulite jagamine eraldi hoidlateks, kui neil pole põhisüsteemiga tegelikke valdkondadevahelisi probleeme.

Põhiline ülevaade on see, et kontekstiakna sobitamiseks optimeerimine ei tähenda koodibaasi väiksemaks muutmist, vaid selle arusaadavamaks muutmist nii tehisintellekti tööriistade kui ka nendega koos töötavate inimeste jaoks.

Oma koodibaasi mõõtmine: praktiline raamistik

Enne kui hakkate märgimõõdiku otsimiseks kogu süsteemi ümber kujundama, tasub mõista, kuidas mõõta kontekstiakna sobivust tähendusrikkalt. Kogu teie hoidla töötlemata märkide arv on lähtepunkt, kuid see on nüri instrument. Nüansirikkam lähenemine võtab arvesse, mida tehisintellekt erinevate ülesannete jaoks tegelikult nägema peab.

"Tegelik küsimus ei ole selles, kas kogu teie koodibaas mahub kontekstiaknasse, vaid selles, kas mis tahes ülesande asjakohane kontekst sobib. Hästi struktureeritud ja selgete piiridega koodibaas võimaldab AI-tööriistadel laadida täpselt seda, mida nad vajavad, isegi kui kogu hoidla on tohutu."

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Praktilise mõõtmise saamiseks alustage oma põhirakenduse koodi märgistamisega – jättes välja node_modules, hankijate kataloogid, ehitusartefaktid ja loodud failid. Enamik kaasaegseid tokenisaatoreid (nagu OpenAI tiktoken või Anthropicu avaldatud žetoonide loendusmeetodid) suudavad kataloogi töödelda sekunditega. Võrrelge tulemust nende mudelite kontekstiakendega, mida teie meeskond tegelikult kasutab. Kui teie põhirakenduse kood mahub ühte kontekstiaknasse, kus on ruumi viipade ja juhiste jaoks, olete suurepärases vormis. Kui see ületab akent 2-5x, on vajalik strateegiline tükeldamine. Rohkem kui 10x soovite investeerida arhitektuurilistesse muudatustesse või spetsiaalsetesse RAG-i (retrieval-augmented generation) torujuhtmetesse, et muuta tehisintellekti tööriistad tõhusaks.

Meeskondade jaoks, kes töötavad sellistel platvormidel nagu Mewayz, kus modulaarne arhitektuur jagab mured juba erinevateks mooduliteks – CRM, arveldamine, personalijuhtimine, analüütika ja üle 200 muu – muutub see mõõtmine eriti huvitavaks. Iga moodul toimib eraldiseisva üksusena, millel on selged liidesed, mis loomulikult kaardistatakse kontekstiaknasõbralikeks tükkideks. See on selline arhitektuuriline muster, mis toob kasu nii inimeste hooldatavusele kui ka tehisintellektist arusaamisele.

Mille üle arendajate kogukond tegelikult arutab

Hacker Newsi arutelu kontekstiakna märkide üle tõi arendajate kogukonnas esile mitmeid põnevaid pingeid. Esimene on filosoofiline: kas me peaksime kavandama koodi AI tarbimiseks? Puristid väidavad, et kood tuleks kõigepealt kirjutada inimestele ja tehisintellekti tööriistad peaksid sellega kohanema. Pragmaatikud vaidlevad vastu sellele, et kui lihtne arhitektuurne valik muudab teie meeskonna AI-tööriistadega 30% tootlikumaks, ilma et see oleks inimeste loetavusele kulunud, on selle tegemisest keeldumine ideoloogia inseneritöö asemel.

Teine arutelu keskendub sellele, kas konteksti akna sobivus on isegi stabiilne mõõdik, mida tasub jälgida. Kontekstiaknad on plahvatuslikult kasvanud – 4K žetoonidelt GPT-3.5 alguses kuni üle miljonini Gemini 1.5 Pro puhul. Kui aknad aina laienevad, muutub tänane "ei sobi" homseks "sobib kergesti". Kuid kogenud insenerid märgivad, et isegi suurte kontekstiakende korral halveneb mudeli jõudlus konteksti pikkusega. Mudel, mis töötleb 50 000 fokuseeritud ja asjakohase koodi žetoone, ületab sama mudeli, mis töötleb laialivalguva monorepo 500 000 märki, isegi kui mõlemad tehniliselt sobivad. Konteksti kvaliteet loeb sama palju kui kvantiteet.

Kolmas, praktilisem vestlus keerleb tööriistade ümber. Arendajad soovivad kontekstiteadlikke IDE-integratsioone, mis määravad automaatselt, millised failid AI-le koodi saatmisel kaasata. Nad tahavad hoidla tasemel luureandmeid, mis mõistavad mooduli piire ilma käsitsi seadistamata. Mitmed avatud lähtekoodiga projektid tegelevad praegu just selle probleemiga, luues kui palju "kontekstikompilaatoreid", mis koguvad optimaalse failikomplekti mis tahes tehisintellekti abistatava ülesande jaoks.

Selle muutmine konkurentsieeliseks

Ettevõtete jaoks – mitte ainult arendajameeskondade jaoks – on kontekstiakna sobitamisel mõistmist väärt allavoolu tagajärjed. Ettevõtted, kes tarnivad tarkvara kiiremini, vähemate vigadega ja väiksemate kuludega, võidavad oma turge. AI-abiga arendus on tõeline jõu kordistaja, kuid ainult siis, kui aluseks olev koodibaas on struktureeritud seda ära kasutama. Organisatsioonid, mis investeerivad tänapäeval tehisintellektisõbralikesse koodibaasidesse, loovad järjest täiendavaid eeliseid, mis aja jooksul laienevad.

See põhimõte ulatub tarkvarafirmadest kaugemale. Ettevõtted, mis töötavad sellistel platvormidel nagu Mewayz, mis koondab CRM-i, arveldamise, palgaarvestuse, personalijuhtimise, sõidukipargi haldamise ja analüütika üheks modulaarseks süsteemiks, saavad sellest samast filosoofiast kasu operatsiooni tasemel. Kui teie äriandmed asuvad hästi struktureeritud, omavahel ühendatud moodulites, mitte hajutatud 15 lahtiühendatud SaaS-tööriista vahel, saab tehisintellekt kogu teie toimingut põhjendada – tuvastada müügi-, toe- ja finantsmustrid, mis siledsüsteemides oleksid nähtamatud. Sama põhimõte, mis muudab koodibaasi AI-sõbralikuks, muudab ettevõtte AI-sõbralikuks: selge struktuur, puhtad piirid ja terviklik kontekst.

Insenerijuhtide praktiline soovitus on lihtne. Alustage oma kontekstiakna sobivuse mõõtmist juba täna – isegi mitteametlikult. Lisage see oma inseneri tervise armatuurlaudadele koos ehitusaegade ja testimisajaga. Kasutage seda arhitektuuriotsuste tegemisel ühe sisendina (mitte ainsa sisendina). Ja pidage meeles, et koodibaasid, mis saavad kõige rohkem kasu järgmise põlvkonna AI arendustööriistadest, on need, mis on praegu arusaadavuse tagamiseks üles ehitatud.

Märk on vestluse alustaja, mitte sihtkoht

LUGEMISE märk, mis näitab "87% konteksti sobivust – Claude 200K" on väike asi. Loomiseks kulub sekundeid ja see võtab teie projekti dokumentatsioonis ühe rea. Kuid see, mida see esindab – tahtlik ja mõõdetav pühendumine koodibaasi arusaadavusele –, annab märku insenerimeeskonna prioriteetidest. See ütleb: me mõtleme sellele, kuidas meie koodi mõistab mitte ainult järgmine arendaja, vaid ka tehisintellektisüsteemid, mis on üha enam iga arendustöövoo osa.

Selle trendi kõige väärtuslikum tulemus ei ole märk ise. Need on vestlused, mis tekitavad arhitektuuriülevaate, sprindiplaneerimise ja tehniliste võlgade arutelude ajal. Kui „kontekstiakna sobitamine” muutub teie insenerisõnavara osaks, hakkate langetama otsuseid, mis langevad kokku kõige sellega, mida oleme aastakümneid hea tarkvarakujunduse kohta teadnud: väikesed, keskendunud moodulid selgete liideste ja minimaalse sidustusega. AI revolutsioon ei leiutanud neid põhimõtteid. Kuid see annab meeskondadele uue, mõõdetava põhjuse neid lõpuks järgida.

Korduma kippuvad küsimused

Mis on konteksti akna sobitamine ja miks see on oluline?

Kontekstiakna sobivus mõõdab, mitu protsenti teie koodibaasist suudab LLM ühe viipaga töödelda. Suurem protsent tähendab, et tehisintellekti tööriistad saavad teie projektist korraga rohkem aru, mille tulemuseks on paremad koodisoovitused, täpsem refaktoreerimine ja vähem hallutsinatsioone. Kuna tehisintellekti abiga arendus muutub standardseks, mõjutab see mõõdik otseselt teie meeskonna produktiivsust selliste tööriistadega nagu Copilot, Cursor ja Claude.

Kuidas kontrollida oma koodibaasi kontekstiakna sobivust?

Saate kasutada Hacker Newsis jagatud avatud lähtekoodiga märgi tööriista, et luua oma hoidla jaoks visuaalne indikaator. See arvutab teie koodibaasi märgi koguarvu ja võrdleb seda populaarsete LLM-i konteksti akendega. Märgil kuvatakse protsentskoor, mille saate oma README-sse manustada, andes kaasautoritele ja sidusrühmadele hetkeülevaate sellest, kuivõrd teie projekt on tehisintellekti jaoks valmis.

Millised strateegiad parandavad koodibaasi kontekstiakna sobivuse skoori?

Keskenduge modulaarsele arhitektuurile, probleemide selgele eraldamisele ja surnud koodi kõrvaldamisele. Hästi struktureeritud loogiliste piiridega monorepos võimaldavad LLM-idel asjakohaseid mooduleid iseseisvalt töödelda. Koodi dubleerimise vähendamine, failide lühidalt hoidmine ja puhaste sõltuvuspuude säilitamine aitavad kõik kaasa. Platvormid, nagu Mewayz, demonstreerivad seda põhimõtet – pakendatakse 207 moodulit sujuvamaks äri-OS-i, mis on loodud hooldatavuse ja tõhususe tagamiseks.

Kas väiksem koodibaas tähendab alati paremat tehisintellekti ühilduvust?

Mitte tingimata. Väiksemat koodibaasi, millel on sassis sõltuvused ja kehv dokumentatsioon, võib LLM-idel olla raskem mõelda kui suuremat ja hästi organiseeritud koodibaasi. Oluline on see, kui palju asjakohast konteksti aknasse mahub. Puhtad abstraktsioonid, järjekindlad nimetamisreeglid ja modulaarne disain võimaldavad AI-tööriistadel tõhusalt töötada isegi siis, kui nad ei suuda kõiki koodirida korraga sisse võtta.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime