Hacker News

Паказаць HN: значок, які паказвае, наколькі добра ваша кодавая база ўпісваецца ў кантэкстнае акно LLM

Каментарыі

1 min read Via github.com

Mewayz Team

Editorial Team

Hacker News

У вашай кодавай базе ёсць новы паказчык, які сапраўды мае значэнне

На працягу дзесяцігоддзяў распрацоўшчыкі былі апантаныя радкамі кода, цыклатычнай складанасцю, працэнтамі тэставага пакрыцця і частатой разгортвання. Але новая метрыка ціха змяняе тое, як каманды інжынераў думаюць аб сваіх кодавых базах: адпаведнасць кантэкстнага акна — працэнт ад усёй вашай кодавай базы, які LLM можа пераварыць у адным запыце. Гэта гучыць зманліва проста, але гэтая лічба становіцца адным з найбольш практычных паказчыкаў таго, наколькі эфектыўна ваша каманда можа выкарыстоўваць інструменты распрацоўкі з дапамогай штучнага інтэлекту. І калі вы ігнаруеце гэта, вы пакідаеце на стале значны прырост прадукцыйнасці.

Ідэя нядаўна набыла папулярнасць у супольнасцях распрацоўшчыкаў пасля таго, як з'явіўся праект, які генеруе просты значок — не ў адрозненне ад вашых знаёмых шчытоў пропуску зборкі або пакрыцця — які дакладна паказвае, колькі вашага сховішча змяшчаецца ў папулярных кантэкстных вокнах LLM. Гэта выклікала надзіва насычаную размову пра архітэктуру кодавай базы, монорепо супраць мікрасэрвісаў і пра тое, ці варта нам распрацоўваць наш код для разумення штучнага інтэлекту. Наступствы глыбейшыя, чым першапачаткова ўяўляецца большасці распрацоўшчыкаў.

Што насамрэч вымярае адпаведнасць кантэксту

Кожная вялікая моўная мадэль працуе ў абмежаваным кантэкстным акне — максімальнай колькасці тэксту, які яна можа апрацаваць адначасова. GPT-4 Turbo апрацоўвае прыкладна 128 тысяч токенаў. Апошнія мадэлі Claude перавышаюць 200 тысяч токенаў. Двайняты прэтэндуюць на больш за мільён. Калі вы перадаеце сваю кодавую базу ў адну з гэтых мадэляў для аналізу, прапаноў рэфактарынгу або выяўлення памылак, мадэль можа "бачыць" толькі тое, што змяшчаецца ў гэтым акне. Усё, што знаходзіцца па-за ім, нябачна, як быццам яго не існуе.

Падгонка кантэкстнага акна вымярае суадносіны паміж вашым агульным памерам кодавай базы (у токенах) і кантэкстным акном дадзенай мадэлі. Рэпазітар, у якім токенізуецца 80 тысяч токенаў, дасягае 100% адпаведнасці мадэлі з 200 тысячамі токенаў — штучны інтэлект можа зразумець увесь ваш праект за адзін праход. Монарэпа з 2 мільёнамі токенаў? Вы глядзіце на адназначныя працэнты, што азначае, што штучны інтэлект працуе з фрагментамі, ніколі не разумеючы поўнай карціны. Гэта адрозненне мае вялікае значэнне для якасці прапаноў кода, створаных штучным інтэлектам, аглядаў архітэктуры і аўтаматызаванага рэфактарынгу.

Канцэпцыя значка крышталізуе гэта ў бачную метрыку, якой можна падзяліцца. Устаўце гэта ў свой README разам са сваім статусам CI і працэнтам пакрыцця. Ён расказвае ўдзельнікам і супрацоўнікам нешта сапраўды карыснае: наколькі гэтая кодавая база зручная для штучнага інтэлекту?

Чаму гэты паказчык змяняе тое, як каманды ствараюць праграмнае забеспячэнне

