Nasze realizacje: co zbudowaliśmy
Mesterséges Intelligencia Központ Kft. to firma programistyczna z Budapesztu. Zbudowaliśmy system ERP z fakturowaniem i CRM, program pseudonimizujący dokumenty prawne, synchronizator danych, system zarządzania flotą laptopów szkolnych oraz grę 3D z komentatorem AI na żywo.
Każdy opisany tu system istnieje i działa; jeśli jakiś dopiero wdrażamy, zaznaczamy to. Nie ujawniamy nazw naszych klientów ani produktów. Jeśli potrzebują Państwo systemu, którego tu nie ma, na końcu strony wymieniamy również, co jeszcze budujemy.
System zarządzania przedsiębiorstwem z fakturowaniem i CRM
Wyzwanie. Codzienna praca węgierskiego małego lub średniego przedsiębiorstwa jest zwykle rozproszona po różnych narzędziach: arkuszach kalkulacyjnych, poczcie e-mail, osobnym programie do fakturowania i serwisie bankowym. Celem był jeden system oparty na własnych procesach firmy, z którego może korzystać kilka organizacji, nie widząc nawzajem swoich danych.
Rozwiązanie. Tworzymy modułowy system zarządzania przedsiębiorstwem (ERP), który obsługuje wiele organizacji klientów:
- kalendarz, zadania i zatwierdzanie, procesy działające w tle;
- korespondencja seryjna i wbudowana skrzynka pocztowa dla istniejących kont e-mail;
- sprzedaż i CRM, zakupy, organizacja szkoleń oraz HR z analizą CV wspomaganą przez sztuczną inteligencję;
- finanse: faktury wychodzące i przychodzące, bank, paczki przelewów, naliczanie płac i księga główna;
- raporty i wykresy z każdej tabeli oraz zadokowany z boku asystent AI, którym można sterować także głosem.
Moduł fakturowania wystawia faktury raportowane do węgierskiego urzędu skarbowego (NAV) za pośrednictwem programu do fakturowania, z podglądem PDF i stornowaniem. Uzgadnianie bankowe przypisuje wpłatę do faktury na podstawie tytułu przelewu, numeru faktury lub numeru rachunku płatnika i księguje wpłatę; faktury przychodzące z NAV po zatwierdzeniu trafiają do paczki przelewów.
W module CRM partnerów można łączyć w łańcuchy, osoby kontaktowe mają role decyzyjne, procesy sprzedaży przesuwają się na tablicach kanban, zmiany etapów można prześledzić, do zadań przypisane są przypomnienia, oś czasu partnera podsumowuje sztuczna inteligencja, a poczta e-mail i kalendarz synchronizują się z kartą partnera.
Jedno logowanie daje dostęp do wszystkich modułów: centralne uwierzytelnianie działa z hasłem oraz z kontem Google, Microsoft, Apple i GitHub, z logowaniem dwuetapowym, organizacjami, zaproszeniami i uprawnieniami.
Rezultat. System działa produkcyjnie w dwóch organizacjach; fakturowanie działa w środowisku produkcyjnym, a moduł CRM jest w trakcie wdrażania. To doświadczenie wykorzystujemy przy tworzeniu oprogramowania biznesowego.
Anonimizator dokumentów prawnych
Wyzwanie. Umowę, pismo procesowe lub wyrok często trzeba by udostępnić albo przetworzyć za pomocą sztucznej inteligencji, ale dane osobowe nie mogą wydostać się na zewnątrz. Ręczne zaczernianie jest powolne i łatwo przy nim o błąd: nazwisko występuje też w formie odmienionej, jako inicjały lub jako podpis.
Rozwiązanie. Aplikacja dla systemu Windows, która działa w całości na własnym komputerze i pseudonimizuje węgierskie dokumenty prawne (PDF i Word):
- odnajduje każdą formę nazwisk osób, których dane dotyczą: formy odmienione, nazwiska rodowe i nazwiska po ślubie, inicjały, podpisy wielkimi literami i nazwiska w adresach e-mail;
- pozostałe nazwiska, organizacje i adresy wyszukuje lokalnie działający węgierski model rozpoznawania nazw, który w naszym pomiarze był o 10–13 punktów dokładniejszy od modeli generatywnych;
- oferuje cztery rodzaje zamiany, w tym etykiety ról procesowych i numerowane oznaczenia, a przed zapisem pokazuje arkusz kontrolny;
- przepisuje plik z zachowaniem formatu, łącznie z nagłówkiem, przypisami, komentarzami i metadanymi.
Rezultat. Gotowy plik ponownie sprawdza druga biblioteka programistyczna i jeśli pozostało w nim choćby jedno oryginalne nazwisko, program nie zapisuje pliku. Aplikację można zainstalować, a dane nie opuszczają komputera.
Przeglądarkowa gra 3D z komentatorem AI na żywo
Wyzwanie. Firmowa strona internetowa zwykle mówi, że firma zna się na sztucznej inteligencji; my chcieliśmy to pokazać. Gra musiała działać zarówno na stoisku targowym, jak i na stronie internetowej, dla gości biznesowych, którzy nie są graczami: bez nauki, rejestracji i przycisku startu. A AI musiała w trakcie gry naprawdę reagować na gracza, a nie losować wcześniej napisane zdania.
Rozwiązanie. Zbudowaliśmy niekończącą się grę typu runner, w której gracz sam jest T-rexem. Scenę rysuje w czasie rzeczywistym WebGL z użyciem three.js, w przeglądarce; sterowanie to jeden przycisk. Gra przesyła ważne momenty (utratę życia, rekord, przejście na kolejny poziom, nowy krajobraz, przeskoczoną przepaść) w zbiorczym raporcie do naszego asystenta AI, komentatora opartego na dużym modelu językowym, który na tej podstawie mówi do gracza na żywo. Komentator tylko mówi: nie ingeruje w stan gry.
Rezultat.
- Na ważne momenty komentarz pojawia się w mniej więcej 1–2 sekundy.
- Nasz asystent AI mówi w 14 językach, zawsze w języku gracza, i w każdym języku używa formy grzecznościowej.
- Na pytanie wpisane przez gracza zawsze odpowiada, a na koniec biegu podsumowuje rundę co najmniej dwiema liczbami.
- Na komputerze i na telefonie działa ta sama gra.
- Gra działa w wersji produkcyjnej: każdy może ją wypróbować na naszej stronie głównej.
Tę samą wiedzę wykorzystujemy w naszych pracach z zakresu tworzenia gier oraz tworzenia chatbotów AI i agentów AI.
Linia produkcyjna grafiki oparta na AI dla świata gry
Wyzwanie. Gra potrzebuje wielu elementów graficznych w jednolitym stylu: drzew, krzewów, skał, krajobrazów, przeszkód. Każdy z nich musi powstać w prawdziwej skali, z przezroczystym tłem i dokładnym konturem, bo opiera się na tym także wykrywanie kolizji w grze. Ręcznie trwa to długo, a zwykłe generowanie obrazów nie zapewnia jednolitego stylu i rozmiaru.
Rozwiązanie. W naszym panelu administracyjnym zbudowaliśmy sześcioetapową linię produkcyjną:
- Zamówienie: krótki opis tematu.
- Plan: model językowy pisze plan świata, czyli nastrój, paletę barw, pogodę, rodzaje obiektów i instrukcje rysowania.
- Arkusze stylu: wybrane obrazy wzorcowe utrwalają styl i skalę; model rysujący otrzymuje je jako odniesienie.
- Rysowanie: generatywny model obrazów rysuje obiekty, po jednym arkuszu na rodzaj, kilka arkuszy równolegle; system automatycznie wycina z arkusza poszczególne obiekty, sprawdza przezroczystość i pełny kontur, skaluje do zaplanowanej wysokości, dopasowuje kolory do palety i tworzy mapę normalnych dla oświetlenia w grze.
- Selekcja: o akceptacji decyduje człowiek.
- Wydanie: do gry trafia tylko wydany obraz.
Program planujący (scheduler) samodzielnie realizuje zapisane zamówienie w wyznaczonym oknie czasowym, w ramach ustalonego z góry limitu wywołań AI; selekcja i wydanie także wtedy odbywają się ręcznie.
Rezultat. Krajobrazy i przeszkody w grze powstały na tej linii produkcyjnej. Rysunek, ikona i kształt kolizyjny przeszkody pochodzą z tych samych danych produkcyjnych: kolizja podąża za konturem obrazu z dokładnością do piksela. Bez zatwierdzenia przez człowieka nic nie trafia do gry.
Pomiar rozmiaru w punktach funkcyjnych z pomocą sztucznej inteligencji
Wyzwanie. Oferta na oprogramowanie jest tyle warta, na ile dokładne jest stojące za nią oszacowanie. Szacunek w godzinach zależy od szacującego i od zespołu, dlatego dwie oferty trudno porównać, a zamawiający nie widzi, co dokładnie wycenia wykonawca.
Rozwiązanie. Rozmiar funkcjonalny tworzonego oprogramowania mierzymy w punktach funkcyjnych COSMIC (ISO/IEC 19761). Metoda zlicza przemieszczenia danych: wejście (Entry), wyjście (Exit), odczyt (Read) i zapis (Write). Każde z nich to jeden punkt funkcyjny, więc rozmiar nie zależy od technologii ani od tego, kto tworzy oprogramowanie. Do pomiaru zbudowaliśmy własny proces pracy wspomagany przez AI:
- projekt dzielimy na grupy funkcji i każdą opisujemy według jednolitego szablonu: cel, aktorzy, dane, funkcje, funkcje AI oraz to, co jest poza zakresem;
- każdą grupę funkcji liczy kilka modeli językowych, każdy kilkakrotnie; przebiegi budują wspólny słownik nazw aktorów i danych, a ich rozrzut pokazuje niepewność;
- runda uzgadniająca dba o to, aby każdy proces funkcjonalny liczył się w projekcie dokładnie raz, nawet jeśli występuje w kilku opisach;
- istniejący system opisujemy osobno, dzięki czemu do rozmiaru wlicza się tylko nowa część;
- pomiar sygnalizuje również to, czego rozmiar funkcjonalny nie wyraża: niestandardowy interfejs, grafikę, działanie w czasie rzeczywistym, złożony algorytm, migrację danych, wymaganie niefunkcjonalne;
- automatyczne scalenia można ręcznie skorygować, a gotowy pomiar można zapisać jako niezmienną wersję, która staje się podstawą umowy.
Rezultat. Oferta i harmonogram powstają na podstawie zmierzonego rozmiaru, a dwie oferty można porównać według tej samej miary. Rozmiar nie jest szacunkiem „na oko”, lecz listą, którą można prześledzić pozycja po pozycji: który proces, z jakimi przemieszczeniami danych, ile punktów funkcyjnych daje. O metodzie wyceny piszemy na stronie Wycena.
Synchronizator danych z MS SQL do PostgreSQL w chmurze
Wyzwanie. Dane z bazy MS SQL działającej na własnym serwerze firmy trzeba było przekazywać do systemu w chmurze na potrzeby nowej aplikacji i raportów tak, aby nie obciążać systemu źródłowego i niczego do niego nie zapisywać.
Rozwiązanie. Program działający jako usługa Windows, który pracuje wyłącznie z prawem do odczytu:
- dla każdej tabeli wybiera najtańszy sposób wykrywania zmian, a usunięcia znajduje przez porównanie kluczy;
- reaguje na zmianę w ciągu 1–3 sekund, sam tworzy strukturę docelowej bazy danych i śledzi jej zmiany;
- wrażliwe kolumny można wykluczyć, przepustowość można ograniczyć, w nocy przeprowadza uzgodnienie i raportuje liczbę wierszy;
- instaluje się go jednym instalatorem, a dane uwierzytelniające przechowuje w postaci zaszyfrowanej.
Rezultat. Jego działanie sprawdzają testy automatyczne oraz prawdziwe środowisko testowe MS SQL i PostgreSQL. Gdy trzeba połączyć kilka systemów, to również praca z zakresu automatyzacji procesów.
System zarządzania flotą laptopów dla szkół
Wyzwanie. Około stu szkolnych laptopów z systemem Windows w kilku lokalizacjach, bez domeny i bez systemu zarządzania urządzeniami: instalowanie oprogramowania, aktualizacje i utrzymywanie porządku w kontach odbywały się ręcznie, komputer po komputerze.
Rozwiązanie. Zbudowaliśmy własny system zarządzania flotą:
- agent działający na komputerach łączy się tylko na zewnątrz, centralnym serwerem zarządza się przez interfejs webowy, a serwer prowadzi inwentaryzację każdego komputera;
- polecenia trafiają na komputery etapami, z wyłącznikiem awaryjnym i rejestrem zdarzeń;
- instaluje i usuwa oprogramowanie z katalogu oraz sygnalizuje, który komputer odbiegł od wymaganego stanu;
- zarządza jednolitymi kontami lokalnymi i przechowywanymi hasłami administratora, a także sam aktualizuje się etapami, z automatycznym wycofaniem zmian w razie błędu.
Rezultat. Flota działa na tym systemie. O przejściu na Windows 11 również zdecydowaliśmy na podstawie pomiarów: według wyników testów wydajności uruchomionych na komputerach.
Testerzy AI dla aplikacji webowych
Wyzwanie. Aplikację webową trzeba testować ponownie po każdej zmianie, a testowanie ręczne jest powolne i powtarzalne.
Rozwiązanie. Agenci AI przechodzą przez wskazane aplikacje webowe w prawdziwej przeglądarce, a uzupełniają to kontrole automatyczne i kontrole dostępności. Znaleziony błąd zatwierdza człowiek i dopiero wtedy powstaje z niego zgłoszenie błędu; agenci uczą się na decyzjach o zatwierdzeniu. Uruchomienia można planować, a każde sprawdza ponownie tylko zmienione części; strony są sprawdzane także w widoku telefonu.
Rezultat. Działa jako narzędzie wewnętrzne, do testowania naszych własnych projektów.
Test rekrutacyjny dla osób pracujących z AI
Na potrzeby własnej rekrutacji zbudowaliśmy półgodzinny test online, który mierzy, jak kandydat pracuje ze sztuczną inteligencją. Ma cztery części z limitem czasu: wyszukiwanie błędów w celowo wadliwej aplikacji demonstracyjnej, rozmowę z klientem odgrywanym przez sztuczną inteligencję, zadania wymagające myślenia oraz eksperyment z systemem o nieznanym działaniu. Odpowiedzi wstępnie ocenia AI, a decyzję podejmuje człowiek; dane kandydatów przetwarzamy zgodnie z RODO, z okresem przechowywania, eksportem i usuwaniem.
Mniejsze własne projekty
- Program do dyktowania: w systemach Windows i macOS wpisuje mowę do dowolnej aplikacji; rozpoznawanie mowy działa lokalnie, na karcie graficznej komputera.
- Weryfikacja kampanii plakatowych: każdy rozwieszony plakat potwierdzają zdjęcie i lokalizacja pracownika, z podglądem na mapie.
- Menedżer kart kolekcjonerskich: aparat telefonu rozpoznaje kartę przez dopasowanie obrazu i rozpoznawanie tekstu, a kolekcją i taliami można zarządzać w jednym miejscu.
- Nasza poprzednia strona internetowa: agent AI na żywo zmieniał wygląd strony dla każdego odwiedzającego, a inny z nim rozmawiał, także przy użyciu głosu.
- Ta strona dla wyszukiwarek i asystentów AI: w 14 językach, z wersją Markdown każdej strony, maszynowo czytelnymi danymi firmy i mapą witryny oznaczającą wersje językowe.
Co jeszcze budujemy
Poniższe pozycje to nie ukończone realizacje, lecz systemy, które chętnie zbudujemy:
- odczytywanie danych z dokumentów (faktur, umów, dokumentów dostawy) za pomocą sztucznej inteligencji: Integracja AI;
- chatbot obsługi klienta lub agent AI, który odpowiada na podstawie własnych dokumentów firmy: Chatboty i agenci AI;
- sklep internetowy z indywidualnymi cenami, połączony z systemem zarządzania przedsiębiorstwem: Tworzenie sklepów internetowych;
- aplikacja na iOS i Androida z backendem i panelem administracyjnym: Aplikacje mobilne;
- gra reklamowa i interaktywne doświadczenie na targi lub na stronę internetową: Tworzenie gier.