Trzy sposoby na budowanie grupowego czatu AI: Dlaczego wybraliśmy trudną drogę

Reverie Team

Reverie Team

12/9/2025

#inżynieria#architektura AI#czat grupowy#dogłębna analiza techniczna
Trzy sposoby na budowanie grupowego czatu AI: Dlaczego wybraliśmy trudną drogę

Pytanie, które rozpoczęło wszystko

"Dlaczego każda postać nie może mieć własnego dymku wiadomości, jak w innych aplikacjach?"

Często otrzymujemy to pytanie. I szczerze mówiąc, to świetne pytanie. Większość aplikacji czatowych pokazuje wiadomości jako oddzielne dymki - jeden na osobę. Dlaczego więc nasz grupowy czat łączy odpowiedzi wielu postaci w jedną wiadomość?

Odpowiedź to nie lenistwo ani przeoczenie. To świadomy wybór inżynieryjny zrodzony z miesięcy eksperymentów z trzema zasadniczo różnymi podejściami do grupowych rozmów AI.

Trzy architektury

Budując wielopostaciowe rozmowy AI, każda platforma staje przed tym samym wyborem. Istnieją dokładnie trzy sposoby, z których każdy ma głębokie implikacje dla kosztów, jakości i doświadczenia użytkownika.

1. Strukturyzowany output (tablice JSON)

Najpopularniejsze podejście w branży. Prosisz AI o zwrócenie tablicy JSON, gdzie każdy element reprezentuje odpowiedź postaci:

[
  {
    "speaker": "Sherlock",
    "emotion": "zaintrygowany",
    "content": "Fascynujące. Wzór błota sugeruje..."
  },
  {
    "speaker": "Watson",
    "emotion": "zdezorientowany",
    "content": "Holmes, co pan ma na myśli?"
  }
]

Atrakcyjność:

  • Pojedyncze wywołanie API, pojedyncze zużycie kredytów
  • Łatwe do parsowania i renderowania jako oddzielne dymki wiadomości
  • Może zawierać bogate metadane (emocje, akcje, opisy scen)
  • Idealne do generowania sugestii odpowiedzi użytkownika

Rzeczywistość:

  • Tylko drogie modele premium (Claude, GPT-4) niezawodnie obsługują strukturyzowany output - większość przystępnych modeli ma problemy ze spójnym formatowaniem JSON
  • Błędy formatu psują całą odpowiedź
  • Instrukcje JSON zużywają tokeny, zmniejszając przestrzeń kreatywną
  • Modele czują się "ograniczone" - kreatywność często cierpi
  • Ograniczenia treści stają się bardziej rygorystyczne: tryb strukturyzowanego outputu często uruchamia bardziej agresywne filtrowanie treści, czyniąc dojrzałe lub odważne scenariusze roleplay bardziej podatnymi na niepowodzenie
  • Zanieczyszczenie kontekstu: historia rozmów wypełnia się strukturami JSON
  • Złożoność obsługi błędów: co się dzieje, gdy parsowanie zawiedzie w trakcie streamingu?

Większość platform postaci firm trzecich używa tego podejścia. Działa, ale ograniczenia są realne.

2. Wywoływanie narzędzi (tryb agenta)

Najbardziej "inteligentne" podejście. AI decyduje, która postać powinna mówić następna, wywołuje narzędzie, aby to wskazać, a następnie generuje odpowiedź tej postaci. Powtarzaj, aż scena będzie kompletna.

AI myśli: "Watson powinien zareagować na to odkrycie"
→ wywołuje narzędzie: next_speaker("Watson")
→ generuje odpowiedź Watsona
→ AI myśli: "Teraz Sherlock by wtrącił"
→ wywołuje narzędzie: next_speaker("Sherlock")
→ generuje odpowiedź Sherlocka
...

Atrakcyjność:

  • Najbardziej naturalny przepływ rozmowy
  • AI ma pełną kontrolę kreatywną nad tempem sceny
  • Każda odpowiedź postaci otrzymuje dedykowaną jakość generacji
  • Naturalnie produkuje oddzielne wiadomości dla każdej postaci