Рашэнні аб архітэктуры праграмнага забеспячэння заўсёды абумоўліваліся чалавечымі заклапочанасцю — зручнасцю чытання, абслугоўваннем, прадукцыйнасцю, структурай каманды. Падгонка акна кантэксту ўводзіць у гэтыя размовы новага ўдзельніка: праграміста пары AI. Калі ўся ваша кодавая база змяшчаецца ў кантэкстным акне, інструменты штучнага інтэлекту могуць разважаць пра скразныя праблемы, вызначаць тонкія ланцужкі залежнасцей і прапаноўваць змены, якія ўлічваюць поўную сістэму. Калі гэтага не адбываецца, вы, па сутнасці, просіце штучны інтэлект перарабіць вашу кухню, паказваючы ёй толькі ванную.

Гэта мае практычныя наступствы, якія вядучыя інжынеры пачынаюць успрымаць сур'ёзна. Каманды з высокімі баламі адпаведнасці кантэксту паведамляюць пра значна лепшыя вынікі пры дапамозе інструментаў праверкі кода штучнага інтэлекту. Каэфіцыент выяўлення памылак паляпшаецца, таму што мадэль можа адсочваць шляхі выканання файлаў. Прапановы рэфактарынгу становяцца архітэктурна абгрунтаванымі, а не лакальна аптымальнымі, але глабальна разбуральнымі. Адна каманда інжынераў сярэдняга памеру кампаніі SaaS задакументавала 40% зніжэнне рэгрэсій, прапанаваных штучным інтэлектам пасля падзелу іх монорепо на меншыя службы, зручныя для кантэкстнага вокна.

Метрыка таксама стварае функцыю прымусу для добрай інжынернай практыкі, якой каманды павінны прытрымлівацца ў любым выпадку. Кодавыя базы, якія добра ацэньваюць адпаведнасць кантэкстнага акна, як правіла, маюць больш чыстыя межы модуляў, менш мёртвага кода, лепшы падзел праблем і больш сфакусаваныя сховішчы. Паказчык разумення штучнага інтэлекту ў канчатковым выніку з'яўляецца проксі для агульнай спраўнасці кода.

Наступствы для архітэктуры, якіх ніхто не чакаў

Размова вакол падганяння вокнаў кантэксту аднавіла дыскусію monorepo супраць polyrepo з цалкам новым вымярэннем. Прыхільнікі Monorepo даўно сцвярджаюць, што захаванне ўсяго ў адным сховішчы спрашчае кіраванне залежнасцямі, дазваляе атамарныя фіксацыі паміж службамі і памяншае боль пры інтэграцыі. Але калі ваша monorepo токенізуе да 5 мільёнаў токенаў, а лепшае даступнае кантэкстнае акно складае 200K, вы стварылі кодавую базу, якую не можа цалкам зразумець ні адзін інструмент штучнага інтэлекту.

Гэта не значыць, што monorepos мёртвыя — далёка не так. Разумныя каманды знаходзяць залатую сярэдзіну. З'яўляюцца наступныя стратэгіі:

  • Інтэлектуальнае раздзяленне на кавалкі: Выкарыстанне файлаў .contextignore (падобных да .gitignore) для выключэння згенераванага кода, залежнасці ад пастаўшчыка і тэставых прыстасаванняў з аналізу штучнага інтэлекту.
  • Кантэкстныя карты на ўзроўні модуля: Стварэнне лёгкіх маніфестаў, якія дапамагаюць інструментам штучнага інтэлекту зразумець, якія файлы звязаны з якімі функцыямі, не загружаючы ўсё
  • Архітэктурная дакументацыя як кантэкст: у тым ліку кароткія запісы рашэнняў па архітэктуры (ADR), якія даюць штучнаму інтэлектуальнаму інтэлектуальнаму інтэлектуальнаму інтэлектуальнаму інтэлектуальнаму інтэлектуальнаму інтэлектуальнаму персаналу структурнае разуменне, не патрабуючы ад яго вываду ўзаемасувязяў толькі з кода
  • Стратэгічнае выманне паслуг: раздзяленне сапраўды незалежных модуляў у асобныя сховішчы, калі яны не маюць рэальных скразных праблем з асноўнай сістэмай

