Vahid 1 / 12

Kompüter Mühəndisliyində Süni İntellektə və Doğrulama İntizamına Giriş

Qazanclar:

  • Süni intellektin proqram təminatının inkişaf dövrünün real sürətini haradan təmin etdiyini və qərarın və məsuliyyətin mühəndisdə qaldığını ayırd etmək bacarığı
  • Kompilyasiya, sınaq və nəzərdən keçirmə yolu ilə hazırlanmış hər bir kodu və dizaynı yoxlayan üç qatlı mühəndislik intizamını tətbiq etmək bacarığı.
  • Məxfi mənbə kodu, etimadnamələr və müştəri məlumatlarını paylaşmadan AI-dən istifadə etmək üçün kontekstdən təmizləmək vərdişinə yiyələyin

Kompüter mühəndisi gününə baxdığınız zaman əksər komandalarda mənzərə oxşardır: iş sorğusunu başa düşmək, layihələndirmək, kod yazmaq, başqasının kodunu oxumaq, sazlama (proqramın niyə səhv işləməsini öyrənmək və onu düzəltmək prosesi), testlərin yazılması, sənədlərin hazırlanması, kodu nəzərdən keçirmək və iclaslarda iştirak etmək. Başqa sözlə, əsl “mühəndislik mühakiməsinə” ayrılan vaxt, yəni həllin düzgün, təhlükəsiz və davamlı olub-olmaması təkrarlanan iş altında əzilir. Burada süni intellekt (qısaca AI; böyük dil modeli ilə mətn və kod üzərində işləyən proqram təminatı) işə düşür. AI sizin yerinizə qərar vermir; O, sizi qərara hazırlayır, kod skeleti yaradır, səhvi daraldır və işlənmiş layihəni qarşınıza qoyur. Bu modul boyunca biz AI-ni “avtomatik proqramçı” kimi deyil, çıxışı hər dəfə tərtib edilən, sınaqdan keçirilən və nəzərdən keçirilən intizamlı cüt proqramlaşdırma tərəfdaşı kimi yerləşdirəcəyik.

Bu birinci bölmədə biz üç şeyi aydınlaşdırırıq: Proqram təminatının hazırlanmasının həyat dövrünün hansı mərhələlərində (proqramın ideyadan istehsala qədər keçdiyi mərhələlər: təhlil, dizayn, kodlaşdırma, sınaq, yerləşdirmə, texniki xidmət) AI real dəyər əlavə edir; hansı qərarlar ciddi şəkildə mühəndisdə qalmalıdır; və bunu edərkən riayət etməli olduğunuz yoxlama və məxfilik intizamı nədir. Bu damı düzgün quraşdırmadan sonrakı qurğulardakı texnikalar təhlükəli ola bilər; Çünki proqramdakı səhv eyni anda milyonlarla istifadəçiyə çatır və təhlükəsizlik zəifliyinə çevrilə bilər.

Konsepsiyalar: Halüsinasiya: Süni intellektin əslində mövcud olmayan metod, kitabxana, API və ya davranışı inandırıcı şəkildə uydurması. Kontekst: AI-yə verdiyiniz giriş (kod, səhv mesajı, tələb, məhdudiyyətlər). Doğrulama: Çıxışın müstəqil şəkildə yoxlanılması (tərtib, sınaq, sənədləşdirmə). Bu üç anlayış bütün modulun əsasını təşkil edir.

AI sürətləndiricisi hansı müəssisələrdə, hansı müəssisələrdə risklidir?

Proqram təminatı işləri nəticələr baxımından iki istiqamətli spektrə düşür. Bir ucunda geri çevrilə bilən, aşağı riskli hazırlıq işləri; Digər tərəfdən, istehsal mühitinə daxil olan və məlumat itkisinə, təhlükəsizlik zəifliyinə və ya kəsilməyə səbəb ola biləcək geri qaytarılması çətin vəzifələr var. Süni intellektin dəyəri bu spektrdə dayandığınız yerdən asılı olaraq dəyişir.

iş növü

AI töhfəsi

Mühəndis rolu

Kod skeleti / qazan lövhəsi

Təkrarlanan strukturun sürətli nəsli

