Inteligentni asystenci w biznesie - siedem ról

SoftwareStudio rozwija rodzinę asystentów AI, z których każdy ma jedno zadanie i własny zestaw danych. Jeden odpowiada na pytania o system, inny czyta umowy, a jeszcze inny buduje zapytania do bazy. Podział na role jest celowy: asystenta ograniczonego do jednego zadania łatwiej kontrolować i mierzyć, a w razie awarii po prostu wyłączyć.

Poniższy tekst nie opisuje kolejnych funkcji produktów, tylko pomaga zdecydować, od którego zacząć i jak sprawdzić, czy działa. Funkcje poszczególnych asystentów pochodzą z opisu producenta, a mechanizmy techniczne to wiedza ogólna o takich rozwiązaniach. Przegląd całej rodziny znajduje się w artykule o SoftwareStudio AI Family.

Tabela ról asystentów

Tabela zestawia siedem ról z ich danymi wejściowymi i wynikiem, a także wskazuje osobę, która ocenia odpowiedź.

AsystentDane wejścioweWynikKto zatwierdza
Asystent CRM (ClientMind AI)Historia kontaktów i zakupówPodpowiedź kolejnego krokuHandlowiec
Asystent do raportów SQL (DataFlow AI)Baza SQL i pytanie użytkownikaZapytanie oraz raportAutor pytania
Asystent użytkownika programu (GuidePro AI)Opis procesów w systemieOdpowiedź na pytanieUżytkownik
Asystent biura (OfficeWise AI)Dokumenty i formularzeUporządkowany dokument oraz przypomnienie o terminiePracownik biura
Asystent tłumacza (LinguaSmart AI)Wiadomości i dokumentyTłumaczenie z zachowaniem terminologiiNadawca
Asystent umów (LegalTrack AI)Kontrakty i aneksyWskazane nieścisłości i propozycje poprawekPrawnik lub handlowiec
Asystent wdrożeniowców (DeployMate AI)Plany projektówMonitoring postępów i ostrzeżeniaKierownik projektu
Siedem ról asystentów z rodziny SoftwareStudio według opisu producenta.

W każdym wierszu ostatnia kolumna zawiera człowieka. Żaden z asystentów nie kończy procesu sam: podpowiedź handlowa trafia do handlowca, tłumaczenie do nadawcy, a wskazana nieścisłość w umowie do prawnika.

Reguła: asystent proponuje, a człowiek zatwierdza. Im droższa pomyłka, tym twardszy musi być punkt zatwierdzenia.

Asystent a chatbot ogólny

Publiczny chatbot odpowiada na dowolne pytanie na podstawie tego, czego nauczył się z ogólnodostępnych tekstów. Nie zna procedur firmy, jej klientów ani bazy zamówień, a jego odpowiedzi trudno sprawdzić. Asystent działa odwrotnie: zawęża temat, dostaje dane z systemów firmy i zwraca wynik razem ze wskazaniem, skąd go wziął.

Różnica ma skutek praktyczny. Pracownik, który wkleja do publicznego chatbota fragment umowy, przekazuje jego treść poza firmę. Ten sam pracownik pytający asystenta działającego w prywatnej instancji nie opuszcza środowiska, które firma kontroluje. Ryzyko przenosi się z zachowania ludzi na architekturę.

Kryteria wyboru pierwszego zastosowania

Pierwszy asystent wyznacza sposób pracy z następnymi. Jeśli pilotaż zakończy się porażką z powodu złych danych, firma wyciągnie wniosek, że AI nie działa, choć zawiodła ewidencja. Dlatego pierwsze zastosowanie wybiera się według czterech kryteriów, a nie według tego, które jest najbardziej efektowne.

KryteriumPytanie kontrolneSygnał, że zastosowanie nadaje się na pilotaż
PowtarzalnośćJak często pracownicy wykonują tę samą czynnośćWiele powtórzeń o podobnej strukturze w tygodniu
Dostępność danychGdzie leży wiedza potrzebna do odpowiedziDane w bazie SQL Server albo w dokumentach z tekstem
Koszt pomyłkiCo się stanie po błędnej odpowiedziBłąd wychwytuje człowiek, zanim wywoła skutek
MierzalnośćCzy da się policzyć czas lub liczbę błędówZnany jest obecny czas czynności
Kryteria doboru zastosowania i sygnały, które przemawiają za jego wyborem.

Ryzyko poszczególnych zastosowań

