Током последње две године, мој тим у Ворк & Цо и ја смо тестирали и постепено интегрисали алате за АИ кодирање као што су Цопилот, Цурсор, Цлауде и ЦхатГПТ како би нам помогли да испоручимо веб искуства која користе масе. Додуше, након неког почетног скептицизма и неколико аха тренутака, разни АИ алати су се нашли у мојој свакодневној употреби. Временом је листа апликација за које смо открили да има смисла препустити АИ да преузме контролу почела да расте, па сам одлучио да поделим неке практичне случајеве употребе АИ алата за оно што називам „одговорним програмером“. Шта подразумевам под одговорним програмером? Морамо да будемо сигурни да испоручујемо квалитетан код како очекују наши заинтересовани актери и клијенти. Наши доприноси (тј. захтеви за повлачење) не би требало да постану оптерећење за наше колеге које ће морати да прегледају и тестирају наш рад. Такође, у случају да радите за компанију: Алати које користимо морају бити одобрени од стране нашег послодавца. Осетљивим аспектима као што су безбедност и приватност треба поступати правилно: Немојте лепити тајне, податке о клијентима (ПИИ) или власнички код у алате без одобрења политике. Третирајте то као код странца на интернету. Увек тестирајте и проверите. Напомена: Овај чланак претпоставља врло основно познавање алата за АИ кодирање као што је Цопилот унутар ВСЦоде или Цурсор. Ако вам све ово звучи потпуно ново и непознато, Гитхуб Цопилот видео туторијали могу бити фантастична полазна тачка за вас.

Корисне апликације алата за АИ кодирање Напомена: Следећи примери ће се углавном фокусирати на рад у веб апликацијама заснованим на ЈаваСцрипт-у као што су Реацт, Вуе, Свелте или Ангулар. Стицање разумевања непознате кодне базе Није неуобичајено радити на успостављеним кодним базама, а придруживање великој застарелој бази кода може бити застрашујуће. Једноставно отворите свој пројекат и свог АИ агента (у мом случају Цопилот Цхат у ВСЦоде) и почните да постављате питања баш као што бисте поставили колеги. Уопштено, волим да разговарам са било којим АИ агентом баш као што бих са другим човеком. Ево прецизнијег примера упита: "Дајте ми преглед архитектуре високог нивоа: улазне тачке, рутирање, аутентизација, слој података, алати за прављење. Затим наведите 5 датотека које треба прочитати по редоследу. Објашњења третирајте као хипотезе и потврдите скоком на референциране датотеке."

Можете наставити да постављате додатна питања попут „Како детаљно функционише рутирање?“ или „Причајте ме кроз процес и методе аутентикације“ и то ће вас одвести до корисних упутстава да унесете мало светлости у мрак непознате базе кода. Триагинг Бреакинг Промена приликом надоградње зависности Ажурирање нпм пакета, посебно када долазе са неуобичајеним променама, може бити заморан и дуготрајан посао и натерати вас да отклоните приличну количину регресија. Недавно сам морао да надоградим библиотеку визуелизације података плотли.јс на једну главну верзију издања са верзије 2 на 3, и као резултат тога, означавање осе на неким графиконима је престало да ради. Наставио сам да питам ЦхатГПТ: "Ажурирао сам свој Ангулар пројекат који користи Плотли. Ажурирао сам плотли.јс — дист пакет са верзије 2.35.2 на 3.1.0 — и сада су ознаке на к и и оси нестале. Шта се догодило?"

Агент се одмах вратио са решењем (уверите се сами у наставку). Напомена: И даље сам проверио објашњење у односу на званични водич за миграцију пре слања исправке.

