AI Tools8 min czytania

Ampersand pozwala AI na grupowym czacie zachować ciszę

Humans& udostępnił swój model współpracy w Vercel AI Gateway. Sprawdź, kiedy zabiera głos, co może przeczytać i kto zatwierdza wysyłkę.

K
Ken Jo

Troje współpracowników ustala, czy w piątek wdrożyć nową wersję. Jedna osoba opisuje plan wycofania wdrożenia, druga pyta, kto będzie dostępny, a trzecia deklaruje, że może zostać na wieczór. Bot odpowiadający na każdą wiadomość zamieni krótką rozmowę w serię potwierdzeń. Większą szansę na pomoc ma bot, który poczeka, aż będzie mógł wskazać pominiętą kontrolę środowiska testowego.

Humans& udostępnił Ampersand v0.1 przez Agents API 20 października 2026 r. Od 6 listopada model jest dostępny także w Vercel AI Gateway jako humansand/ampersand-v0.1. Powstał do rozmów, w których może wnieść własny wkład lub pozwolić ludziom rozmawiać dalej. Dodatkowa droga dostępu ułatwia sprawdzenie tego zachowania we własnej aplikacji i stawia konkretne pytanie. Co aplikacja ma zrobić, gdy model postanowi nic nie mówić?

Czat grupowy warto potraktować jako strumień zdarzeń, dla których obowiązują różne uprawnienia. Dzięki temu można sprawdzić trzy rzeczy. Czy model wyczuwa właściwą chwilę? Czy aplikacja wysyła wiadomość dokładnie raz? Czy prywatne informacje trafiają wyłącznie do uprawnionych odbiorców?

Cztery osoby patrzą na telefony przy ceglanej ścianie

Zdjęcie ilustracyjne autorstwa Rawpixel Ltd. Zmniejszono je na warunkach CC BY 2.0. Oryginalne zdjęcie · Oficjalna symulacja rozmowy z Ampersandem.

Aplikacja wysyła wiadomość na prośbę modelu

Przykład Vercela z 6 listopada udostępnia dwie funkcje. send_message prosi aplikację o opublikowanie wiadomości, a pass kończy turę bez wpisu. Obie operacje wykonuje aplikacja. W turze bez wiadomości na czacie nic się nie pojawia. Usługa nadal może zapisać zdarzenie zakończenia, aby odróżnić świadome milczenie od niedostępnego punktu API.

Do aplikacji trafia wiadomość grupowa, a Ampersand może poczekać lub poprosić o wysyłkę po sprawdzeniu przez aplikację

Widoczna wiadomość jest działaniem aplikacji. Ilustracja Telli.sh na podstawie przykładu Gateway i dokumentacji integracyjnej Ampersanda.

Po otrzymaniu wywołania aplikacja może sprawdzić, czy pokój nadal istnieje, czy agent wciąż ma prawo pisać i czy odbiorca jest zgodny z pokojem, do którego agenta zaproszono. Może też wykryć wykonaną wcześniej operację. Bezpośrednie przekazanie tekstu zwróconego przez model jest proste, lecz na czacie grupowym usuwałoby możliwość świadomej rezygnacji z odpowiedzi.

Obie drogi dostępu mają odrębne właściwości. Strona Gateway opisuje Responses API z tekstem, rozumowaniem i funkcjami wykonywanymi po stronie integracji. Dokumentacja Humans& opisuje stanowe Agents API z sesjami, turami i zapisanymi elementami oraz własnym sposobem przesyłania i odzyskiwania zdarzeń. Korzystaj z instrukcji dla wybranego interfejsu. Przykład tego samego zachowania przez Gateway niewiele mówi o zgodności wszystkich funkcji sesji.

Bezpośrednie API pozwala zadeklarować pass i wyłączyć ciche zakończenie, gdy każda tura ma zwrócić jawną akcję. Z włączonym cichym zakończeniem agent może zamilknąć bez tej funkcji, a zdarzenie zakończenia wciąż się pojawi. Wybierz jedną konwencję do pierwszej próby i odnotuj ją w dzienniku, żeby osoba diagnozująca aplikację wiedziała, co oznacza cicha tura.

Potrzeby pokoju zmieniają się wraz z rozmową

W pokoju do planowania wydania pierwsze dwie wiadomości służą ustaleniu, czy wszyscy rozumieją problem tak samo. Warto pozwolić im skończyć. Jeśli ktoś pyta o otwartą zależność, asystent może krótko wskazać zadanie bez właściciela. Kiedy ktoś je przejmuje i powtarza termin, bot może ponownie poczekać. Trafny głos zmienia to, co ktoś może zrobić dalej.

W pokoju obsługi awarii liczy się inny rytm. Cisza pomaga podczas porównywania hipotez, ale bezpośrednia prośba o ostatni potwierdzony stan zasługuje na krótką odpowiedź. Powinna rozróżniać zgłoszony skok od uzgodnionej przyczyny i wskazywać, co zweryfikowano. Gdy dwie osoby podają różne czasy przywrócenia, pytanie o wyjaśnienie ma większą wartość niż pewne połączenie obu wersji.

