Case Study: Agentic SDLC w Open Mercato
Czy da się zbudować produkcyjny system o skali prawie dwóch milionów linijek kodu, korzystając wyłącznie z agentów AI i nie pisząc kodu ręcznie? Przykład Open Mercato pokazuje, że taki kierunek jest jak najbardziej możliwy i działa w praktyce, ale wymaga fundamentalnej zmiany w podejściu do procesów SDLC.W tym odcinku zapraszam na case study projektu Open Mercato, open-source'owego narzędzia do tworzenia rozwiązań klasy CRM/ERP, rozwijanego w duchu AI-First. Piotr Karwatka, founder i CTO Open Mercato, oraz Patryk Lewczuk, Core Developer / Forward Deployed Engineer, opowiedzą jak wygląda proces SLDC w tym projekcie oraz jakie techniki i narzędzia są do tego wykorzystywane.
Odpaliliście maszynę i zaczęło się toczyć. No tak, tak. Toczyliśmy to cały czas jeszcze pchami, nie? Także wiesz, skromnie, bo my tu jesteśmy w ogniu po prostu walki, wie. Ja jestem bardzo zobowiązany, bo tutaj jesteście rozchwytywani i mamy tutaj dosłownie chwilę, żeby porozmawiać i ponagrywać. Natomiast wiecie, hasło Open Mercato, zakładam, że części osób może niewiele powiedzieć. Co to w ogóle jest i skąd to się wzięło? Jakie problemy rozwiązuje? Słuchaj, Open Mercato to na początku był framework do budowania aplikacji biznesowych, czyli chcesz na przykład zbudować CRM, ERP albo dowolną inną aplikację, która ma jakiś taki backend, gdzie się logujesz. Są różne uprawnienia, role, całe to RBAC, zarządzanie, wiesz, uprawnieniami, funkcjami, dodawanie nowych modułów, czyli taki framework, coś jak, nie wiem, Retool.
To brzmi jak framework, no. Tak, tak, jak na przykład, nie wiem, jest Retool, nie? Część osób pewnie kojarzy, taki soft do budowania internalowych apek. To coś takiego, tylko open source na takich bardzo zaopiniowanych pozytywnie technologiach, czyli TypeScript, Next.js, Postgres. I to jest jakby jedna część tej historii. Do tego jest druga bardzo, bardzo, bardzo ważna i taka nierozerwalna, czyli te apki, jak chcesz robić tego CRM-a, ERP-a, inną backendową apkę, to robisz ją w 100% agentami. I my jesteśmy na to jakby przygotowani od dnia zero, czyli kontekst, o którym pewnie Patryk za chwilę dużo więcej powie, jest bardzo rozbudowany, przygotowany, ustrukturyzowany, skillsy, to wszystko tam już siedzi, więc wpisujesz prompta i dostajesz bardzo fajny efekt.
I to jest jakby najważniejsza część tego, co my robimy. Ale to jest już teraz jakby jeden z produktów i w międzyczasie przez ten rok powstało jeszcze kilka innych. Powstał Cesar, czyli taki open source'owy tool do automatyzacji i odpalania wielu sesji kodowania. Patryka dziecko, więc też nie chcę tutaj za dużo opowiadać, bo zaraz pewnie pogadamy. Mamy open source skills, które programiści mogą używać, żeby w taki podobny sposób jak my budujemy Open Mercato samemu budować projekty, czy to na Open Mercato, czy swoje własne. No i wiesz, jeszcze do tego, każdy z tych modułów, które są w Open Mercato, CRM, WMS, katalog produktów, moduł sprzedażowy, moduł planowania czasu pracy, agent orchestrator, że możesz takie agenty biznesowe tworzyć, no wiesz, tych modułów jest ponad dwadzieścia ileś, to każdy w sobie w sumie jest produktem też, nie?
Bo tam on musi... Bo to jest osobna domena w ogóle do rozwiązania. Jak wspominasz WMS-a, moje przycięcia z WMS-ami jest takie, że to są ogromne systemy do zarządzania często ogromnymi magazynami. Słuchaj, to jest w stu procentach prawda i my też nie porywamy się jakby z motyką na słońce, bo jakby naszą ideą działania w Open Mercato jest też od razu posiadanie partnerów i kontrybutorów. Razem to jest 140 osób, które coś do Open Mercato kontrybuują. I wiesz, jeżeli ktoś zna się super na CRM-ie, Mamy na przykład u nas w teamie Oliwię Maczka, którzy w core teamie są i super zaprojektowali CRM. Mamy też partnera, który super ogarnia biznesowo CRM i oni razem współpracują, żeby ten moduł jako produkt rozwijać.
Robisz apkę, ona jest super, działa, a za dwa dni ulega implozji i albo wiesz, całkowicie się sama pod swoim ciężarem zapada, Albo nikt nad tym nie chce pracować, nie? A my mówimy w Open Mercato jest jednak trochę inaczej, dlatego że myśmy zaczęli, zaczęliśmy od zaprojektowania frameworka. Każdy z nas, Patryk, ja, Maciek i inne osoby z zespołu pracowali z jakimiś systemami takimi dużej klasy, nie? Na przykład Patryk dużo z Oro Commerce, ja na przykład dużo pracowałem Z Magento, z jakimiś CRM-ami i tak dalej. I wiesz, chodziło nam o to, żeby wziąć z tych wszystkich aplikacji te takie najlepsze smaczki, to co tam działało, bo w każdym takim dużym projekcie są rzeczy, które działały super i są rzeczy, które byś najchętniej ogniem wypalił, nie?
Tylko jeden to jest wiesz jakby CRM i Open Mercato, a kilka rzeczy dookoła tak naprawdę, które wam usłabniają pracę. Tak, no właśnie to chciałem powiedzieć, że my te problemy dla siebie rozwiązujemy. Mamy takie podejście, że lubimy open source. Ja się też wobec nas bardzo, dzięki Petrowi, wkręciłem tak naprawdę. Tytule chcemy po prostu dawać, korzystać do naszego community. Mamy też fajny feedback do tego, jak ludzie z tego korzystają i też usprawniamy to dla siebie, dzięki tej społeczności całej, która z tego korzysta. Więc zaczynamy od naszych problemów i później się dziwnie okazuje, że inni ludzie też mają podobne problemy. To jest magia tych czasów, które są teraz, że wchodzisz na pole, na którym jeszcze mało jest rzeczy, mówię o engineeringu i okazuje się, że dla mnie takim odkryciem jest to, że ja zawsze mam takie myślenie, że to, co my robimy, to jest absolutnie nic ciekawego.
To, co dostarczasz na mniejsze produkty, bo wtedy jest ten ownership, wiesz, możesz te wydania robić takie częste i tak dalej. Nam to bardzo też dobrze działa, że my dzielimy to, co robimy w Open Mercato właśnie na podprodukty. Jest CESA, są skillsy, są sandboxy, jest samo Open Mercato, a w Open Mercato jeszcze jest CRM osobno, jest WMS i to są też takie product teamsy. I ja bym na to tak popatrzył, że warto iść w tą stronę i Warto mieć product teamsy, który robi CRM, a robi te skillsy przy okazji part-time, to jest 20% czasu, ale patrzą na to jak na produkt, czyli za ilością tych produktów nie zawsze idzie full obciążenie czasowe,
Bo ktoś może dodać do CRM-a pole, na przykład do klienta, może dodać nowy moduł w ogóle, jakiś biznesowy, a może chcieć wyłączyć jakiś moduł, albo na przykład w module do zarządzania czasem pracy, jak jest ekran do śledzenia czasu pracy, to zastąpić na tym ekranie jeden konkretny button w reakcie, wszystko inne zachować takie samo, nie? Open Mercato to wszystko umożliwia. Nie możesz takie rzeczy robić. Tylko że ten agent z MG, który dostajesz po Create Mercato App, nie jest w stanie tego wszystkiego utrzymać. I właśnie nasze najnowsze odkrycia, Na polu kontekst engineeringu, które jest polem minowym, są mega, mega ciekawe, bo właśnie zaczęliśmy badać, co możemy zrobić, żeby to zoptymalizować i pod use cases, i jeszcze jednocześnie pod słabsze modele kodujące, bo nam nie zależy na tym, żeby to działało tylko na A3, tylko my chcemy, żeby to działało na tej lunie, a może nawet na jakimś open source'owym QN 27B, czyli takim, co w sumie na MacBooku by mógł chodzić.
Na przykład error tool call, że tool call był wywołany i zwrócił błąd. Albo użytkownik musiał cztery razy doprecyzowywać, co chce zrobić, bo agent nie skumał tego. I on na zasadzie takiej inżynierii odwrotnej patrzy, dlaczego tak się stało, co w tym kontekście było źle. No i na przykład to poprawia. I teraz zobacz, masz? Mamy teraz 200 takich evalsów zebranych z różnych tam źródeł, co ludzie robią z Open Mercato. Jasne, że to nie pokrywa wszystkiego i musimy to jeszcze dużo, dużo bardziej rozbudować, ale już jest baza. I my to puszczamy na każdym modelu, na który chcemy zoptymalizować kontekst i muszą przejść. To jest dwieście takich case'ów do zakodowania. Zadań. To są zadania programistyczne. Dodaj pole w CRM.
Pokazano wszystkie 9 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.
Podcast zaczyna się, autor przedstawia gościa i ich role w projektowaniu Open Mercato.
Goście opisują Open Mercato jako framework do budowania aplikacji biznesowych i opisują sposób jego implementacji.
Goście rozwijają temat technologii i architektury Open Mercato, w tym opisania funkcji i modeli AI.
Goście opisują rozwój Open Mercato i rolę AI w jego implementacji, w tym opisywane są konsekwencje zmian w modelach AI.
Goście opisują proces tworzenia funkcjonalności w Open Mercato, w tym opisywane są specyfikacje, kodowanie i testowanie.
Goście dyskutują o roli deweloperów i inżynierów AI w projektowaniu Open Mercato, w tym opisywane są nowe wyzwania i perspektywy.
Rozmowa koncentruje się na procesie tworzenia specyfikacji wymagań i używaniu skille do zarządzania procesem SDLC. Podkreśla się potrzebę systematyzacji pracy i używania agencji do automatyzacji zadań.
Podróżnicy opowiadają o trzech kluczowych problemach, które próbują rozwiązać: CRM, Open Mercato i inne moduły. Rozmowa skupia się na optymalizacji kontekstu i generacji dynamicznego kontekstu, aby automatycznie wybierać odpowiednie skille. Podkreślone są wyzwania związane z adopcją i ownershipem, a także potrzebą testowania i zabezpieczenia kodu.
Wskazano na problem z poczuciem osamotnienia deweloperów w firmach, którzy korzystają z AI w procesie SDLC.
Porównano programy 10xDevs i AI Tech Leaders, podkreślając konieczność edukacji całego zespołu.
Podsumowano rozmowę, podziękowano za udział i zaproszono do podcastra.
Rozdziały i streszczenia generowane automatycznie. Pełna transkrypcja nie jest publikowana — wyszukaj frazę, aby zobaczyć dopasowane fragmenty.
Kliknij, aby znaleźć fragmenty, w których pada.
Czy da się zbudować produkcyjny system o skali prawie dwóch milionów linijek kodu, korzystając wyłącznie z agentów AI i nie pisząc kodu ręcznie? Przykład Open Mercato pokazuje, że taki kierunek jest jak najbardziej możliwy i działa w praktyce, ale wymaga fundamentalnej zmiany w podejściu do procesów SDLC.
W tym odcinku zapraszam na case study projektu Open Mercato, open-source'owego narzędzia do tworzenia rozwiązań klasy CRM/ERP, rozwijanego w duchu AI-First. Piotr Karwatka, founder i CTO Open Mercato, oraz Patryk Lewczuk, Core Developer / Forward Deployed Engineer, opowiedzą jak wygląda proces SLDC w tym projekcie oraz jakie techniki i narzędzia są do tego wykorzystywane.