Безбедна репликација рефактора у различитим датотекама Растуће базе кодова свакако откривају могућности за консолидацију кода. На пример, приметите дуплирање кода у датотекама које се могу издвојити у једну функцију или компоненту. Као резултат тога, одлучујете да креирате заједничку компоненту која може бити укључена уместо тога и да извршите преуређивање у једној датотеци. Сада, уместо да ручно извршите те промене у вашим преосталим датотекама, тражите од свог агента да уведе рефактор за вас. Агенти вам омогућавају да изаберете више датотека као контекст. Када се изврши рефакторирање за једну датотеку, могу додати и рефакторисане и нетакнуте датотеке у контекст и затражити од агента да уведе промене у друге датотеке на следећи начин: „Поновите промене које сам направио у датотеци А иу датотеку Б“. Имплементација функција у непознатим технологијама Један од мојих омиљених аха-тренутака када сам користио алате за АИ кодирање био је када ми је помогао да направим прилично сложену анимирану анимацију градијента у ГЛСЛ-у, језику који ми није био познат. На недавном пројекту, наши дизајнери су осмислили анимирани градијент као стање учитавања на 3Д објекту. Заиста ми се допао концепт и желео сам да испоручим нешто јединствено и узбудљиво нашим клијентима. Тхепроблем: Имао сам само два дана да га применим, а ГЛСЛ има прилично стрму кривуљу учења. Опет, АИ алат (у овом случају, ЦхатГПТ) је добро дошао и почео сам једноставно да га позивам да креира самосталну ХТМЛ датотеку за мене која приказује платно и врло једноставан анимирани градијент боја. Корак за кораком, подстакао сам АИ да му дода још финоће док нисам дошао до пристојног резултата како бих могао да почнем да интегришем шејдер у своју стварну базу кода. Крајњи резултат: Наши клијенти су били супер срећни, а ми смо испоручили сложену функцију за кратко време захваљујући вештачкој интелигенцији. Вритинг Тестс По мом искуству, ретко постоји довољно времена на пројектима за континуирано писање и одржавање одговарајућег скупа тестова јединица и интеграције, а поврх тога, многи програмери баш и не уживају у задатку писања тестова. Подстицање вашег АИ помоћника да подеси и напише тестове за вас је потпуно могуће и може се обавити за мало времена. Наравно, ви, као програмер, и даље треба да се уверите да ваши тестови заиста сагледавају критичне делове ваше апликације и да следите разумне принципе тестирања, али можете да „оутсоурце“ пишете тестове нашем АИ помоћнику. Пример упита: „Напишите јединичне тестове за ову функцију користећи Јест. Покријте срећну путању, ивичне случајеве и режиме неуспеха. Објасните зашто сваки тест постоји.“

Можете чак и проследити најбоље праксе тестирања гуруа тестирања Кента Ц. Доддса као смернице свом агенту, као у наставку:

Интерни алат Донекле слично претходно поменутом примеру схадера, недавно сам добио задатак да анализирам дуплицирање кода у бази кода и упоредим пре и после рефактора. Сигурно није тривијалан задатак ако не желите да идете на дуготрајан пут ручног поређења датотека. Уз помоћ Цопилот-а, направио сам скрипту која је анализирала дуплицирање кода за мене, уредила и наручила излаз у табели и извезла га у Екцел. Онда сам направио корак даље. Када је наш рефактор кода завршен, замолио сам агента да узме мој постојећи Екцел лист као основну линију, дода тренутно стање дуплирања у одвојеним колонама и израчуна делту. Ажурирање кода написаног давно Недавно ме је један мој стари клијент ударио, јер временом неколико функција више није радило како треба на његовој веб страници. Квака: Веб локација је направљена пре скоро десет година, а ЈаваСцрипт и СЦСС су користили прилично старе алате за компајлирање као што је рекуиреЈС, а подешавање је захтевало старију верзију Ноде.јс-а која се чак ни не би покренула на мом МацБоок-у из 2025. Ручно ажурирање целог процеса прављења захтевало би ми дане, па сам одлучио да упитам агента вештачке интелигенције: „Можете ли да ажурирате ЈС и СЦСС процес изградње на леан 2025 стек као што је Вите?“ Сигурно јесте, и након отприлике сат времена усавршавања са агентом, мој СЦСС и ЈС буилд је пребачен на Вите, и могао сам да се фокусирам на стварно исправљање грешака. Само се побрините да исправно потврдите излазне и компајлиране датотеке када радите такве интегралне промене у вашем процесу изградње. Сумирање и израда Да ли бисте желели да сумирате све своје недавне промене кода у једној реченици за поруку урезивања или имате дугачку листу урезивања и желите да их сумирате у три тачке? Нема проблема, пустите АИ да се побрине за то, али обавезно га прочитајте. Пример упита је једноставан као слање поруке другом човеку: „Молим вас да сумирајте моје недавне промене у сажетим тачкама за набрајање“. Мој савет би овде био да користите ГПТ за писање са опрезом, и као и код кода, проверите излаз пре слања или слања. Препоруке и најбоље праксе Промптинг Једна од не тако очигледних предности коришћења вештачке интелигенције је да што су ваши упити специфичнији и прилагођенији, то је резултат бољи. Процес подстицања АИ агента нас тера да формулишемо своје захтеве што је прецизније могуће пре него што пишемо и кодирамо. Због тога, као опште правило, топло препоручујем да будете што је могуће прецизнији са својим захтевима. Риан Флоренце, коаутор Ремик-а, предлаже једноставан, али моћан начин да побољшате овај процес тако што ћете свој почетни упит завршити реченицом: „Пре него што почнемо, имате ли питања за мене?“