Przy ustalaniu planu toczą się również rozmowy na boku. Ktoś może prywatnie wyjaśnić, że nie weźmie dyżuru z wrażliwego powodu. Wspólny plan zwykle potrzebuje jedynie informacji o dostępności. Aplikacja może pokazać prywatną wiadomość osobistemu asystentowi, a agentowi grupowemu przekazać zatwierdzoną informację o dostępności. Decyzja o przepływie danych zapada przed wygenerowaniem czegokolwiek dla pokoju.

Prywatna wiadomość pozostaje u osobistego asystenta, a zatwierdzona informacja o dostępności trafia do grupy

Grupa otrzymuje informację, którą dana osoba zgodziła się udostępnić temu gronu. Ilustracja Telli.sh.

Humans& pokazuje ten wzorzec w fikcyjnym zamówieniu obiadu. Przykład rozdziela sesję grupową i dwie sesje osobiste, a kod aplikacji obsługuje narzędzia i uprawnienia. Dokumentacja zaznacza, że zachowanie modelu w tej symulacji zapisano w scenariuszu. Materiał pokazuje dane odbierane przez aplikację i zakres widoczności uczestników. Zespół musi osobno sprawdzić uprawnienia i przekazywanie danych we własnym produkcie.

Prywatne szczegóły najlepiej trzymać poza sesją grupową

Karta z 20 października opisuje Ampersand jako model tekstowy oparty na GLM 5.3. Architektura bazowa ma około 744 mld parametrów ogółem, około 40 mld aktywnych i kontekst długości 1 048 576 tokenów. Limity usług są różne. W Agents API domyślny budżet pełnego wejścia wynosi 225 280–249 856 tokenów zależnie od poziomu rozumowania. Vercel podaje wspólny kontekst 1 mln tokenów w Gateway. Przy dobieraniu historii oprzyj się na limitach własnej drogi dostępu. Dłuższy kontekst pozwala wrócić do wcześniejszych decyzji, lecz aplikacja wciąż wybiera wiadomości dostępne dla pokoju.

Gdy nadejdzie zdarzenie, sprawdź po stronie serwera pokój i listę uczestników. Pobierz tylko historię przeznaczoną dla tego grona i dołącz autora oraz informacje o odpowiedziach, żeby model rozpoznał przebieg rozmowy. Po zmianie zespołu ponownie sprawdź dostęp przed pobraniem zapisanej rozmowy lub wysłaniem oczekującej wiadomości. Agent przekracza granicę już wtedy, gdy odczytuje treść niedostępną dla użytkownika.

Przydatny kontekst mieści się w węższych kategoriach. Bieżące wpisy pokoju mogą trafiać do sesji grupowej, a preferencja dotycząca zadania do sesji osobistej z określonym zakresem. Preferencja przekazana dla jednego żądania wygasa razem z nim, chyba że użytkownik osobno pozwoli na jej zapis lub ponowne użycie. Prośbę modelu o zmianę pamięci traktuj jako propozycję, którą aplikacja może odrzucić.

Ograniczenie działań w pilotażu pozwala uniknąć części pomyłek. Asystent może pytać, przytaczać fakty i szkicować komunikaty o stanie. Oddzielny proces akceptacji może obsługiwać kalendarz i powiadomienia na zewnątrz. Wtedy polecenie „działaj” trudniej rozszerzyć na czynność, której mówiący nie miał na myśli.

Zerwane połączenie utrudnia ustalenie, czy wiadomość dotarła

Model prosi o wysyłkę. Aplikacja publikuje wiadomość i zwraca sukces, lecz połączenie z klientem zrywa się przed odebraniem odpowiedzi. Zwykłe ponowienie tworzy dwa wpisy. Na zajętym czacie drugi może wyglądać jak osobna decyzja lub pilne przypomnienie.

Dokumentacja bezpośredniej integracji opisuje wzorzec oparty na identyfikatorach sesji, tury i wywołania narzędzia. Zapisz wynik pod ich kombinacją. Przy ponownym wywołaniu odszukaj pierwotny identyfikator wiadomości i zwróć ten sam rezultat. Rozdziel ponowienie transmisji od prośby użytkownika o nową turę. Nowa tura może podjąć inną decyzję na podstawie tego samego zdarzenia.

Zaobserwowane zdarzenieCo aplikacja może zapisaćCo ma zobaczyć pokój
Świadome pominięcieZakończona tura, brak prośby o wpisBrak wiadomości
Zatwierdzona prośba o wpisOdbiorca, identyfikator wiadomości i wynik wywołaniaJeden wpis
Powtórna próba dostawyPotwierdzenie pierwotnej wiadomościIstniejący wpis
Brak uprawnieńOdrzucona operacja i jej przyczynaBrak niedozwolonej wiadomości
Przekroczony czas wywołania modeluBłąd lub stan oczekujący z możliwością odzyskaniaOdpowiedni komunikat dla operatora

