Соңғы екі жылда Work & Co-дағы менің командасы және мен көпшілік пайдаланатын веб-тәжірибелерді жеткізуге көмектесу үшін Copilot, Cursor, Claude және ChatGPT сияқты AI кодтау құралдарын сынақтан өткізіп, бірте-бірте біріктірдік. Рас, кейбір алғашқы күмәнданудан кейін және бірнеше сәттерден кейін әртүрлі AI құралдары менің күнделікті қолдануыма жол тапты. Уақыт өте келе, AI-ны қабылдауға мүмкіндік беретін қосымшалар тізімі өсе бастады, сондықтан мен «жауапты әзірлеуші» деп атайтын AI құралдарын қолданудың практикалық жағдайларымен бөлісуді шештім. Жауапты әзірлеуші дегенді қалай түсінемін? Біз мүдделі тараптарымыз бен клиенттеріміз күткендей сапалы кодты жеткізетінімізге көз жеткізуіміз керек. Біздің үлестер (яғни, сұраулар) біздің жұмысымызды қарап шығуға және сынауға тура келетін әріптестерімізге жүктеме болмауы керек. Сондай-ақ, егер сіз компанияда жұмыс істесеңіз: Біз қолданатын құралдарды жұмыс берушіміз мақұлдауы керек. Қауіпсіздік және құпиялылық сияқты маңызды аспектілерді дұрыс өңдеу керек: құпияларды, тұтынушы деректерін (PII) немесе жеке кодты саясаттың рұқсатынсыз құралдарға қоймаңыз. Оны интернеттегі бейтаныс адамның коды сияқты қабылдаңыз. Әрқашан сынап көріңіз және тексеріңіз. Ескерту: Бұл мақалада VSCode немесе курсор ішіндегі Copilot сияқты AI кодтау құралдарымен өте қарапайым танысу қарастырылған. Егер мұның бәрі сізге мүлдем жаңа және бейтаныс болып көрінсе, Github Copilot бейне оқулықтары сіз үшін тамаша бастау нүктесі бола алады.
AI кодтау құралдарының пайдалы қолданбалары Ескерту: Келесі мысалдар негізінен React, Vue, Svelte немесе Angular сияқты JavaScript негізіндегі веб-қосымшаларда жұмыс істеуге бағытталған. Бейтаныс код базасы туралы түсінік алу Белгіленген кодтық базаларда жұмыс істеу сирек емес және үлкен бұрынғы кодтық базаға қосылу қорқынышты болуы мүмкін. Жай ғана жобаңызды және AI агентіңізді ашыңыз (менің жағдайда, VSCode ішіндегі Copilot Chat) және әріптесіңізден сұрағандай сұрақтар қоя бастаңыз. Жалпы, мен кез келген AI агентімен басқа адаммен сөйлескенді ұнатамын. Мұнда нақтырақ мысал нұсқауы берілген: "Маған жоғары деңгейлі архитектураға шолу беріңіз: кіру нүктелері, маршруттау, аутентификация, деректер қабаты, құрастыру құралдары. Содан кейін оқу үшін 5 файлды ретімен тізімдеңіз. Түсіндірмелерді гипотеза ретінде қарастырыңыз және сілтеме жасалған файлдарға өту арқылы растаңыз."
Сіз «Маршруттау егжей-тегжейлі қалай жұмыс істейді?» сияқты келесі сұрақтарды қоя аласыз. немесе «Маған аутентификация процесі мен әдістері арқылы сөйлесіңіз» және ол сізге бейтаныс кодтық базаның қараңғылығын жарықтандыру үшін пайдалы бағыттарға апарады. Тәуелділіктерді жаңарту кезіндегі үзіліс өзгерістерін анықтау npm бумаларын жаңарту, әсіресе олар үзіліссіз өзгерістермен келген кезде, жалықтыратын және көп уақытты қажет ететін жұмыс болуы мүмкін және регрессиялардың әділ мөлшерін жөндеуге мүмкіндік береді. Мен жақында plotly.js деректер визуализация кітапханасын 2-нұсқадан 3-нұсқаға дейін бір негізгі шығарылым нұсқасына дейін жаңартуға тура келді және соның нәтижесінде кейбір графиктердегі ось таңбалауы жұмысын тоқтатты. Мен ChatGPT сұрауын жалғастырдым: "Мен Plotly қолданатын бұрыштық жобамды жаңарттым. Мен plotly.js — dist бумасын 2.35.2 нұсқасынан 3.1.0 нұсқасына дейін жаңарттым — енді x және y осіндегі белгілер жойылды. Не болды?"
Агент тез арада шешіммен оралды (төменде өзіңізді қараңыз). Ескертпе: Мен әлі де түзетуді жібермес бұрын ресми көші-қон нұсқаулығына қарсы түсіндірмені тексердім.
Файлдар бойынша рефакторларды қауіпсіз көшіру Өсіп келе жатқан кодтық базалар, әрине, кодты біріктіру мүмкіндіктерін ашады. Мысалы, бір функцияға немесе құрамдас бөлікке шығаруға болатын файлдардағы кодтың қайталануын байқайсыз. Нәтижесінде сіз оның орнына қосылатын ортақ құрамдас жасауды және сол рефакторды бір файлда орындауды шешесіз. Енді сол өзгертулерді қалған файлдарыңызға қолмен орындаудың орнына, агентіңізден сізге рефакторды шығаруды сұрайсыз. Агенттер мәтінмән ретінде бірнеше файлдарды таңдауға мүмкіндік береді. Бір файлдың рефакторы орындалғаннан кейін, мен қайта өңделген және өңделмеген файлдарды мәтінмәнге қосып, агентке келесідей өзгертулерді басқа файлдарға шығаруды сұрай аламын: «А файлында жасаған өзгерістерді B файлына да қайталаңыз». Бейтаныс технологиялардағы мүмкіндіктерді енгізу AI кодтау құралдарын пайдаланатын менің сүйікті сәттердің бірі маған бейтаныс GLSL тілінде өте күрделі анимациялық градиент анимациясын жасауға көмектесті. Жақында жобада біздің дизайнерлер 3D нысанындағы жүктеу күйі ретінде анимациялық градиент ойлап тапты. Маған концепция өте ұнады және біздің клиенттерге ерекше және қызықты нәрсе жеткізгім келді. Theмәселе: Мен оны жүзеге асыру үшін екі күн ғана болды, және GLSL өте тік оқу қисығы бар. Тағы да AI құралы (бұл жағдайда ChatGPT) пайдалы болды және мен оны кенеп пен өте қарапайым анимациялық түс градиентін көрсететін жеке HTML файлын жасауды сұрай бастадым. Бірте-бірте мен AI-ға лайықты нәтижеге жеткенше оған көбірек талғампаздық қосуды сұрадым, осылайша мен шейдерді өзімнің нақты кодтық базаға біріктіруді бастадым. Нәтиже: Біздің клиенттер өте риза болды және біз AI арқасында аз уақыт ішінде күрделі функцияны жеткіздік. Жазу тесттері Менің тәжірибемде, бірліктер мен интеграциялық сынақтардың тиісті жиынтығын үздіксіз жазу және қолдау үшін жобаларда жеткілікті уақыт сирек кездеседі, сонымен қатар көптеген әзірлеушілер тест жазу тапсырмасын ұнатпайды. AI көмекшісін сіз үшін сынақтарды орнатуға және жазуға шақыру толығымен мүмкін және оны аз уақыт ішінде жасауға болады. Әрине, әзірлеуші ретінде сіз әлі де сіздің сынақтарыңыз қолданбаңыздың маңызды бөліктерін қарастыратынын және тестілеудің ақылға қонымды принциптерін ұстанатынына көз жеткізуіңіз керек, бірақ сіз сынақтарды жазуды AI көмекшімізге «аутсорсингке» бере аласыз. Мысал шақыру: "Jest көмегімен осы функция үшін бірлік сынақтарын жазыңыз. Бақытты жолды, шеткі жағдайларды және сәтсіздік режимдерін жабыңыз. Әрбір сынақтың неліктен бар екенін түсіндіріңіз."
Сіз тіпті тестілеуші гуру Кент С. Доддстың тестілеудегі ең жақсы тәжірибелерін агентіңізге нұсқаулық ретінде бере аласыз, мысалы:
Ішкі құралдар Жоғарыда айтылған шейдер мысалына ұқсас, маған жақында код базасындағы кодтың қайталануын талдау және рефакторға дейін және кейін салыстыру тапсырылды. Файлдарды қолмен салыстырудың көп уақытты қажет ететін жолына барғыңыз келмесе, әрине, тривиальды тапсырма емес. Copilot көмегімен мен үшін кодтың қайталануын талдайтын, кестедегі нәтижені реттейтін және ретке келтіретін және оны Excel бағдарламасына экспорттаған сценарий жасадым. Содан кейін мен одан әрі қадам жасадым. Біздің кодты рефакторымыз орындалғанда, мен агентке менің бар Excel парағын базалық сызық ретінде алуға, жеке бағандарға қайталаудың ағымдағы күйіне қосуға және дельтаны есептеуге шақырдым. Ұзақ уақыт бұрын жазылған кодты жаңарту Жақында менің ескі клиентім мені ұрды, өйткені уақыт өте келе оның веб-сайтында бірнеше мүмкіндіктер дұрыс жұмыс істемейді. Ұстау: Веб-сайт он жыл бұрын салынған, JavaScript және SCSS талап ету сияқты ескі компиляция құралдарын пайдаланды, ал орнату үшін Node.js ескі нұсқасы қажет болды, ол тіпті менің 2025 MacBook-те жұмыс істемейді. Бүкіл құрастыру процесін қолмен жаңарту маған бірнеше күн алатын еді, сондықтан мен AI агентіне: «JS және SCSS құрастыру процесін Vite сияқты 2025 стекке жаңарта аласыз ба?» Деп сұрауды жөн көрдім. Бұл сөзсіз болды және агентпен бір сағаттай нақтылаудан кейін мен SCSS және JS құрастыруды Vite-ге ауыстырдым және мен нақты қателерді түзетуге назар аудара алдым. Құрастыру процесіне осындай интегралды өзгертулер енгізген кезде шығыс пен құрастырылған файлдарды дұрыс тексеруді қамтамасыз етіңіз. Қорытындылау және құрастыру Тапсырыс беру туралы хабар үшін барлық соңғы код өзгерістерін бір сөйлеммен қорытындылағыңыз келе ме, әлде тапсырмалардың ұзын тізімі бар және оларды үш таңбалауыш пунктімен қорытындылағыңыз келе ме? Мәселе жоқ, оны AI шешсін, бірақ оны түзетуді ұмытпаңыз. Мысал сұрауы басқа адамға хабарлама жіберу сияқты қарапайым: «Қысқаша нүктелердегі соңғы өзгерістерімді қорытындылаңыз». Бұл жерде менің кеңесім GPT-ті абайлап жазу үшін пайдалану және код сияқты, жіберу немесе жіберу алдында шығысты тексеріңіз. Ұсыныстар мен үздік тәжірибелер Нұсқау Жасанды интеллектті пайдаланудың айқын емес артықшылықтарының бірі - сіздің нұсқауларыңыз неғұрлым нақты және бейімделген болса, нәтиже соғұрлым жақсы болады. AI агентін шақыру процесі бізді жазу және кодтау алдында талаптарымызды мүмкіндігінше нақты тұжырымдауға мәжбүр етеді. Сондықтан, жалпы ереже бойынша, мен сіздің ұсынысыңызды мүмкіндігінше нақтылауды ұсынамын. Райан Флоренс, Remix авторларының бірі, бастапқы нұсқауды сөйлеммен аяқтау арқылы осы процесті жақсартудың қарапайым, бірақ күшті әдісін ұсынады: «Біз бастамас бұрын, маған қоятын сұрақтарыңыз бар ма?»
Осы сәтте AI әдетте пайдалы сұрақтармен оралады, онда сіз нақты ниетіңізді нақтылай аласыз, агентті тапсырмаңызға неғұрлым бейімделген тәсілмен қамтамасыз етуге бағыттай аласыз.
Нұсқаны басқаруды пайдаланыңыз және қорытылатын бөліктерде жұмыс жасаңыз Git сияқты нұсқаларды басқаруды пайдалану тек бір код базасында топ ретінде бірлесіп жұмыс істегенде ғана емес, сонымен қатар сізді біртұтас жүйе ретінде қамтамасыз ету үшін де пайдалы.төтенше жағдайда қайтарылатын тұрақты ұпайлары бар жеке салымшы. Өзінің детерминистік емес табиғатына байланысты, AI кейде жалған болып, сіз қол жеткізгіңіз келетін нәрсеге көмектеспейтін өзгерістерді енгізе алады және ақыр соңында заттарды түзетілмейтіндей бұзады. Жұмысыңызды бірнеше міндеттемеге бөлу, егер істер бір жаққа кеткен жағдайда қайта оралуға болатын тұрақты нүктелерді жасауға көмектеседі. Сіздің командаластарыңыз да сізге алғыс айтады, өйткені олар семантикалық тұрғыдан жақсы құрылымдалған бөліктерге бөлінген кезде кодты қарап шығу оңайырақ болады. Review Thoroughly Бұл жалпы ең жақсы тәжірибе, бірақ менің ойымша, әзірлеу жұмысы үшін AI құралдарын пайдалану кезінде ол одан да маңыздырақ болады: кодыңыздың бірінші сыни шолушысы болыңыз. Басқа біреудің кодын қарап шыққандай, өзгертулеріңізді жолдан-жолға өтуге біраз уақыт бөліңіз және жұмысыңызды өзіңізді тексеруден өткеннен кейін ғана жіберіңіз. "Қазір мен үшін екі нәрсе де дұрыс: AI агенттері таңғаларлық және үлкен өнімділікті арттырады. Егер сіз миыңызды өшіріп, толығымен босатып алсаңыз, олар сондай-ақ үлкен слоп машиналары болып табылады. "— Армин Роначер өзінің блогында «Агент психозы: біз жынды болып бара жатырмыз ба?
Қорытынды және сыни ойлар Менің ойымша, AI кодтау құралдары біздің әзірлеушілер ретіндегі өнімділігімізді күнделікті жақсарта алады және көбірек жоспарлау мен жоғары деңгейлі ойлау үшін ақыл-ой қабілетін босатады. Олар бізді қалаған нәтижемізді егжей-тегжейлі көрсетуге мәжбүр етеді. Кез келген AI кейде галлюцинация жасай алады, бұл негізінен оның сенімді тонында жатқанын білдіреді. Сондықтан, әсіресе күмәніңіз болса, тексеріп, сынап көріңіз. AI күміс оқ емес, және менің ойымша, жетілдіруші және әзірлеуші ретінде мәселелерді шешу қабілеті ешқашан сәнден кетпейді. Өз мансабын жаңадан бастаған әзірлеушілер үшін бұл құралдар олар үшін жұмыстың көп бөлігін орындауға өте қызықты болуы мүмкін. Бұл жерде жоғалуы мүмкін қателер мен қателерді жою және шешу қиын, яғни «ұнтақтау» арқылы жиі азапты және ауыр жұмыс. Тіпті курсор AI-ның жеке Ли Робинсон да өз жазбаларының бірінде бұл сұраққа жауап береді:
AI кодтау құралдары жылдам қарқынмен дамып келеді, мен бұдан әрі не болатынына қуаныштымын. Сіз бұл мақаланы және оның кеңестерін пайдалы деп таптыңыз деп үміттенемін және олардың кейбірін өзіңіз үшін қолданып көруге қуаныштымын.