Zastosowania różnią się skutkami błędu. Cztery poziomy porządkują je od najbezpieczniejszych do wymagających najostrzejszej kontroli.

  • Niskie ryzyko - odpowiedzi na pytania o obsługę programu i wyszukiwanie w dokumentacji.
  • Umiarkowane - raporty z bazy tylko do odczytu oraz tłumaczenia wewnętrznej korespondencji.
  • Podwyższone - podpowiedzi dla handlowca i szkice wiadomości do klienta, wymagające akceptacji.
  • Wysokie - analiza umów i dokumentów, których treść ma skutki prawne.

Pilotaż zaczyna się od dołu tej listy. Asystent użytkownika programu albo asystent raportowy dają szybki wynik i niewielkie ryzyko, a doświadczenie z nimi pozwala potem podejść do zastosowań z wyższym progiem kontroli.

Wspólna architektura asystentów

Pod względem technicznym asystenci są do siebie podobni bardziej, niż sugeruje tabela ról. Każdy składa się z aplikacji, która zbiera kontekst z danych firmy, oraz z wywołania modelu językowego. Do tego dochodzą kontrola uprawnień i zapis przebiegu. Różni je zawartość kontekstu i sposób prezentacji wyniku.

Wspólny interfejs asystenta

Wspólny kontrakt ułatwia dodawanie kolejnych asystentów bez przebudowy reszty aplikacji. Przykład w C# pokazuje minimalny zestaw: odpowiedź niesie treść i wskazanie źródeł, a dodatkowo znacznik, czy wymaga zatwierdzenia.

public record Pytanie(string Tresc, string KontekstId);

public record Odpowiedz(
    string Tresc,
    IReadOnlyList<string> Zrodla,
    bool WymagaZatwierdzenia);

public interface IAsystent
{
    string Nazwa { get; }
    Task<Odpowiedz> OdpowiedzAsync(Pytanie pytanie, Uzytkownik uzytkownik);
}

Pole źródeł pozwala pokazać użytkownikowi, skąd wzięła się odpowiedź. Znacznik zatwierdzenia zapisuje w kodzie regułę z poprzedniej sekcji: dla asystenta umów ma zawsze wartość prawdziwą, dla asystenta użytkownika programu zwykle fałszywą.

Wywołanie z przeglądarki

Po stronie przeglądarki wystarczy jedno wywołanie asynchroniczne. Nazwa asystenta jest częścią adresu, więc jedna funkcja obsługuje wszystkie role.

async function zapytaj(asystent, tresc) {
  const odp = await fetch('/api/asystent/' + asystent, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ tresc })
  });
  if (!odp.ok) throw new Error('Błąd ' + odp.status);
  return odp.json();
}
Wnętrze serwerowni z szafami i ekranami z pomarańczowymi oknami, ilustracja infrastruktury, na której działają asystenci AI
Warstwa techniczna wspólna dla asystentów: aplikacja z modelem językowym, a pod nimi baza danych firmy.

Składanie kontekstu z dokumentów

Asystent odpowiadający na pytania o dokumentację nie przekazuje modelowi całego zbioru. Aplikacja wyszukuje kilka fragmentów pasujących do pytania i dołącza tylko je. W bazie SQL Server takie wyszukiwanie może korzystać z indeksu pełnotekstowego i predykatu CONTAINS.

SELECT TOP (5) f.FragmentId, f.Tytul, f.Tresc
FROM dbo.FragmentDokumentacji AS f
WHERE CONTAINS(f.Tresc, @Fraza)
ORDER BY f.DataAktualizacji DESC;

Jakość odpowiedzi zależy od jakości wyszukiwania. Jeśli właściwy fragment nie trafi do kontekstu, model odpowie na podstawie ogólnej wiedzy, a nie dokumentacji firmy. Polecenie dla modelu powinno więc zakazywać odpowiedzi bez wskazanego źródła.

Uprawnienia asystenta

Asystent nie może widzieć więcej niż użytkownik, który zadaje pytanie. Jeśli działa na koncie z szerokim dostępem, każdy pracownik uzyskuje pośrednio dostęp do danych, których nie powinien znać. Kontekst buduje się więc z uprawnieniami zalogowanej osoby, a nie usługi.

W praktyce oznacza to przekazywanie tożsamości użytkownika do warstwy danych. W bazie SQL Server pomaga w tym mechanizm zabezpieczeń na poziomie wiersza, opisany w dokumentacji Row-Level Security. Dla dokumentów podobną rolę pełni filtrowanie wyników wyszukiwania według grup, do których należy użytkownik.

