Vahid 1 / 12

Proqram Qrupları üçün Süni İntellekt: İş Modeli və Limitlər

Qazanclar:

  • Kodlaşdırma köməkçisinin dil modeli kimi necə işlədiyini və işarə, kontekst pəncərəsi, hallüsinasiya anlayışlarını izah etmək bacarığı
  • Zehni xəritə ilə AI-nin güclü və zəif olduğu proqram tapşırıqlarını ayırd etmək bacarığı
  • Təklif et-istehsal et-yoxlama əsas iş dövrünü öz tapşırıqlarına tətbiq etmək bacarığı

Proqram tərtibatçısının günü nadir hallarda "sıfırdan kod yazmaqla" keçir. Real vaxt; Başqası tərəfindən yazılmış kodun oxunması, səhvin təkrar istehsalına cəhd, jurnalın skan edilməsi (işləyərkən proqram tərəfindən yaradılan jurnal xətləri), testlərin yazılması, PR (çəkmə sorğusu - komandanın nəzərdən keçirilməsi üçün kod dəyişikliyi təqdim edildiyi birləşmə sorğusu) yazmaq və sənədləri yeniləmək. Süni intellekt (AI) bu görünməyən işlərin demək olar ki, hamısına toxuna bilən sürət artırıcıdır. Ancaq onu təhlükəsiz istifadə etməyin ilk şərti onun nə olduğunu və nə olmadığını düzgün başa düşməkdir.

Bu bölmədə biz əvvəlcə sadə dildə kodlaşdırma köməkçisinin əsas texnologiyasını izah edirik; sonra modelin güclü və zəif tərəflərinin zehni xəritəsini yaradırıq; Nəhayət, biz bütün modul boyu istifadə edəcəyimiz əsas iş intizamını müəyyən edirik: təklif et, istehsal et, yoxla. Bu üç addım növbəti on bir bölmənin əsasını təşkil edir.

Qeyd: Bu modul ümumi təlimdir. Təhlükəsizlik baxımından kritik proqram təminatında (ödənişin işlənməsi, səhiyyə, autentifikasiya, kritik infrastruktur) AI çıxışı ixtisaslı mühəndisin nəzərdən keçirməsini və təsdiqini əvəz etmir. AI köməkçidir; İmzalayan mühəndisdir.

Kodlaşdırma köməkçisi əslində nə edir?

Əksər kodlaşdırma köməkçiləri böyük bir dil modeli üzərində qurulur (LLM - böyük həcmdə mətn və kod üzərində təlim keçmiş süni intellekt). Model kodu insan kimi “başa düşmür”; O, böyük bir nümunə hovuzundan öyrəndiyi nümunələrə əsaslanaraq, ona verdiyiniz kontekstin ən çox ehtimal olunan davamını yaradır. Bu sadə görünən mexanizm praktikada təəccüblü dərəcədə təcrübəli nəticələr verir – çünki proqram təminatının əksəriyyəti təkrarlanan nümunələrdən ibarətdir: HTTP sorğusu, döngə, boş yoxlama, sınaq nümunəsi.

Burada üç şərt kritikdir. Token, modelin mətni bölmək yolu ilə işlədiyi ən kiçik vahiddir; Bu, təxminən bir neçə hərf və ya sözün bir hissəsidir. Kontekst pəncərəsi modelin bir anda "görə" biləcəyi tokenlərin miqdarıdır; Kodunuz, səhv mesajınız və təlimatınız bu pəncərəyə uyğun olmalıdır. Təklif modelə verdiyiniz bütün təlimatlar və kontekstdir. Əldə etdiyiniz məhsulun keyfiyyəti birbaşa bu ikisindən asılıdır: modelə nə qədər yaxşı kontekst və daha aydın təlimatlar versəniz, bir o qədər yaxşı nəticə əldə edəcəksiniz. Pis giriş, hətta ağıllı bir model olsa belə, pis nəticə verir - proqram təminatının klassik “zibil daxil, çöp atma” qaydası süni intellektə də aiddir.

Güclü və zəif tərəflər xəritəsi

AI-ni düzgün işlərə yönəltmək üçün onun harada parıldadığını və harada büdrədiyini bilmək lazımdır. Bu xəritəni əzbərləmək sizi hər növbəti missiya ilə maraqlandıracaq: "Mən bu işi AI-yə verməliyəm, yoxsa özüm etməliyəm?" Suala saniyələr ərzində cavab verməyə imkan verir.

Onun güclü tərəfləri bunlardır: Qapalı kod yaratmaq, bir dildən digərinə tərcümə etmək, müntəzəm ifadə yazmaq (regex), funksiyanı təsvir etmək, test skeleti yaratmaq, səhv mesajını şərh etmək, sənədlərin tərtib edilməsi, dəyişən/funksiya adlarını təklif etmək və kiçik refaktorinqlər (davranışını dəyişmədən kodun strukturunu təkmilləşdirmək).

