Realizacja aplikacji, która zmienia dane z formularza w kompletny biznesplan
Aplikacja webowa stworzona dla naszego klienta bizplanner.pl z myślą o doradcach przygotowujących biznesplany pod wnioski o dotacje, pożyczki i inne formy finansowania.
Zamiast ręcznego składania dokumentu z wielu informacji, źródeł i analiz użytkownik przechodzi przez uporządkowany proces — od wprowadzenia danych przedsiębiorcy aż po wygenerowanie gotowego biznesplanu.
Wykorzystane technologie:
Laravel 11 · Livewire · OpenAI · RAG · MySQL · Redis · GUS API
Klient:
Bizplanner.pl


Punkt wyjścia
Biznesplan to nie jeden tekst. To kilkanaście zależnych od siebie elementów.
Przygotowanie biznesplanu wymaga połączenia wielu informacji w jeden spójny dokument.
Dane dotyczące działalności, lokalizacji, rynku, konkurencji czy planowanych działań muszą być zgodne pomiędzy poszczególnymi częściami opracowania. Jednocześnie różne rodzaje finansowania mogą wymagać zupełnie innego zakresu dokumentu.
Wyzwaniem było więc nie tylko wykorzystanie AI do tworzenia treści, ale przede wszystkim zbudowanie procesu, który pozwala kontrolować strukturę biznesplanu, dane wejściowe, sposób generowania oraz jakość końcowego rezultatu.
Rozwiązanie
Od danych klienta do gotowego dokumentu — w jednym procesie.
W ramach projektu powstał system prowadzący użytkownika od danych wejściowych aż do gotowego dokumentu.
Doradca rozpoczyna od wprowadzenia informacji dotyczących przedsięwzięcia oraz wyboru rodzaju wniosku. Na tej podstawie aplikacja udostępnia odpowiedni zestaw sekcji biznesplanu.
Jeszcze przed rozpoczęciem właściwego generowania można sprawdzić zakres przygotowywanych treści, uzupełnić własne uwagi i zweryfikować instrukcje dla poszczególnych części dokumentu.
Dopiero po zatwierdzeniu planu uruchamiany jest proces generowania.

