Design system dla aplikacji AI: jak wybrać
Temat: AI SDLC
Design system dla aplikacji AI należy wybierać według zadań użytkownika, dostępnych komponentów, technologii zespołu i kosztu utrzymania. Rozpoznawalny producent oraz duży katalog elementów nie wystarczą. System musi pozwolić czytelnie pokazać źródła odpowiedzi, niepewność, stan operacji i moment, w którym człowiek podejmuje decyzję.
Nie istnieje jeden najlepszy system projektowania dla każdej aplikacji AI. Inne potrzeby ma mobilny asystent, inne panel analityczny, a jeszcze inne narzędzie służące do zatwierdzania zmian w CRM. Dobry wybór zaczyna się od porównania tych samych trudnych scenariuszy, a kończy wskazaniem odpowiedzialności za elementy, których biblioteka nie dostarcza.
Co właściwie wybierasz: wygląd, kod czy sposób pracy?
System projektowania łączy reguły wizualne, komponenty, wzorce interakcji i zasady ich stosowania. Biblioteka kodu jest tylko częścią tego układu. Można mieć gotowe przyciski, a nadal nie wiedzieć, jak aplikacja ma obsłużyć anulowanie operacji albo konflikt między wersjami dokumentu.
Warto rozdzielić trzy decyzje. Pierwsza dotyczy języka wizualnego: typografii, kolorów, gęstości informacji i charakteru marki. Druga obejmuje implementację w konkretnej technologii. Trzecia dotyczy zarządzania zmianami: kto zatwierdza nowe komponenty, dokumentuje odstępstwa i sprawdza zgodność kolejnych ekranów. Pominięcie trzeciej decyzji zwykle ujawnia się dopiero po rozbudowie produktu.
W aplikacji AI dochodzi rozróżnienie danych źródłowych, wyniku generowania i skutku wykonanej akcji. System projektowania powinien wspierać to rozróżnienie, ale nie musi mieć gotowego elementu na każdy przypadek. Ważniejsze jest to, czy można konsekwentnie rozszerzyć istniejące wzorce i zachować ich dostępność.
Jak porównać Material, Carbon i Fluent?
Material opisuje między innymi tokeny, układy, treści interfejsu i stany interakcji. Ten zakres można sprawdzić w fundamentach Material Design. Carbon rozwija również zasady wyróżniania udziału AI, opisane w Carbon for AI. Fluent 2 udostępnia komponenty i wskazówki dotyczące projektowania dostępnych interfejsów; jego dokumentacja dostępności jest osobnym źródłem do oceny.
Te różnice pomagają przygotować listę kandydatów, lecz nie dowodzą przewagi w konkretnym projekcie. Carbon nie staje się obowiązkowym wyborem dla aplikacji IBM, a Material nie przesądza o dostawcy modelu. System interfejsu i usługa AI mogą być dobierane oddzielnie, o ile integracja oraz warunki użycia na to pozwalają.
| Kandydat | Co warto sprawdzić w pierwszej kolejności | Pytanie do prototypu |
|---|---|---|
| Material | Układy, tokeny i implementację dla docelowej platformy | Czy zadanie działa wygodnie na wymaganych ekranach? |
| Carbon | Rozbudowane widoki i oznaczanie udziału AI | Czy użytkownik rozumie źródło i status rekomendacji? |
| Fluent 2 | Dopasowanie do środowiska pracy i dostępne komponenty | Czy ekran jest spójny z narzędziami już używanymi przez zespół? |
| Obecny system firmy | Koszt rozszerzenia i jakość istniejącego kodu | Czy nowy wzorzec AI można dodać bez pełnej migracji? |
| Własny zestaw elementów | Nietypowe wymagania i zdolność utrzymania | Czy korzyść uzasadnia samodzielne testy i rozwój? |
Pozostałe systemy również mogą być właściwe. Nie trzeba jednak testować całego rynku, aby podjąć użyteczną decyzję. Wybierz krótką listę na podstawie platformy, kompetencji i ograniczeń organizacji. Dopiero potem poświęć czas na porównanie szczegółowe. Liczba gwiazdek repozytorium nie zastępuje takiego sprawdzenia.
Dlaczego trzeba ocenić konkretną bibliotekę?
Wytyczne producenta, pliki projektowe i pakiet instalowany w aplikacji mogą rozwijać się niezależnie. Ta sama rodzina nazw nie oznacza wspólnego poziomu dojrzałości. Przykładem jest repozytorium Material Web, które informuje o trybie utrzymaniowym w oczekiwaniu na nowych opiekunów. Tego statusu nie należy przenosić na cały Material, ale nie wolno go ignorować przy wyborze tej implementacji.
Sprawdź dostępność komponentów potrzebnych w najtrudniejszym ekranie. Jeżeli aplikacja wymaga edytora dokumentów, tabeli z grupowaniem i panelu różnic, podstawowy zestaw formularzy może pokrywać małą część pracy. Osobno policz integrację z innymi bibliotekami. Każde połączenie może wymagać uzgodnienia stylów, zachowania fokusu i sposobu obsługi błędów.
Licencje oceniaj dla kodu, ikon, fontów i zasobów projektowych. Publiczna dokumentacja nie oznacza automatycznie dowolnego prawa do każdego materiału. W procesie wyboru wystarczy wskazać wykorzystywane pakiety i warunki, które organizacja musi zweryfikować. Nie należy nazywać wszystkich znanych systemów „open source” bez sprawdzenia konkretnych składników.
Oceń również możliwość aktualizacji. Zespół powinien umieć odpowiedzieć, ile własnych nadpisań stylu powstanie i czy opiera się na publicznym API komponentu. Rozwiązanie wymagające ingerencji w wewnętrzną strukturę biblioteki może stać się drogie przy kolejnej wersji. Prostota pierwszego ekranu nie opisuje jeszcze kosztu całego cyklu życia.
Jakie scenariusze AI powinny znaleźć się w próbie?
Pierwszy scenariusz to odpowiedź z dowodami. Użytkownik zadaje pytanie, otrzymuje wynik i sprawdza dokument źródłowy. Prototyp powinien uwzględniać długi tytuł dokumentu, brak dostępu oraz fragment, który nie potwierdza odpowiedzi. Sprawdź, czy te sytuacje są czytelne bez dodatkowego tłumaczenia przez prowadzącego test.
Drugi scenariusz to działanie w systemie biznesowym. Agent proponuje zmianę rekordu, człowiek ogląda wartości przed i po zmianie, a następnie ją zatwierdza. Po wykonaniu pojawia się potwierdzenie pochodzące z usługi. Wariant błędny powinien zachować propozycję i pozwolić ustalić, czy operacja rzeczywiście nie została wykonana.
Trzeci scenariusz dotyczy przerwania. Użytkownik zamyka panel albo anuluje generowanie. Aplikacja powinna jasno określić, co zostało zatrzymane. Przerwanie wyświetlania tekstu nie musi oznaczać anulowania zadania działającego na serwerze. Interfejs musi odzwierciedlać kontrakt, który rzeczywiście zapewnia architektura.
Czwarty scenariusz obejmuje poprawki człowieka. Po edycji fragmentu użytkownik prosi o zmianę tonu całego dokumentu. Czy aplikacja zachowuje jego poprawki? Czy pokazuje różnice? Czy można wrócić do poprzedniej wersji? Ten test ujawnia, czy produkt traktuje wygenerowany tekst jako jednorazową odpowiedź, czy jako dokument będący częścią pracy zespołu.
Jak przeprowadzić porównanie bez ustawiania zwycięzcy?
Przygotuj wspólny brief zawierający te same dane, zadania, ograniczenia ekranów i wymagania dostępności. Każdy kandydat powinien otrzymać podobny budżet pracy. Jeżeli jeden prototyp przygotuje ekspert, a drugi osoba poznająca bibliotekę, zapisz tę różnicę. Inaczej ocenisz doświadczenie programisty zamiast właściwości rozwiązania.
Ustal kryteria przed obejrzeniem prototypów. Przykładowo: użytkownik rozpoznaje szkic, znajduje źródło, odrzuca propozycję i kończy zadanie bez pomocy. Nie przypisuj arbitralnych wag po zobaczeniu wyników. Wymagania krytyczne mogą działać jako warunek wejścia: brak obsługi klawiatury w głównym procesie eliminuje kandydata do czasu poprawy.
| Kryterium | Sposób sprawdzenia | Co zapisać w decyzji |
|---|---|---|
| Pokrycie funkcji | Implementacja najtrudniejszego widoku | Brakujące i własne komponenty |
| Zrozumiałość AI | Test z błędnym oraz poprawnym wynikiem | Nieporozumienia dotyczące źródła i statusu |
| Dostępność | Cały proces z klawiatury i czytnika | Usterki oraz odpowiedzialność za poprawki |
| Utrzymanie | Próba zmiany wspólnego wzorca | Liczbę miejsc wymagających ręcznej korekty |
| Wydajność | Pomiar na docelowym urządzeniu | Czas i płynność najważniejszego zadania |
| Koszt migracji | Inwentaryzacja istniejących ekranów | Zakres wymiany, integracji i szkoleń |
Po teście oddziel problemy możliwe do naprawienia od strukturalnego niedopasowania. Brak pojedynczej etykiety nie ma tej samej wagi co konieczność zastąpienia całego edytora. Zapisz także elementy, których nie sprawdzono. Uczciwie ograniczony wynik jest bardziej użyteczny niż ogólna ocena „system spełnia wszystkie wymagania”.
Kiedy zachować obecny interfejs?
Dodanie AI nie wymaga automatycznie przebudowy aplikacji. Jeśli użytkownicy dobrze znają istniejące formularze, często warto wprowadzić propozycję AI obok obecnego zadania. Przykładem jest pomoc w uzupełnianiu opisu sprawy, z możliwością odrzucenia sugestii. Osobne okno rozmowy nie zawsze skraca pracę.
Pełna migracja ma sens, gdy dotychczasowy system utrudnia zmiany, zawiera niespójności lub nie pozwala spełnić potrzeb produktu. Wtedy koszt należy rozłożyć na procesy, nie tylko ekrany. Migracja listy spraw bez migracji panelu szczegółów może stworzyć dwa różne sposoby pracy w ramach jednego zadania.
Zaplanuj też właściciela rozszerzeń AI. Powinien odpowiadać za nazwy stanów, zasady cytowania źródeł, wzorce zatwierdzania i obsługę błędów. Bez tego zespoły będą stopniowo tworzyć różne znaczenia tych samych oznaczeń. Wspólna biblioteka nie rozwiąże rozbieżności w definicji procesu.
Ostatecznym rezultatem wyboru powinien być krótki zapis decyzji: wymagania, porównani kandydaci, wyniki próby, brakujące elementy i plan utrzymania. Dla konkretnych alternatyw możesz przejść do omówienia IBM Carbon w aplikacjach AI oraz Material Design i jego zastosowania. Następnie wybierz jeden proces, który ujawni rzeczywiste różnice przed rozpoczęciem migracji całego produktu.
Jak interpretować wynik porównania?
Wybierz tę samą ścieżkę użytkownika dla wszystkich kandydatów: od otwarcia sprawy, przez przeczytanie wygenerowanej propozycji, do jej odrzucenia albo zatwierdzenia. Przygotuj jednakowe dane, ograniczenia uprawnień i wersję na mały ekran. Inaczej jeden system zostanie oceniony na ekranie demonstracyjnym, a drugi na pełnym procesie produkcyjnym. Taka punktacja nie pomoże w decyzji.
Zapisz osobno elementy dostępne w dokumentacji projektowej i w faktycznie wybranej bibliotece kodu. Otwarta dokumentacja nie oznacza, że istnieje gotowy komponent w każdym frameworku. Również obecność komponentu nie potwierdza poprawnej integracji z formularzem, czytnikiem ekranu i uprawnieniami aplikacji. Warto policzyć liczbę zachowań, które zespół musi dopisać samodzielnie, oraz wskazać właściciela tych rozszerzeń.
Po implementacji daj użytkownikom dwa zadania bez instrukcji. Jedno niech przebiega pomyślnie, a drugie niech zawiera niepewny wynik AI i błąd zapisu. Obserwuj, czy użytkownik rozpoznaje status danych, potrafi sprawdzić źródło i nie traci swojej pracy. Ustal wcześniej, które błędy eliminują kandydata, a które można poprawić. Jeżeli obecny interfejs wypada najlepiej, zapisz tę decyzję wraz z planem uzupełnienia brakujących wzorców AI. Wybór może oznaczać rozwijanie własnego systemu, bez migracji do jednego z katalogów producentów.
Do decyzji dołącz plan przeglądu po pierwszym wdrożeniu. Zmierz liczbę wyjątków od wspólnych komponentów, czas potrzebny na poprawienie wykrytego błędu oraz to, czy kolejne zespoły rzeczywiście używają ustalonych wzorców. Jeśli każde wdrożenie wymaga lokalnej odmiany tego samego elementu, przyczyną może być źle opisana potrzeba produktu, a nie brak dyscypliny programistów.