Pilotaż asystenta w jednym dziale

Pilotaż ma odpowiedzieć na jedno pytanie: czy asystent skraca czynność bez pogorszenia jej jakości. Odpowiedź wymaga pomiaru sprzed uruchomienia, bo bez niego nie ma z czym porównać wyniku. Cztery fazy porządkują pracę.

FazaZakresKryterium przejścia dalej
Pomiar wyjściowyCzas i liczba błędów obecnej czynnościLiczby zapisane przed uruchomieniem
Zestaw kontrolnyPytania, na które firma zna poprawną odpowiedźZgodność odpowiedzi asystenta z wzorcem
Praca w małej grupieKilku użytkowników z jednego działuUdział odpowiedzi zaakceptowanych bez poprawek
DecyzjaPorównanie z pomiarem wyjściowymSkrócenie czynności bez wzrostu błędów
Fazy pilotażu i kryterium, po którym przechodzi się do następnej.

Miary pilotażu

Liczby zbiera sama aplikacja, jeśli każda odpowiedź zostawia wpis z oceną użytkownika. Przykładowa tabela wystarcza do wyliczenia miar dla każdego asystenta.

CREATE TABLE dbo.PilotAsystenta (
    WpisId          int IDENTITY(1,1) PRIMARY KEY,
    Asystent        varchar(40)   NOT NULL,
    Uzytkownik      nvarchar(100) NOT NULL,
    Utworzono       datetime2(0)  NOT NULL DEFAULT SYSDATETIME(),
    Zaakceptowana   bit           NULL,
    ZPoprawka       bit           NOT NULL DEFAULT 0,
    CzasOdpowiedziMs int          NULL,
    TokenyWejscie   int           NULL,
    TokenyWyjscie   int           NULL
);

SELECT Asystent,
       COUNT(*) AS Odpowiedzi,
       AVG(CASE WHEN Zaakceptowana = 1 THEN 1.0 ELSE 0.0 END) AS UdzialAkceptacji,
       AVG(CzasOdpowiedziMs) AS SredniCzasMs
FROM dbo.PilotAsystenta
WHERE Utworzono >= DATEADD(day, -14, SYSDATETIME())
GROUP BY Asystent;

Udział akceptacji mówi, jak często użytkownik przyjmuje odpowiedź bez zmian. Czas odpowiedzi pokazuje, czy wygoda pracy nie rozbija się o opóźnienie. Obie miary czyta się razem z pomiarem wyjściowym, a nie samodzielnie.

Biuro z wieloma stanowiskami i ekranami w ciemnej stylizacji z pomarańczowymi oknami, ilustracja działu pracującego z narzędziami AI
Dział, w którym prowadzony jest pilotaż, mierzy czas czynności przed uruchomieniem asystenta i po nim.

Zestaw kontrolny pytań

Zestaw kontrolny działa jak test regresji. Składa się z pytań, na które znana jest poprawna odpowiedź, na przykład z istniejącego raportu albo zapisu w umowie. Wykonuje się go przed pilotażem i po każdej zmianie modelu lub polecenia, a także danych źródłowych. Różnica w wynikach jest sygnałem, że zmiana wpłynęła na jakość, nawet gdy nikt jeszcze nie zauważył błędu.

Dane firmy i prywatność w środowisku Azure

Asystent przetwarza dane, więc miejsce działania modelu jest częścią decyzji o wdrożeniu. Według opisu producenta SoftwareStudio łączy platformę AI z rozwiązaniami chmurowymi Microsoft Azure, gdzie firma może korzystać z prywatnej instancji modelu. Zasady, na jakich Azure OpenAI traktuje dane klientów, opisuje dokumentacja o prywatności danych i bezpieczeństwie usługi. Mechanizmy ochrony omawia artykuł o ochronie danych w Chat GPT na platformie Azure.

Klasy danych a asystent

Nie każda informacja powinna trafiać do każdego asystenta. Klasyfikacja danych rozstrzyga to z góry, więc pojedyncza decyzja programisty nie musi opierać się na intuicji.