У овом тренутку, АИ се обично враћа са корисним питањима у којима можете да разјасните своју специфичну намеру, наводећи агента да вам пружи прилагођенији приступ за ваш задатак.

Користите контролу верзија и радите у сварљивим комадима Коришћење контроле верзија као што је гит не само да је згодно када сарађујете као тим на једној бази кода, већ и да вам обезбеди каоиндивидуални сарадник са стабилним тачкама на које се могу вратити у случају нужде. Због своје недетерминистичке природе, вештачка интелигенција понекад може да поквари и направи промене које једноставно нису од помоћи за оно што покушавате да постигнете и на крају ствари непоправљиво покваре. Подела вашег рада на више урезивања помоћи ће вам да створите стабилне тачке на које можете да се вратите у случају да ствари крену у страну. И ваши саиграчи ће вам такође бити захвални, јер ће им бити лакше да прегледају ваш код када се подели на семантички добро структурисане делове. Прегледајте темељно Ово је више општа најбоља пракса, али по мом мишљењу, постаје још важнија када користите АИ алате за развојни рад: Будите први критички рецензент вашег кода. Обавезно одвојите мало времена да прегледате своје измене ред по ред, баш као што бисте прегледали туђи код и пошаљите свој рад тек када прође вашу сопствену ревизију. "Две ствари су за мене тренутно истините: АИ агенти су невероватни и огромно повећање продуктивности. Они су такође масивне машине за пражњење ако искључите мозак и потпуно га пустите."— Армин Ронацхер у свом блог посту Агент Псицхосис: Аре Ве Гоинг Инсане?

Закључак и критичке мисли По мом мишљењу, алати за АИ кодирање могу побољшати нашу продуктивност као програмера на дневној бази и ослободити ментални капацитет за више планирања и размишљања на високом нивоу. Они нас терају да артикулишемо жељени резултат са педантним детаљима. Сваки АИ понекад може да халуцинира, што у основи значи да лежи у самоувереном тону. Зато вас молимо да проверите и тестирате, посебно када сте у недоумици. АИ није сребрни метак, и верујем да изврсност и способност решавања проблема као програмера никада неће изаћи из моде. За програмере који тек почињу у својој каријери ови алати могу бити веома примамљиви да за њих ураде већину посла. Оно што се овде може изгубити је често исцрпљујући и болан рад на грешкама и проблемима које је тешко отклонити и решити, тзв. Чак и Лее Робинсон, који поседује Цурсор АИ, поставља ово питање у једном од својих постова:

Алати за АИ кодирање се развијају брзим темпом и узбуђен сам због онога што ће уследити. Надам се да су вам овај чланак и његови савети били од помоћи и узбуђени сте што ћете сами испробати неке од њих.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free