Асноўнае разуменне заключаецца ў тым, што аптымізацыя падганяння кантэкстнага акна заключаецца не ў памяншэнні кодавай базы, а ў тым, каб зрабіць яе больш зразумелай як для інструментаў штучнага інтэлекту, так і для людзей, якія працуюць з імі.

Вымярэнне ўласнай кодавай базы: практычная аснова

Перад тым, як пачаць рэфактарынгі ўсёй вашай сістэмы для дасягнення метрыкі значка, варта зразумець, як значна вымераць адпаведнасць вокнаў кантэксту. Колькасць неапрацаваных токенаў ва ўсім вашым сховішчы - гэта адпраўная кропка, але гэта грубы інструмент. Больш дэталёвы падыход улічвае тое, што ІІ насамрэч павінен бачыць для розных задач.

<цытата>

"Сапраўднае пытанне не ў тым, ці змяшчаецца ўся ваша кодавая база ў кантэкстным акне, а ў тым, ці падыходзіць рэлевантны кантэкст для любой зададзенай задачы. Добра структураваная кодавая база з выразнымі межамі дазваляе інструментам штучнага інтэлекту загружаць менавіта тое, што ім трэба, нават калі агульнае сховішча велізарнае."

💡 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 →

Каб атрымаць практычнае вымярэнне, пачніце з токенізацыі вашага асноўнага кода прыкладання — за выключэннем node_modules, каталогаў пастаўшчыкоў, артэфактаў зборкі і згенераваных файлаў. Большасць сучасных токенайзераў (напрыклад, tiktoken OpenAI або апублікаваныя метады падліку токенаў Anthropic) могуць апрацаваць каталог за секунды. Параўнайце вынік з кантэкстнымі вокнамі мадэляў, якія фактычна выкарыстоўвае ваша каманда. Калі код вашага асноўнага прыкладання змяшчаецца ў адным кантэкстным акне з вольным месцам для падказак і інструкцый, вы ў выдатнай форме. Калі ён перавышае акно ў 2-5 разоў, спатрэбіцца стратэгічнае разбіванне. Акрамя 10x, вы захочаце інвеставаць у архітэктурныя змены або спецыялізаваныя канвееры RAG (генерацыя з дапоўненым пошукам), каб зрабіць інструменты штучнага інтэлекту эфектыўнымі.

Для каманд, якія працуюць на такіх платформах, як Mewayz, дзе модульная архітэктура ўжо падзяляе задачы на асобныя модулі — CRM, выстаўленне рахункаў, HR, аналітыка і больш за 200 іншых — гэта вымярэнне становіцца асабліва цікавым. Кожны модуль функцыянуе як аўтаномная адзінка са зразумелымі інтэрфейсамі, якія натуральным чынам адлюстроўваюцца на зручныя для кантэксту вокны кавалкі. Гэта свайго роду архітэктурны ўзор, які прыносіць карысць як за зручнасць абслугоўвання чалавекам, так і за разуменне ІІ.

Што насамрэч абмяркоўвае супольнасць распрацоўшчыкаў

Дыскусія ў Hacker News вакол значкоў кантэкстнага вокна выклікала некалькі захапляльных напружанняў у супольнасці распрацоўшчыкаў. Першы - філасофскі: ці варта распрацоўваць код для выкарыстання ІІ? Пурысты сцвярджаюць, што код спачатку павінен быць напісаны для людзей, а інструменты ІІ павінны адаптавацца. Прагматыкі запярэчаць, што калі просты архітэктурны выбар робіць вашу каманду на 30% больш прадукцыйнай з дапамогай інструментаў штучнага інтэлекту пры нулявых выдатках для чытальнасці чалавека, то адмова ад гэтага - гэта ідэалогія, а не інжынерыя.