Klasa danychPrzykładZasada dla asystenta
PubliczneOpis oferty i dokumentacja produktuDozwolone w każdym asystencie
WewnętrzneProcedury i instrukcje pracyDozwolone w prywatnej instancji modelu
OsoboweDane osób kontaktowych klientówOgraniczenie zakresu i podstawa prawna, potwierdzona z inspektorem ochrony danych
Szczególnie chronioneDokumenty kadrowo-płacowe i umowyTylko w izolowanym środowisku, z pełnym dziennikiem dostępu
Klasy danych i zasady ich użycia w asystentach AI.

Ogólny obraz oferty producenta w tym zakresie przedstawia serwis SoftwareStudio o sztucznej inteligencji, a zastosowania i ograniczenia AI w firmie zebrano na stronie o sztucznej inteligencji.

Wdrożenie i utrzymanie asystentów

Po pilotażu zaczyna się praca, która trwa tak długo, jak asystent. Model i dane zmieniają się, więc odpowiedzi z czasem odbiegają od tych, które zatwierdzono na początku. Utrzymanie dzieli się na kilka odpowiedzialności, które warto przypisać z nazwiska.

Właściciel merytoryczny

Każdy asystent ma osobę odpowiedzialną za jego treść. Dla asystenta użytkownika programu jest to kierownik wdrożenia systemu, dla asystenta umów prawnik firmy. Właściciel zatwierdza polecenie dla modelu i decyduje o zmianach zakresu danych. Bez takiej osoby błędy nikomu nie przypisane wracają do informatyków, którzy nie znają dziedziny.

Wprowadzenie użytkowników do pracy z asystentem

Nowy asystent działa dobrze tylko wtedy, gdy użytkownicy wiedzą, czego od niego oczekiwać. Krótka instrukcja opisuje, w czym asystent pomaga, czego nie robi i jak zgłosić błędną odpowiedź. Przy każdej odpowiedzi powinien być widoczny przycisk oceny, bo ocena zasila miarę akceptacji z pilotażu.

Szkolenie dla nowych osób może prowadzić asystent użytkownika programu, który według opisu producenta odpowiada na pytania i wspiera onboarding. Sensowna jest kolejność odwrotna niż w wielu firmach: najpierw asystent obsługi programu, dopiero później asystenci wymagający zaufania do wyniku.

Koszt eksploatacji

Koszt asystenta zależy od liczby wywołań modelu oraz od długości tekstu w każdym z nich: kontekstu na wejściu i odpowiedzi na wyjściu. Model większej klasy kosztuje więcej za ten sam tekst. Zamiast szacować koszt z pamięci, wystarczy dopisać do dziennika liczbę tokenów i sumować ją miesięcznie.

SELECT Asystent,
       EOMONTH(Utworzono) AS Miesiac,
       COUNT(*) AS Wywolania,
       SUM(TokenyWejscie) AS TokenyWejscie,
       SUM(TokenyWyjscie) AS TokenyWyjscie
FROM dbo.PilotAsystenta
GROUP BY Asystent, EOMONTH(Utworzono)
ORDER BY Miesiac, Asystent;

Zestawienie pokazuje, który asystent generuje największą część kosztu. Często okazuje się, że jest nim nie najczęściej używany, lecz ten, któremu skład kontekstu dołącza zbyt wiele tekstu. Skrócenie kontekstu obniża koszt i zwykle poprawia trafność.

Wersje polecenia dla modelu

Polecenie, które ustala rolę i format odpowiedzi, jest kodem, choć zapisano je zwykłym tekstem. Zmiana jednego zdania potrafi zmienić zachowanie asystenta, dlatego polecenia wersjonuje się i zatwierdza tak jak wersje programu.

CREATE TABLE dbo.WersjaPolecenia (
    Asystent      varchar(40)   NOT NULL,
    Wersja        int           NOT NULL,
    Tresc         nvarchar(max) NOT NULL,
    Zatwierdzil   nvarchar(100) NOT NULL,
    ObowiazujeOd  date          NOT NULL,
    PRIMARY KEY (Asystent, Wersja)
);

Zmiana modelu jako zmiana wersji

Dostawca modelu wycofuje starsze wersje i udostępnia nowsze. Nowy model może odpowiadać dłużej, inaczej formatować wynik albo inaczej rozumieć to samo zdanie. Przed przełączeniem uruchamia się zestaw kontrolny i porównuje udział zaakceptowanych odpowiedzi z poprzednim okresem. Jeśli wynik się pogorszył, wraca się do poprzedniej wersji, zanim użytkownicy odczują różnicę. Podobne zasady kontroli opisano w artykule o pracy z wynikami asystenta raportowego.