Акыркы эки жылдын ичинде Work & Co компаниясындагы менин командам жана мен Копилот, Курсор, Клод жана 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 колдонгон Angular долбоорумду жаңырттым. Мен plotly.js — dist пакетин 2.35.2 версиясынан 3.1.0 версиясына жаңырттым — эми x жана y огундагы энбелгилер жок. Эмне болду?"
Агент дароо чечим менен кайтып келди (төмөндө өзүңүздү караңыз). Эскертүү: Мен дагы эле оңдоону жөнөтүүдөн мурун расмий миграциялык жетекчиликке каршы түшүндүрмөлөрдү текшердим.
Файлдар боюнча рефакторлорду коопсуз репликациялоо Өсүп келе жаткан код базалары, албетте, кодду консолидациялоо үчүн мүмкүнчүлүктөрдү ачат. Мисалы, сиз бир функцияга же компонентке чыгарыла турган файлдар боюнча коддун кайталанышын байкайсыз. Натыйжада, сиз анын ордуна кошула турган жалпы компонентти түзүүнү жана ошол рефакторду бир файлда аткарууну чечесиз. Эми, калган файлдарыңызга ал өзгөртүүлөрдү кол менен жүргүзүүнүн ордуна, сиз агентиңизден рефакторду сиз үчүн чыгарууну суранасыз. Агенттер контекст катары бир нече файлдарды тандоого мүмкүндүк берет. Бир файл үчүн рефактор жасалгандан кийин, мен контекстке рефактордон өткөн жана тийбеген файлдарды кошо алам жана агенттен төмөнкүдөй өзгөртүүлөрдү башка файлдарга жайылтууну сунуш кыла алам: "А файлында жасаган өзгөртүүлөрүмдү B файлына да кайталагыла". Белгисиз технологияларда функцияларды ишке ашыруу AI коддоо куралдарын колдонуу менен менин сүйүктүү aha-көз ирмемдердин бири, ал мага GLSLде абдан татаал анимацияланган градиент анимациясын түзүүгө жардам бергенде болду, бул мен анча тааныш эмес тилде. Жакында эле долбоордо биздин дизайнерлер 3D объектисинде жүктөө абалы катары анимацияланган градиентти ойлоп табышты. Мага концепция абдан жакты жана биздин кардарларга уникалдуу жана кызыктуу нерсени жеткиргим келди. Theкөйгөй: Мен аны ишке ашырууга эки гана күн калдым, жана GLSL абдан тик окуу ийри сызыгына ээ. Дагы бир жолу, AI куралы (бул учурда, ChatGPT) жардамга келди жана мен ага кенепти жана өтө жөнөкөй анимацияланган түс градиентин көрсөткөн өз алдынча HTML файлын түзүүнү сунуштай баштадым. Кадам артынан кадам басып, мен AIга жакшы натыйжага жеткенге чейин ага дагы да жакшылык кошууга түрткү бердим, ошондуктан мен шейдерди өзүмдүн чыныгы коддук базама интеграциялай баштагам. Жыйынтык: Биздин кардарлар абдан бактылуу болушту жана биз AI аркасында аз убакыттын ичинде татаал функцияны жеткирдик. Жазуу тесттери Менин тажрыйбам боюнча, бирдиктердин жана интеграциялык тесттердин тийиштүү топтомун үзгүлтүксүз жазуу жана колдоо үчүн долбоорлорго сейрек убакыт жетишпейт, анын үстүнө, көптөгөн иштеп чыгуучулар тест жазуу тапшырмасынан ырахат алышпайт. AI жардамчыңыздан сиз үчүн тесттерди түзүүгө жана жазууга түрткү берүү толук мүмкүн жана аны аз убакыттын ичинде жасоого болот. Албетте, сиз, иштеп чыгуучу катары, сиздин тесттериңиз чындыгында колдонмоңуздун критикалык бөлүктөрүн карап чыгып, акылга сыярлык тестирлөө принциптерин сактаганына ынанышыңыз керек, бирок сиз тесттерди жазууну биздин AI жардамчыбызга "аутсорсингге" тапшыра аласыз. Мисал чакырык: "Jest аркылуу бул функция үчүн бирдик тесттерин жазыңыз. Бактылуу жолду, четтөө учурларын жана ката режимдерин камтыңыз. Ар бир сыноо эмне үчүн бар экенин түшүндүрүңүз."
Сиз атүгүл Кент С. Доддс тестирлөө боюнча мыкты тажрыйбаларды агентиңизге көрсөтмө катары тапшыра аласыз, мисалы:
Ички куралдар Жогоруда айтылган шейдердин мисалына бир аз окшошуп, мага жакында код базасында коддун кайталанышын талдоо жана рефакторго чейин жана андан кийин салыштыруу тапшырмасы берилди. Эгер сиз файлдарды кол менен салыштыруунун көп убакытты талап кылган жолго баргыңыз келбесе, албетте, анча деле маанилүү эмес. Копилоттун жардамы менен мен скрипт түздүм, ал мен үчүн коддун кайталанышын талдап, таблицага чыгарууну иретке келтирип, иреттеп, аны Excelге экспорттодум. Анан мен аны бир кадам алдыга жылдырдым. Биздин кодду рефактор аяктагандан кийин, мен агенттен менин учурдагы Excel барагымды база катары алып, өзүнчө тилкелерде кайталануунун учурдагы абалын кошуп, дельтаны эсептөөнү сунуштадым. Узак убакыт мурун жазылган кодду жаңыртуу Жакында менин эски кардарым мени каптады, анткени убакыттын өтүшү менен анын веб-сайтында бир нече функциялар туура иштебей калды. Кармап калуу: Веб-сайт дээрлик он жыл мурун курулган жана JavaScript жана SCSS талап кылынган эски компиляция куралдарын колдонушкан жана орнотуу үчүн Node.jsтин эски версиясы талап кылынган, ал менин 2025 MacBook'умда иштебейт. Бүткүл куруу процессин кол менен жаңыртуу мага бир нече күн талап кылмак, ошондуктан мен AI агентине: "Сиз JS жана SCSS куруу процессин Vite сыяктуу 2025 стекке жаңырта аласызбы?" Бул, албетте, ошондой болду жана агент менен бир сааттай такталгандан кийин, мен SCSS жана JS түзүмүн Viteге которушту жана мен мүчүлүштүктөрдү оңдоого басым жасай алдым. Түзүү процессиңизге мындай интегралдык өзгөртүүлөрдү жасап жатканда, чыгарууну жана компиляцияланган файлдарды туура текшериңиз. Жыйынтыктоо жана долбоорлоо Коддун акыркы өзгөртүүлөрүнүн бардыгын бир сүйлөм менен жалпылоону каалайсызбы же милдеттенмелердин узун тизмесине ээ болуп, аларды үч пункт менен жыйынтыктоону каалайсызбы? Эч кандай көйгөй жок, аны AI чечсин, бирок аны текшерип көрүңүз. Мисал кеңеши башка адамга билдирүү жөнөтүү сыяктуу эле жөнөкөй: "Сураныч, менин акыркы өзгөртүүлөрүмдү кыскача пункттарда жыйынтыктап бериңиз". Менин кеңешим бул жерде этияттык менен жазуу үчүн GPT колдонуу жана коддогудай эле, жөнөтүүдөн же тапшыруудан мурун жыйынтыкты текшериңиз. Сунуштар жана мыкты тажрыйбалар Насыялоо AI колдонуунун ачык-айкын эмес артыкчылыктарынын бири - бул сиздин көрсөтмөлөрүңүз канчалык конкреттүү жана ылайыкташтырылган болсо, натыйжа ошончолук жакшы болот. AI агентине түрткү берүү процесси бизди жазуу жана коддоодон мурун талаптарыбызды мүмкүн болушунча конкреттештирүүгө мажбурлайт. Мына ушул себептен, мен, эреже катары, мүмкүн болушунча конкреттүү болушун сунуштайм. Райан Флоренс, Ремикстин биргелешип автору, бул процессти жакшыртуунун жөнөкөй, бирок күчтүү жолун сунуштайт: "Биз баштоодон мурун, мага суроолоруңуз барбы?"
Бул учурда, AI адатта пайдалуу суроолор менен кайтып келет, анда сиз конкреттүү ниетиңизди тактап, агентке сиздин тапшырмаңызга ылайыкташтырылган мамилени сунуштай аласыз.
Версияны башкарууну колдонуңуз жана сиңирилүүчү бөлүктөрдө иштеңиз Гит сыяктуу версияны башкарууну колдонуу бир код базасында команда катары кызматташканда гана эмес, ошондой эле сизге жардамчы катары да жардам берет.өзгөчө кырдаалда кайра кайтаруу үчүн туруктуу упайлары бар жеке салымчы. Өзүнүн детерминисттик эмес табиятынан улам, AI кээде бузуку болуп, сиз жетүү үчүн аракет кылып жаткан нерсеңизге жардам бербеген өзгөртүүлөрдү киргизип, акыры бир нерсени орду толгус бузуп салышы мүмкүн. Ишиңизди бир нече милдеттенмелерге бөлүү сизге туруктуу пункттарды түзүүгө жардам берет, эгер иш туура эмес болуп кетсе, кайра кайтара аласыз. Командалаштарыңыз да сизге ыраазычылык билдиришет, анткени алар сиздин кодуңузду семантикалык жактан жакшы структураланган бөлүктөргө бөлүнгөндө карап чыгууга жеңилирээк болот. Кылдат карап чыгуу Бул жалпы эң мыкты тажрыйба, бирок менин оюмча, AI куралдарын иштеп чыгуу үчүн колдонууда андан да маанилүү болуп калат: Кодуңуздун биринчи сынчы сынчысы болуңуз. Башка бирөөнүн кодун карап чыккандай эле, өзгөртүүлөрүңүздү сап-сапка карап чыгууга бир аз убакыт бөлүңүз жана ишиңизди өзүңүздүн карооңуздан өткөндөн кийин гана тапшырыңыз. "Учурда мен үчүн эки нерсе тең: AI агенттери укмуштуудай жана өндүрүмдүүлүктү жогорулатат. Эгер сиз мээңизди өчүрүп, биротоло бошото турган болсоңуз, алар дагы чоң слоп машиналары болуп саналат. "- Армин Роначер өзүнүн блогунда Agent Psychosis: Биз жинди болуп баратабызбы?
Корутунду жана критикалык ойлор Менин оюмча, AI коддоо куралдары күн сайын иштеп чыгуучулар катары өндүрүмдүүлүгүбүздү жакшыртат жана көбүрөөк пландаштыруу жана жогорку деңгээлдеги ой жүгүртүү үчүн акыл-эс жөндөмүн бошотот. Алар бизди каалаган натыйжабызды кылдаттык менен деталдаштырууга мажбурлайт. Ар кандай AI, кээде галлюцинация болушу мүмкүн, бул негизинен ал ишенимдүү тондо жатат дегенди билдирет. Андыктан, өзгөчө шектенүү пайда болгондо текшерип, сынап көрүңүз. AI күмүш ок эмес, мен ишенем, мыктылык жана иштеп чыгуучу катары көйгөйлөрдү чечүү жөндөмү эч качан модадан чыкпайт. Карьерасын жаңыдан баштап жаткан иштеп чыгуучулар үчүн бул инструменттер алар үчүн иштин көбүн аткарууга абдан азгырылышы мүмкүн. Бул жерде жоголуп кетиши мүмкүн болгон нерсе - мүчүлүштүктөрдү жана мүчүлүштүктөрдү жоюу жана чечүү кыйын болгон көйгөйлөр аркылуу көп учурда жараксыз жана азаптуу иш, башкача айтканда, "майдалоо". Ал тургай, Курсор AIдин өзүнүн Ли Робинсон өзүнүн билдирүүлөрүнүн биринде бул суроону сурайт:
AI коддоо куралдары тез темп менен өнүгүп жатат жана мен мындан ары эмне боло турганына кубанып жатам. Сиз бул макаланы жана анын кеңештерин пайдалуу деп таптыңыз деп үмүттөнөм жана алардын айрымдарын өзүңүз үчүн сынап көрүүгө кубанычтасыз.