Məntiq və kənar vəziyyətə nəzarət

sazlama

Hipotez və mümkün səbəblər siyahısı

Reproduksiya və kök səbəbinin təsdiqi

yazı testləri

Test layihəsi və ssenarinin yaradılması

Mənalı təsdiq və əhatə dairəsinin yoxlanılması

refaktorinq

Refaktorinq təklifi

Test vasitəsilə davranışın qorunması

Sənədləşdirmə

İlk layihə və quruluş

Koda qarşı düzgünlüyün yoxlanılması

Memarlıq/təhlükəsizlik qərarı

Seçimlərin siyahısı, müsbət və mənfi cəhətləri

Yekun qərar və məsuliyyət

Qayda sadədir: AI çıxışının riski, bu çıxış səhv olarsa, onun vuracağı zərərə bərabərdir. Dəyişən adının yanlış təklif edilməsi zərərsizdir; Yanlış autentifikasiya (istifadəçinin həqiqətən iddia etdiyi şəxs olduğunu yoxlamaq) bütün sistemi həssas edir. Beləliklə, çıxışdan istifadə etməzdən əvvəl soruşulacaq ilk sual: "Bu səhvdirsə nə baş verir və bunu kim və nə vaxt görür?"

Diqqət: AI səlis və etibarlı kod istehsal edir. Səlislik dəqiqliyə zəmanət vermir. Dil modeli etibarlı şəkildə əslində mövcud olmayan bir funksiya adı, səhv parametr ardıcıllığı və ya hətta təhlükəli model yarada bilər. Proqram təminatında bu kağız üzərində qalmır; İstehsalda tərtib edir, işləyir və partlayır.

Mühəndisə buraxılmalı olan qərarlar

Bəzi qərarlar heç vaxt tam avtomatlaşdırılmamalıdır; texniki, hüquqi və etik riskləri daşıyır:

  • İstehsal üçün təsdiq: Kodun istehsala buraxılması və bunun üçün məsuliyyət.
  • Təhlükəsizlik və memarlıq: Doğrulama, avtorizasiya, şifrələmə və məlumat modeli kimi bahalı qərarlar.
  • Lisenziya və müəllif hüququ: İstehsal edilmiş kodun kommersiya məhsulunda istifadəsi və lisenziya uyğunluğu.
  • Məxfi məlumatlarla işləmək: Müştəri məlumatları, mənbə kodu sirləri və şəxsiyyət məlumatları ilə əməliyyatlar.
Xəbərdarlıq: Süni intellekt “bu kod təhlükəsizdir və istehsala hazırdır” desə belə, bunu təhlükəsizlik testi, kodun nəzərdən keçirilməsi və real yük altında təsdiqlənməsi olmadan qəbul etmək yolverilməzdir. Təhlükəsizlik baxımından kritik işlərdə AI çıxışı heç vaxt səlahiyyətli mühəndisin təsdiqini əvəz etmir; Qərara səbəb olan hər hansı bir nəticə həyata keçirilməzdən əvvəl müstəqil şəkildə yoxlanılmalı və səlahiyyətli mühəndis tərəfindən təsdiqlənməlidir.

Doğrulama İntizamı: Üç qatlı Nəzarət

Kor-koranə yox, yüksək səviyyəli rəyçi kimi AI çıxışından istifadə etmək üçün üç nəzarət qatını tətbiq edin. Bu, modul boyu təkrar edəcəyimiz əsas refleksdir.

  1. Kompilyasiya və statik yoxlama: Kod həqiqətən tərtib edir/çalışır? Tip səhvləri, istifadə olunmamış dəyişənlər, mövcud olmayan API varmı? Statik analiz aləti (kodu işə salmadan yoxlayan alət) nə deyir?
  2. Müstəqil reproduksiya (sınaq): Kodu kiçik, məlum girişlərlə işlədin və gözlənilən nəticəni əldə edib-etmədiyinizə baxın. Kenar halları sınayın (null, sıfır, mənfi, böyük).
  3. Mənbənin yoxlanılması: AI-nin istifadə etdiyi hər bir API, kitabxana versiyası və dil xüsusiyyəti rəsmi sənədlərdən yoxlanılmalıdır.