Другая дыскусія засяроджваецца на тым, ці з'яўляецца адпаведнасць кантэкстнага акна стабільнай метрыкай, вартай адсочвання. Кантэкстныя вокны выраслі ў геаметрычнай прагрэсіі — ад 4K токенаў у раннім GPT-3.5 да больш чым мільёна ў Gemini 1.5 Pro. Калі вокны працягваюць пашырацца, сённяшняе «не падыходзіць» становіцца заўтрашнім «лёгка падыходзіць». Але вопытныя інжынеры адзначаюць, што нават з вялікімі кантэкстнымі вокнамі прадукцыйнасць мадэлі пагаршаецца з даўжынёй кантэксту. Мадэль, якая апрацоўвае 50 тыс. токенаў мэтанакіраванага рэлевантнага кода, пераўзыходзіць тую ж мадэль, якая апрацоўвае 500 тыс. токенаў шырокага монорепо, нават калі абодва тэхнічна "прыдатныя". Якасць кантэксту мае такое ж значэнне, як і колькасць.

Трэцяя, больш практычная размова круціцца вакол інструментаў. Распрацоўшчыкі хочуць кантэкстна-залежную інтэграцыю IDE, якая аўтаматычна вызначае, якія файлы ўключаць пры адпраўцы кода ў ІІ. Ім патрэбны інтэлект на ўзроўні рэпазітара, які разумее межы модуляў без ручной канфігурацыі. Некалькі праектаў з адкрытым зыходным кодам зараз вырашаюць менавіта гэтую праблему, ствараючы колькі-небудзь "кантэкстныя кампілятары", якія збіраюць аптымальны набор файлаў для любой задачы з дапамогай штучнага інтэлекту.

Пераўтварэнне гэтага ў канкурэнтную перавагу

Для прадпрыемстваў — а не толькі для каманд распрацоўшчыкаў — адпаведнасць кантэкстнага акна мае наступствы, якія варта разумець. Кампаніі, якія пастаўляюць праграмнае забеспячэнне хутчэй, з меншай колькасцю памылак і па меншай цане, заваёўваюць свае рынкі. Распрацоўка з дапамогай штучнага інтэлекту з'яўляецца сапраўдным памнажальнікам сілы, але толькі тады, калі асноўная кодавая база пабудавана так, каб выкарыстоўваць яе перавагі. Арганізацыі, якія сёння інвестуюць у кодавыя базы, зручныя для штучнага інтэлекту, ствараюць перавагі кампаундавання, якія з часам будуць павялічвацца.

Гэты прынцып распаўсюджваецца не толькі на кампаніі, якія займаюцца праграмным забеспячэннем. Прадпрыемствы, якія працуюць на такіх платформах, як Mewayz, якая аб'ядноўвае CRM, выстаўленне рахункаў, разлік заработнай платы, кадры, кіраванне аўтапаркам і аналітыку ў адзіную модульную сістэму, карыстаюцца гэтай жа філасофіяй на аперацыйным узроўні. Калі вашы бізнес-дадзеныя знаходзяцца ў добра структураваных узаемазвязаных модулях, а не раскіданыя па 15 адключаных інструментах SaaS, штучны інтэлект можа разважаць пра ўсю вашу дзейнасць — выяўляць заканамернасці ў продажах, падтрымцы і фінансах, якія былі б нябачнымі ў асобных сістэмах. Той самы прынцып, які робіць кодавую базу зручнай для штучнага інтэлекту, робіць бізнес зручнай для штучнага інтэлекту: выразная структура, дакладныя межы і поўны кантэкст.

Практычны вывад для інжынерных лідэраў просты. Пачніце вымяраць адпаведнасць кантэкстнага акна сёння — нават нефармальна. Дадайце яго на панэлі кантролю стану інжынерыі разам з часам зборкі і ахопам тэстаў. Выкарыстоўвайце яго ў якасці аднаго ўводу (не адзінага) пры прыняцці архітэктурных рашэнняў. І прызнайце, што кодавыя базы, якія найбольш выйграюць ад наступнага пакалення інструментаў распрацоўкі штучнага інтэлекту, - гэта тыя, якія прама зараз структуруюцца для разумення.

Значок - гэта пачатак размовы, а не пункт прызначэння

