dev · · 09:01 · 1 min de citit
Nu încercați asta acasă: Ce s-a întâmplat când l-am trimis pe Kiro la muncă și am mers în grădină
Un mediu de dezvoltare AI, Kiro, a primit sarcina de a adăuga funcționalități de redimensionare a fotografiilor la un serviciu serverless de rețete. Implementarea lui Kiro a creat o buclă recursivă prin scrierea imaginilor redimensionate înapoi în același bucket S3 care declanșa funcția Lambda, ducând la o alertă AWS și la dezactivarea funcției.
Autorul descrie un incident în care un instrument de dezvoltare AI, Kiro, a creat neintenționat un bug critic într-o aplicație serverless AWS. Sarcina lui Kiro a fost să implementeze o funcționalitate pentru generarea versiunilor miniaturale (thumbnail) și de afișare a fotografiilor de rețete încărcate. Implementarea lui Kiro a scris aceste derivate înapoi în același bucket S3 care declanșa funcția Lambda. Această acțiune a inițiat o buclă recursivă, unde fiecare nouă imagine derivată declanșa o altă invocare Lambda, ducând la procesare exponențială.
Detaliile tehnice relevă un scenariu comun de "capcană" S3: o notificare S3 ObjectCreated declanșând o funcție Lambda, care apoi scrie noi obiecte înapoi în același bucket. Instrucțiunea autorului către Kiro a fost simplă, doar să genereze cele două versiuni ale imaginii, fără a specifica locația de stocare. Alegerea lui Kiro, aparent logică, de a le stoca în același bucket, alături de original, a închis bucla. Din fericire, AWS a detectat invocarea recursivă și a dezactivat funcția, prevenind supraîncărcarea contului.
Acest incident subliniază importanța instrucțiunilor precise și a implementării atente atunci când se lucrează cu instrumente de dezvoltare AI, în special în arhitecturile serverless. Alegerea de implementare „naturală” de a stoca derivatele în același bucket, deși pare eficientă, s-a dovedit dezastruoasă. Soluția implică ruperea buclei, de obicei prin utilizarea unor bucket-uri S3 separate pentru originale și derivate sau prin implementarea unor mecanisme de protecție specifice în cadrul funcției Lambda pentru a preveni re-declanșarea.
$ sursa --originală
dev.to
Rezumat realizat de Sudofeed pe baza articolului original. Drepturile asupra conținutului aparțin sursei originale.