Rzeczywistość:

  • Wiele wywołań API = wiele opłat za kredyty
  • Latencja się kumuluje: N postaci = N podróży w obie strony
  • Tylko modele high-end (Claude, GPT-4) niezawodnie obsługują wywoływanie narzędzi - tańsze modele często zawodzą lub halucynują wywołania narzędzi
  • Złożone zarządzanie stanem między wywołaniami
  • Ryzyko nieskończonych pętli lub nieoczekiwanego zakończenia
  • Koszmary debugowania: problemy trudne do odtworzenia

To "architektura marzeń", która wygląda pięknie na papierze, ale tworzy operacyjne bóle głowy na dużą skalę.

3. Output wolnego tekstu (nasz obecny wybór)

Najprostsze podejście. Poproś AI o naturalne napisanie sceny, pozwalając jej zdecydować, jak przedstawić wiele postaci w płynnej prozie:

Sherlock pochylił się do przodu, oczy ostre. "Fascynujące. Wzór
błota sugeruje, że nasz podejrzany przyszedł ze wschodniej strony."

Watson zmarszczył brwi. "Holmes, co pan ma na myśli? To tylko błoto."

"Tylko błoto?" Sherlock uśmiechnął się. "Mój drogi Watsonie,
nie ma czegoś takiego jak 'tylko' cokolwiek."

Atrakcyjność:

  • Działa z każdym modelem AI, nie wymaga specjalnych funkcji
  • Maksymalna wolność twórcza - AI pisze naturalnie
  • Czysty kontekst: historia rozmów czyta się jak powieść
  • Doskonałe doświadczenie streamingu
  • Pojedyncze wywołanie, przewidywalne koszty
  • Najprostsze do wdrożenia i utrzymania

Rzeczywistość:

  • Wszystkie postacie w jednym bloku wiadomości
  • Nie można łatwo zregenerować odpowiedzi pojedynczej postaci
  • Ograniczona elastyczność UI
  • Użytkownicy oczekujący dymków w stylu czatu mogą być zdezorientowani

Nauczyliśmy się tego trudną drogą

Oto coś, czym wcześniej publicznie się nie dzieliliśmy: nasza pierwsza wersja grupowego czatu używała wywoływania narzędzi.

Wierzyliśmy w "architekturę marzeń". AI decyduje, kto mówi następny, każda postać otrzymuje dedykowaną generację, piękne oddzielne dymki wiadomości. To było eleganckie. To było inteligentne. To była też katastrofa na produkcji.

Użytkownicy doświadczali nieprzewidywalnych kosztów - czasami 3x więcej niż oczekiwali za tę samą rozmowę. Czasy odpowiedzi różniły się drastycznie w zależności od tego, ile postaci AI zdecydowała się zaangażować. Tańsze modele halucynowały wywołania narzędzi lub utykały w pętlach. Nasze logi błędów wypełniły się przypadkami brzegowymi, których nigdy nie przewidzieliśmy.

Po miesiącach łatek i obejść podjęliśmy trudną decyzję o przebudowie od zera z outputem wolnego tekstu. Wydawało się to krokiem wstecz. Ale czasami "mniej inteligentne" rozwiązanie jest mądrzejszym wyborem.

Dlaczego dokonaliśmy tego wyboru

Po ekstensywnym przetestowaniu wszystkich trzech podejść - i wdrożeniu jednego na produkcję - wybraliśmy output wolnego tekstu dla grupowego czatu. Oto dlaczego:

Stabilność ponad funkcje - Strukturyzowany output zawodzi nieprzewidywalnie. Kiedy twój grupowy czat psuje się w środku rozmowy, użytkowników nie obchodzą już oddzielne dymki - chcą tylko, żeby działało. Wolny tekst nigdy nie zawodzi z powodu problemów z formatem.

