Ten case zaczął się od irytacji, nie od strategii. Junior zatrudniony w marcu przez sześć tygodni zadawał te same pytania: gdzie leży szablon briefu, jaki jest proces akceptacji tekstu u danego klienta, kto zatwierdza budżet mediowy powyżej pięciu tysięcy złotych. Odpowiedzi istniały w dokumentacji, na dysku, w archiwum kanałów i w głowach trzech osób. Nikt nie potrafił ich znaleźć w mniej niż kwadrans.
Zbudowaliśmy wewnętrznego asystenta AI na własnej dokumentacji agencji. Poniżej opisujemy, co konkretnie zrobiliśmy, ile to kosztowało i w których miejscach projekt niemal się wywrócił. Jeżeli interesuje cię szerszy kontekst, jak takie narzędzia wpisują się w codzienną pracę zespołu, zacznij od naszego przewodnika AI w marketingu w 2026, a potem wróć tutaj po szczegóły operacyjne.
Problem: wiedza rozproszona po dyskach i czatach
Zanim ruszyliśmy z czymkolwiek technicznym, policzyliśmy skalę. Przez dwa tygodnie oznaczaliśmy każde pytanie na kanale zespołowym, na które odpowiedź już gdzieś istniała. Wyszły 84 takie pytania, z czego 61 od trzech najmłodszych stażem osób. Średni czas do użytecznej odpowiedzi wynosił 41 minut przy medianie 12 minut, bo rozkład psuły pytania zadane po szesnastej.
Koszt nie leżał po stronie pytającego, tylko odpowiadającego. Senior wyrwany z pracy nad prezentacją traci nie trzy minuty na odpowiedź, tylko dwadzieścia na powrót do kontekstu. Przy 84 pytaniach miesięcznie to około 28 godzin cudzej pracy zjedzonej na przekazywanie rzeczy już spisanych.
Wiedza była rozproszona w czterech miejscach: dysk współdzielony (około 2 100 plików), archiwum kanałów czatu, porzucona wewnętrzna wiki oraz maile do klientów z ustaleniami współpracy. Ostatnie źródło było najbardziej wartościowe i jednocześnie najbardziej wrażliwe.
Przygotowanie bazy wiedzy przed wdrożeniem
Największy błąd w podobnych projektach: ktoś wskazuje modelowi cały dysk i liczy, że algorytm sam się połapie. Nie połapie się. Model odtworzy chaos, który mu podałeś, tylko szybciej i pewniejszym tonem. Spędziliśmy jedenaście dni roboczych na porządkowaniu bazy, zanim napisaliśmy pierwszą linijkę kodu integracji:
- Inwentaryzacja. Skrypt wylistował pliki z datą modyfikacji i autorem. Wszystko nietknięte od ponad 18 miesięcy trafiło na kwarantannę.
- Deduplikacja. Znaleźliśmy siedem wersji tego samego szablonu briefu, w tym trzy z nazwą zawierającą słowo „final”. Zostawiliśmy jedną, resztę zarchiwizowaliśmy poza bazą.
- Rozstrzygnięcie sprzeczności. Dwa dokumenty opisywały proces akceptacji kreacji wzajemnie wykluczająco. Dwudziestominutowe spotkanie i decyzja, który obowiązuje.
- Metadane. Każdy dokument dostał nagłówek: właściciel, data przeglądu, poziom poufności, zakres stosowania.
- Konwersja. Skany i PDF-y bez warstwy tekstowej przepuściliśmy przez OCR. 23 pliki okazały się nieczytelne i wypadły z zakresu.
Do bazy produkcyjnej trafiło 412 dokumentów z ponad dwóch tysięcy. Mniejszy, uporządkowany zbiór dawał wyraźnie lepsze odpowiedzi: na tym samym zestawie 40 pytań kontrolnych wersja okrojona wygrywała w 31 przypadkach.
Wybór architektury: RAG na gotowym stacku
Nie trenowaliśmy własnego modelu ani nie robiliśmy fine-tuningu. Dla bazy zmieniającej się co tydzień dostrajanie modelu jest drogą donikąd: po każdej aktualizacji procedury trzeba powtarzać cały proces. Wybraliśmy RAG, czyli generowanie wspomagane wyszukiwaniem, gdzie model dostaje fragmenty dokumentów dopiero w momencie zadania pytania.
Stack był celowo nudny: baza wektorowa z hostowanym embeddingiem, warstwa API w Node, model językowy przez API dostawcy, interfejs jako bot w narzędziu, którego zespół i tak używa codziennie. Zero własnego frontendu, bo osobna aplikacja to kolejne narzędzie do otwierania, a to zabija adopcję szybciej niż problemy z jakością odpowiedzi.
Trzy decyzje techniczne, które okazały się istotne:
- Chunking po sekcjach, nie po znakach. Stałe bloki po 800 znaków rozcinały procedury w połowie kroku. Podział po nagłówkach, z powtórzeniem tytułu sekcji w każdym fragmencie, poprawił trafność.
- Wymuszone cytowanie źródła. Asystent zawsze podaje nazwę dokumentu i sekcję. To nie kosmetyka, tylko jedyny mechanizm pozwalający zweryfikować odpowiedź w dziesięć sekund.
- Twarde „nie wiem”. Prompt systemowy nakazuje odmówić odpowiedzi, jeżeli w pobranych fragmentach nie ma podstawy. Bez tego model uprzejmie zmyślał procedury, które brzmiały wiarygodnie.
Ostatni punkt kosztował najwięcej iteracji. Podobny mechanizm opisywaliśmy przy wdrożeniu personalizacji B2B z RAG, gdzie halucynacja na danych klienta miała poważniejsze skutki niż u nas wewnętrznie.
Kontrola dostępu do wrażliwych dokumentów
Tu projekt niemal się zatrzymał. W bazie znalazły się stawki godzinowe, marże na klientach i notatki z negocjacji. Asystent odpowiadający każdemu na każde pytanie to w takim układzie wyciek czekający na wywołanie. Rozwiązanie okazało się prostsze, niż zakładaliśmy: zamiast systemu uprawnień w warstwie wyszukiwania, podzieliliśmy bazę na trzy indeksy:
| Indeks | Zawartość | Dostęp |
|---|---|---|
| Operacyjny | Procesy, szablony, narzędzia, onboarding | Cały zespół |
| Klientowy | Ustalenia, zakresy, historia projektów | Osoby przypisane do klienta |
| Zarządczy | Stawki, marże, wynagrodzenia | Trzy osoby |
Zapytanie trafia tylko do indeksów, do których pytający ma uprawnienia, a przypisanie bierze się z istniejących grup w systemie firmowym. Żadnej nowej tabeli uprawnień do utrzymywania. 94 procent pytań i tak dotyczyło indeksu operacyjnego, więc podział nie ograniczył użyteczności. Dodaliśmy też log każdego zapytania z identyfikatorem użytkownika i listą zwróconych dokumentów, żeby po incydencie dało się odtworzyć, co asystent faktycznie pokazał.
Adopcja: dlaczego zespół najpierw nie korzystał
W pierwszym tygodniu asystent odnotował 19 zapytań, z czego 11 od dwóch osób, które go budowały. Przez chwilę wyglądało na to, że projekt umrze. Rozmowy z zespołem wykazały trzy przyczyny, żadna z nich techniczna:
- Brak zaufania. Ludzie zakładali, że narzędzie zmyśla, bo taką mieli ogólną opinię o modelach językowych. Nie sprawdzali, tylko z góry pomijali.
- Nawyk. Napisanie na kanale zespołowym jest bezwysiłkowe i społecznie akceptowane. Sformułowanie pytania do asystenta wymagało świadomej zmiany odruchu.
- Wstyd przed logiem. Kilka osób obawiało się, że zapisane pytania trafią do oceny okresowej jako dowód niekompetencji.
Zadziałały trzy rzeczy. Jawnie zakomunikowaliśmy, że logi służą wyłącznie audytowi bezpieczeństwa i nie trafiają do oceny pracownika. Seniorzy zaczęli odpowiadać na kanale zrzutem odpowiedzi asystenta z dopiskiem „sprawdziłem, zgadza się”, co pokazało, że narzędzie działa, bez zmuszania kogokolwiek. I przez dwa tygodnie naprawialiśmy zgłoszone złe odpowiedzi w ciągu doby, głównie uzupełniając brakujące dokumenty.
W czwartym tygodniu asystent obsłużył 143 zapytania. W trzecim miesiącu ustabilizował się na poziomie około 240 miesięcznie przy zespole 14 osób.
Wpływ na czas onboardingu nowej osoby
Onboarding mierzymy jako liczbę dni roboczych do momentu, w którym osoba samodzielnie prowadzi zadanie dla klienta bez asysty opiekuna. Przed wdrożeniem, na próbce sześciu osób zatrudnionych w latach 2024 i 2025, średnia wynosiła 34 dni robocze. Po wdrożeniu zatrudniliśmy trzy osoby: 27, 22 i 29 dni, czyli średnio 26 dni i skrócenie o około 24 procent.
Zastrzeżenie jest istotne: trzy osoby to za mało na wniosek statystyczny, a jedna z nich miała wcześniejsze doświadczenie w podobnej agencji. Kierunek jest właściwy, skala niepewna. Mocniejszy sygnał daje inna metryka: liczba pytań kierowanych do opiekuna w pierwszym miesiącu spadła z około 30 do 11 na osobę.
Efekt uboczny, którego nie planowaliśmy: sam fakt, że dokumentacja jest odpytywana, wymusił jej aktualizowanie. Kiedy asystent zwracał nieaktualną procedurę, ktoś to zgłaszał i dokument realnie się poprawiał. Wiki, której nikt nie czyta, nigdy się nie naprawia.
Koszty utrzymania i aktualizacji bazy
Wdrożenie kosztowało 68 godzin pracy w sześć tygodni: 34 na porządkowanie bazy, 21 na integrację, 13 na testy i poprawki promptów. Przy wewnętrznej stawce agencyjnej to kilkanaście tysięcy złotych kosztu alternatywnego, bez wydatku gotówkowego. Koszty bieżące miesięcznie:
- API modelu językowego: 180 do 260 zł przy 240 zapytaniach, zależnie od długości kontekstu
- Hosting bazy wektorowej i embeddingi: około 90 zł
- Przegląd dokumentów: 4 godziny miesięcznie, obowiązek rotacyjny
Ostatnia pozycja jest najważniejsza i najczęściej pomijana w kalkulacjach. Baza wiedzy bez właściciela degraduje się w trzy do czterech miesięcy, więc każdy z 412 dokumentów dostał właściciela i datę następnego przeglądu, a raz w miesiącu skrypt wysyła listę przeterminowanych. Kontrolę kosztów po stronie samego modelu opisujemy szerzej w tekście o bezpieczeństwie i kontroli kosztów agentów AI.
Czy się opłaciło? Przy 28 godzinach miesięcznie odzyskanych po stronie seniorów i koszcie bieżącym poniżej 400 zł rachunek zamyka się z zapasem. Ale opłacalność wynika z jednego warunku: agencja miała już dokumentację. Gdyby trzeba było ją napisać od zera, projekt trwałby kwartał i wnioski byłyby inne.
FAQ
Czy wewnętrzny asystent AI wymaga własnego modelu lub fine-tuningu?
Nie. Dla bazy wiedzy, która zmienia się co tydzień, architektura RAG na gotowym modelu przez API jest tańsza i łatwiejsza w utrzymaniu. Fine-tuning ma sens przy stabilnej wiedzy i bardzo specyficznym stylu odpowiedzi, a nie przy dokumentacji operacyjnej, którą aktualizujesz co kilka dni.
Jak zabezpieczyć wrażliwe dane, jeżeli asystent ma dostęp do całej dokumentacji?
Najprostszy działający wzorzec to podział bazy na osobne indeksy według poziomu poufności i kierowanie zapytania wyłącznie do indeksów, do których pytający ma uprawnienia. Uprawnienia warto brać z istniejących grup w systemie firmowym, bo osobna tabela uprawnień staje się nieaktualna w kilka tygodni. Dodaj log zapytań z listą zwróconych dokumentów, żeby dało się odtworzyć zdarzenie po fakcie.
Co zrobić, gdy zespół nie korzysta z asystenta mimo wdrożenia?
Sprawdź trzy rzeczy, zanim zaczniesz poprawiać technologię: czy ludzie ufają odpowiedziom, czy narzędzie jest w miejscu, które i tak otwierają codziennie, oraz czy nie boją się, że ich pytania będą oceniane. U nas adopcja ruszyła dopiero po jawnym zakomunikowaniu polityki logów i po tym, jak seniorzy zaczęli publicznie potwierdzać poprawność odpowiedzi asystenta.
Jak zmierzyć wpływ asystenta AI na onboarding?
Zmierz metryki bazowe przed startem, inaczej nie udowodnisz niczego. Najbardziej odporna metryka to liczba pytań kierowanych do opiekuna w pierwszym miesiącu pracy nowej osoby, bo reaguje szybko i słabo zależy od doświadczenia rekruta. Czas do samodzielności jest ciekawszy biznesowo, ale przy kilku zatrudnieniach rocznie próbka jest za mała na wiarygodny wniosek.
Ile kosztuje utrzymanie takiego asystenta w małej agencji?
W naszym przypadku 270 do 350 zł miesięcznie za API modelu i bazę wektorową przy około 240 zapytaniach, plus cztery godziny pracy na przegląd dokumentów. Ta ostatnia pozycja decyduje o powodzeniu: baza wiedzy bez przypisanego właściciela i harmonogramu przeglądów traci aktualność w ciągu trzech, czterech miesięcy i asystent zaczyna zwracać nieobowiązujące procedury.