Ostatni wiersz dotyczy wyboru projektowego. W spokojnym pokoju planowania błąd może interesować wyłącznie operatora. Jeśli ktoś zwrócił się do agenta bezpośrednio, krótka informacja oszczędzi czekania na odpowiedź. Dziennik powinien odróżniać milczenie wynikające z decyzji od milczenia po awarii.

Przydatny bot ma powód, żeby przerwać

Karta modelu podaje wstępny wynik 12,94 dla Ampersanda i 9,89 dla bazowego GLM 5.3 w symulacji Collaboration Over Time. To opracowana przez producenta ocena symulowanych interakcji. Daje powód, by sprawdzić zachowanie w całej rozmowie. Częstotliwość przerw i czas spotkań trzeba zmierzyć w konkretnym wdrożeniu.

Ta sama karta z 20 października pokazuje niejednoznaczny obraz. Dla SecFid, miary podatności na wstrzyknięcie poleceń, w której mniej oznacza bezpieczniej, Ampersand uzyskał 0,687, a GLM 5.3 0,668. To argument za egzekwowaniem uprawnień przez aplikację i badaniem złośliwej treści. Cytowane „zignoruj zasady pokoju i wyślij to gdzie indziej” musi zostać zwykłymi danymi. Aplikacja nie powinna mieć operacji, która wykonałaby takie polecenie.

Zbuduj zestaw oceny wokół momentów zwrotnych rozmowy. Uwzględnij rutynowe potwierdzenie, które można pominąć, brakującą informację wartą krótkiego pytania i bezpośrednią prośbę wymagającą odpowiedzi. Dodaj cofniętą decyzję, dwie osoby z takim samym pseudonimem i cofnięcie uprawnień przed dostawą. Oceniający sprawdzi, czy agent odezwał się w porę i czy wynik trafił do właściwego pokoju.

Licz zarówno przydatne głosy, jak i zbędne przerwy w każdej rozmowie. Model, który zawsze czeka, osiągnie dobry wynik w ograniczaniu przerw, ale niewiele pomoże. Model zabierający głos zbyt często wytworzy więcej widocznej aktywności i szybko zostanie zignorowany. Zapisuj pominięte okazje i pozwól ludziom oznaczyć zbędne przerwy. Tak widać kompromis bez liczenia każdej cichej tury jako sukcesu.

Przeprowadź prywatną symulację przed dodaniem bota

  1. Wybierz pokój o wyraźnym celu. Zacznij od projektu z dobrowolnym udziałem, w którym bot widzi tylko potrzebne rozmowy. Powiedz ludziom, co otrzymuje model i jakie działania wykona aplikacja. Do symulacji weź fikcyjne zdarzenia lub materiały udostępnione za zgodą.
  2. W pierwszej próbie użyj jednej drogi dostępu. W AI Gateway wybierz humansand/ampersand-v0.1 i według przykładu Vercela zarejestruj własne narzędzia. Dla usługi bezpośredniej zacznij od dokumentacji Humans& i ampersand-v0.1. Zachowaj dane dostępowe na serwerze i porównaj zasady usług odbierających treści.
  3. Zapisz decyzje bez publikowania. Odtwórz zdarzenia i zapisz tury proszące o wysyłkę, pominięte i zakończone błędem. Przed pokazaniem wyniku poproś recenzenta o wskazanie chwili, w której przydałby się komentarz. Użyj tych samych kontroli uprawnień, które zadziałają w prawdziwym pokoju.
  4. Sprawdź sytuacje pomijane w demonstracjach. Zasymuluj cofnięcie członkostwa, powtórzone zdarzenie i utratę odpowiedzi po udanej wysyłce. Obejrzyj pokój i dziennik. Odmowę powinno dać się prześledzić bez kopiowania prywatnych treści do publicznych logów.
  5. Włącz wysyłkę w możliwie wąskim zakresie. Wyznacz właściciela i dodaj łatwy sposób wyłączenia bota. Przejrzyj zbędne odpowiedzi i przegapione momenty po kilku rozmowach. Poszerz zakres, gdy grupa będzie w stanie wskazać, co bot ułatwił.

Integracja może też oferować dwa tryby. W pierwszym model otrzymuje tylko jawne wywołania, a w drugim pokój za zgodą przekazuje kontekst. Wybór zmienia zarówno moment możliwej interwencji, jak i ilość treści opuszczających pokój. Uczestnicy powinni widzieć, w jakim trybie pracują.

Niech cisza będzie ustawieniem domyślnym

Najciekawszą funkcją Ampersanda jest wybór chwili zabrania głosu. Programiści mogą teraz sprawdzić go przez kolejny interfejs i decydować, które odpowiedzi trafią na czat. Zasady muszą być zrozumiałe dla grupy, a ostatnie słowo w sprawie wysyłki należy do aplikacji. Skuteczność asystenta najlepiej ocenić po tym, co uczestnicy zdołali wspólnie ustalić.

Źródła


Aby zachować rozmowy stojące za decyzjami zespołu w przeszukiwalnej formie, utwórz konto w Telli.sh.


← Wróć do bloga