Latest / M365.FM – podcast o Microsoft 365, Copilot i AI po polsku / Koniec z łataniem błędów: tryb agenta GitHub Copilot dla .NET i Azure (Dubbing AI)
Transcript
- 0:00Gotowi na 10 dni Microsoft 365, Kopilota, AI, Azure oraz ludzi kształtujących przyszłość pracy?
- 0:07W styczniu wraca M365Con i tym razem działamy z większym rozmachem.
- 0:12Dołącz do nas, by wziąć udział w sesjach na żywo, pokazach praktycznych i zdobyć wiedzę od MVP oraz ekspertów z całego świata.
- 0:18Żadnych nudnych prezentacji, żadnych niekończących się modnych haseł.
- 0:22Zajmujemy się prawdziwymi wyzwaniami, Kopilot Studio agentami, AI Fabric, bezpieczeństwem, ładem korporacyjnym i automatyzacją.
- 0:29Niezależnie od tego, czy jesteś specjalistą i programistą, czy liderem biznesowym, mamy sesje przygotowane właśnie dla Ciebie.
- 0:35Podczas 10 pełnych dni zgłębisz wiele technologii i nawiążesz kontakty z globalną społecznością.
- 0:40Oglądaj na żywo i zabierz praktyczne wnioski do swojej organizacji.
- 0:44Styczeń 2027 roku, 10 dni, jedna społeczność Microsoft.
- 0:49Rejestracja jest już otwarta.
- 0:51Wejdź na m365con.net i zarezerwuj miejsce już dziś.
- 0:56To m365con.net
- 0:58Dołącz teraz na m365con.net i widzimy się na żywo w styczniu.
- 1:05Jeśli kiedykolwiek otworzyłeś rozwiązanie i poczułeś się przytłoczony gąszczem plików, odniesień i błędów czyhających na każdym kroku, nie jesteś sam.
- 1:12Większość programistów pracuje reaktywnie, łatając tu i debugując tam.
- 1:15Tryb agenta w GitHub Kopilot ma na celu utrzymanie szerszego kontekstu i koordynację zmian między plikami.
- 1:20W tym filmie pokażemy, jak ten przepływ pracy wygląda w rzeczywistym projekcie .net i Azure.
- 1:25Przeanalizujemy działające rozwiązanie i pokażemy stan przed oraz po zmianach wprowadzonych przez agenta.
- 1:28Zobaczysz, jak generować kod dla wielu plików przy mniejszym nakładzie pracy, szybciej rozwiązywać błędy międzyplikowe, a nawet używać opisu w języku naturalnym do tworzenia szkieletu funkcji.
- 1:36Zanim jednak do tego przejdziemy, zacznijmy od ukrytych kosztów pętli debugowania, w której wielu z nas tkwi każdego dnia.
- 1:41Ukryty koszt doraźnego debugowania.
- 1:43Siadasz do naprawy błędu, który wygląda na dość prosty.
- 1:46Aplikacja nie chce się skompilować, a konsola wskazuje linię w głównym pliku projektu.
- 1:50Poprawiasz metodę, kompilujesz ponownie i myślisz, że rozwiązałeś problem, aż ten sam komunikat pojawia się w nieco innej formie.
- 1:56Mija kolejne pół godziny, zanim dostrzeżesz prawdziwy problem.
- 1:59Brakująca zależność ukryta gdzieś w innym folderze projektu.
- 2:02Zanim poprawisz referencję i wdrożysz zmiany, większość popołudnia przepada na łataniu błędów.
- 2:07Praca nad zaplanowaną funkcją zostaje przełożona na jutro.
- 2:09Ten wzorzec jest tak powszechny, że wydaje się normalny.
- 2:13Pracujesz do przodu, ponieważ każdy naprawiony błąd sprawia wrażenie sukcesu.
- 2:16W praktyce kręcisz się w kółko.
- 2:17Pętla to kodowanie, kompilacja, błąd, poprawka i powtórka.
- 2:21Godziny znikają na ściganiu przyczyn i skutków, a efektem netto jest reaktywny postęp, a nie realne usprawnienia.
- 2:27Ilu z Was straciło popołudnie na dokładnie taką pętlę?
- 2:29Zostaw komentarz, przeczytam najpopularniejsze odpowiedzi.
- 2:32To, co wyczerpuje w tym cyklu, to fakt, że nasze narzędzia stale się rozwijają, a schemat pracy nie.
- 2:37Edytory zyskują nowe funkcje, frameworki ewoluują, a integracje stają się głębsze, ale debugowanie wciąż wymaga reaktywnego podejścia.
- 2:44To jak próba powstrzymania pożaru za pomocą wiadra wody.
- 2:47Każdy wybuch jest gaszony na bieżąco, ale przyczyny, które go wywołały, pozostają, niemal gwarantując kolejny pożar.
- 2:52A z każdą zmianą karty ukryty koszt rośnie.
- 2:55Przechodzisz z klasy serwisowej do pliku konfiguracyjnego, a potem skaczesz do grafu zależności.
- 3:00Każda taka zmiana wyrywa Cię z toku myślenia, wymuszając mentalny reset.
- 3:04Nie chodzi tylko o sekundy spędzone na przełączaniu okien, ale o koszt odtwarzania kontekstu wciąż na nowo.
- 3:09W ciągu dnia te małe resety sumują się w coś naprawdę męczącego.
- 3:13Dla pojedynczych programistów zmęczenie objawia się frustracją i stratą czasu.
- 3:16W zespołach pracujących nad projektami korporacyjnymi wpływ ten się multiplikuje.
- 3:20Pętle debugowania spychają cele sprintu na boczny tor, opóźniają premiery funkcji i tworzą dług, który rośnie szybciej niż jest spłacany.
- 3:26Pogłębianie długu technicznego to tylko kolejny efekt uboczny godzin traconych na gaszenie pożarów.
- 3:31Wiele zespołów zgłasza, że znaczna część ich czasu pracy jest wysysana przez reaktywne debugowanie.
- 3:35To nie jest najbardziej ekscytująca część inżynierii.
- 3:38Nikt nie planuje harmonogramu prac wokół pięciokrotnego ścigania tego samego błędu zależności, a jednak to tam ucieka moc przerobowa tydzień po tygodniu.
- 3:44Kiedy naprawianie błędów staje się definicją postępu, tworzenie nowych funkcji schodzi na drugi plan, a architektura po cichu cierpi w tle.
- 3:51Niewygodna prawda jest taka, że doraźne debugowanie nie tylko spowalnia pracę.
- 3:55Wzmacnia kulturę reagowania zamiast projektowania.
- 3:58Spędzasz czas na gaszeniu pożarów, a nie na budowaniu systemów.
- 4:02Może to utrzymać produkt przy życiu na krótką metę, ale ogranicza skalowalność zespołu i pewność wdrażania zmian.
- 4:07Zatrzymajmy się więc przy tym obrazie gaszenie pożarów.
- 4:10Pędź do źródła ognia, wylej wodę, idź dalej.
- 4:12Problem nie polega na tym, że programiści nie są w tym dobrzy.
- 4:15Są.
- 4:15Problem w tym, że płomienie nigdy tak naprawdę nie gasną.
- 4:18Po prostu przenoszą się, wybuchając w nowych plikach, projektach i konfiguracjach, utrzymując wszystkich w trybie reagowania zamiast tworzenia.
- 4:25To rodzi pytanie, co by było, gdyby ten cykl nie spoczywał tylko na tobie?
- 4:29Co jeśli powtarzalne czynności, czyli śledzenie, przełączanie i łatanie można by obsłużyć inaczej, podczas gdy ty skupiasz się na budowaniu?
- 4:36Bo choć presja gaszenia pożarów jest oczywista, istnieje inny punkt zapalny, którego jeszcze nie poruszyliśmy.
- 4:41Prawdziwy ciężar pojawia się, gdy projekt to nie tylko jeden plik czy moduł.
- 4:45Dzieje się tak, gdy potrzebna poprawka obejmuje wiele warstw jednocześnie.
- 4:48Wyobraź sobie, że otwierasz rozwiązanie, w którym logika rozciąga się na różne projekty, usługi i biblioteki.
- 4:54Potrzebny element znajduje się w trzech miejscach naraz, a utrzymanie tego w głowie to osobna walka.
- 5:01Chaos wielu plików kontra kontrola kontekstu przez AI.
- 5:03Gdy projekty obejmują wiele warstw, prawdziwym wyzwaniem nie jest pisanie kodu.
- 5:08Chodzi o to, by utrzymać wszystkie ruchome części w całości.
- 5:11Właśnie tutaj napięcie między chaosem wielu plików a kontrolą kontekstu przez AI ujawnia się najwyraźniej.
- 5:16Weźmy duże rozwiązanie .NET z kilkunastoma lub większą liczbą projektów.
- 5:19Każda nowa funkcja zazwyczaj dotyka kilku warstw jednocześnie.
- 5:22Kontroler w jednym miejscu, usługa w innym i zestaw plików konfiguracyjnych gdzie indziej.
- 5:27Zanim napiszesz choćby jedną linię, spędzasz czas na śledzeniu referencji i sprawdzaniu zależności, mając nadzieję, że mała zmiana nie spowoduje nieoczekiwanych błędów w dalszej części łańcucha.
- 5:35Taki przepływ pracy nie jest wyjątkiem.
- 5:37Jest to norma w aplikacjach korporacyjnych, zwłaszcza gdy w grę wchodzą usługi Azure i integracje.
- 5:42Struktura tych systemów nie jest płaska.
- 5:44Interfejsy mapowania, wstrzykiwania zależności i odwołania między projektami odgrywają tu swoją rolę.
- 5:50Gdy dochodzi Azure, niektóre zależności wykraczają poza folder rozwiązania, aplikacje funkcyjne, powiązania, serwis bus, ustawienia zasobów, połączenia z pamięcią.
- 5:58Koordynujesz kod w IDE, pliki konfiguracyjne na dysku i usługi zdefiniowane w chmurze.
- 6:03Żaden z nich nie przejmuje się tym, że wolisz mniej klikania.
- 6:06Za każdym razem, gdy zmieniasz kontekst, tracisz energię na odtwarzanie szerszego obrazu.
- 6:10Większość z nas próbuje żonglować tym kontekstem w pamięci roboczej.
- 6:13Początkowo jest to wykonalne, ale w miarę wzrostu projektu wkradają się błędy.
- 6:16Dodajesz nową metodę w usłudze, ale zapominasz o jej rejestracji w D.
- 6:19Kodujesz funkcję Azure i dopiero później zdajesz sobie sprawę, że powiązanie nigdy nie zostało dodane do host, jon, ani szablonu wdrożenia.
- 6:25Nic Cię nie ostrzega aż do momentu uruchomienia, kiedy debugujesz zamiast budować.
- 6:28Sam kod nie jest najtrudniejszą częścią.
- 6:30Jest nią koordynacja między plikami.
- 6:32Każdy zna uczucie przeskakiwania między kartami z kontrolera do usługi, potem do modelu, następnie do plików konfiguracyjnych i z powrotem, by w końcu zapomnieć, po co w ogóle otworzyłeś ten plik.
- 6:42To drobne zakłócenie powtarzane dziesiątki razy dziennie.
- 6:44Te interakcje sumują się, tworząc tarcie, które hamuje realny postęp.
- 6:48Efektem jest wolniejsze dostarczanie nie dlatego, że pisanie jest wolne, ale dlatego, że utrzymywanie wszystkiego w synchronizacji kradnie koncentrację.
- 6:54Ten narzut rośnie w projektach typu Cloud First.
- 6:57Azure umieszcza kluczowe ustawienia w wielu miejscach, lokalnych plikach konfiguracyjnych, zmiennych środowiskowych, szablonach arm lub bicep oraz potokach chi ciąg dalszy.
- 7:06To, co wygląda na pojedyncze zgłoszenie funkcji, często rozciąga się na cztery warstwy abstrakcji.
- 7:10Ta złożoność nie jest opcjonalna.
- 7:12Jest ona wpisana w sposób działania całego ekosystemu.
- 7:15W tym właśnie miejscu tryb agenta, agent mode, stanowi potencjalny punkt zwrotny.
- 7:18Zamiast pozostawiać całą tę orkiestrację, tobie zaprojektowano go tak, aby utrzymywał szerszy kontekst w wielu plikach.
- 7:23Oznacza to, że gdy prosisz o zmianę w jednej warstwie, nie ignoruje on pozostałych.
- 7:27W trakcie demo stworzę nową funkcję Azure i pokażę, jak agent pomaga, generując treść metody, tworząc konfigurację powiązań oraz aktualizując host.
- 7:34I on, a nawet sugerując odpowiednią rejestrację wstrzykiwania zależności, di.
- 7:38Zazwyczaj jest to wieloetapowy proces rozproszony w różnych plikach.
- 7:41Agent może usprawnić to działanie do postaci jednego przepływu.
- 7:44Nie chodzi o zastąpienie twojego osądu, lecz o usunięcie powtarzalnej pracy administracyjnej, abyś mógł skupić się na realnych wyborach projektowych.
- 7:50Ludzie potrafią utrzymać w głowie ogólny zarys lub szkic na tablicy.
- 7:54Sztuczna inteligencja potrafi śledzić szczegóły plik po pliku, nie tracąc przy tym wątku.
- 7:58To, co dla nas stanowi ogromne obciążenie poznawcze, dla agenta jest jedynie podstawowym kontekstem.
- 8:02W praktyce różnica polega na przejściu odżonglowania wieloma kartami do orkiestrowanych zmian, które pozostają ze sobą zsynchronizowane.
- 8:07Podczas prezentacji pokażę również utworzony przez agenta PulliQuest lub Div, abyś mógł zobaczyć dokładnie, jakie edycje zostały wprowadzone.
- 8:12Ta przejrzystość ma znaczenie.
- 8:14Masz pełną kontrolę, aby przejrzeć i zatwierdzić zmiany, podczas gdy żmudna praca nad aktualizacją wielu plików wykonuje się za Ciebie.
- 8:19Zamiast spędzać popołudnie na łączeniu fragmentów kodu, zlecasz zmianę raz, potwierdzasz wygenerowane aktualizacje i przechodzisz do projektowania na wyższym poziomie.
- 8:26Ulgą nie są tylko zaoszczędzone kliknięcia czy naciśnięcia klawiszy, lecz skupienie się na rozwiązywaniu rzeczywistych problemów zamiast odtwarzaniu powiązań między tuzinem plików.
- 8:34Ta zaleta uwidacznia się najbardziej, gdy coś się psuje, ponieważ nawet przy lepszej obsłudze kontekstu systemy zawodzą, konfiguracje się rozjeżdżają, a błędne odwołania powracają.
- 8:42I tu zaczyna się kolejny test, w jaki sposób błędy są wykrywane i naprawiane, gdy już się pojawią.
- 8:47Od polowania na błędy po autonomiczne poprawki.
- 8:49Pomyśl, jak często trafiasz na komunikat o błędzie, który wskazuje bezpośrednio na jeden konkretny plik.
- 8:53Podążasz za śladem stosu do wskazanej metody, wprowadzasz małą poprawkę i uruchamiasz ponowną kompilację.
- 8:58Wydaje się to oczywistym rozwiązaniem, dopóki ten sam błąd nie pojawi się ponownie w nieco innej formie.
- 9:03Wtedy zdajesz sobie sprawę, że ślad stosu wskazywał tylko objaw.
- 9:06Prawdziwy problem leży gdzie indziej, być może w klasie pomocniczej lub jest ukryty w pliku konfiguracyjnym, którego nie otwierałeś od tygodnia.
- 9:11Każdy programista doświadczył tego rodzaju zmylenia.
- 9:14To, co wygląda na problem, wcale nie jest miejscem, gdzie leży rozwiązanie.
- 9:16To błyskawicznie pożera czas.
- 9:18Poprawiasz jedną rzecz, przebudowujesz, czekasz.
- 9:20Potem wita Cię nowy błąd, prowadzący do kolejnego pliku, kolejnej poprawki i kolejnej przebudowy.
- 9:25Ta pętla wydaje się produktywna, bo działasz, piszesz, kompilujesz, ale w rzeczywistości to raczej metoda prób i błędów niż właściwe rozwiązanie.
- 9:32Ten cykl potrafi pochłonąć godziny, zostawiając Cię z drobnymi poprawkami kosmetycznymi, bez realnych postępów nad funkcją, od której zacząłeś.
- 9:38Prawdziwym kosztem jest tutaj utracona szansa.
- 9:40Będąc uwięzionym w rytmie przebudowywania i ponawiania prób, nie rozwiązujesz problemów biznesowych ani nie dostarczasz funkcjonalności, na które czekają użytkownicy.
- 9:47Pęd marnuje się na domysły zamiast na projektowanie.
- 9:50W danej chwili wydaje się to pracą, ale te godziny niewiele wnoszą poza utrzymaniem systemu w stanie używalności.
- 9:56W skali zespołu ten powierzchowny ruch spowalnia wszystko i tworzy zaległości w funkcjach, które są ciągle przekładane.
- 10:01W tym miejscu przepływ pracy oparty na agencie zaczyna wyglądać inaczej.
- 10:05Pomysł nie polega na zatrzymaniu się na jednej linii wskazanej przez ślad stosu.
- 10:08Zamiast tego jest zaprojektowany tak, aby zachować kontekst całego systemu, pytając nie tylko, co powinien robić ten plik,
- 10:14ale jaka sekwencja zmian jest potrzebna w powiązanych elementach, aby przywrócić spójność.
- 10:18W praktyce oznacza to, że agent może proponować edycje obejmujące wiele plików.
- 10:22Na przykład w demo zobaczysz, że gdy metoda wymaga zmian, agent może zasugerować pasujące poprawki w powiązanych konfiguracjach lub szablonach wdrożeniowych,
- 10:29zamiast zmuszać Cię do ich szukania.
- 10:30To krok od autouzupełniania ku czemuś znacznie szerszemu.
- 10:33Autouzupełnianie kończy linię, a agent koordynuje działania w wielu plikach.
- 10:37Ta koordynacja jest najważniejsza, gdy błędy nie ograniczają się do jednego miejsca.
- 10:40Weźmy typowy scenariusz Azure.
- 10:42Stworzyłeś nową aplikację funkcji, ale po wdrożeniu wyzwalacz kolejki zawodzi, ponieważ powiązanie nie pasuje do sygnatury metody.
- 10:48Zazwyczaj przeszukujesz logi, sprawdzasz, które powiązanie jest błędne, ręcznie dostosowujesz pliki od SON funkcji,
- 10:53a może nawet zmieniasz szablon infrastruktury, jeśli tam również wartość jest niedopasowana.
- 10:57Każdy krok to osobne polowanie, a każda poprawka uruchamia kolejny test.
- 11:01W trybie agenta przepływ pracy wygląda inaczej.
- 11:04Może on zaproponować zmiany kodu, wygenerować poprawne powiązanie JSON funkcji
- 11:07i wyświetlić propozycje edycji skryptów wdrożeniowych, jeśli są one niespójne.
- 11:10Przeglądasz, zatwierdzasz i idziesz naprzód, nie tracąc godzin na łączenie każdej warstwy z osobna.
- 11:14Kluczem jest tutaj zaufanie.
- 11:16Nikt nie powinien odnosić wrażenia, że w tle dzieją się niewidoczne edycje.
- 11:18Właśnie dlatego proces weryfikacji jest tak ważny.
- 11:20W tym demo przejdziemy przez to wspólnie.
- 11:22Agent sugeruje skoordynowane zmiany.
- 11:24Otwieramy podgląd zmian, aby sprawdzić, co dokładnie wygenerował model, uruchamiamy testy jednostkowe,
- 11:29walidujemy kompilację lokalnie i dopiero wtedy decydujemy o akceptacji lub odrzuceniu poprawek.
- 11:33Ta pętla walidacji zapewnia pełną kontrolę, eliminując jednocześnie żmudną pracę.
- 11:37Warto podkreślić, agenci AI pomagają działać szybciej, ale nie zastępują dobrych praktyk inżynierskich.
- 11:42Nadal należy traktować przeglądy kodu i systemy ci jako nienegocjowalne punkty kontrolne.
- 11:45Niech AI skróci czas poświęcany na pracę detektywistyczną,
- 11:48ale automatyczne testy i weryfikacja przez ludzi pozostaną siecią bezpieczeństwa.
- 11:51Taka równowaga rozwiązuje problem zaufania i zapewnia, że zysk szybkości nie osłabia stabilności.
- 11:55Różnica w prędkości nie jest teoretyczna.
- 11:58Tam, gdzie szukanie błędów i ręczne poprawki zajmują pół dnia,
- 12:00skoordynowane sugestie mogą skrócić ten czas do kilku minut,
- 12:03a odzyskany czas można przeznaczyć na pracę, na której faktycznie chcesz się skupić.
- 12:07Na funkcje, które zauważą użytkownicy i decyzje architektoniczne, które poprawiają jakość twojego kodu.
- 12:11Zamiast gasić pożary w trakcie działania programu, możesz projektować pewnie od samego początku.
- 12:15Więc pętla debugowania nie musi już definiować twojego dnia.
- 12:18Gdy agent sugeruje aktualizację w wielu plikach,
- 12:20przechodzisz od chaotycznego przeszukiwania do rytmu przeglądania i zatwierdzania.
- 12:24Przestajesz błądzić wśród błędów w kółko i zaczynasz traktować debugowanie jako uporządkowany,
- 12:28niemal zautomatyzowany etap pracy.
- 12:30Ta zmiana uwalnia przestrzeń poznawczą i czas w kalendarzu na tworzenie nowych funkcji,
- 12:33a nie tylko naprawianie usterek.
- 12:34A gdy usuwanie błędów przestaje polegać na gonitwie za objawami,
- 12:37otwiera to drogę do czegoś większego.
- 12:39Możesz zacząć tworzyć całe funkcje w ten sam ustrukturyzowany sposób.
- 12:43Wyobraź sobie, że ten sam przepływ pracy, który proponuje skoordynowane poprawki,
- 12:46może również przyjąć opis w języku naturalnym i zbudować wokół niego gotową strukturę.
- 12:50W tym miejscu zaczyna się kolejny etap rozwoju.
- 12:53Programowanie sterowane specyfikacją bez zbędnego narzutu.
- 12:56Jedna z najciekawszych zmian zachodzi, gdy przestajesz myśleć tylko o plikach i metodach,
- 13:00a zaczynasz formułować zadania w języku naturalnym.
- 13:02Właśnie tutaj wkracza programowanie sterowane specyfikacją bez zbędnego narzutu.
- 13:06Wyobraź sobie, że piszesz proste zapytanie o nową funkcję.
- 13:08Dodaj przepływ raportowania, który generuje comiesięczne podsumowania,
- 13:11zapisuje je i udostępnia za pomocą strony administratora.
- 13:14Zamiast otrzymywać jedynie izolowane fragmenty kodu,
- 13:17otrzymujesz gotową strukturę rozplanowaną w całej aplikacji.
- 13:20Kontrolery utworzone, modele gotowe, usługi zarejestrowane, a konfiguracja połączona.
- 13:24To przejście od opisu intencji do zobaczenia gotowego szkieletu w projekcie sprawia,
- 13:28że to podejście wydaje się wreszcie praktyczne, a nie teoretyczne.
- 13:31W tradycyjnych rozwiązaniach tworzenie oparte na specyfikacji ma opinię uciążliwego procesu.
- 13:36W dużych organizacjach zazwyczaj oznacza to długie dokumenty wymagań,
- 13:39wielostronicowe projekty i sztywne diagramy, które wszystkich spowalniają.
- 13:42Mają one sens w regulowanych branżach lub rozproszonych zespołach,
- 13:45ale w codziennym programowaniu większość twórców je pomija.
- 13:47Pisanie i utrzymywanie szczegółowych specyfikacji generuje koszty,
- 13:50na które nikt nie ma czasu ani cierpliwości.
- 13:52To dodatkowa praca ponad dostarczanie funkcji,
- 13:54a gdy zbliżają się terminy, te dodatkowe cykle są zazwyczaj poświęcane.
- 13:57Ironia jest oczywista, programiści tak naprawdę lubią myśleć w szerszej perspektywie.
- 14:01Znajomość struktury z wyprzedzeniem jest uspokajająca.
- 14:04Problemem nie są intencje, lecz utrzymanie dokumentacji.
- 14:06Gdy specyfikacja zaczyna rozmijać się z rzeczywistością, jej aktualizacja staje się ciężarem.
- 14:10Dlatego tak wiele prac w świecie rzeczywistym zmierza w stronę improwizacji,
- 14:13a nie pełnego projektu, nawet w firmach, które technicznie wspierają dokładne planowanie.
- 14:17Przepływ pracy oparty na agentach oferuje alternatywę.
- 14:20Zamiast wymagać dopracowanego dokumentu projektowego,
- 14:22może on pomóc przekształcić specyfikację w prostym języku w szkielet, który możesz udoskonalić.
- 14:26Nie potrzebujesz diagramów UML, ani ręcznie rysowanych map interfejsów.
- 14:30Możesz po prostu powiedzieć, stwórz moduł raportowania z nowym punktem końcowym API,
- 14:34połącz go z pamięcią masową i zabezpiecz dostępem opartym na rolach,
- 14:37a system wygeneruje bazę w plikach Twojego rozwiązania .NET.
- 14:40W demo przeczytam specyfikację napisaną prostym językiem,
- 14:43pokażę pliki stworzone przez agenta kontrolery,
- 14:46modele i rejestrację usług oraz wskażę miejsca, które nadal wymagały ręcznej poprawy.
- 14:50W ten sposób będziesz mógł samodzielnie ocenić jakość.
- 14:53Tworzy to złoty środek między dwoma trybami pracy programisty.
- 14:56Z jednej strony mamy Vibe Codding – szybkie i swobodne, ale kruche w systemach długoterminowych.
- 15:01Z drugiej strony mamy projektowanie oparte na specyfikacji niezawodne, ale boleśnie wolne.
- 15:06Dzięki wsparciu agenta opisujesz pomysł naturalnymi słowami,
- 15:08pojawia się szkielet i możesz iterować niemal tak szybko jak w Vibe Codding,
- 15:12zachowując korzyści zorganizowanej struktury.
- 15:14Wróćmy do tego przepływu pracy z raportowaniem.
- 15:16Zazwyczaj musiałbyś stworzyć model, zbudować usługę danych, podpiąć kontroler,
- 15:20skonfigurować zabezpieczenia i połączyć wszystko przy starcie.
- 15:23Oznacza to skakanie po wielu plikach i nadzieję, że spójność zostanie zachowana.
- 15:27Dzięki temu podejściu szkielet wskakuje na swoje miejsce od razu.
- 15:30Prawdziwe oszczędności wynikają mniej z pisania mniejszej liczby linii,
- 15:32a bardziej z unikania błędów między plikami,
- 15:34takich jak zapomnienie o rejestracji nowej usługi po jej zbudowaniu.
- 15:37Oczywiście zawsze pojawia się kwestia stylu.
- 15:39Czy AI narzuci standardowy kod lub nadpisze konwencje?
- 15:42W praktyce agenty często odzwierciedlają w swoich sugestiach wzorce istniejące w projekcie.
- 15:46W demo zobaczysz obie strony.
- 15:48Miejsca, w których idealnie dopasowało się do struktury kontrolerów naszych ludzi
- 15:51oraz miejsca, w których jego domysły się rozminęły.
- 15:54Ta mieszanka jest istotna.
- 15:55Będziesz wiedzieć, czemu możesz ufać, a co nadal musisz skorygować.
- 15:58Efekt końcowy to nie szablonowy kod.
- 16:00Nadal czuć, że to twój projekt, tylko z mniejszą ilością ręcznej pracy nad szkieletem.
- 16:04Zachowujesz szybkość, opierając się na fundamencie,
- 16:06który możesz udoskonalać pod kątem przyszłego rozwoju.
- 16:09Zamiast ograniczać tworzenie specyfikacji do architektów z cierpliwością do diagramów,
- 16:13staje się ono narzędziem dla każdego programisty,
- 16:15który chce szybko eksperymentować bez utraty porządku.
- 16:17A kiedy stanie się to częścią codziennej pracy,
- 16:19specyfikacja przestaje wydawać się formalnym krokiem korporacyjnym,
- 16:23a staje się lekkim skrótem myślowym.
- 16:25Opisujesz swoje zamiary, system przygotowuje grunt,
- 16:27a ty skupiasz się na dopracowaniu szczegółów.
- 16:29Większy wpływ płynie nie tylko z generowanego kodu,
- 16:32ale z tego, co oszczędność czasu oznacza tydzień po tygodniu.
- 16:35Więcej godzin na funkcję, mniej żmudnej konfiguracji.
- 16:37To prowadzi nas bezpośrednio do pytania,
- 16:39które każdego programistę interesuje najbardziej.
- 16:42Co te zmiany faktycznie wnoszą w kontekście produktywności?
- 16:45Zysk z produktywności.
- 16:47Prawdziwe pytanie nie brzmi, czy zaoszczędzisz kilka minut tu i tam,
- 16:50ale jak te drobne zmiany sumują się w znaczące godziny w skali tygodnia.
- 16:54To właśnie jest zysk z produktywności.
- 16:56Odzyskiwanie czasu, który zazwyczaj niezauważalnie ucieka
- 16:59przez przełączanie kontekstu, powtarzane cykle budowania i ręczne poprawki.
- 17:02Większość programistów akceptuje te małe straty jako nieodłączną część pracy.
- 17:0510 minut szukania wartości konfiguracyjnej, kolejne 15 na ponowne uruchomienie
- 17:09po pominięciu referencji lub skakanie między plikami, by sprawdzić połączenia.
- 17:12Z osobna wydają się nieistotne, ale zsumowane w trakcie całego sprintu
- 17:15kształtują to, ile realnej wartości zostaje dostarczone.
- 17:18To, co wygląda na rutynowe działania, ukrywa prawdziwe opóźnienie w harmonogramach dostaw.
- 17:22Ukryty ciężar nie leży w czasie kompilacji ani szybkości pisania.
- 17:25Leży w przerywanym rytmie narzuconym twojej koncentracji.
- 17:27Za każdym razem, gdy przechodzisz z jednego pliku do drugiego,
- 17:30twój mózg się resetuje.
- 17:31Ten reset ma swoją cenę. Przerzucenie powtarzalnych poprawek na agenta zmniejsza to obciążenie.
- 17:36Zamiast ciągle odtwarzać kontekst, skupiasz się na tym, co ważne,
- 17:39rozwiązując większe problemy projektowe.
- 17:41Wiele zespołów nie śledzi tych mikrokosztów, ponieważ nie pojawiają się one
- 17:44w zgłoszeniach Jira ani w historii Git.
- 17:46Praca, która donikąd nie prowadzi, nie jest logowana, ale nadal zużywa energię.
- 17:50A w miarę skalowania baz kodu, to tarcie nie rośnie tylko liniowo.
- 17:53Więcej warstw oznacza więcej zależności do utrzymania w pamięci
- 17:56i więcej szans na stratę czasu na samodopasowanie struktury,
- 17:58zanim będzie można ruszyć dalej. Przepływy pracy z agentami zmieniają
- 18:01rachunek, uderzając bezpośrednio w te straty.
- 18:03Nie tylko szybciej wypełniają szkielety metod.
- 18:05Redukują pętlę wyszukiwania, poprawiania
- 18:07i ponownego uruchamiania, które zjadają popołudnia.
- 18:09Zespoły korzystające z pracy agentów
- 18:11zgłaszają w wielu przypadkach krótszy czas
- 18:13odblokowania zadań. W tym filmie
- 18:15zaprezentujemy zadanie przed i po, abyś mógł
- 18:17ocenić efekt. Nagram czas potrzebny
- 18:19na wdrożenie tej samej funkcji Azure ręcznie,
- 18:21a następnie z użyciem agenta, abyś mógł
- 18:23zobaczyć wzrost produktywności w konkretnych
- 18:25liczbach. Z perspektywy biznesowej wartość
- 18:27ta uwidacznia się w tempie realizacji projektu.
- 18:29Szybsze cykle to nie tylko kwestia zadowolenia
- 18:31programistów. Decydują one o tym, czy funkcje
- 18:33trafią do tego wydania, czy zostaną przesunięte
- 18:35o kwartały. Wpływają na dług techniczny,
- 18:37ponieważ mniej haków i regresji trafia do
- 18:39backlogu. Płynniejszy proces pozwala zespołom
- 18:41działać sprawnie, zamiast wracać do niedokończonej
- 18:43pracy z poprzedniego sprintu. Ta spójność
- 18:45z czasem przekłada się na mniejszą liczbę sytuacji
- 18:47awaryjnych i skuteczniejsze dostarczanie efektów.
- 18:48Istnieje również czynnik ludzki.
- 18:50Dzień stracony na szukanie błędów wyczerpuje
- 18:52każdego inżyniera. Gdy jesteś zmęczony,
- 18:54trudniej o czysty projekt, szczegóły umykają,
- 18:56a błędy wkradają się do kodu. Przenosząc
- 18:58mechaniczne poprawki na agenta, programiści
- 19:00zachowują koncentrację przez dłuższy czas.
- 19:02To dodatkowe skupienie zwiększa zarówno
- 19:04produktywność, jak i jakość. Gdy nie
- 19:06blokuje Cię powtarzalne tarcie, możesz
- 19:08myśleć szerzej i planować skuteczniej.
- 19:11W praktyce różnica wygląda tak.
- 19:13Nowa funkcja Azure z wieloma
- 19:14powiązaniami i integracjami usług
- 19:16może zająć samodzielnie dwa pełne dni.
- 19:18Przez konfigurację, testowanie i poprawianie
- 19:20niedopasowanych referencji zadanie
- 19:22ciągnie się w nieskończoność. Z pomocą
- 19:24agenta tę samą funkcję można stworzyć
- 19:26w pół dnia. Nie dlatego, że idziemy na
- 19:28skróty, ale dlatego, że konfiguracja plików
- 19:30i orkiestracja działają od razu.
- 19:32Harmonogram skraca się dzięki wyeliminowaniu błędnych
- 19:34startów i zbędnego wysiłku. Niektórzy
- 19:36programiści wyrażają słuszną obawę. Czy
- 19:38poleganie na AI przy utrzymaniu kodu osłabia
- 19:40własne umiejętności? Ta perspektywa często
- 19:42pomija to, co naprawdę się zmienia.
- 19:44Odciążenie od powtarzalnej konfiguracji nie osłabia
- 19:46wiedzy, lecz zachowuje ją dla projektowania
- 19:48i architektury, gdzie liczy się osąd. W rzeczywistości
- 19:50zyskujesz przestrzeń na rozwiązywanie
- 19:52problemów wyższego rzędu, zamiast marnować energię
- 19:54na poprawki. Jeśli wypróbujesz to rozwiązanie
- 19:56napisz w komentarzu, ile godzin odzyskałeś
- 19:58w splincie. Ciekawe odpowiedzi wykorzystam
- 20:00w przyszłych filmach. Słuchanie o tym, jak inne
- 20:02zespoły doświadczają tej zmiany, daje lepszy
- 20:04obraz realnej wartości poza wersjami demonstracyjnymi.
- 20:07Uwaga jednak, automatyzacja pomaga,
- 20:08ale bezpieczeństwo nadal jest kluczowe.
- 20:10Zawsze uruchamiaj testy i używaj przeglądu
- 20:12kodu, aby zweryfikować zmiany stworzone przez
- 20:14agenta. Wierz w redukcję żmudnej pracy,
- 20:16ale zachowaj dotychczasowe zabezpieczenia.
- 20:18Różnica w prędkości opłaca się tylko wtedy,
- 20:20gdy jakość pozostaje stabilna. Solidne testy
- 20:22i inteligentna weryfikacja PR chronią potok
- 20:24wydań przed kruchą automatyzacją.
- 20:26Zysk polega nie tyle na szybkim pisaniu linii
- 20:28kodu, co na zwolnieniu przestrzeni dla tworzenia
- 20:30lepszych rozwiązań. Przy mniejszym zmęczeniu
- 20:32i mniejszej liczbie.