Jakość ponad ilość - Ograniczone formaty subtelnie redukują kreatywność AI. Kiedy porównaliśmy outputy, wolny tekst konsekwentnie produkował bardziej żywe, naturalnie brzmiące interakcje postaci. AI mogła skupić się na opowiadaniu historii zamiast na składni JSON.

Przewidywalność kosztów - Tryb agenta pobiera opłaty za postać za odpowiedź. Scena z pięcioma postaciami mogłaby kosztować 5-10x więcej niż oczekiwano. Użytkownicy zasługują na przewidywalne ceny.

Uniwersalna kompatybilność - Obsługujemy wiele modeli AI. Nie wszystkie obsługują strukturyzowany output lub wywoływanie narzędzi równie dobrze. Wolny tekst działa wszędzie, dając użytkownikom więcej wyboru modeli.

Kompromis, który akceptujemy

Tak, poświęcamy doświadczenie "jeden dymek na postać". Ale zyskujemy:

  • Solidną jak skała niezawodność
  • Lepszą jakość kreatywną
  • Przewidywalne koszty
  • Szersze wsparcie modeli
  • Czystszą historię rozmów

Dla grupowego roleplay, gdzie immersja jest najważniejsza, wierzymy, że ten kompromis jest tego wart.

Co nadchodzi: Tryb fabularny

Oto coś ekscytującego: budujemy nowy Tryb fabularny, który używa strukturyzowanego outputu.

Dlaczego inne podejście? Tryb fabularny ma inne priorytety:

  • Precyzyjna kontrola sceny ważniejsza niż swobodna kreatywność
  • Bogate metadane (kąty kamery, wskazówki muzyczne, przerwy rozdziałów) dodają wartości
  • Format jest bardziej przewidywalny (jasna struktura rozdziałów/scen)
  • Użytkownicy oczekują bardziej "wyprodukowanego" doświadczenia

Różne przypadki użycia zasługują na różne architektury. Nie jesteśmy dogmatyczni wobec żadnego pojedynczego podejścia - wybieramy to, co najlepiej służy użytkownikom.

Szczera prawda

Nie ma idealnego rozwiązania dla wielopostaciowych rozmów AI. Każde podejście wymienia coś wartościowego na coś innego.

Inne platformy pokazujące oddzielne dymki? Prawdopodobnie używają strukturyzowanego outputu i akceptują jego ograniczenia. Platformy z bardziej "inteligentną" kontrolą sceny? Prawdopodobnie wywoływanie narzędzi z wyższymi kosztami i latencją.

Wybraliśmy ścieżkę, która priorytetyzuje to, co nasi użytkownicy cenią najbardziej: niezawodny, kreatywny, opłacalny grupowy roleplay.

Doświadczenie oddzielnych dymków jest miłe. Ale nie kosztem wszystkiego innego.

Co badamy

Eksperymentujemy z hybrydowymi podejściami:

  • Parsowanie post-processingowe: Używanie lekkich modeli do dzielenia wolnego tekstu na segmenty postaci po generacji
  • Opcjonalny tryb strukturyzowany: Pozwolenie zaawansowanym użytkownikom na wybór strukturyzowanego outputu, gdy potrzebują precyzyjnej kontroli
  • Inteligentne wykrywanie scen: Automatyczne identyfikowanie naturalnych punktów przerwania dla lepszej prezentacji UI

Celem nie jest znalezienie "właściwej" odpowiedzi. Chodzi o ciągłe ulepszanie doświadczenia przy zachowaniu tego, co działa.


Masz przemyślenia na temat tego, jak powinien działać grupowy czat? Chętnie cię wysłuchamy.

Gotowy na doświadczenie dynamicznych rozmów z AI?

Dołącz do tysięcy użytkowników, którzy już odkrywają nieskończone osobowości i wciągające interakcje na Reverie.

Trzy sposoby na budowanie grupowego czatu AI: Dlaczego wybraliśmy trudną drogę | Reverie