Сүүлийн хоёр жилийн хугацаанд Work & Co дахь миний баг болон би олон нийтийн ашигладаг вэб туршлагыг хүргэхийн тулд Copilot, Cursor, Claude, ChatGPT зэрэг хиймэл оюун ухааны кодчиллын хэрэгслүүдийг туршиж, аажмаар нэгтгэж байна. Үнэнийг хэлэхэд, анхны эргэлзэж, хэдэн минутын дараа хиймэл оюун ухааны янз бүрийн хэрэгслүүд миний өдөр тутмын хэрэглээнд нэвтэрсэн. Цаг хугацаа өнгөрөхөд хиймэл оюун ухаанд хяналт тавих нь зүйтэй гэж үзсэн програмуудын жагсаалт нэмэгдэж эхэлсэн тул би "хариуцлагатай хөгжүүлэгч" гэж нэрлэдэг хиймэл оюун ухааны хэрэгслүүдийг ашиглах практик тохиолдлуудыг хуваалцахаар шийдлээ. Хариуцлагатай хөгжүүлэгч гэж би юу гэсэн үг вэ? Бид оролцогч талууд болон үйлчлүүлэгчдийнхээ хүлээгдэж буй чанарын кодыг хүргэх ёстой. Бидний оруулсан хувь нэмэр (жишээ нь, татах хүсэлт) нь бидний ажлыг хянаж, туршиж үзэх манай хамт олонд дарамт болж болохгүй. Түүнчлэн, хэрэв та компанид ажилладаг бол: Бидний ашигладаг хэрэгслийг ажил олгогчоос зөвшөөрөл авах шаардлагатай. Аюулгүй байдал, нууцлал зэрэг эмзэг асуудлуудыг зөв зохицуулах шаардлагатай: Бодлогын зөвшөөрөлгүйгээр нууц, хэрэглэгчийн өгөгдөл (PII) эсвэл өмчийн кодыг хэрэгсэлд бүү оруул. Интернэт дэх танихгүй хүний код шиг хандаарай. Үргэлж шалгаж, шалгаарай. Тайлбар: Энэ нийтлэл нь VSCode доторх Copilot эсвэл Cursor гэх мэт хиймэл оюун ухааны кодчиллын хэрэгслүүдийн талаар маш энгийн мэдлэгтэй байх болно. Хэрэв энэ бүхэн танд цоо шинэ бөгөөд танил биш санагдаж байвал Github Copilot видео хичээлүүд нь таны хувьд гайхалтай эхлэл байх болно.
AI кодлох хэрэгслийн ашигтай програмууд Тайлбар: Дараах жишээнүүд нь голчлон React, Vue, Svelte, эсвэл Angular зэрэг JavaScript-д суурилсан вэб програмууд дээр ажиллахад чиглэнэ. Танихгүй кодын сангийн тухай ойлголттой болох Тогтсон кодын сан дээр ажиллах нь ердийн зүйл биш бөгөөд хуучин кодын санд нэгдэх нь айдас төрүүлж болзошгүй юм. Зүгээр л өөрийн төсөл болон AI агентаа (миний хувьд, VSCode дахь Copilot Chat) нээгээд, хамт ажилладаг хүнээсээ асуудаг шигээ асуулт асууж эхлээрэй. Ер нь би ямар ч хиймэл оюун ухаантай хүнтэй ярилцдаг шигээ ярих дуртай. Энд илүү боловсронгуй жишээ заавар байна: "Надад өндөр түвшний архитектурын тоймыг өгөөч: нэвтрэх цэгүүд, чиглүүлэлт, баталгаажуулалт, өгөгдлийн давхарга, бүтээх хэрэгсэл. Дараа нь унших 5 файлыг дарааллаар нь жагсаан бич. Тайлбарыг таамаглал гэж үзэж, лавлагаатай файлууд руу шилжих замаар баталгаажуул."
Та "Чиглүүлэлт хэрхэн нарийвчлан ажилладаг вэ?" гэх мэт асуултуудыг үргэлжлүүлэн асууж болно. эсвэл "Нотолгоог баталгаажуулах үйл явц, аргуудын талаар надтай ярина уу" гэж хэлснээр танил бус кодын харанхуйд гэрэл тусгах хэрэгтэй зааварчилгааг танд өгөх болно. Хамааралтай байдлыг шинэчлэх үед эвдэрсэн өөрчлөлтүүдийг турших npm багцуудыг шинэчлэх, ялангуяа тэдгээр нь эвдэрсэн өөрчлөлтүүдтэй хамт ирдэг бол уйтгартай, цаг хугацаа шаардсан ажил байж болох бөгөөд таныг хангалттай хэмжээний регрессийн дибаг хийхэд тусална. Би саяхан plotly.js өгөгдлийн дүрслэл номын санг 2-оос 3-р хувилбар хүртэл нэг томоохон хувилбар болгон шинэчлэх шаардлагатай болсон бөгөөд үүний үр дүнд зарим график дахь тэнхлэгийн шошго ажиллахаа больсон. Би ChatGPT-ээс асуусан: "Би Plotly ашигладаг Angular төслөө шинэчилсэн. Би plotly.js - dist багцыг 2.35.2-оос 3.1.0 хүртэл шинэчилсэн - одоо x болон y тэнхлэг дээрх шошго байхгүй болсон. Юу болсон бэ?"
Төлөөлөгч тэр даруй шийдлийг авчирсан (өөрийгөө доороос үзнэ үү). Тайлбар: Би засварыг илгээхийн өмнө албан ёсны шилжилт хөдөлгөөний удирдамжийн эсрэг тайлбарыг баталгаажуулсан хэвээр байна.
Файлууд дээр рефакторуудыг аюулгүйгээр хуулбарлах Өсөн нэмэгдэж буй кодын суурь нь кодыг нэгтгэх боломжийг нээж өгдөг. Жишээлбэл, та нэг функц эсвэл бүрэлдэхүүн хэсэг болгон задлах боломжтой файлуудын код давхардлыг анзаарсан. Үүний үр дүнд та оронд нь оруулах боломжтой хуваалцсан бүрэлдэхүүн хэсэг үүсгэж, нэг файлд уг рефакторыг гүйцэтгэхээр шийдсэн. Одоо үлдсэн файлууддаа эдгээр өөрчлөлтүүдийг гараар хийхийн оронд та агентаасаа рефакторыг ашиглахыг хүснэ үү. Агентууд нь олон файлыг контекст болгон сонгох боломжийг танд олгоно. Нэг файлын рефактор хийгдсэний дараа би дахин засварлагдсан болон хөндөгдөөгүй файлуудыг контекстэд нэмж, агентаас "А файлд хийсэн өөрчлөлтийг В файлд мөн хуулбарлах" гэх мэт бусад файлд өөрчлөлт оруулахыг шаардаж болно. Үл мэдэгдэх технологид хэрэгжүүлэх онцлогууд AI кодчилолын хэрэглүүрийг ашигласан миний хамгийн дуртай мөчүүдийн нэг бол миний сайн мэддэггүй хэл болох GLSL дээр нэлээд төвөгтэй хөдөлгөөнт градиент хөдөлгөөнт дүрсийг бүтээхэд тусалсан явдал юм. Саяхны нэгэн төсөл дээр манай дизайнерууд 3D объект дээр ачаалах төлөв хэлбэрээр хөдөлгөөнт градиент гаргаж ирсэн. Энэ үзэл баримтлал надад маш их таалагдсан бөгөөд үйлчлүүлэгчиддээ өвөрмөц, сэтгэл хөдөлгөм зүйлийг хүргэхийг хүссэн. TheАсуудал: Би үүнийг хэрэгжүүлэхэд ердөө хоёрхон хоног байсан бөгөөд GLSL нь сурахад нэлээд эгц муруйтай. Дахин хэлэхэд хиймэл оюун ухааны хэрэгсэл (энэ тохиолдолд ChatGPT) хэрэг болсон бөгөөд би үүнийг зотон болон маш энгийн хөдөлгөөнт өнгөт градиент дүрсэлсэн бие даасан HTML файл үүсгэхийг санал болгож эхэлсэн. Алхам алхмаар би сайн үр дүнд хүрэх хүртлээ хиймэл оюун ухаанд илүү нарийн ширийн зүйлийг оруулахыг уриалсан бөгөөд ингэснээр би шэйдерийг жинхэнэ кодын сандаа нэгтгэж эхлэх болно. Эцсийн үр дүн: Үйлчлүүлэгчид маань маш их баяртай байсан бөгөөд бид хиймэл оюун ухааны ачаар нарийн төвөгтэй функцийг богино хугацаанд хүргэсэн. Бичгийн тестүүд Миний туршлагаас харахад, төслүүд дээр нэгж болон интеграцийн тестийн зохих багцыг тасралтгүй бичиж, хадгалахад хангалттай хугацаа ховор байдаг бөгөөд үүнээс гадна олон хөгжүүлэгчид тест бичих ажилд үнэхээр дургүй байдаг. AI туслахаасаа танд зориулж тест хийх, бичихийг шаардах нь бүрэн боломжтой бөгөөд үүнийг багахан хугацаанд хийж болно. Мэдээжийн хэрэг, та хөгжүүлэгчийн хувьд таны тестүүд програмынхаа чухал хэсгүүдийг судалж, тестийн ухаалаг зарчмуудыг дагаж мөрдөж байгаа эсэхийг шалгах хэрэгтэй, гэхдээ та манай хиймэл оюун ухааны туслах ажилтанд тест бичих ажлыг "гаднаас" авах боломжтой. Санах жишээ: "Jest ашиглан энэ функцийн нэгжийн тестүүдийг бичээрэй. Аз жаргалтай зам, захын тохиолдол болон бүтэлгүйтлийн горимуудыг хамарна. Тест бүр яагаад байдгийг тайлбарла."
Та туршилтын гуру Кент С. Доддсын туршилтын шилдэг туршлагуудыг төлөөлөгчдөө заавар болгон дамжуулж болно, жишээ нь:
Дотоод хэрэгсэл Өмнө дурьдсан шэйдерийн жишээтэй зарим талаараа төстэй, би саяхан кодын сан дахь кодын давхардлыг шинжлэх, рефакторын өмнө болон дараа харьцуулах даалгавар авсан. Хэрэв та файлуудыг гараар харьцуулах цаг хугацаа шаардсан замаар явахыг хүсэхгүй байгаа бол тийм ч хялбар ажил биш. Copilot-ийн тусламжтайгаар би кодын давхардлыг шинжлэх скрипт бүтээж, гаралтыг хүснэгтэд цэгцэлж, захиалж, Excel рүү экспортолсон. Дараа нь би үүнийг нэг алхам урагшлуулсан. Бидний кодын дахин боловсруулалтыг хийж дуусаад би төлөөлөгчөөс миний одоо байгаа Excel хуудсыг суурь болгон авч, давхардлын одоогийн төлөвийг тус тусад нь баганад нэмж, дельтаг тооцоолохыг хүссэн. Удаан хугацааны өмнө бичсэн кодыг шинэчлэх Саяхан миний хуучин үйлчлүүлэгч над руу цохисон, учир нь цаг хугацаа өнгөрөх тусам түүний вэбсайт дээр зарим функцууд хэвийн ажиллахаа больсон. Анхаарах зүйл: Энэ вэб сайт нь бараг арван жилийн өмнө бүтээгдсэн бөгөөд JavaScript болон SCSS нь requireJS гэх мэт нэлээд хуучирсан хөрвүүлэх хэрэгслүүдийг ашиглаж байсан бөгөөд тохиргоонд Node.js-ийн хуучин хувилбар шаардлагатай байсан бөгөөд энэ нь миний 2025 MacBook дээр ч ажиллахгүй байсан. Барилга угсралтын процессыг бүхэлд нь гараар шинэчлэхэд надад хэдэн өдөр шаардагдах байсан тул би хиймэл оюун ухааны агентаас "Та JS болон SCSS бүтээх процессыг Vite шиг 2025 оны стэк болгон шинэчилж чадах уу?" гэж асуухаар шийдсэн. Энэ нь мэдээжийн хэрэг бөгөөд агенттай нэг цаг орчим боловсронгуй болгосны дараа би SCSS болон JS-ээ Vite рүү шилжүүлж, алдаа засахад анхаарлаа төвлөрүүлж чадсан. Өөрийн бүтээх процесст ийм салшгүй өөрчлөлт хийхдээ гаралт болон хөрвүүлсэн файлуудыг зөв баталгаажуулах хэрэгтэй. Дүгнэлт, төсөл боловсруулах Та хамгийн сүүлд оруулсан бүх кодын өөрчлөлтийг нэг өгүүлбэрт нэгтгэн дүгнэхийг хүсч байна уу, эсвэл үйлдлүүдийн урт жагсаалттай байж, тэдгээрийг гурван цэгт нэгтгэхийг хүсч байна уу? Асуудалгүй, хиймэл оюун ухаан үүнийг хариуцах болно, гэхдээ үүнийг заавал уншаарай. "Миний сүүлийн өөрчлөлтүүдийг товчхон тэмдэглэнэ үү" гэсэн мессеж илгээхтэй адил энгийн жишээ юм. Энд миний зөвлөгөө өгөхдөө GPT-г болгоомжтой бичих хэрэгтэй бөгөөд кодтой адил илгээх эсвэл илгээхээсээ өмнө гаралтыг шалгана уу. Зөвлөмж ба шилдэг туршлагууд Сануулах Хиймэл оюун ухааныг ашиглахын тийм ч тодорхой бус давуу талуудын нэг нь таны зааварчилгааг илүү тодорхой, тохируулсан байх тусам үр дүн нь илүү сайн байх явдал юм. AI агентыг өдөөх үйл явц нь биднийг бичих, кодлохоос өмнө шаардлагаа аль болох тодорхой томъёолоход хүргэдэг. Тийм ч учраас би ерөнхий дүрмийн дагуу таны өдөөлтийг аль болох тодорхой зааж өгөхийг зөвлөж байна. Remix-ийн хамтран зохиогч Райан Флоренс энэ үйл явцыг сайжруулах энгийн боловч хүчирхэг аргыг санал болгож байна. "Бид эхлэхээс өмнө надаас асуух зүйл байна уу?"
Энэ үед хиймэл оюун ухаан нь ихэвчлэн туслах асуултуудаар буцаж ирдэг бөгөөд энэ нь та өөрийн зорилгоо тодорхой болгож, төлөөлөгчийг таны даалгаварт илүү тохирсон арга барилаар хангахад чиглүүлдэг.
Хувилбарын хяналтыг ашиглаж, шингэцтэй хэсгүүдэд ажилла Гит гэх мэт хувилбарын хяналтыг ашиглах нь нэг кодын бааз дээр баг болж хамтран ажиллахад хэрэг болохоос гадна таныгонцгой байдлын үед буцаж очих тогтвортой оноотой хувь нэмэр оруулагч. Хиймэл оюун ухаан нь тодорхой бус шинж чанартай тул заримдаа хуурамч болж, таны хүрэхийг оролдож буй зүйлд тус болохгүй өөрчлөлтүүдийг хийж, эцэст нь аливаа зүйлийг нөхөж баршгүй эвдэж болно. Ажлаа хэд хэдэн үүрэг даалгавар болгон хуваах нь аливаа зүйл буруу тийшээ эргэх тохиолдолд эргэж очих тогтвортой цэгүүдийг бий болгоход тусална. Таны кодыг утгын хувьд сайн зохион байгуулалттай хэсгүүдэд хуваахад илүү хялбар байх тул багийнхан тань танд талархах болно. Нягтлан хянана уу Энэ бол ерөнхий шилдэг туршлага боловч миний бодлоор хиймэл оюун ухааны хэрэгслийг хөгжүүлэх ажилд ашиглахад илүү чухал болж байна: Өөрийн кодын хамгийн анхны шүүмжлэгч болоорой. Өөр хэн нэгний кодыг хянадаг шигээ хийсэн өөрчлөлтүүдээ мөр мөрөөр нь давж гарахад хэсэг хугацаа зарцуулж, өөрийн үнэлгээг давсан тохиолдолд л ажлаа илгээнэ үү. "Одоо хоёр зүйл надад үнэн байна: AI агентууд бол гайхалтай бөгөөд бүтээмжийг асар их нэмэгдүүлдэг. Хэрэв та тархиа унтрааж, бүрэн суллах юм бол тэд бас асар том унадаг машин юм." Армин Роначер өөрийн блогтоо "Agent Psychosis: We Going Insane?"
Дүгнэлт ба шүүмжлэлтэй бодол Миний бодлоор хиймэл оюун ухааны кодчилолын хэрэгслүүд нь хөгжүүлэгчид бидний бүтээмжийг өдөр бүр сайжруулж, илүү төлөвлөлт, өндөр түвшний сэтгэхүйн оюуны чадавхийг чөлөөлж чадна. Тэд биднийг хүссэн үр дүнг нарийн нарийвчлалтайгаар илэрхийлэхийг албаддаг. Аливаа хиймэл оюун ухаан заримдаа хий үзэгдэлтэй байдаг бөгөөд энэ нь үндсэндээ итгэлтэй өнгө аястай байдаг гэсэн үг юм. Тиймээс, ялангуяа эргэлзэж байгаа үедээ шалгаж, туршиж үзээрэй. AI бол мөнгөн сум биш бөгөөд хөгжүүлэгчийн хувьд онц байдал, асуудлыг шийдвэрлэх чадвар хэзээ ч моодноос гарахгүй гэдэгт би итгэдэг. Дөнгөж карьераа эхлүүлж буй хөгжүүлэгчдэд эдгээр хэрэгслүүд нь тэдний төлөө ихэнх ажлыг хийх сонирхолтой байж болно. Энд төөрөгдөж болох зүйл бол алдааг олж засварлах, шийдвэрлэхэд төвөгтэй, "нүдлэх" гэх мэт алдаа, асуудлуудаар дамжуулан ихэвчлэн шавхагдаж, зовиуртай ажил юм. Курсор AI-ийн өөрийнх нь Ли Робинсон хүртэл нийтлэлийнхээ нэгэнд үүнийг асууж байна:
AI кодчилолын хэрэгслүүд хурдацтай хөгжиж байгаа бөгөөд дараа нь юу болох бол гэдэгт би баяртай байна. Танд энэ нийтлэл болон түүний зөвлөмжүүд хэрэг болсон гэж найдаж байгаа бөгөөд эдгээрийн заримыг өөртөө туршиж үзэхэд таатай байна.