Jak działa aplikacja do generowania biznesplanów z wykrozsytaniem AI?
Dane wniosku
Proces rozpoczyna się od formularza zawierającego najważniejsze informacje o planowanej działalności.
Użytkownik określa między innymi branżę, lokalizację, formę prawną oraz dodatkowe informacje i notatki potrzebne podczas przygotowywania dokumentu.
Na tym etapie wybierany jest również typ wniosku — np. dokument przygotowywany pod urząd pracy, dotację unijną czy pożyczkę.
Każdy typ może posiadać własny zestaw wymaganych sekcji.
Wybór sekcji
Po określeniu rodzaju wniosku aplikacja prezentuje dostępne części biznesplanu.
Przy każdej sekcji użytkownik może sprawdzić przygotowany przez AI opis tego, jaki zakres informacji znajdzie się w danym fragmencie dokumentu.
Może również dodać własne uwagi, które zostaną uwzględnione w dalszym procesie.
Dzięki temu zakres biznesplanu jest znany jeszcze przed rozpoczęciem generowania właściwych treści.
Recenzja planu
Przed uruchomieniem generowania użytkownik otrzymuje możliwość przejrzenia rozwiniętych instrukcji przygotowanych dla poszczególnych sekcji.
To etap pozwalający zweryfikować kierunek dokumentu i wprowadzić potrzebne zmiany, zanim rozpocznie się właściwa praca modeli AI.
Pozwala to zachować większą kontrolę nad rezultatem i ograniczyć generowanie treści, które później wymagałyby ponownego przygotowania.
Generowanie
Po zaakceptowaniu planu rozpoczyna się generowanie poszczególnych sekcji biznesplanu.
Proces odbywa się w kolejce, a jego postęp można obserwować na bieżąco.
Każda część dokumentu jest osobnym etapem. Jeżeli wygenerowanie jednej sekcji zakończy się niepowodzeniem, można ponowić właśnie ten fragment bez konieczności rozpoczynania całego procesu od początku.
Gotowy dokument
Po zakończeniu procesu użytkownik otrzymuje wielostronicowy biznesplan w formacie .doc.
Oprócz pełnej wersji dokumentu system może przygotować również wersję skróconą oraz raport kontroli jakości.
Poszczególne sekcje można następnie poprawiać zgodnie z uwagami użytkownika bez konieczności ponownego generowania całego biznesplanu.
Biznes Plan AI wsparty bazą wiedzy
Generowanie oparte na odpowiednich wzorcach
Ważnym elementem systemu jest baza zatwierdzonych wcześniej biznesplanów.
Dokumenty mogą być dodawane do aplikacji, a ich fragmenty są automatycznie klasyfikowane i przypisywane do odpowiednich sekcji biznesplanu.
Na tej podstawie powstaje baza wzorców wykorzystywana w mechanizmie RAG.
Podczas generowania konkretnej sekcji system może pobrać przykłady odpowiadające właśnie tej części dokumentu. Zastosowana rotacja trafień ogranicza jednocześnie ryzyko tworzenia kolejnych biznesplanów według identycznego wzorca.
Jedno źródło danych dla całego dokumentu
Aplikacja integruje się z Bankiem Danych Lokalnych GUS.
Dla konkretnego wniosku mogą zostać pobrane dane dotyczące wybranego powiatu — między innymi informacje o liczbie mieszkańców, podmiotach gospodarczych czy bezrobociu.
Dane są pobierane raz i następnie wykorzystywane podczas przygotowywania różnych części biznesplanu.
Dzięki temu analiza rynku, konkurencji oraz pozostałe sekcje mogą bazować na tym samym zestawie informacji, co pomaga zachować spójność liczb w całym dokumencie.
Kontrola nad działaniem systemu bez zmian w kodzie
Bizplanner został wyposażony w rozbudowany panel administracyjny pozwalający zarządzać sposobem działania aplikacji.
Z poziomu panelu można konfigurować typy wniosków oraz przypisane do nich sekcje.
Instrukcje wykorzystywane podczas pracy z AI posiadają wersjonowanie, dzięki czemu możliwe jest śledzenie zmian oraz przywracanie ich wcześniejszych wersji.
Panel pozwala również zarządzać bazą wzorców, danymi rynkowymi, użytkownikami oraz ustawieniami całego systemu.
Konfiguracja AI - Modele i zasady działania pod kontrolą administratora
Sposób wykorzystania AI nie został na stałe zapisany w jednym, niezmiennym procesie.
Z poziomu ustawień można zarządzać między innymi dostawcą i modelami AI, limitami kontekstu oraz zasadami dostępu do internetu.
Konfigurowalne są również elementy związane z generowanym dokumentem — takie jak logo, czcionka czy stopka.
Pozwala to dostosowywać działanie systemu i wygląd rezultatów bez konieczności wdrażania każdej zmiany bezpośrednio w kodzie aplikacji.
Kontrola kosztów AI - Wiadomo, ile kosztuje każdy etap generowania
Przy generowaniu rozbudowanych dokumentów istotna jest nie tylko jakość odpowiedzi modelu, ale również kontrola zużycia zasobów.
Każde wywołanie AI może być rejestrowane wraz z liczbą wykorzystanych tokenów, czasem wykonania oraz kosztem.
Dane są przypisywane do konkretnego wniosku i etapu procesu.
Pozwala to osobno analizować koszt przygotowania opisów, planowania, generowania właściwych treści, raportu jakości, poprawek czy streszczenia
Wydajność - Generowanie nie musi odbywać się sekcja po sekcji
Przy generowaniu rozbudowanych dokumentów istotna jest nie tylko jakość odpowiedzi modelu, ale również kontrola zużycia zasobów.
Każde wywołanie AI może być rejestrowane wraz z liczbą wykorzystanych tokenów, czasem wykonania oraz kosztem.
Dane są przypisywane do konkretnego wniosku i etapu procesu.
Pozwala to osobno analizować koszt przygotowania opisów, planowania, generowania właściwych treści, raportu jakości, poprawek czy streszczenia
Odporność na przerwane generowanie
Generowanie biznesplanu zostało podzielone na osobne zadania kolejkowe.
Każdy etap posiada własny limit czasu oraz możliwość ponowienia w przypadku błędów przejściowych.
Dzięki temu niepowodzenie podczas przygotowywania pojedynczej sekcji nie oznacza konieczności ponownego generowania całego dokumentu.
Mechanizm finalizacji zabezpiecza również system przed sytuacją, w której dwa równoległe procesy mogłyby doprowadzić do utworzenia dwóch dokumentów końcowych.
Spójność całego biznesplanu
Jednym z ważniejszych założeń procesu jest zachowanie spójności informacji pomiędzy poszczególnymi częściami dokumentu.
Dane rynkowe są pobierane raz dla konkretnego wniosku i przekazywane do wspólnego kontekstu wykorzystywanego podczas generowania.
Dzięki temu różne sekcje pracują na tych samych danych zamiast niezależnie tworzyć własne wartości.
System został również przygotowany tak, aby chwilowa niedostępność zewnętrznego źródła danych nie blokowała całego procesu generowania.
Kontrola jakości treści
Sposób generowania treści został oparty na zdefiniowanej hierarchii źródeł.
W pierwszej kolejności wykorzystywane są dane przekazane przez klienta, następnie dane potwierdzone, później informacje możliwie najbliższe wymaganym, a dopiero na końcu wnioskowanie eksperckie.
Wprowadzono również reguły dotyczące sposobu formułowania odpowiedzi oraz oznaczania brakujących informacji.
Przestrzeganie tych zasad jest kontrolowane za pomocą dedykowanych mechanizmów audytowych i testów.
Bezpieczny dostęp AI do internetu
Jeżeli podczas przygotowywania biznesplanu potrzebne są informacje z internetu, system może korzystać z wyszukiwania sieciowego wraz z cytowaniami.
Funkcja posiada jednak własne zabezpieczenia.
Dostęp do internetu można całkowicie wyłączyć, ograniczyć do określonych domen oraz ustawić maksymalną liczbę wywołań dla jednego wniosku.
Lista dozwolonych źródeł jest kontrolowana zarówno podczas wykonywania zapytania, jak i przy weryfikacji zwróconych cytowań.
Dostęp tylko dla uprawnionych użytkowników
W aplikacji zastosowano system ról oraz rejestrację opartą na zaproszeniach.
Nowe konto może zostać utworzone wyłącznie przy użyciu odpowiedniego tokenu zaproszenia.
Dostęp jest dodatkowo chroniony obowiązkowym uwierzytelnianiem dwuskładnikowym 2FA.
System prowadzi również dziennik zdarzeń oraz udostępnia mechanizmy związane z eksportem danych na potrzeby RODO.
Technologia
Stos dopasowany do charakteru aplikacji
Backend systemu działa w oparciu o PHP 8.2 i Laravel 11.
Warstwa interfejsu wykorzystuje Livewire 4, Alpine.js, Tailwind CSS 4 oraz Vite 6, co pozwala tworzyć reaktywne elementy aplikacji bez konieczności budowania osobnego SPA.
Za operacje związane z AI odpowiada OpenAI Responses API, wykorzystywane między innymi do generowania sekcji, planowania, raportowania jakości, streszczeń oraz wyszukiwania informacji.
Mechanizm RAG wykorzystuje Qdrant jako bazę wektorową oraz embeddingi OpenAI.
Dane aplikacji przechowywane są w MySQL, natomiast Redis pełni rolę brokera dla kolejek generowania.
System integruje się również z Bankiem Danych Lokalnych GUS.
Automatyzacja obejmuje również kontrolę działania systemu
Kluczowe elementy aplikacji zostały objęte testami.
W projekcie wykorzystywane są PHPUnit 11, Laravel Pint oraz Puppeteer.
Testy funkcjonalne obejmują między innymi pipeline generowania i naliczanie kosztów AI.
Dodatkowo wykonywane są testy wizualne panelu oraz automatyczna kontrola stylu kodu.
Testy pomagają również pilnować założeń dotyczących konstrukcji promptów i sposobu wykorzystywania cache modeli.
Proces dopasowany również do ograniczeń środowiska
System został przygotowany do działania na hostingu współdzielonym.
Worker kolejki uruchamiany jest cyklicznie za pomocą crona, a dłuższe operacje związane z AI zostały podzielone na mniejsze etapy wykonywane dla poszczególnych sekcji.
Dzięki temu pojedynczy proces nie musi przekraczać limitów czasowych środowiska, mimo że przygotowanie kompletnego biznesplanu może składać się z wielu operacji.
Od formularza do gotowego dokumentu w jednym systemie
Oprogramowanie łączy w jednej aplikacji proces zbierania danych, definiowania struktury biznesplanu, generowania treści, korzystania z danych rynkowych, bazy wiedzy RAG oraz kontroli jakości.
Zamiast traktować AI jako osobne narzędzie do generowania tekstu, zostało ono włączone w uporządkowany proces aplikacji.
Użytkownik zachowuje kontrolę nad zakresem dokumentu przed rozpoczęciem generowania, obserwuje jego postęp, może ponawiać pojedyncze sekcje i wprowadzać poprawki już po utworzeniu treści.
Efektem jest system, który prowadzi cały proces od danych wejściowych do wielostronicowego dokumentu.