{"id":34627,"date":"2026-08-19T05:00:00","date_gmt":"2026-08-19T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=34627"},"modified":"2026-08-18T17:00:25","modified_gmt":"2026-08-18T15:00:25","slug":"quality-gates-w-ai-native-sdlc-projektowanie-wiarygodnych-dowodow","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/quality-gates-w-ai-native-sdlc-projektowanie-wiarygodnych-dowodow\/","title":{"rendered":"Quality gates w AI-native SDLC: projektowanie wiarygodnych dowod\u00f3w"},"content":{"rendered":"\n<p>Wyobra\u017amy sobie zadanie dodania kod\u00f3w rabatowych. Agent zmienia logik\u0119 cenow\u0105, pisze testy i przygotowuje opis pull requestu. Wszystko jest sp\u00f3jne i zielone. Agent za\u0142o\u017cy\u0142 jednak, \u017ce rabaty mo\u017cna \u0142\u0105czy\u0107, cho\u0107 regu\u0142a biznesowa tego zabrania. Implementacja, testy i opis wzajemnie si\u0119 potwierdzaj\u0105. Wszystkie s\u0105 b\u0142\u0119dne.<\/p>\n\n\n\n<p>AI zwi\u0119ksza tempo i skal\u0119 takiej pomy\u0142ki. Du\u017cy, wewn\u0119trznie sp\u00f3jny zakres zmian mo\u017ce powsta\u0107 szybciej ni\u017c cz\u0142owiek odtworzy jego za\u0142o\u017cenia. W analizie jako\u015bciowej 1110 odpowiedzi in\u017cynier\u00f3w Google <a href=\"https:\/\/dora.dev\/insights\/balancing-ai-tensions\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >DORA opisuje ten efekt jako koszt weryfikacji<\/a>: cz\u0119\u015b\u0107 czasu zaoszcz\u0119dzonego podczas tworzenia przechodzi na audyt, przegl\u0105d i doprowadzenie rozwi\u0105zania do stanu produkcyjnego. Nie jest to uniwersalny pomiar ca\u0142ej bran\u017cy. Wsp\u00f3lne zalecenia <a href=\"https:\/\/www.bsi.bund.de\/SharedDocs\/Downloads\/EN\/BSI\/KI\/ANSSI_BSI_AI_Coding_Assistants.pdf?__blob=publicationFile&amp;v=7\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >ANSSI i BSI<\/a> wskazuj\u0105, \u017ce wzrost produktywno\u015bci wytwarzania wymaga odpowiedniego skalowania QA, AppSec i DevSecOps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Co oznacza AI-native SDLC?<\/strong><\/h2>\n\n\n\n<p>W tym artykule AI-native SDLC to cykl dostarczania oprogramowania, w kt\u00f3rym AI, zw\u0142aszcza agenci programistyczni, stale uczestniczy w pracy nad wymaganiami, kodem, testami, dokumentacj\u0105 i pipeline&#8217;em. Produkt nie musi zawiera\u0107 modelu AI.<\/p>\n\n\n\n<p>Tematem jest kontrola sposobu wytwarzania oprogramowania z pomoc\u0105 AI. Produkt zawieraj\u0105cy model, pami\u0119\u0107 lub autonomiczne dzia\u0142ania wymaga dodatkowych ocen jego zachowania, danych i bezpiecze\u0144stwa. To osobny zakres, kt\u00f3ry mo\u017ce wyst\u0119powa\u0107 r\u00f3wnolegle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Gate podejmuje decyzj\u0119<\/strong><\/h2>\n\n\n\n<p>Nie ka\u017cdy mechanizm zwracaj\u0105cy wynik negatywny jest gate&#8217;em. W procesie jako\u015bci pe\u0142ni okre\u015blon\u0105 funkcj\u0119:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Mechanizm<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Funkcja<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Przyk\u0142ad<\/strong><\/td><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Guardrail<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">ogranicza dozwolone dzia\u0142anie<\/td><td class=\"has-text-align-center\" data-align=\"center\">izolowane \u015brodowisko, minimalne uprawnienia<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Check<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">sprawdza w\u0142a\u015bciwo\u015b\u0107 i tworzy sygna\u0142<\/td><td class=\"has-text-align-center\" data-align=\"center\">kompilacja, test kontraktowy, skan bezpiecze\u0144stwa<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Monitor<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">wykrywa odchylenie podczas dzia\u0142ania<\/td><td class=\"has-text-align-center\" data-align=\"center\">wska\u017anik b\u0142\u0119d\u00f3w, telemetria, alert bezpiecze\u0144stwa<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Mechanizm odtworzeniowy<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">ogranicza skutki problemu<\/td><td class=\"has-text-align-center\" data-align=\"center\">flaga funkcjonalna, automatyczne wycofanie<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Gate<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">ocenia dowody wzgl\u0119dem polityki i autoryzuje zmian\u0119 stanu<\/td><td class=\"has-text-align-center\" data-align=\"center\">zgoda na scalenie, wydanie lub zwi\u0119kszenie ruchu<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Linter dostarcza sygna\u0142. Izolowane \u015brodowisko ogranicza zasi\u0119g dzia\u0142ania. Monitoring pokazuje zachowanie systemu. Gate \u0142\u0105czy wskazany przedmiot decyzji, wersj\u0119 polityki, wymagane dowody oraz uprawnionego w\u0142a\u015bciciela z konkretn\u0105 reakcj\u0105: blokad\u0105, promocj\u0105, wycofaniem albo wyj\u0105tkiem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Najpierw ryzyko, potem autonomia<\/strong><\/h2>\n\n\n\n<p>Zesp\u00f3\u0142 potrzebuje prostego profilu zmiany. Powinien uwzgl\u0119dnia\u0107 wp\u0142yw na u\u017cytkownika i biznes, wra\u017cliwo\u015b\u0107 danych, dost\u0119p do uprzywilejowanych narz\u0119dzi, zasi\u0119g architektoniczny, odwracalno\u015b\u0107 oraz niepewno\u015b\u0107 wymaga\u0144. Znaczenie maj\u0105 r\u00f3wnie\u017c obowi\u0105zki prawne i kontraktowe.<\/p>\n\n\n\n<p>Trzy klasy zwykle wystarczaj\u0105 do rozpocz\u0119cia pracy:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Klasa<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Przyk\u0142ad<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Autonomia i dowody<\/strong><\/td><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Standardowa<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">lokalna i \u0142atwo odwracalna zmiana<\/td><td class=\"has-text-align-center\" data-align=\"center\">automatyczne sprawdzenia, ma\u0142y PR, standardowy przegl\u0105d<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Podwy\u017cszona<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">zmiana kontraktu API, zale\u017cno\u015bci lub przetwarzania danych<\/td><td class=\"has-text-align-center\" data-align=\"center\">dodatkowe testy ryzyka, niezale\u017cny recenzent, stopniowe wdro\u017cenie<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Krytyczna<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">autoryzacja, p\u0142atno\u015bci, migracja danych lub polityka bezpiecze\u0144stwa<\/td><td class=\"has-text-align-center\" data-align=\"center\">rozdzielenie obowi\u0105zk\u00f3w, przegl\u0105d ekspercki, jawna decyzja o ryzyku i plan odtworzenia<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Profil trzeba przeliczy\u0107, gdy agent rozszerza zakres, dodaje zale\u017cno\u015b\u0107, zmienia przep\u0142yw danych, uprawnienia albo spos\u00f3b wdro\u017cenia. <a href=\"https:\/\/csrc.nist.gov\/pubs\/sp\/800\/218\/final\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >NIST SSDF 1.1<\/a> opisuje praktyki oparte na ryzyku i rezultatach, kt\u00f3re organizacja dostosowuje do swojego kontekstu. Ta sama logika powinna sterowa\u0107 quality gates.<\/p>\n\n\n\n<p>Agent mo\u017ce zaproponowa\u0107 klas\u0119 i uzasadnienie. Nie powinien sam obni\u017ca\u0107 poziomu kontroli. Zmiana podwy\u017cszona lub krytyczna wymaga potwierdzenia klasy przez wskazanego w\u0142a\u015bciciela ryzyka albo niezale\u017cnego specjalist\u0119.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Gate ocenia konkretny przedmiot<\/strong><\/h2>\n\n\n\n<p>Gate nie ocenia og\u00f3lnej jako\u015bci projektu. Decyduje o zmianie stanu konkretnego przedmiotu: zadania, sesji agenta, rewizji kodu, zbudowanego artefaktu albo wdro\u017cenia do okre\u015blonej grupy u\u017cytkownik\u00f3w. Bez tego mo\u017cna u\u017cy\u0107 wynik\u00f3w test\u00f3w z poprzedniego commita lub danych dotycz\u0105cych innego obrazu aplikacji.<\/p>\n\n\n\n<p>W modelu, kt\u00f3rego u\u017cywam, kontrakt decyzji odpowiada na sze\u015b\u0107 pyta\u0144:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Co dok\u0142adnie zmienia stan i jaka jest intencja zmiany?<\/li>\n\n\n\n<li>Jakie szkody, zagro\u017cenia i niepewno\u015bci obejmuje profil ryzyka?<\/li>\n\n\n\n<li>Kt\u00f3ra wersja polityki okre\u015bla kryteria?<\/li>\n\n\n\n<li>Kt\u00f3re aktualne wyniki dotycz\u0105 w\u0142a\u015bnie tego przedmiotu?<\/li>\n\n\n\n<li>Jakie decyzje i jakie reakcje wynikaj\u0105 z oceny?<\/li>\n\n\n\n<li>Kto mo\u017ce zdecydowa\u0107, jak d\u0142ugo decyzja obowi\u0105zuje i co j\u0105 uniewa\u017cnia?<\/li>\n<\/ol>\n\n\n\n<p>\u0141\u0105cz\u0119 w ten spos\u00f3b pi\u0119\u0107 perspektyw:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>intencj\u0119,<\/li>\n\n\n\n<li>spos\u00f3b pracy,<\/li>\n\n\n\n<li>walidacj\u0119,<\/li>\n\n\n\n<li>ocen\u0119 dowod\u00f3w,<\/li>\n\n\n\n<li>kontrol\u0119 decyzji.<\/li>\n<\/ul>\n\n\n\n<p>Jest to model proponowany i u\u017cywany przeze mnie, a nie standard bran\u017cowy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Co czyni dow\u00f3d wiarygodnym?<\/strong><\/h2>\n\n\n\n<p>Zielony status informuje, \u017ce test przeszed\u0142. Jego wynik wspiera decyzj\u0119 dopiero, gdy spe\u0142nia kilka warunk\u00f3w:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>sprawdza wskazane ryzyko lub wymaganie;<\/li>\n\n\n\n<li>wskazuje rewizj\u0119, konfiguracj\u0119, \u015brodowisko i artefakt;<\/li>\n\n\n\n<li>pochodzi z zaufanego wykonawcy i zachowuje integralno\u015b\u0107;<\/li>\n\n\n\n<li>pozostaje aktualny i nie wyst\u0105pi\u0142o zdarzenie, kt\u00f3re go uniewa\u017cnia;<\/li>\n\n\n\n<li>wnosi metod\u0119 lub perspektyw\u0119 niezale\u017cn\u0105 od \u017ar\u00f3d\u0142a zmiany.<\/li>\n<\/ol>\n\n\n\n<p>Niezale\u017cno\u015b\u0107 nie zawsze oznacza drugiego cz\u0142owieka. Test w\u0142a\u015bciwo\u015bci, kompilator, skan zale\u017cno\u015bci i obserwacja produkcyjna sprawdzaj\u0105 inne cechy. Test mo\u017ce wynika\u0107 z regu\u0142y biznesowej lub modelu zagro\u017ce\u0144 zamiast z bie\u017c\u0105cej implementacji. Drugi agent pracuj\u0105cy na tym samym modelu, instrukcji i kontek\u015bcie mo\u017ce pope\u0142ni\u0107 t\u0119 sam\u0105 pomy\u0142k\u0119.<\/p>\n\n\n\n<p>Praktyczny \u0142a\u0144cuch identyfikowalno\u015bci wygl\u0105da tak: wymaganie lub zagro\u017cenie -&gt; sprawdzenie -&gt; wynik i wykonawca -&gt; commit -&gt; artefakt -&gt; wdro\u017cenie. Zmiana kt\u00f3regokolwiek z ogniw mo\u017ce wymaga\u0107 ponownej oceny dowod\u00f3w.<\/p>\n\n\n\n<p>Warunki uniewa\u017cnienia trzeba zapisa\u0107 w polityce gate&#8217;u. Nowy commit, ponowne zbudowanie artefaktu, zmiana konfiguracji, \u015brodowiska lub polityki mog\u0105 sprawi\u0107, \u017ce wcze\u015bniejszy wynik przestaje opisywa\u0107 przedmiot decyzji. To samo dotyczy utraty integralno\u015bci wykonawcy albo zmiany modelu, instrukcji i narz\u0119dzi u\u017cytych do przygotowania oceny. Zaufane CI powinno zapisa\u0107 producenta wyniku, czas, konfiguracj\u0119 oraz identyfikator artefaktu. Gate mo\u017ce wtedy odrzuci\u0107 dow\u00f3d, kt\u00f3ry jest zielony, ale dotyczy innego stanu systemu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przyk\u0142ad: gate, kt\u00f3ry zatrzymuje zmian\u0119<\/strong><\/h2>\n\n\n\n<p>Wr\u00f3\u0107my do kod\u00f3w rabatowych. Zmiana otrzymuje klas\u0119 podwy\u017cszon\u0105, poniewa\u017c wp\u0142ywa na cen\u0119 oraz kontrakt pomi\u0119dzy checkoutem a us\u0142ug\u0105 wyliczaj\u0105c\u0105 nale\u017cno\u015b\u0107. Regu\u0142a biznesowa zabrania \u0142\u0105czenia promocji. Analiza ryzyka dodaje drugi warunek: kolejno\u015b\u0107 naliczania rabatu i podatku nie mo\u017ce prowadzi\u0107 do innej ceny ko\u0144cowej.<\/p>\n\n\n\n<p>Agent przygotowuje implementacj\u0119 i testy podstawowych \u015bcie\u017cek. Oba artefakty dziedzicz\u0105 jednak za\u0142o\u017cenie, \u017ce dwa aktywne kody s\u0105 dozwolone. Osobny test w\u0142a\u015bciwo\u015bci powstaje z regu\u0142y biznesowej, a nie z kodu. Generuje kombinacje promocji i wykrywa podw\u00f3jne obni\u017cenie ceny. Wynik pochodzi z kontrolowanego CI i jest zwi\u0105zany z dok\u0142adnym commitem, dlatego mo\u017ce wej\u015b\u0107 do pakietu dowod\u00f3w.<\/p>\n\n\n\n<p>Agent proponuje dostosowanie asercji do implementacji. Chroniona polityka nie pozwala zmieni\u0107 testu regu\u0142y biznesowej bez przegl\u0105du przez w\u0142a\u015bciciela domeny. Gate blokuje scalenie, poniewa\u017c pakiet dowod\u00f3w wskazuje na naruszenie ryzyka cenowego. Po poprawieniu implementacji ten sam commit przechodzi test regu\u0142y, test kontraktowy oraz pozosta\u0142e kontrole wymagane dla zmiany podwy\u017cszonej.<\/p>\n\n\n\n<p>Skuteczno\u015b\u0107 tego mechanizmu nie wynika z samego u\u017cycia kolejnego agenta. Kontrola ma inne \u017ar\u00f3d\u0142o, metod\u0119 weryfikacji, zaufanego wykonawc\u0119 oraz prawo do zatrzymania zmiany. Bez tych element\u00f3w dodatkowy test tworzy\u0142by kolejny sygna\u0142, kt\u00f3ry zesp\u00f3\u0142 m\u00f3g\u0142by zignorowa\u0107.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Obserwacja projektowa: migracja z .NET 6 do .NET 8<\/strong><\/h2>\n\n\n\n<p>W jednym z projekt\u00f3w wykorzysta\u0142em AI do sprawdzenia dokumentacji oraz por\u00f3wnania kodu sprzed migracji z wersj\u0105 po przej\u015bciu z .NET 6 na .NET 8. Celem by\u0142o odtworzenie oczekiwanego zachowania oraz wskazanie miejsc, w kt\u00f3rych migracja mog\u0142a zmieni\u0107 dzia\u0142anie systemu.<\/p>\n\n\n\n<p>Na podstawie analizy przygotowali\u015bmy testy ukierunkowane na wykryte ryzyka oraz regu\u0142y quality gate. Agenci AI pomagali zestawi\u0107 dokumentacj\u0119, obie wersje kodu i wyniki test\u00f3w. Wykryli\u015bmy wszystkie znane r\u00f3\u017cnice obj\u0119te zdefiniowanymi kryteriami por\u00f3wnania. Powi\u0105zanie wynik\u00f3w z konkretn\u0105 zmian\u0105 ograniczy\u0142o ryzyko regresji.<\/p>\n\n\n\n<p>Nie by\u0142 to kontrolowany eksperyment ani dow\u00f3d na uniwersaln\u0105 skuteczno\u015b\u0107 AI. Rezultat zale\u017ca\u0142 od jako\u015bci dokumentacji, zakresu por\u00f3wnania, doboru test\u00f3w i zasad podejmowania decyzji. AI przyspieszy\u0142o analiz\u0119, a jako\u015b\u0107 wynika\u0142a z ca\u0142ego procesu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"728\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/08\/image-PL-1024x728.png\" alt=\" Przep\u0142yw dowod\u00f3w podczas migracji z .NET 6 do .NET 8\" class=\"wp-image-34628\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/08\/image-PL-1024x728.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/08\/image-PL-300x213.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/08\/image-PL-768x546.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/08\/image-PL-1536x1092.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/08\/image-PL.png 1800w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ryc. 1 Przep\u0142yw dowod\u00f3w podczas migracji z .NET 6 do .NET 8<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Gdzie umie\u015bci\u0107 kontrole?<\/strong><\/h2>\n\n\n\n<p>Poni\u017csza sekwencja pokazuje miejsca decyzji i zbierania dowod\u00f3w. Nie oznacza to, \u017ce ka\u017cdy etap potrzebuje osobnego gate&#8217;u.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Etap<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Przedmiot<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Kontrola lub decyzja<\/strong><\/td><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>1. Okre\u015blenie zmiany<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">zadanie lub specyfikacja<\/td><td class=\"has-text-align-center\" data-align=\"center\">kryteria akceptacji, wymagania niefunkcjonalne, profil ryzyka<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>2. Autoryzacja wykonawcy<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">to\u017csamo\u015b\u0107 i sesja agenta<\/td><td class=\"has-text-align-center\" data-align=\"center\">dozwolone dane, narz\u0119dzia, sie\u0107, limity i warunki zatrzymania<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>3. Szybka informacja zwrotna<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">lokalna zmiana<\/td><td class=\"has-text-align-center\" data-align=\"center\">kompilacja, testy i regu\u0142y strukturalne wywo\u0142uj\u0105ce korekt\u0119<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>4. Niezale\u017cna weryfikacja<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">commit lub PR<\/td><td class=\"has-text-align-center\" data-align=\"center\">zaufane CI, testy wynikaj\u0105ce z ryzyka, skany i wymagane role<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>5. Promocja artefaktu<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">zbudowany artefakt<\/td><td class=\"has-text-align-center\" data-align=\"center\">wyniki powi\u0105zane z wersj\u0105, pochodzenie artefaktu i plan odtworzenia<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>6. Wdro\u017cenie i ekspozycja<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">\u015brodowisko lub grupa u\u017cytkownik\u00f3w<\/td><td class=\"has-text-align-center\" data-align=\"center\">okres obserwacji, progi promocji, automatyczne wstrzymanie lub wycofanie<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>7. Operacja i uczenie<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">us\u0142uga i system kontroli<\/td><td class=\"has-text-align-center\" data-align=\"center\">sygna\u0142y techniczne, biznesowe i bezpiecze\u0144stwa, analiza incydent\u00f3w, aktualizacja regu\u0142<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Granice agenta obowi\u0105zuj\u0105 przez ca\u0142\u0105 sesj\u0119. Osobna to\u017csamo\u015b\u0107, kr\u00f3tkotrwa\u0142e po\u015bwiadczenia, ograniczony dost\u0119p do danych i narz\u0119dzi oraz rejestrowanie dzia\u0142a\u0144 zmniejszaj\u0105 skal\u0119 b\u0142\u0119d\u00f3w. <a href=\"https:\/\/owasp.org\/www-project-artificial-intelligence-security-verification-standard-aisvs-docs\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >OWASP AISVS 1.0<\/a> porz\u0105dkuje te wymagania dla narz\u0119dzi i system\u00f3w AI. Tre\u015b\u0107 zadania, repozytorium i wyniki narz\u0119dzi nadal nale\u017cy traktowa\u0107 jako potencjalnie niezaufane.<\/p>\n\n\n\n<p>Podczas promocji trzeba potwierdzi\u0107, \u017ce testy i skany dotycz\u0105 dok\u0142adnie tego artefaktu. Informacja o pochodzeniu artefaktu, okre\u015blana jako provenance, pomaga ustali\u0107, gdzie i jak zosta\u0142 on zbudowany. <a href=\"https:\/\/slsa.dev\/spec\/v1.2\/provenance\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >SLSA 1.2<\/a> opisuje taki dow\u00f3d. Nie potwierdza on poprawno\u015bci biznesowej, dlatego pozostaje jednym z element\u00f3w pakietu.<\/p>\n\n\n\n<p>Wdro\u017cenie i udost\u0119pnienie u\u017cytkownikom s\u0105 dwiema decyzjami. Flaga funkcjonalna lub wdro\u017cenie stopniowe pozwalaj\u0105 obserwowa\u0107 ograniczon\u0105 grup\u0119. Gate powinien mie\u0107 pr\u00f3g, okres obserwacji i automatyczn\u0105 reakcj\u0119. Bez reakcji monitoring jest tylko \u017ar\u00f3d\u0142em informacji.<\/p>\n\n\n\n<p>Incydent albo powa\u017cna regresja powinny zmieni\u0107 system kontroli. Zesp\u00f3\u0142 zachowuje dowody, ustala przyczyn\u0119 oraz wskazuje kontrol\u0119, kt\u00f3ra nie zadzia\u0142a\u0142a lub kt\u00f3rej zabrak\u0142o. Wnioski trafiaj\u0105 do wymaga\u0144, modelu zagro\u017ce\u0144, test\u00f3w, polityki gate&#8217;u albo monitoringu. Ka\u017cde dzia\u0142anie ma w\u0142a\u015bciciela i termin. Zamkni\u0119cie wymaga wyniku potwierdzaj\u0105cego, \u017ce poprawiona kontrola wykrywa klas\u0119 b\u0142\u0119du i ogranicza ryzyko jego ponowienia. Bez tego etap \u201eoperacja i uczenie\u201d ko\u0144czy si\u0119 raportem zamiast popraw\u0105 procesu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wyj\u0105tki i odpowiedzialno\u015b\u0107<\/strong><\/h2>\n\n\n\n<p>Niespe\u0142nienie regu\u0142y nie powinno znika\u0107 pod statusem \u201ewarunkowo zaliczone\u201d. Autoryzowany wyj\u0105tek zapisuje przedmiot, niespe\u0142nion\u0105 regu\u0142\u0119, pozosta\u0142e ryzyko, kontrol\u0119 kompensuj\u0105c\u0105, akceptanta, termin wyga\u015bni\u0119cia i w\u0142a\u015bciciela naprawy. Po wyga\u015bni\u0119ciu system wymaga ponownej oceny albo blokuje promocj\u0119.<\/p>\n\n\n\n<p>Odpowiedzialno\u015b\u0107 dzieli si\u0119 mi\u0119dzy kilka os\u00f3b:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>w\u0142a\u015bciciel domeny potwierdza intencj\u0119 i dopuszczalny efekt biznesowy;<\/li>\n\n\n\n<li>w\u0142a\u015bciciel polityki definiuje regu\u0142y oraz wymagane dowody;<\/li>\n\n\n\n<li>niezale\u017cny specjalista ocenia zmian\u0119 w zakresie swoich kompetencji;<\/li>\n\n\n\n<li>uprawniona osoba akceptuje udokumentowane ryzyko rezydualne;<\/li>\n\n\n\n<li>w\u0142a\u015bciciel wydania lub us\u0142ugi decyduje o promocji i sposobie odtworzenia.<\/li>\n<\/ol>\n\n\n\n<p>Quality Engineer lub Test Developer mo\u017ce zaprojektowa\u0107 system dowod\u00f3w i niezale\u017cno\u015bci. Nie staje si\u0119 przez to w\u0142a\u015bcicielem ka\u017cdego ryzyka. Agent mo\u017ce zebra\u0107 wyniki i wskaza\u0107 niesp\u00f3jno\u015bci, ale nie powinien jednocze\u015bnie tworzy\u0107 zmiany, certyfikowa\u0107 w\u0142asnych dowod\u00f3w i zatwierdza\u0107 promocji.<\/p>\n\n\n\n<p>Zmienia si\u0119 te\u017c codzienna praca in\u017cyniera jako\u015bci. Samo napisanie wi\u0119kszej liczby test\u00f3w nie rozwi\u0105zuje problemu wsp\u00f3lnego b\u0142\u0119dnego za\u0142o\u017cenia. Quality Engineer lub Test Developer ustala, kt\u00f3re ryzyka wymagaj\u0105 dowodu, sk\u0105d ten dow\u00f3d ma pochodzi\u0107, co go uniewa\u017cnia oraz kto mo\u017ce podj\u0105\u0107 decyzj\u0119.<\/p>\n\n\n\n<p>Projektuje tak\u017ce reakcj\u0119:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>blokad\u0119,<\/li>\n\n\n\n<li>ograniczenie ekspozycji,<\/li>\n\n\n\n<li>wycofanie<\/li>\n\n\n\n<li>lub autoryzowany wyj\u0105tek.<\/li>\n<\/ul>\n\n\n\n<p>To przesuwa cz\u0119\u015b\u0107 pracy z implementacji pojedynczych sprawdze\u0144 na projektowanie systemu jako\u015bci. Nadal potrzebne s\u0105 kompetencje techniczne, znajomo\u015b\u0107 produktu i umiej\u0119tno\u015b\u0107 tworzenia test\u00f3w. Dochodzi odpowiedzialno\u015b\u0107 za sp\u00f3jno\u015b\u0107 pomi\u0119dzy ryzykiem, \u015brodowiskiem wykonania, wynikami i decyzj\u0105 biznesow\u0105.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jak mierzy\u0107 system i uruchomi\u0107 pilota\u017c?<\/strong><\/h2>\n\n\n\n<p>Metryki powinny odpowiada\u0107 na pytania o rezultat, skuteczno\u015b\u0107 i koszt:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>czy spada liczba powa\u017cnych regresji i czas odtworzenia;<\/li>\n\n\n\n<li>kt\u00f3re kontrole wykrywaj\u0105 problemy, a kt\u00f3re generuj\u0105 fa\u0142szywe alarmy;<\/li>\n\n\n\n<li>ile trwa decyzja i ile kosztuje weryfikacja;<\/li>\n\n\n\n<li>jak cz\u0119sto u\u017cywa si\u0119 wyj\u0105tk\u00f3w i czy dzia\u0142ania naprawcze s\u0105 zamykane;<\/li>\n\n\n\n<li>czy wdro\u017cenia stopniowe zatrzymuj\u0105 b\u0142\u0119dy przed rozszerzeniem ruchu.<\/li>\n<\/ol>\n\n\n\n<p>Liczba token\u00f3w, linii kodu, pull request\u00f3w lub u\u017cycie AI nie mierzy jako\u015bci. <a href=\"https:\/\/dora.dev\/insights\/finding-balance-in-the-era-of-tokenmaxxing\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >DORA ostrzega przed miarami aktywno\u015bci<\/a>, kt\u00f3re \u0142atwo oddzielaj\u0105 si\u0119 od warto\u015bci i rezultat\u00f3w dostarczania.<\/p>\n\n\n\n<p>Pierwszy pilota\u017c warto ograniczy\u0107 do jednego wa\u017cnego przep\u0142ywu. Zesp\u00f3\u0142 wybiera zmian\u0119, przypisuje klas\u0119 ryzyka i nazywa przedmioty decyzji. Nast\u0119pnie definiuje pakiet dowod\u00f3w, role oraz reakcj\u0119 na wynik negatywny. Gate pocz\u0105tkowo dzia\u0142a w trybie obserwacji. Po kalibracji fa\u0142szywych alarm\u00f3w mo\u017ce zacz\u0105\u0107 blokowa\u0107.<\/p>\n\n\n\n<p>Po kilku zmianach zesp\u00f3\u0142 sprawdza, kt\u00f3re kontrole przerwa\u0142y rzeczywiste b\u0142\u0119dy, ile kosztowa\u0142y i czy wyj\u0105tki zosta\u0142y zamkni\u0119te. Taki pilota\u017c daje podstaw\u0119 do rozszerzenia systemu bez konieczno\u015bci projektowania ca\u0142ej organizacji od podstaw.<\/p>\n\n\n<div class=\"nsw-o-blogersii-banner\">\n            <picture>\n            <source srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Testing-Lab-Desktop_.jpg\" media=\"(min-width: 992px)\" >\n            <source srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Testing-Lab-Mob_.jpg\" media=\"(min-width: 300px)\" >            <img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Testing-Lab-Desktop_.jpg\" alt=\"\"  class=\"\"  >\n        <\/picture>\n        <div class=\"cnt\">\n                    <div class=\"nsw-m-title-block -h3 -invert  -has-title-margin-bottom-0 -has-title-font-weight-bold\">\n                                <h2 class=\"nsw-m-title-block__title\">Testing &#038; QA<\/h2>\n                <\/div>\n                            <p class=\"has-nsw-p-4-font-size has-invert-color\">\n                Zapewnij jako\u015b\u0107, wydajno\u015b\u0107 i bezpiecze\u0144stwo swojego oprogramowania dzi\u0119ki naszym us\u0142ugom testowania i automatyzacji test\u00f3w.\n            <\/p>\n                            <a  href=\"https:\/\/sii.pl\/oferta\/testing-qa\/\" class=\"nsw-a-button -ghost -banner-button\"   >\n        <span>Oferta Testing&amp;QA<\/span>\n    <\/a>\n            <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Quality gate w AI-native SDLC powinien odpowiada\u0107 na jedno pytanie: <strong>jaki b\u0142\u0105d ma przerwa\u0107 ta kontrola?<\/strong><\/p>\n\n\n\n<p>Odpowied\u017a wymaga wskazania przedmiotu decyzji, profilu ryzyka, aktualnych dowod\u00f3w, warunk\u00f3w ich uniewa\u017cnienia, wersji polityki, uprawnionego w\u0142a\u015bciciela i reakcji na wynik negatywny. Quality Engineer lub Test Developer projektuje powi\u0105zania pomi\u0119dzy tymi elementami, a w\u0142a\u015bciciel ryzyka zachowuje odpowiedzialno\u015b\u0107 za decyzj\u0119.<\/p>\n\n\n\n<p>Tak zbudowany gate pozwala wykorzysta\u0107 szybko\u015b\u0107 agent\u00f3w bez mylenia wi\u0119kszej liczby zmian z wy\u017csz\u0105 jako\u015bci\u0105. Zesp\u00f3\u0142 mo\u017ce zacz\u0105\u0107 od jednego przep\u0142ywu, mierzy\u0107 skuteczno\u015b\u0107 kontroli i rozwija\u0107 system na podstawie b\u0142\u0119d\u00f3w, kt\u00f3re rzeczywi\u015bcie potrafi zatrzyma\u0107.<\/p>\n\n\n\n<p>***<\/p>\n\n\n\n<p><strong><em>Nota autora:<\/em><\/strong><em> Model decyzji, profil ryzyka i mapa miejsc kontroli s\u0105 praktyczn\u0105 syntez\u0105 proponowan\u0105 i u\u017cywan\u0105 przeze mnie. Nie maj\u0105 statusu standardu bran\u017cowego i wymagaj\u0105 dostosowania do kontekstu organizacji.<\/em><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;34627&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;2&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;2&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5&quot;,&quot;size&quot;:&quot;30&quot;,&quot;title&quot;:&quot;Quality gates w AI-native SDLC: projektowanie wiarygodnych dowod\u00f3w&quot;,&quot;width&quot;:&quot;159&quot;,&quot;_legend&quot;:&quot;{score}\\\/5&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 159px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 24px;\">\n            5\/5    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Wyobra\u017amy sobie zadanie dodania kod\u00f3w rabatowych. Agent zmienia logik\u0119 cenow\u0105, pisze testy i przygotowuje opis pull requestu. Wszystko jest sp\u00f3jne &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/quality-gates-w-ai-native-sdlc-projektowanie-wiarygodnych-dowodow\/\">Continued<\/a><\/p>\n","protected":false},"author":435,"featured_media":34630,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1317],"tags":[15518,15516,15041,12795,1766,682],"class_list":["post-34627","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-testowanie","tag-inzynieria-jakosci","tag-ai-native-sdlc","tag-agentic-ai","tag-agentic-testing","tag-dora","tag-artificial-intelligence"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/08\/AI_3.jpg","category_names":["Testowanie"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/34627","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/435"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=34627"}],"version-history":[{"count":1,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/34627\/revisions"}],"predecessor-version":[{"id":34632,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/34627\/revisions\/34632"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/34630"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=34627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=34627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=34627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}