{"id":33025,"date":"2026-02-04T05:00:00","date_gmt":"2026-02-04T04:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=33025"},"modified":"2026-02-03T15:14:43","modified_gmt":"2026-02-03T14:14:43","slug":"ai-flow-10x-produktywnosc-10x-frustracja","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/ai-flow-10x-produktywnosc-10x-frustracja\/","title":{"rendered":"AI Flow: 10x produktywno\u015b\u0107, 10x frustracja?"},"content":{"rendered":"\n<p>Niedawno natkn\u0105\u0142em si\u0119 na interesuj\u0105cy problem przydzielania dy\u017cur\u00f3w w szkole. To klasyczny przyk\u0142ad Problemu Spe\u0142nienia Ogranicze\u0144, b\u0119d\u0105cego cz\u0119\u015bci\u0105 problem\u00f3w Optymalizacji Kombinatorycznej na du\u017c\u0105 skal\u0119. Wydawa\u0142 mi si\u0119 idealnym placem zabaw do testowania, jak dzisiejsze narz\u0119dzia AI radz\u0105 sobie z czym\u015b zar\u00f3wno praktycznym jak i z\u0142o\u017conym.<\/p>\n\n\n\n<p>R\u00f3wnocze\u015bnie przegl\u0105da\u0142em liczne artyku\u0142y i posty na temat \u201eAI Flow\u201d i jego\u2026 wad. Koncept brzmi \u015bwietnie, ale historie, kt\u00f3re znalaz\u0142em, dotyczy\u0142y g\u0142\u00f3wnie frustracji i problem\u00f3w ze zmuszaniem LLM do \u201ew\u0142a\u015bciwego wykonywania pracy\u201d.<\/p>\n\n\n\n<p>Postanowi\u0142em przeprowadzi\u0107 dok\u0142adny eksperyment i sam wypr\u00f3bowa\u0107 AI Flow, przechodz\u0105c przez ca\u0142y proces tworzenia pe\u0142nowarto\u015bciowej aplikacji \u2013 od pocz\u0105tku do ko\u0144ca \u2013 we wsp\u00f3\u0142pracy z LLM. Celem nie by\u0142o tylko sprawdzenie, czy \u201eAI Flow\u201d daje wyniki, ale <strong>zrozumienie,<\/strong> <strong>jak pracowa\u0107 z modelem, jakie mog\u0105 by\u0107 problemy i jak je przezwyci\u0119\u017cy\u0107<\/strong> \u2013 <strong>w nadziei na stworzenie przepisu na efektywn\u0105 metod\u0119 pracy.\u200b<\/strong><\/p>\n\n\n\n<p>Mam nadziej\u0119, \u017ce techniki, kt\u00f3re okaza\u0142y si\u0119 pomocne, pomog\u0105 innym zachowa\u0107 \u201e10x produktywno\u015b\u0107\u201d bez odpowiadaj\u0105cej jej \u201e10x frustracji\u201d. <strong>Artyku\u0142 skupia si\u0119 na procesie rozwoju aplikacji \u2013 jego problemach i rozwi\u0105zaniach<\/strong> \u2013 a nie na problemie rozwi\u0105zywanym przez sam\u0105 aplikacj\u0119.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wyzwania rozwoju<\/strong><\/h2>\n\n\n\n<p>Podczas rozwoju aplikacji przez kilka tygodni uda\u0142o si\u0119 zweryfikowa\u0107 niekt\u00f3re z najcz\u0119\u015bciej wspominanych problem\u00f3w z AI Flow. Mi\u0142ym akcentem jest posiadanie pe\u0142nego zapisu czatu z LLM-em \u2013 pozwala to nie tylko przypomnie\u0107 sobie napotkane kwestie, ale tak\u017ce przekaza\u0107 pe\u0142n\u0105 analiz\u0119 ca\u0142ego procesu i wszystkich rozm\u00f3w!<\/p>\n\n\n\n<p>Om\u00f3wmy typy problem\u00f3w i techniki ich \u0142agodzenia lub rozwi\u0105zywania. Zanim przejdziemy do szczeg\u00f3\u0142\u00f3w, <strong>podkre\u015blam spos\u00f3b dzia\u0142ania modelu LLM: przechodzi przez ca\u0142e okno kontekstu czatu, w tym pliki kodu. Od g\u00f3ry do do\u0142u<\/strong>. To kluczowy czynnik o znacz\u0105cych implikacjach, powoduj\u0105cy niekt\u00f3re problemy \u2013 ale te\u017c wskazuj\u0105cy, gdzie szuka\u0107 pomocy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pytaj w\u0142a\u015bciw\u0105 osob\u0119, a raczej \u2013 person\u0119\u2026<\/strong><\/h2>\n\n\n\n<p>Po pierwsze: bardzo prawdopodobne, \u017ce otrzymasz r\u00f3\u017cne odpowiedzi w zale\u017cno\u015bci od tego, kogo zapytasz. St\u0105d istniej\u0105 Agenci AI. Ale nawet bez dedykowanych Agent\u00f3w mo\u017cesz sprawi\u0107, by jeden LLM dzia\u0142a\u0142 jak agent (czy nawet ca\u0142y zesp\u00f3\u0142 agent\u00f3w!) \u2013 wystarczy poprosi\u0107!<\/p>\n\n\n\n<p>Otrzymasz r\u00f3\u017cne wyniki, je\u015bli:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>poprosisz LLM: po prostu o zaimplementowanie funkcji X lub<\/li>\n\n\n\n<li>poprosisz: \u201ejako programista JS zaimplementuj funkcj\u0119 X\u201d lub<\/li>\n\n\n\n<li>poprosisz: \u201ejako programista React zaimplementuj funkcj\u0119 X\u201d lub<\/li>\n\n\n\n<li>poprosisz: \u201ejako Senior Developer wybierz w\u0142a\u015bciwe podej\u015bcie i zaimplementuj funkcj\u0119 X\u201d.<\/li>\n<\/ul>\n\n\n\n<p><strong>Ka\u017cda z pr\u00f3\u015bb daje inny rezultat.<\/strong> W przyk\u0142adach 2. i 3. sugeruj\u0119 te\u017c technologi\u0119 \u2013 to oczywi\u015bcie zmienia nieco zapytanie. I w\u0142a\u015bnie to mo\u017cesz robi\u0107:<strong> sugerowa\u0107 dziedzin\u0119, technologi\u0119, bez sztywnego narzucania sposobu implementacji.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Branching: misja niemo\u017cliwa<\/strong><\/h2>\n\n\n\n<p>Jedn\u0105 z najwi\u0119kszych wad, jakie zidentyfikowa\u0142em, jest brak zdolno\u015bci do prze\u0142\u0105czania kontekstu. Jak wspomnia\u0142em, LLM przechodzi przez ca\u0142e okno kontekstu. Je\u015bli w \u015brodku spr\u00f3bujesz zmieni\u0107 temat, bardzo trudno to przezwyci\u0119\u017cy\u0107.<\/p>\n\n\n\n<p>Scenariusz wydaje si\u0119 prosty: podczas rozwoju funkcji napotkano b\u0142\u0105d. Tworzysz brancha, by skupi\u0107 si\u0119 na b\u0142\u0119dzie. M\u00f3wisz modelowi, co zrobi\u0142e\u015b i co dalej. Rezultat? Model kontynuuje implementacj\u0119 pozosta\u0142ych zmian funkcji na branchu, gdzie poprzednie zmiany w og\u00f3le nie istniej\u0105. Lub istniej\u0105 cz\u0119\u015bciowo. Nie zignoruje nowego polecenia: \u201enapraw b\u0142\u0105d\u201d, ale b\u0119dzie trzyma\u0142 obie rzeczy w \u201eg\u0142owie\u201d, daj\u0105c nieprzewidywalne wyniki.<\/p>\n\n\n\n<p>Lekarstwo? To wyzwanie jest chyba najtrudniejszym do opanowania. Chocia\u017c branching jest og\u00f3lnie bardzo u\u017cyteczny, <strong>LLM nie prze\u0142\u0105cza kontekstu tylko dlatego, \u017ce mu ka\u017cesz. Nigdy mi si\u0119 to nie uda\u0142o!<\/strong><br><br><strong>Uwaga:<\/strong> Mimo \u015br\u00f3dtytu\u0142u, branching jest bardzo u\u017cyteczny i zaraz si\u0119 przyda z innych powod\u00f3w. Ale szybkie prze\u0142\u0105czanie kontekstu i skakanie mi\u0119dzy branchami to naprawd\u0119 \u201emisja niemo\u017cliwa\u201d. Z\u0142ota rada: <strong>pracuj\u0105c nad czym\u015b, ko\u0144cz temat, zanim przejdziesz do innego<\/strong>. Staraj si\u0119 te\u017c trzyma\u0107 techniki MVP: Minimum Viable Product. Nie rozwi\u0105zuje to problemu, ale minimalizuje negatywny wp\u0142yw.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Debugowanie \u2013 po prostu znajd\u017a b\u0142\u0105d!<\/strong><\/h2>\n\n\n\n<p>Podczas rozwoju napotkasz b\u0142\u0119dy. B\u0142\u0119dy lub nieprzewidziane konsekwencje wprowadzonych zmian. Cz\u0119sto po prostu poprosisz LLM o napraw\u0119. Czasem mu si\u0119 uda. Innym razem nie. Cz\u0119sto jeszcze bardziej zepsuje projekt, pr\u00f3buj\u0105c naprawi\u0107 b\u0142\u0105d.<\/p>\n\n\n\n<p><strong>Jak sobie radzi\u0107?<\/strong> Po pierwsze, u\u017cywaj wersji i upewnij si\u0119, \u017ce mo\u017cesz cofn\u0105\u0107 kod do stanu, w kt\u00f3rym b\u0142\u0105d wyst\u0105pi\u0142, ale zanim pr\u00f3by naprawy pogorszy\u0142y spraw\u0119. Tu mo\u017cesz skorzysta\u0107 z faktu, \u017ce LLM przechodzi przez ca\u0142e okno kontekstu: przeczyta ponownie wszystkie pr\u00f3by napraw i wyniki. Mo\u017ce wpa\u015b\u0107 na inne pomys\u0142y, ale\u2026 tu pojawia si\u0119 najpot\u0119\u017cniejsza technika, jak\u0105 odkry\u0142em. W wielu kursach radz\u0105: Daj modelowi czas na my\u015blenie. Doda\u0142em co\u015b do tego.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Daj modelowi czas na my\u015blenie\u2026 i dyskusj\u0119!<\/strong><\/h2>\n\n\n\n<p>Podczas rozwoju aplikacji odkry\u0142em, \u017ce jedn\u0105 z najskuteczniejszych technik rozwi\u0105zywania problem\u00f3w by\u0142o poproszenie modelu o <strong>zwo\u0142anie spotkania ekspert\u00f3w do om\u00f3wienia problemu<\/strong>. Chocia\u017c to wci\u0105\u017c ten sam LLM, potrafi\u0142 analizowa\u0107 problem z r\u00f3\u017cnych stron, przeprowadza\u0107 burz\u0119 m\u00f3zg\u00f3w i znajdowa\u0107 rozwi\u0105zania.<\/p>\n\n\n\n<p>Wystarczy\u0142o poprosi\u0107 o zwo\u0142anie spotkania grupy ekspert\u00f3w. Mog\u0142em wskaza\u0107, \u017ce chc\u0119, by Architekt om\u00f3wi\u0142 z Senior Developerem i Testerem dany b\u0142\u0105d. To prowadzi\u0142o czasem do wniosku, \u017ce b\u0142\u0119du nie da si\u0119 po prostu za\u0142ata\u0107 z powodu og\u00f3lnego z\u0142ego podej\u015bcia do zarz\u0105dzania stanem lub niew\u0142a\u015bciwej architektury, a LLM natychmiast sugerowa\u0142 w\u0142a\u015bciwe podej\u015bcie.<\/p>\n\n\n\n<p><strong>Nagle wyda\u0142o si\u0119 to takie proste<\/strong> \u2013 cho\u0107 ten sam LLM chwil\u0119 wcze\u015bniej nie umia\u0142 naprawi\u0107 b\u0142\u0119du.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sp\u00f3jrzmy na przyk\u0142adow\u0105 dyskusj\u0119<\/strong><\/h2>\n\n\n\n<p>Oto przyk\u0142ad, gdzie chcia\u0142em zaprojektowa\u0107 refaktoring funkcji, ale zamiast dawa\u0107 jasne wskaz\u00f3wki, kaza\u0142em LLM om\u00f3wi\u0107:<\/p>\n\n\n\n<p><strong><em>Ja:<\/em><\/strong><em> Chcia\u0142bym zwo\u0142a\u0107 spotkanie Change Management Board, bo musimy om\u00f3wi\u0107 opcje znacz\u0105cych ulepsze\u0144 adresuj\u0105cych obaw\u0119 zg\u0142oszon\u0105 przez u\u017cytkownik\u00f3w. Wykluczenia Grupowe to funkcja lubiana i u\u017cywana przez u\u017cytkownik\u00f3w. Jednak tworzenie Wykluczenia dla nawet pojedynczej przerwy w szkole z oko\u0142o 20 lokalizacjami tworzy wiele nadpisa\u0144 harmonogramu. Wykluczenie na reszt\u0119 dnia \u2013 cho\u0107 zn\u00f3w \u015bwietna funkcja doceniana przez u\u017cytkownik\u00f3w \u2013 prowadzi do setek Nadpisa\u0144 Harmonogramu.<br><br>To samo w sobie nie jest problemem. U\u017cytkownicy maj\u0105 k\u0142opoty z zarz\u0105dzaniem W\u0142asnymi Karami. Nawet z filtrami to nadal masa wierszy danych.<br>Pomys\u0142 do dyskusji: wprowadzenie grupowania W\u0142asnych Kar. Typowo i najcz\u0119\u015bciej u\u017cytkownicy Wykluczaj\u0105 na przerw\u0119 lub na dzie\u0144 \u2013 wi\u0119c grupowanie wed\u0142ug przerwy i\/lub dnia odzwierciedla\u0142oby spos\u00f3b pracy, umo\u017cliwiaj\u0105c \u0142atwiejszy przegl\u0105d istniej\u0105cych W\u0142asnych Kar i by\u0107 mo\u017ce \u0142atwiejsze usuwanie ca\u0142ych grup. Pos\u0142uchajmy opinii.<\/em><\/p>\n\n\n\n<p><strong><em>Gemini<\/em><\/strong><em>: To doskona\u0142a i krytyczna obserwacja. Obecna implementacja wyklucze\u0144 grupowych, cho\u0107 funkcjonalnie pot\u0119\u017cna, tworzy znacz\u0105cy b\u00f3l g\u0142owy w zarz\u0105dzaniu. Sugestia u\u017cytkownika co do grupowania kar jest idealnym rozwi\u0105zaniem.<\/em><\/p>\n\n\n\n<p><em>Zwo\u0142uj\u0119 teraz Change Management Board, by sformalizowa\u0107 t\u0119 propozycj\u0119.<\/em><\/p>\n\n\n\n<p><strong><em>Spotkanie Change Management Board<\/em><\/strong><\/p>\n\n\n\n<p><strong><em>Uczestnicy:<\/em><\/strong><em> Lead Developer, Ekspert UX, System Architect<\/em><\/p>\n\n\n\n<p><strong><em>Temat:<\/em><\/strong><em> Ulepszanie zarz\u0105dzania W\u0142asnymi Karami generowanymi grupowo<\/em><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><em>Stwierdzenie problemu (zg\u0142oszone przez u\u017cytkownika)<br><\/em><\/strong><em>U\u017cytkownicy uwielbiaj\u0105 funkcje Wykluczenie na przerw\u0119\u201d i \u201eWykluczenie na dzie\u0144\u201d. Jednak te akcje generuj\u0105 du\u017c\u0105 liczb\u0119 indywidualnych wpis\u00f3w CustomPenalty (dziesi\u0105tki lub setki). Obecny CustomPenaltiesManager wy\u015bwietla je jako p\u0142ask\u0105 list\u0119, co przyt\u0142acza i uniemo\u017cliwia zarz\u0105dzanie lub cofanie pojedynczej akcji bulk. Istniej\u0105ce filtry s\u0105 niewystarczaj\u0105ce dla tej skali danych.<\/em> <\/li>\n\n\n\n<li><strong><em>Proponowane rozwi\u0105zanie i opinie ekspert\u00f3w<\/em><\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><em>Pogl\u0105d Architekta:<\/em><\/strong><em> G\u0142\u00f3wny problem to brak stanu w strukturze danych manualPenalties; nie wie, dlaczego kara zosta\u0142a utworzona. Rozwi\u0105zanie: doda\u0107 banId lub groupId do obiektu ManualPenalty. Przy bulk ban generujemy pojedynczy unikalny ID i przypisujemy go ka\u017cdej karze z tej akcji. Tworzy to logiczne grupowanie w danych.<\/em><\/li>\n\n\n\n<li><strong><em>Pogl\u0105d Eksperta UX:<\/em><\/strong><em> Popieram w pe\u0142ni. Ca\u0142kowicie przeprojektowa\u0107 UI CustomPenaltiesManager. Zamiast p\u0142askiej tabeli u\u017cy\u0107 komponentu Accordion. Ka\u017cdy AccordionItem reprezentuje grup\u0119 ban. Trigger wy\u015bwietla czytelny summary (np. \u201eWykluczenie dla Jana Kowalskiego w poniedzia\u0142ek na Przerw\u0119 0 [4 kary]\u201d) i przycisk \u201eUsu\u0144 grup\u0119\u201d. Rozwini\u0119cie pokazuje ma\u0142\u0105 tabel\u0119 z detalami dla power user\u00f3w. Odpowiada modelowi my\u015blowemu u\u017cytkownika.<\/em><\/li>\n\n\n\n<li><strong><em>Pogl\u0105d Lead Developera:<\/em><\/strong><em> Plan solidny. Zmiana danych minimalna i wstecznie kompatybilna. Zmiana UI: zast\u0105pi\u0107 tabel\u0119 akordeonem \u2013 proste. Zaktualizowa\u0107 schedule-debugger.tsx o banId przy tworzeniu ban\u00f3w i zrefaktorowa\u0107 custom-penalties-manager.tsx do grupowania po tym ID i wy\u015bwietlania w akordeonie. Usuwanie ca\u0142ej grupy jednym klikiem to kluczowy zysk u\u017cyteczno\u015bci.<\/em><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><em>Decyzja i plan dzia\u0142a\u0144<br><\/em><\/strong><em>Zarz\u0105d jednog\u0142o\u015bnie aprobuje. Plan:<\/em>\n<ul class=\"wp-block-list\">\n<li><em>Zaktualizowa\u0107 struktur\u0119 danych: Doda\u0107 opcjonalny banId do typu ManualPenalty w src\/types\/index.ts.<\/em><\/li>\n\n\n\n<li><em>Ulepszy\u0107 tworzenie wyklucze\u0144: Zmodyfikowa\u0107 schedule-debugger.tsx do generowania i przypisywania unikalnego banId przy akcjach \u201eWykluczenie na przerw\u0119\u201d lub \u201eWykluczenie na dzie\u0144\u201d.<\/em><\/li>\n\n\n\n<li><em>Przeprojektowa\u0107 Penalty Manager: Ca\u0142kowity refaktoring custom-penalties-manager.tsx z u\u017cyciem Accordion, grupowaniem po banId i akcj\u0105 usuwania grupy.<br>Rozwi\u0105\u017ce to obaw\u0119 u\u017cytkownika i zapewni intuicyjne, skalowalne zarz\u0105dzanie. Teraz wdro\u017c\u0119 te zmiany.<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Nie da si\u0119 naprawi\u0107? Eskaluj!<\/strong><\/h2>\n\n\n\n<p>Niekt\u00f3re problemy by\u0142y naprawd\u0119 trudne do naprawienia. Kilka razy utkn\u0105\u0142em w p\u0119tli:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pro\u015bba o napraw\u0119.<\/li>\n\n\n\n<li>Testowanie, tylko po to by odkry\u0107, \u017ce nie dzia\u0142a.<\/li>\n\n\n\n<li>Przegl\u0105d implementacji, pr\u00f3ba zrozumienia problemu.<\/li>\n\n\n\n<li>Powr\u00f3t do punktu 1.<\/li>\n<\/ul>\n\n\n\n<p>Niekt\u00f3re kwestie s\u0105 bardzo uporczywe. Jednym z przypadk\u00f3w by\u0142 prosty b\u0142\u0105d z tabel\u0105 wychodz\u0105c\u0105 poza ekran. Pierwsze pro\u015bby o napraw\u0119 da\u0142y overflow-x-auto. Ale nie dzia\u0142a\u0142o. Problem zdiagnozowano b\u0142\u0119dnie, jako wy\u0142\u0105cznie w komponencie tabeli, a kolejne poprawki ujawni\u0142y, \u017ce by\u0142 wy\u017cej w hierarchii komponent\u00f3w.<\/p>\n\n\n\n<p>Po licznych nieudanych pr\u00f3bach poprosi\u0142em LLM o udawanie Solution Architecta i g\u0142\u0119bok\u0105 analiz\u0119 problemu.<br><br><strong>Rezultat:<\/strong> Powiedziano mi, \u017ce to \u201eklasyczne zachowanie flexbox, gdzie element flex nie kurczy si\u0119 poni\u017cej minimalnej szeroko\u015bci tre\u015bci\u201d. Rozwi\u0105zanie: przebudowa element\u00f3w strony z dodaniem div z klasami flex-1 i min-w-0.<\/p>\n\n\n\n<p>Ilustruje to, \u017ce zmiana ramy zapytania przez eskalacj\u0119 persony \u2013 z developera na architekta \u2013 mo\u017ce przekszta\u0142ci\u0107 rozumowanie LLM i doprowadzi\u0107 do prze\u0142omu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Drobne nieistotne zmiany<\/strong><\/h2>\n\n\n\n<p>Najcz\u0119stszym omawianym problemem jest stosowanie przez LLM drobnych, ca\u0142kowicie nieistotnych dla promptu zmian w kodzie. To bardzo ludzkie: ile razy przegl\u0105daj\u0105c kod skupiony na jednej rzeczy, zauwa\u017cy\u0142em co\u015b, co mog\u0119 \u201eprzy okazji\u201d naprawi\u0107? LLM robi to samo: przechodzi przez ca\u0142y plik, czyta linijka po linijce i ma r\u00f3\u017cne \u201emy\u015bli\u201d. <\/p>\n\n\n\n<p>By unikn\u0105\u0107 detali zwi\u0105zanych z kodowaniem, prosty przyk\u0142ad aktualizacji pliku t\u0142umacze\u0144. Wskaza\u0142em brakuj\u0105ce t\u0142umaczenie:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"537\" height=\"292\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1.png\" alt=\"Przyk\u0142ad pliku t\u0142umacze\u0144\" class=\"wp-image-33026\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1.png 537w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image1-300x163.png 300w\" sizes=\"(max-width: 537px) 100vw, 537px\" \/><figcaption class=\"wp-element-caption\">Ryc. 1 Przyk\u0142ad pliku t\u0142umacze\u0144<\/figcaption><\/figure>\n\n\n\n<p>Rezultat? Dwa elementy dodane:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"628\" height=\"259\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image2.png\" alt=\"Przyk\u0142ad aktualizacji pliku t\u0142umacze\u0144\" class=\"wp-image-33028\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image2.png 628w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image2-300x124.png 300w\" sizes=\"(max-width: 628px) 100vw, 628px\" \/><figcaption class=\"wp-element-caption\">Ryc. 2 Przyk\u0142ad aktualizacji pliku t\u0142umacze\u0144<\/figcaption><\/figure>\n\n\n\n<p>Jedyne lekarstwo, jakie mam (niestety): u\u017cywaj branchy dla ka\u017cdej zmiany i przeprowadzaj dok\u0142adne code review przy merge. Oczywi\u015bcie mo\u017cesz poprosi\u0107 LLM o code review!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Komentarz \u2013 dzi\u015b jest, jutro zniknie<\/strong><\/h2>\n\n\n\n<p>Wynikiem tych \u201edrobnych, nieistotnych zmian\u201d jest \u201ema\u0142y\u201d efekt uboczny: za ka\u017cdym przej\u015bciem przez plik, LLM przegl\u0105da te\u017c komentarze. I nader cz\u0119sto uznaje je za zb\u0119dne, my\u015bl\u0105c: \u201eto oczywiste, funkcja poni\u017cej jest prosta i jasna \u2013 usu\u0144my komentarz!\u201d. Bardzo frustruj\u0105ce. <\/p>\n\n\n\n<p>Tu <code>title<\/code> dodano tu\u017c mi\u0119dzy <code>individualGroups<\/code> a poprzedzaj\u0105cym komentarzem. I komentarz znika\u2026<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"634\" height=\"222\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image3.png\" alt=\"Znikanie komentarzy\" class=\"wp-image-33030\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image3.png 634w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image3-300x105.png 300w\" sizes=\"(max-width: 634px) 100vw, 634px\" \/><figcaption class=\"wp-element-caption\">Ryc. 3 Znikanie komentarzy<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wymagania wst\u0119pne dla kodowania LLM<\/strong><\/h2>\n\n\n\n<p>Jak si\u0119 nauczy\u0142em, rosn\u0105ce znaczenie maj\u0105 umiej\u0119tno\u015bci mniej techniczne. Lubi\u0119 struktury danych i to mi pomaga, ale du\u017ca cz\u0119\u015b\u0107 rozwoju wymaga\u0142a ode mnie roli facylitatora \u2013 co by\u0142o mo\u017cliwe dzi\u0119ki wieloletniemu do\u015bwiadczeniu z projekt\u00f3w. Rozbijmy to.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Wiedz, o czym m\u00f3wisz<\/strong><\/h3>\n\n\n\n<p>LLM mo\u017ce zakodowa\u0107 niemal wszystko, ale musisz by\u0107 w\u0142a\u015bciwym partnerem: precyzyjnie wyra\u017ca\u0107 potrzeby, dyskutowa\u0107 alternatywy, detale problemu, recenzowa\u0107 implementacj\u0119 i aspekty (algorytmy, architektury, stany itp.). Tu techniczne umiej\u0119tno\u015bci i wiedza bardzo pomagaj\u0105 \u2013 ale tylko do dyskusji. <strong>Komunikacja jest kluczem. Musisz nazwa\u0107 i wyja\u015bni\u0107, nie tylko wiedzie\u0107.<\/strong><\/p>\n\n\n\n<p>Oczywi\u015bcie, potrzebujesz szczeg\u00f3\u0142owej eksperckiej wiedzy o temacie, nad kt\u00f3rym pracujesz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Wiedz, z kim rozmawia\u0107<\/strong><\/h3>\n\n\n\n<p>Musisz by\u0107 \u015bwiadomy r\u00f3\u017cnych r\u00f3l w fazach designu i implementacji. Kiedy dyskutowa\u0107 z QA, kiedy omawia\u0107 architektur\u0119 czy kwestionowa\u0107 implementacj\u0119. Tu do\u015bwiadczenie projektowe procentuje, niezale\u017cnie od r\u00f3l, jakie pe\u0142ni\u0142o si\u0119 w przesz\u0142o\u015bci. <strong>Klucz: wiedzie\u0107, jak dziel\u0105 si\u0119 odpowiedzialno\u015bci i co obejmuje ka\u017cda specjalizacja oraz rola.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Znaj cykl rozwoju<\/strong><\/h3>\n\n\n\n<p>Musisz zna\u0107 cykl:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>projektowanie,<\/li>\n\n\n\n<li>implementacja,<\/li>\n\n\n\n<li>testy,<\/li>\n\n\n\n<li>przegl\u0105d implementacji.<\/li>\n<\/ul>\n\n\n\n<p>Ka\u017cdy krok ma cel i wymaga uwagi. Na szcz\u0119\u015bcie LLM pomaga: dyskutuj wymagania z Analitykiem, design z Ekspertem UX, popro\u015b Testera o analiz\u0119 implementacji \u2013 wszyscy s\u0105 pod r\u0119k\u0105!<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img decoding=\"async\" width=\"1019\" height=\"1024\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image4-1019x1024.png\" alt=\"Cykl rozwoju (\u017ar\u00f3d\u0142o: wikimedia)  \" class=\"wp-image-33032\" style=\"width:504px;height:auto\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image4-1019x1024.png 1019w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image4-298x300.png 298w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image4-150x150.png 150w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image4-768x772.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image4-1528x1536.png 1528w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/image4.png 2037w\" sizes=\"(max-width: 1019px) 100vw, 1019px\" \/><figcaption class=\"wp-element-caption\">Ryc. 4 Cykl rozwoju (\u017ar\u00f3d\u0142o: <a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:SDLC_-_Software_Development_Life_Cycle.jpg\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >wikimedia<\/a>)\u00a0<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/oferta\/data-analytics\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"737\" height=\"170\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/biznes.jpg\" alt=\"oferta\" class=\"wp-image-33034\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/biznes.jpg 737w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/biznes-300x69.jpg 300w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wnioski<\/strong><\/h2>\n\n\n\n<p>Czy LLM mog\u0105 mnie zast\u0105pi\u0107? LLM mog\u0105 by\u0107 lepsze w niemal wszystkim. To jak budowa domu: elektryk jest lepszy ode mnie w uk\u0142adaniu kabli, robotnicy wykonuj\u0105 lepiej swoj\u0105 prac\u0119, nawet je\u015bli wiem dok\u0142adnie, co robi\u0107. Nie jestem stolarzem. Ani dekarzem.<\/p>\n\n\n\n<p><strong>Ale jestem tym, kto wie, czego chce i jak.<\/strong> <strong>Mog\u0119 rozmawia\u0107 z ka\u017cdym, dyskutowa\u0107 detale i sprawi\u0107, by projekt odzwierciedla\u0142 wizj\u0119.<\/strong><\/p>\n\n\n\n<p>Z dost\u0119pnymi LLM ustrukturyzowana wsp\u00f3\u0142praca jest wa\u017cniejsza ni\u017c kiedykolwiek. Zawsze by\u0142a wa\u017cna w zespole, a teraz jeszcze wa\u017cniejsza, bo masz zesp\u00f3\u0142 nawet solo. Upewnij si\u0119 wi\u0119c, \u017ce masz partnera, a nie nieprzewidywalnego drugiego pilota, kt\u00f3ry szarpie stery po swojemu!<\/p>\n\n\n\n<p>Ostatecznie najistotniejsz\u0105 rol\u0105 LLM nie jest bezb\u0142\u0119dne kodowanie, ale bycie elastycznym partnerem dyskusji \u2013 wzmocnionym o w\u0142a\u015bciwe persony, wskaz\u00f3wki i procesy. To spos\u00f3b na&nbsp; \u201eproduktywno\u015b\u0107 x10\u201d bez \u201c\u201dfrustracji x10\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Notka ko\u0144cowa<\/strong><\/h2>\n\n\n\n<p>Artyku\u0142 nie zosta\u0142 wygenerowany przez AI. Powsta\u0142 jednak we wsp\u00f3\u0142pracy z LLM \ud83d\ude42 Aplikacj\u0119 mo\u017cesz wypr\u00f3bowa\u0107 tutaj:<a href=\"https:\/\/dutywise.maciejg.pl\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" > DutyWise<\/a>.<\/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;33025&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;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 ( votes: 0)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;AI Flow: 10x produktywno\u015b\u0107, 10x frustracja?&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&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: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Niedawno natkn\u0105\u0142em si\u0119 na interesuj\u0105cy problem przydzielania dy\u017cur\u00f3w w szkole. To klasyczny przyk\u0142ad Problemu Spe\u0142nienia Ogranicze\u0144, b\u0119d\u0105cego cz\u0119\u015bci\u0105 problem\u00f3w Optymalizacji &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/ai-flow-10x-produktywnosc-10x-frustracja\/\">Continued<\/a><\/p>\n","protected":false},"author":771,"featured_media":33036,"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":[1314],"tags":[6295,2794,1546,680,1032],"class_list":["post-33025","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-ai-flow","tag-da","tag-przeglad-narzedzi","tag-ai","tag-case-study"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/02\/AI_1.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33025"}],"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\/771"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=33025"}],"version-history":[{"count":1,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33025\/revisions"}],"predecessor-version":[{"id":33038,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33025\/revisions\/33038"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/33036"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=33025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=33025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=33025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}