Doğrulama sorğusu (çıxışı yoxlamağı asanlaşdırır): "Kodunuzda istifadə etdiyiniz BÜTÜN xarici kitabxanaları, metodları və dil xüsusiyyətlərini sadalayın. Hər biri üçün onun hansı versiyada mövcud olduğunu göstərin və "sənədlərdən yoxlanılmalıdır" etiketi ilə qeyd edin. Əmin olmadığınız heç bir API yaratmayın; əmin deyilsinizsə, "əmin deyiləm" kimi açıq şəkildə yazın. Hər hansı bir kənar ünvan siyahısı var."

Öz kod sorğunuzu tənqid edin: "Sizi işə götürən böyük mühəndis kimi indicə yazdığınız koda tənqidi şəkildə baxın. Bu üç başlıq altında konkret maddələr verin: (1) məntiq/məqsəd səhvləri, (2) təhlükəsizlik riskləri, (3) performans və ya oxunaqlılıq problemləri. Hər bir element üçün "problem niyə var" və "təklif edilən problem yoxdur" yazın; "Mən problem tapa bilmədim" deyin. onu zinətləndirməyə çalışmayın”.

Zəif Tələb / Güclü Tələb

ZƏFS:"Mənə istifadəçinin autentifikasiyası funksiyası yazın."(Nəticə: hansı dil, hansı qayda, hansı xəta davranışı aydın deyil; ümumi kod, çox vaxt etibarsız və ya kontekstdən kənardır.)GÜÇLÜ:"Python 3.11 üçün e-poçt yoxlama funksiyası yazın. Giriş: sətir. Çıxış: Doğrudursa doğrudur, Yanlış: Əks halda, FK kompensasiyası tələb olunmur. format kifayətdir. Xarici kitabxanadan İSTİFADƏ ETMƏYİN. Funksiya əlavəsi blokunun altındakı 5 nümunəli test: etibarlı, boş, ikiqat '@', yalnız boşluqlar ehtiva edir."

Fərq kontekstdədir. Güclü tez; Buraya dil, versiya, giriş-çıxış müqaviləsi, məhdudiyyətlər və test gözləntiləri daxildir. Bu tək nizam-intizam halüsinasiyalar və təhlükəli kod riskini xeyli azaldır.

Mini Çantalar

1-ci hal – Uydurma metodu. Tərtibatçı süni intellektdən eşidir ki, tarix kitabxanasında date.addBusinessDays(5) adlı metod var və o, əminliklə izah olunur. Sənədlərə baxanda görür ki, belə bir üsul yoxdur, düzgün yol əl ilə döngədir. Halüsinasiya istehsala başlamazdan əvvəl 10 dəqiqəlik yoxlama ilə çəkilir.

2-ci hal - Kənar vəziyyəti itkisi. AI “orta hesabla” funksiyasını yaradır; 1000 sıra məlumatla sınaqdan keçirildikdə işləyir. Lakin siyahı boş olduqda, sıfır xəta ilə bölmə verir. Mühəndis boş giriş testini əlavə etdiyindən, o, xətanı canlı yayımdan əvvəl görür və düzəldir. Tək kənar vəziyyət testi saat 3-də istehsal siqnalının qarşısını alır.

3-cü hal – Məxfilik riski. Ekspert faktiki verilənlər bazası əlaqə sətri və API açarı olan faylı ictimai alətə yapışdırmaq üzrədir. Qurumun siyasətini xatırlayır; O, sirləri <REDACTED> ilə əvəz edir, kodu təmsil edən nümunəyə endirir və bunu tələb edir. Belə ki, ona 5 dəqiqə ərzində kömək çatsa da, şəxsiyyəti haqda məlumat çıxmır.

Gizli Kod və Şəxsiyyət Məlumatı ilə İş Prinsipi

Proqram təminatının ən həssas hissəsi; mənbə kodu sirləri, şəxsiyyət məlumatları (API açarı, parol, nişan) və müştəri/şəxsi məlumatlar. Əsas prinsip: paylaşmadan əvvəl təmizləyin, mümkünsə, təmsilçi nümunə ilə problemin yalnız mahiyyətini soruşun.