Zəif tərəflər: Şirkətinizə xas biznes qaydalarını bilmək, bütün kod bazanızı xatırlamaq, kodu həqiqətən işlətmək və yoxlamaq, ən son kitabxana versiyalarını dəqiq bilmək, yüz faiz zəmanətlə təhlükəsizlik zəifliklərini aşkar etmək. Ən təhlükəlisi hallüsinasiyadır: model çox inandırıcı dildə mövcud olmayan funksiya, kitabxana və ya API (proqramlar arasında məlumat mübadiləsini təmin edən interfeys) icad edir. Bu risk əslində sizin xeyrinizə çevrilə bilər, çünki kod sadə mətndən fərqli olaraq onun “işlədiyini” yoxlamaq üçün sınaqdan keçirilə bilər – sadəcə yoxlama addımını atlamayın.

Missiya növü

AI-nin rolu

kişinin rolu

Boilerplate/skelet istehsal edin

qaralama istehsal edir

Uyğunlaşır, nəzərdən keçirir

Kodun təsviri

Tez bir xülasə verir

Koddakı kritik hissəni yoxlayır

yazı testləri

Case təklif edir

Əhatə və dəqiqliyi təsdiqləyir

Təhlükəsizlik-kritik məntiq

faydalı fikir

Qərar və məsuliyyət tamamilə insanların üzərinə düşür.

API/kitabxana istifadəsi

Nümunə yaradır

Varlığı və versiyanı yoxlayır

memarlıq qərarı

Seçim növləri

Konteksti bilərək seçir və müdafiə edir

Addım-addım: Əsas iş dövrü

  1. Tapşırığı aydınlaşdırın. İstədiyinizi bir cümlə ilə yaza bilmirsinizsə, model də yaza bilməz. Qeyri-müəyyənlik girişə nə qədər tez sızarsa, çıxışda bir o qədər artır.
  2. Kontekst verin. Müvafiq kodu, tam xəta mesajını, dil/çərçivə versiyasını və məhdudiyyətləri əmrə əlavə edin. "Bunu düzəlt" deməyin, "Python 3.11, FastAPI 0.110; bu funksiya 500 xəta verir, sorğunun əsas hissəsi boş olduqda partlayır" deyin.
  3. Tətbiq rolu və formatı. "Siz yüksək səviyyəli Go tərtibatçısısınız; sadəcə kodu və iki cümləlik əsaslandırmanı verin" kimi çərçivə çıxışa diqqət yetirir.
  4. Kiçik istəyin. Bir nəhəng tələbdən daha çox addımlara bölün; Hər bir addımı ayrıca yoxlayın. Əsas dəyişikliklər risklidir, çünki onları yoxlamaq çətindir və səhvləri gizlətməyə meyllidir.
  5. Doğrulayın. Çalışın, sınaqdan keçirin, vizual olaraq oxuyun. Təsdiqlənməmiş AI kodu "həll" deyil, "eskizdir". Bu, dövrün ən mübahisəsiz addımıdır.

Üç mini qutu

1-ci hal - Vaxta qənaət real, lakin təvazökardır. Komanda yeni CRUD (Yarat-Oxu-Yenilə-Sil) son nöqtələrini AI ilə skeletləşdirdikdə, ilk qaralama vaxtı təxminən 40 dəqiqədən 8 dəqiqəyə düşdü. Bununla belə, baxış və sınaq ilə ümumi vaxt 25 dəqiqə idi; belə ki, real qazanc 40-dan 25-ə qədər, təxminən 38% təşkil edir. “10 dəfə sürətləndirdik” gözləməsi əvəzinə ölçülən bu nisbət davamlı qazancdır.

Hal 2 - Halüsinasiya baha başa gəlir. Tərtibatçı süni intellekt tərəfindən təklif edilən requests.get_json() çağırışından yoxlamadan istifadə etdi; Belə bir üsul yox idi (dəqiq cavab.json()). Kod tərtib edilmədikdə 20 dəqiqə itirildi. Sadə bir "bu üsul həqiqətən mövcuddurmu?" doğrulama itkini sıfırlayacaq.

Məsələn 3 - Yaxşı kontekst çıxışı ikiqat artırır. Eyni səhv üçün bir tərtibatçı sadəcə olaraq "Mən xəta alıram" yazdı, digəri isə tam yığın izini, versiyasını və giriş nümunəsini əlavə etdi. Sonuncu ilk cəhddə düzgün həlli tapdı; Birincisi üç növbə keçirdi. Fərq modeldə deyil, girişdə idi.

Dörd Kopyalana bilən Şablon

Ümumi təyinatlı, güclü başlanğıc əmri:

Rol: Siz təcrübəli {{dil}} tərtibatçısınız. Tapşırıq: {{what_want}}Kontekst:- Çərçivə/versiya: {{framework_and_version}}- Məhdudiyyətlər: {{performans, üslub, asılılıq qaydaları}}Qaydalar:- Mövcud olmayan kitabxana/funksiyadan istifadə etməyin; Əmin deyilsinizsə, onu "yoxlayın" kimi qeyd edin. - Əvvəlcə qısa plan, sonra kod, sonra 2 cümlə əsaslandırma verin. - Test edilə bilən, işlək kod hazırlayın.

Qeyri-müəyyənliyi yenidən modelə süzmək üçün:

Aşağıdakı tapşırığı həll etməzdən əvvəl çatışmayan və ya aydın olmayan ən azı 3 nöqtəni sual olaraq qeyd edin. Mən cavab verməmişdən əvvəl kod YAZMAYIN. Tapşırıq: {{task}}

Çıxışı öz-özünə yoxlamaq üçün:

Siz aşağıdakı kodu yaratdınız. İndi rolunuzu dəyişdirin və bu kodu tənqid edin: - İşləməyən 3 halı (kənar halları) sadalayın. - Uydura biləcəyiniz hər hansı API/funksiya varmı? Mark.- Düzəliş edilmiş versiyanı verin.Kod:{{kod}}

Qərarı variantlara bölmək üçün:

{{problem}} üçün 2-3 həll yanaşması təklif edin. Hər biri üçün: qısa təsvir, artı/mənfi, nə vaxt seçilməlidir. Cədvəl şəklində verin. Mənim üçün SEÇMƏYİN; yalnız seçimi aydınlaşdırın.

Zəif məlumat / Güclü göstəriş

Zəif: "Bu koddakı səhvi düzəldin." (Hansı səhv? Hansı dil? Gözlənilən davranış nədir?)
Güclü: "Python 3.11 / FastAPI 0.110. Sorğu əsası boş olduqda aşağıdakı son nöqtə KeyError ilə 500 qaytarır; Mən onun 400 və boş gövdədə mənalı mesaj qaytarmasını istəyirəm. Əvvəlcə səbəbi izah edin, sonra düzəldilmiş funksiyanı verin, sonra bu ssenari üçün test yazın. [kod]"

Güclü versiya; Bu dil, versiya, faktiki səhv, gözlənilən davranış və çıxış formatını verir. Model artıq proqnoz vermək məcburiyyətində deyil.

Ümumi səhvlər

  • Təsdiq etmədən güvənmək. Ən ümumi və ən bahalı səhv. Kod tərtib olunana və sınaqdan keçirilməyənə qədər "həll olundu" deməyin.
  • Kontekstsiz suallar vermək. Versiya, səhv mətni və məhdudiyyətləri olmayan cavab ümumi və çox vaxt səhvdir.
  • Bir böyük xahiş. 300 sətirlik istehsalı bir anda tələb edib nəzərdən keçirə bilməmək səhvləri görünməz edir.
  • Modelin özünə inamını sübut kimi səhv salmaq. AI inamla səhv bir şey deyə bilər; Ton dəqiqliyin göstəricisi deyil.
  • Şirkət sirrini təsadüfi olaraq yapışdırmaq. Şəxsi açarlar, müştəri məlumatları və ya şəxsi mənbə kodu təsdiqlənməmiş alətlərə daxil edilməməlidir (biz bu mövzunu 10-cu bölmədə araşdıracağıq).
İpucu: Hər bir AI çıxışına “bu bir qaralamadır” kimi baxın. Bu tək zehni vərdiş modul boyunca görəcəyiniz risklərin çoxunu söndürür.

Xülasə

Kodlaşdırma köməkçisi növbəti ən çox ehtimal olunan fraqmenti proqnozlaşdıran dil modelidir; Kodu başa düşmür, nümunələr yaradır. Buna görə də o, təkrarlanan, formullu işlərdə güclüdür; O, kontekstinizə xas olan yoxlama tələb edən iş üçün ehtiyatla istifadə edilməlidir. Ən böyük risk hallüsinasiyadır və yeganə antidot yoxlamadır. Bütün modul boyu izləyəcəyimiz nizam-intizam aydındır: tapşırığı aydınlaşdırın, kontekst verin, kiçik şeylər istəyin, hər bir çıxışı təsdiqləyin.

Tətbiq tapşırığı

Keçən həftə etdiyiniz üç proqram tapşırığını yazın (məsələn, səhvlərin düzəldilməsi, test, README yeniləməsi). Hər biri üçün "güclü və zəif tərəflər xəritəsi"nə baxın və bir cümlə ilə təsvir edin ki, əgər AI bunu etsəydi, sizin və AI-nin rolu nə olardı. Sonra bu tapşırıqlardan birini yuxarıdakı “start prompt” şablonu ilə AI-yə verin və çıxışı işə salın və yoxlayın; Nə qədər dəqiqə saxladığınıza və neçə səhvi düzəltməli olduğunuza diqqət yetirin.

yoxlama siyahısı

  • [ ] Mən başa düşdüm ki, LLM kodu "anlayır" deyil, nümunələr yaradır.
  • [ ] Token, kontekst pəncərəsi və əmr anlayışlarını bir cümlə ilə izah edə bilərəm.
  • [ ] Mən AI-nin güclü və zəif olduğu tapşırıq növlərini ayırd edə bilirəm.
  • [ ] Mən hallüsinasiyanın nə olduğunu bilirəm və yeganə antidot yoxlamadır.
  • [ ] Mən "təklif et, istehsal et, yoxla" dövrünü öz tapşırığıma uyğunlaşdırdım.
  • [ ] Mən konkret misalda güclü təkmillə zəif təklif arasındakı fərqi göstərə bilərəm.