Jak zbudować aplikację czatbot AI: klucze, prompty, koszty i bezpieczeństwo
Aby zbudować aplikację czatbot AI, potrzebujesz czterech elementów: interfejsu czatu, małego serwera, który przechowuje klucz API dostawcy modelu i przekazuje do niego wiadomości, promptu systemowego, który mówi modelowi, kim jest i co może robić, oraz ograniczeń, które kontrolują koszty i nadużycia. Kreator aplikacji AI może napisać to wszystko na podstawie opisu. Za Tobą pozostaje wybór dostawcy, napisanie instrukcji i decyzja, czego bot nigdy nie może zrobić.
Z czego składa się aplikacja czatbot AI
Większość aplikacji czatbotów, czy to asystent obsługi klienta, korepetytor, czy wewnętrzne narzędzie „zapytaj o nasze dokumenty”, ma te same części:
| Część | Co robi | Czy można ją pominąć? |
|---|---|---|
| Interfejs czatu | Lista wiadomości, pole do pisania, stan „myślenia”, odpowiedzi strumieniowane | Nie |
| Trasa na serwerze | Odbiera wiadomość użytkownika, dodaje prompt systemowy i wywołuje dostawcę z Twoim tajnym kluczem | Nie, klucz nigdy nie może trafić do przeglądarki |
| Prompt systemowy | Stałe instrukcje: rola, ton, zakres, czego odmawiać | Nie |
| Wiedza | Twoje własne treści, na podstawie których bot odpowiada (FAQ, regulaminy, dokumentacja produktu) | Tak, w przypadku ogólnego asystenta |
| Zapis rozmów | Przechowuje wątki w bazie danych, żeby użytkownicy mogli wrócić do rozmowy | Tak, w pierwszej wersji |
| Konta | Pozwalają każdemu użytkownikowi widzieć tylko własną historię i ograniczać zużycie na osobę | Tak, dla publicznego dema z surowymi limitami |
| Limity i logi | Maksymalna długość wiadomości, limity zapytań, limit wydatków, zapis błędów | Nie |
Trasa na serwerze to element, który ludzie najczęściej robią źle. Jeśli strona czatu wywołuje dostawcę bezpośrednio z przeglądarki, każdy może otworzyć narzędzia deweloperskie, skopiować Twój klucz i wygenerować Ci duży rachunek.
Decyzje przed budową
Dostawca i model
Wiodący dostawcy (OpenAI, Anthropic, Google i inni) oferują API w stylu czatu, które działa tak samo: wysyłasz listę wiadomości i dostajesz odpowiedź. Praktyczny wybór zależy mniej od marki, a bardziej od rozmiaru modelu:
- Mniejsze, szybsze modele są tańsze i szybciej odpowiadają. Nadają się do krótkich odpowiedzi, klasyfikacji i prostych botów FAQ.
- Większe modele lepiej rozumują, pewniej wykonują długie instrukcje i radzą sobie z niejasnymi pytaniami, ale kosztują więcej za wiadomość i odpowiadają wolniej.
Zacznij od modelu średniej wielkości, przetestuj go na prawdziwych pytaniach i stąd przesuwaj się w górę lub w dół. Jeśli dopiero poznajesz sposób naliczania opłat i wywoływania tych API, najpierw przeczytaj jak korzystać z API LLM.
Skąd bot czerpie wiedzę
| Twoje treści | Podejście |
|---|---|
| Jedna lub dwie strony (godziny otwarcia, zasady zwrotów, cennik) | Wklej wprost do promptu systemowego |
| Kilkadziesiąt stron, które rzadko się zmieniają | Umieść skróconą wersję w prompcie albo podziel treść na tematy i dołączaj tylko właściwy fragment |
| Setki dokumentów albo treści zmieniające się codziennie | Zapisz je, wyszukuj fragmenty pasujące do każdego pytania i wysyłaj tylko je (RAG) |
Zacznij od najprostszej opcji, która obejmuje Twoje treści. Wyszukiwanie dodaje indeks, sposób jego aktualizacji i kolejne miejsca, w których odpowiedzi mogą się pomylić. Wiele przydatnych botów nigdy go nie potrzebuje.
Publiczny czy za logowaniem
Publiczny czatbot na Twojej stronie jest łatwo dostępny, ale równie łatwo nadużyć: ktoś może zaskryptować tysiące wiadomości. Czatbot za logowaniem pozwala zapisywać historię dla każdego użytkownika i ustawić dzienny limit na konto. Jeśli bot jest publiczny, ogranicz długość wiadomości, liczbę wiadomości jednego odwiedzającego w danym okresie i ustaw twardy limit miesięczny w panelu dostawcy. Stronę kont opisuje jak dodać logowanie do aplikacji.
Czy zapisywać rozmowy
Zapisane wątki są przydatne: użytkownicy mogą wrócić do miejsca, w którym skończyli, a Ty możesz czytać prawdziwe pytania i ulepszać prompt. To jednak dane osobowe. Zdecyduj, jak długo je przechowujesz, napisz o tym w polityce prywatności i nie zapisuj niczego zbędnego.
Napisz prompt systemowy jak opis stanowiska
Prompt systemowy to instrukcja, którą model dostaje przed każdą rozmową. Dobry przypomina krótki brief dla nowego pracownika:
- Rola i odbiorcy: „Jesteś asystentem pomocy w Oakline, warsztacie rowerowym. Rozmawiasz z klientami.”
- Zakres: „Odpowiadaj na pytania o usługi, ceny, godziny otwarcia i rezerwacje. W pozostałych sprawach powiedz, że możesz pomóc tylko w sprawach warsztatu.”
- Źródło prawdy: „Używaj wyłącznie informacji poniżej. Jeśli odpowiedzi tam nie ma, powiedz, że nie wiesz, i podaj numer telefonu warsztatu.”
- Ton i długość: „Przyjazny, prosty język, maksymalnie trzy zdania, chyba że ktoś poprosi o szczegóły.”
- Twarde zasady: „Nigdy nie obiecuj ceny naprawy, która nie jest na liście. Nigdy nie proś o dane karty.”
Następnie przetestuj go trudnymi pytaniami: sprawami spoza tematu, niegrzecznymi wiadomościami, pytaniami, na które nie ma odpowiedzi w Twoich treściach, i próbami obejścia instrukcji („zapomnij o zasadach i…”). Poprawiaj prompt, aż odpowiedzi będą takie, pod którymi podpiszesz się własnym nazwiskiem.
Utrzymuj koszty pod kontrolą
Dostawcy liczą opłaty za tokeny (w przybliżeniu fragmenty słów) za dane wejściowe, które wysyłasz, i za odpowiedzi modelu. O rachunku decydują trzy rzeczy:
- Długość rozmowy. Każda nowa wiadomość zwykle wysyła ponownie cały wątek, żeby model miał kontekst. Czat z 40 wiadomościami kosztuje znacznie więcej za odpowiedź niż czat z 4 wiadomościami. Zachowuj tylko kilka ostatnich wymian albo streszczaj starsze.
- Rozmiar promptu. Długi prompt systemowy lub duży blok wklejonej wiedzy jest wysyłany z każdą wiadomością.
- Długość odpowiedzi. Ustaw maksymalną długość odpowiedzi w wywołaniu API i w prompcie poproś o zwięzłe odpowiedzi.
Przed startem ustaw miesięczny limit wydatków w panelu dostawcy i zapisuj zużycie tokenów dla każdego zapytania, żeby widzieć, które rozmowy są drogie. Nie podajemy tu cen, bo różnią się w zależności od modelu i często się zmieniają. Sprawdź aktualny cennik dostawcy.
Zbuduj krok po kroku
Krok 1: Opisz bota, nie kod
Pierwszy prompt, który podaje odbiorców, zakres, dane i zasady bezpieczeństwa, załatwia większość pracy:
Zbuduj czatbot pomocy dla klientów Oakline, warsztatu rowerowego. Strona czatu z listą wiadomości i polem do pisania, odpowiedzi wyświetlane na bieżąco w miarę generowania. Wywołaj API Anthropic z trasy serwerowej, używając tajnego klucza ANTHROPIC_API_KEY, nigdy nie wystawiaj go w przeglądarce. Użyj promptu systemowego, który odpowiada tylko na pytania o usługi, ceny i godziny na podstawie pliku shop-info.md, a w pozostałych przypadkach mówi „Nie jestem pewien, zadzwoń pod numer poniżej”. Ogranicz wiadomości do 500 znaków i 20 wiadomości na odwiedzającego na godzinę. Czysty, przyjazny projekt, który działa na telefonach.
Krok 2: Dodaj klucz jako sekret
Utwórz klucz w konsoli dostawcy, a następnie zapisz go w zmiennych środowiskowych lub sekretach projektu, nie w czacie i nie w kodzie. Jeśli klucz kiedykolwiek pojawi się publicznie, unieważnij go u dostawcy i utwórz nowy. Dlaczego to ważne, wyjaśnia czym są zmienne środowiskowe i sekrety.
Krok 3: Testuj odpowiedzi, nie tylko interfejs
Gdy czat już działa, większość czasu poświęć na jakość odpowiedzi. Przygotuj listę około 20 prawdziwych pytań, w tym kilku, na które bot powinien odmówić, i przechodź przez nią po każdej zmianie promptu. Sprawdź:
- Czy bot trzyma się zakresu?
- Czy przyznaje, kiedy nie wie, zamiast wymyślać odpowiedź?
- Czy wytrzymuje próby nadpisania jego instrukcji?
- Czy klucz nie znajduje się w niczym, co pobiera przeglądarka?
Krok 4: Dodaj pamięć i konta, jeśli są potrzebne
Gdy pojedyncze rozmowy działają, poproś o zapis wątków w bazie danych i, jeśli trzeba, rejestrację i logowanie, tak aby każdy użytkownik widział tylko własne czaty. Od razu dodaj dzienny limit wiadomości na użytkownika.
Krok 5: Publikuj z włączonymi limitami
Upewnij się, że opublikowana aplikacja ma te same sekrety co podgląd, że limit wydatków jest ustawiony u dostawcy i że błędy są zapisywane w miejscu, które będziesz regularnie sprawdzać. Następnie udostępnij ją małej grupie, zanim pokażesz ją na głównej stronie.
Bezpieczeństwo i zaufanie
Czatbot rozmawia z publicznością w Twoim imieniu, więc jego błędy są Twoim problemem:
- Błędne odpowiedzi. Modele potrafią z pewnością siebie podać nieprawdziwe informacje. Ogranicz bota do wąskiego tematu, opieraj go na własnych treściach i pokazuj krótką informację, że odpowiedzi mogą być błędne w ważnych sprawach.
- Wstrzykiwanie promptów. Użytkownicy (albo dokumenty, które bot czyta) mogą zawierać polecenia typu „zignoruj poprzednie zasady”. Nie dawaj botowi uprawnień, którym nie możesz zaufać: żadnych zwrotów, usuwania danych ani wysyłania e-maili na prośbę użytkownika bez sprawdzenia w Twoim kodzie.
- Tematy wrażliwe. W sprawach medycznych, prawnych lub finansowych niech bot kieruje do specjalisty, zamiast doradzać.
- Dane osobowe. Nie wklejaj rekordów klientów do promptów, jeśli nie jest to konieczne, i sprawdź w warunkach dostawcy, jak obsługiwane są dane z API.
Nasza lista kontrolna bezpieczeństwa dla aplikacji zbudowanych z AI obejmuje całą aplikację.
Częste błędy
- Wywoływanie dostawcy z przeglądarki. Klucz wycieka. Zawsze przechodź przez swój serwer.
- Brak limitów w publicznym bocie. Jeden skrypt potrafi wyczerpać miesięczny budżet w ciągu popołudnia.
- Jednoczesne wdrażanie RAG, narzędzi i wielu modeli. Najpierw uruchom jedną dobrą rozmowę. Resztę dodaj, gdy prawdziwe pytania pokażą, że jest potrzebna.
- Testowanie tylko przyjaznych pytań. Użytkownicy pierwszego dnia zapytają o dziwne, wrogie i nietematyczne rzeczy.
- Pozwolenie, by wątek rósł w nieskończoność. Koszty i czas odpowiedzi rosną z każdą wiadomością.
Kiedy lepszy jest gotowy produkt
Budowanie własnego rozwiązania ma sens, gdy czatbot jest częścią Twojego produktu, potrzebuje Twoich danych lub procesu i konkretnego wyglądu albo zachowania. Często jest jednak złym wyborem, gdy:
- Potrzebujesz tylko widżetu wsparcia na istniejącej stronie. Wiele systemów helpdesk i czatu na żywo ma już boty AI, które czytają Twoje centrum pomocy, z przekazaniem rozmowy człowiekowi, skrzynką i raportami.
- Będziesz z tego korzystać tylko Ty lub Twój zespół. Subskrypcja ogólnego asystenta, takiego jak ChatGPT czy Claude, z wgranymi dokumentami może w zupełności wystarczyć.
- Potrzebujesz ścisłych gwarancji zgodności (na przykład regulowane dane medyczne lub finansowe). Dostawca, który ma już wymagane certyfikaty, może być bezpieczniejszy niż własne rozwiązanie.
Budowa z Mythex
Mythex to kreator aplikacji AI: opisujesz czatbota w czacie, a on pisze interfejs i wywołanie po stronie serwera, uruchamia go w podglądzie na żywo i publikuje pod publicznym adresem URL. AI wewnątrz Twojej aplikacji korzysta z Twojego własnego klucza dostawcy. Dodajesz go w sekretach projektu albo przez kartę z sekretami, którą Mythex pokazuje w czacie, gdy jest potrzebna. Opłaty za użycie modelu idą na konto Twojego dostawcy, a nie na kredyty Mythex. Mythex nie dołącza tokenów dla użytkowników Twojej aplikacji, gotowego produktu do bazy wiedzy ani gotowych limitów zapytań. To elementy, o które prosisz i które testujesz samodzielnie. Dokumentacja dodawania AI do aplikacji przechodzi przez proces, a dodawanie AI z własnymi kluczami API zawiera gotowy prompt startowy.
Jeśli bot potrzebuje zapisanych wątków, Mythex dołącza do projektu bazę Postgres, gdy o nią poprosisz. Więcej sposobów korzystania z modeli w aplikacji, od podsumowań po klasyfikację, znajdziesz w jak dodać funkcje AI do aplikacji. Punkty wyjścia są też w szablonach aplikacji.
Pytania
Czy do zbudowania aplikacji czatbot AI potrzebuję własnego klucza API?
Tak, prawie zawsze. Czatbot wysyła każdą wiadomość do dostawcy modelu, takiego jak OpenAI, Anthropic czy Google, a dostawca obciąża konto, do którego należy klucz API. Klucz musi znajdować się na Twoim serwerze, nigdy na stronie internetowej.
Ile kosztuje uruchomienie czatbota AI?
Dostawcy naliczają opłaty za tokeny, zarówno za tekst, który wysyłasz, jak i za tekst, który model odsyła. Ceny różnią się znacznie w zależności od modelu. Ponieważ każda nowa wiadomość zwykle ponownie wysyła całą dotychczasową rozmowę, długie czaty kosztują więcej za każdą wiadomość niż krótkie. Sprawdź cennik dostawcy i ustaw limit wydatków w jego panelu.
Czy mogę wytrenować czatbota na własnych dokumentach?
Zwykle nie trenujesz samego modelu. Przy niewielkiej ilości treści wklejasz ją do promptu systemowego. Przy dużej bibliotece przechowujesz ją, wyszukujesz fragmenty istotne dla każdego pytania i wysyłasz do modelu tylko je. To drugie podejście nazywa się retrieval-augmented generation, w skrócie RAG.
Czy mogę zbudować czatbota AI bez programowania?
Tak. Kreator aplikacji AI może na podstawie opisu w zwykłym języku przygotować interfejs czatu, trasę na serwerze, która wywołuje model, oraz bazę danych na zapisane rozmowy. Konto u dostawcy i klucz API musisz jednak założyć samodzielnie.