Anonim sorğu nümunəsi: "Aşağıdakı funksiyada xəta var. Mən faktiki biznes məntiqini və gizli sabitləri təmsilçi dəyərlərlə (API açarı, cədvəl adları, sahə adları ümumi) əvəz etdim. Problem: X girişində Y xətası alıram. Sadəcə bu təmsilçi kodda məntiq xətası tapın və düzəldilmiş versiyanı izah edin. [nümayəndə kodu]"

İpucu: Əgər şübhəniz varsa, bu testdən keçin: "Bunu forumda açıq şəkildə yazsam, təşkilatım problemlə üzləşə bilərmi?" Cavab qeyri-müəyyən olsa belə, əvvəlcə onu təmizləyin. Sıfırlama həmişə sızıntını sonradan təqib etməkdən daha ucuzdur.

Ümumi səhvlər

  • Tərtib etmədən/sınaq etmədən çıxışdan istifadə. “AI yazdı” əsaslandırma deyil; Hər bir kod parçası onu işlətməklə yoxlanılır.
  • Kontekstsiz sorğuların edilməsi. Dil, versiya, giriş-çıxış və məhdudiyyətlər verilməzsə, kod ümumi olur və çox vaxt etibarsız olur.
  • Məxfi məlumatları düşünmədən paylaşmaq. API açarı, parol və müştəri məlumatları təmizlənmədən buraxılmamalıdır.
  • Dəqiq dili dəqiqliklə qarışdırmaq. AI nə qədər inamlı danışırsa, bir o qədər diqqətli olmalısınız; Etibarlı ton sübut deyil.
  • Qərarın AI-yə verilməsi. İstehsalata, mühafizəyə və arxitekturaya başlamaq qərarı mühəndisdə qalır; AI yalnız material istehsal edir.

Xülasə

Süni intellekt proqram işinin təkrarlanan və vaxt aparan hissələrini sürətləndirir: skelet kodu, test layihəsi, səhvlərin daralması, sənədləşdirmə. Bununla belə, qərar və məsuliyyət mühəndisdə qalır. Hər bir çıxış nəzarətin üç qatından keçməlidir (kompilyasiya/statik, sınaq, mənbə). Kontekstlə göstərişlərin yazılması və gizli məlumatların təmizlənməsi bu modulun hər birində təkrar edəcəyimiz iki əsas vərdişdir. Süni intizamla istifadə etdiyiniz zaman sürət qazanırsınız; onu intizamsız istifadə edərkən, istehsala səhvlər və zəifliklər daşıyırsınız.

Tətbiq tapşırığı

Öz işinizdən və ya xəyali layihədən (məsələn, doğrulama funksiyası) kiçik bir kodlaşdırma tapşırığı seçin. Əvvəlcə zəif bir əmr yazın və nəticəni əldə edin. Sonra bu bölmədən güclü sorğu nümunəsini tətbiq edin: dil/versiya, giriş-çıxış müqaviləsi, məhdudiyyətlər və sınaq gözləntisi əlavə edin. İki çapı yan-yana qoyun və fərqi yazın. Daha sonra möhkəm çıxışı tərtib edin və onu ən azı üç kənar vəziyyətlə sınayın (null, sıfır/mənfi, gözlənilməz format) və hansı testdə nə tapdığınızı qeyd edin.

yoxlama siyahısı

  • [ ] Mən sorğuya dil, versiya və giriş-çıxış müqaviləsi əlavə etdim.
  • [ ] Mən "Uydurma, əmin deyilsənsə mənə de" və əhatə dairəsi məhdudiyyətini yazdım.
  • [ ] Mən kodu tərtib etdim/işlədim, statik xəbərdarlıqları yoxladım.
  • [ ] Mən ən azı üç kənar vəziyyətlə sınaqdan keçirdim.
  • [ ] Mən rəsmi sənədlərdən istifadə edilən API-ləri təsdiqlədim.
  • [ ] Mən hər hansı məxfi kodu/etimadnaməni sildim və ya müəssisə alətindən istifadə etdim.
  • [ ] Mən təsdiq etdim ki, istehsala və təhlükəsizliyin təmin edilməsinə dair qərar insanda qalır.