Значок README, які паказвае "87% адпаведнасць кантэксту — Claude 200K" - дробязь. Стварэнне займае некалькі секунд і займае адзін радок у вашай праектнай дакументацыі. Але тое, што ён уяўляе - наўмысная, вымерная прыхільнасць да зразумеласці кодавай базы - сігналізуе аб нечым значным у прыярытэтах каманды інжынераў. У ім гаворыцца: мы думаем пра тое, як наш код будзе зразуметы не толькі наступным распрацоўшчыкам, але і сістэмамі штучнага інтэлекту, якія ўсё часцей становяцца часткай кожнага працоўнага працэсу распрацоўкі.

Самы каштоўны вынік гэтай тэндэнцыі - не сам значок. Гэта размовы, якія ён выклікае падчас агляду архітэктуры, планавання спрынту і абмеркавання тэхнічнай запазычанасці. Калі "падгонка кантэкстнага акна" становіцца часткай вашага інжынернага слоўніка, вы пачынаеце прымаць рашэнні, якія супадаюць з усім, што мы ведалі пра добры дызайн праграмнага забеспячэння на працягу многіх дзесяцігоддзяў: маленькія, мэтанакіраваныя модулі са зразумелымі інтэрфейсамі і мінімальнай сувяззю. Рэвалюцыя штучнага інтэлекту не прыдумала гэтыя прынцыпы. Але гэта дае камандам новую прычыну, якая паддаецца колькаснай ацэнцы, каб нарэшце пайсці за імі.

Часта задаюць пытанні

Што такое адпаведнасць акна кантэксту і чаму гэта важна?

Адпаведнасць акна кантэксту вымярае, які працэнт вашай кодавай базы магістр права можа апрацаваць за адзін запыт. Больш высокі працэнт азначае, што інструменты штучнага інтэлекту могуць разумець больш вашага праекта адразу, што прыводзіць да паляпшэння прапаноў кода, больш дакладнай рэфактарынгу і меншай колькасці галюцынацый. Паколькі распрацоўка з дапамогай штучнага інтэлекту становіцца стандартам, гэты паказчык непасрэдна ўплывае на тое, наколькі прадуктыўнай можа быць ваша каманда з такімі інструментамі, як Copilot, Cursor і Claude.

Як я магу праверыць адпаведнасць акна кантэксту маёй кодавай базы?

Вы можаце выкарыстоўваць інструмент значка з адкрытым зыходным кодам, абагулены на Hacker News, каб стварыць візуальны індыкатар для вашага рэпазітара. Ён падлічвае агульную колькасць маркераў кодавай базы і параўноўвае іх з папулярнымі кантэкстнымі вокнамі LLM. Значок паказвае працэнтны бал, які вы можаце ўбудаваць у свой README, даючы ўдзельнікам і зацікаўленым бакам імгненны здымак таго, наколькі ваш праект гатовы да штучнага інтэлекту.

Якія стратэгіі паляпшаюць ацэнку адпаведнасці кантэксту кодавай базы?

Засяродзьцеся на модульнай архітэктуры, выразным падзеле задач і ліквідацыі мёртвага кода. Добра структураваныя монарэпазіцыі з лагічнымі межамі дазваляюць магістэрам права апрацоўваць адпаведныя модулі самастойна. Скарачэнне дубліравання кода, захаванне лаканічнасці файлаў і захаванне чыстых дрэў залежнасцей - усё гэта спрыяе. Такія платформы, як Mewayz, дэманструюць гэты прынцып — упакоўка 207 модуляў у аптымізаваную бізнес-АС, распрацаваную для абслугоўвання і эфектыўнасці.

Ці заўсёды меншая кодавая база азначае лепшую сумяшчальнасць са штучным інтэлектам?

Неабавязкова. Магістрам права можа быць цяжэй разважаць аб меншай кодавай базе з заблытанымі залежнасцямі і дрэннай дакументацыяй, чым аб большай, добра арганізаванай. Важна тое, наколькі адпаведны кантэкст змяшчаецца ў акне. Чыстыя абстракцыі, паслядоўныя ўмовы наймення і модульная канструкцыя дазваляюць інструментам штучнага інтэлекту працаваць эфектыўна, нават калі яны не могуць забраць кожны радок кода адначасова.

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