---
title: "Slušanje dok govori"
description: "Kako Dialogistov agent sluša dok govori, počinje odgovor unutar stanke i razlikuje upad u riječ od kašlja."
canonical: "https://dialogist.cc/hr/research/listening-while-talking/"
locale: "hr"
updatedAt: "2026-10-24"
---

# Slušanje dok govori i što agent radi s otvorenim kanalom pozivatelja

Istraživanje · 2026-10-24 · Dialogist team

> Kako Dialogistov agent sluša dok govori, počinje odgovor unutar stanke i razlikuje upad u riječ od kašlja.

Na telefonskoj liniji oba sugovornika mogu govoriti istodobno. Glasovni agent koji odgovara tek kad je pozivatelj tih, a dok govori postaje gluh, radi u poludupleksu i zvuči kao voki-toki. Ova bilješka opisuje kako Dialogistov agent sluša dok govori. Nastavlja se na raniju bilješku, [Kako znati da je pozivatelj završio](/hr/research/knowing-when-the-caller-has-finished/).

Brojke o latenciji potječu iz stvarnih telefonskih poziva (model kraja replike) i s testnog postava za opterećenje s agentom za zapošljavanje (rani start).

_Brojke o latenciji iza ove bilješke._

| Mjera                                                                               |        Iznos |
| ----------------------------------------------------------------------------------- | -----------: |
| Replike pozivatelja u stvarnim pozivima zatvorene rano po intonaciji, prije mjerača |          87% |
| Vrijeme vraćeno po replici tim ranim zatvaranjima, u prosjeku                       |      ≈ 0,3 s |
| Odgovori koji pokreću jezični model prije kraja stanke                              |          98% |
| Ušteda vremena odgovora ranim startom, od jednog poziva do 128 razgovora            | 89 do 235 ms |
| Isječci „aha“ reproducirani pozivatelju bez odobrenja osobe                         |            0 |

## Što podrazumijevamo pod punim dupleksom

Agent je cjevovod koji radi u toku, a svojstvo do kojeg nam je stalo jest da **kanal pozivatelja ostaje otvoren**. Dok agent govori:

- detekcija glasa nastavlja raditi nad zvukom pozivatelja;
- prepoznavanje ga nastavlja strujno obrađivati u okvirima od 20 ms;
- agentov vlastiti izlazni zvuk prolazi kroz mikser koji ga može stišati, prigušiti, pauzirati i nastaviti te miješati druge zvukove.

Odjeljci u nastavku opisuju što agent radi s tim otvorenim kanalom.

## Odluka da je replika gotova

Mjerač tišine bira između dvije loše mogućnosti: čekati dovoljno dugo da bude siguran, pa svaki odgovor kasni, ili reagirati na kratku stanku i upasti ljudima u riječ usred broja.

Agent čeka 192 ms, a zatim pita mali model zvuči li rečenica dovršeno. Ako je model siguran, replika se odmah zatvara. Ako nije, agent nastavlja slušati, a dulja tišina svejedno zatvara repliku, pa nitko ne čeka zauvijek.

- Presuda modela vrijedi na sljedećem okviru zvuka od 32 ms.
- U stvarnim pozivima (1.468 replika pozivatelja) model je rano zatvorio 87% replika, 95% njih na prvi pogled, i vratio oko 0,3 s po replici u prosjeku. U 96% stanki u kojima je pozivatelj samo razmišljao, pričekao je.
- **Najprije promatrati.** Model ima tri načina rada po agentu: off, observe i commit. U načinu observe bilježi što bi odlučio i ne mijenja ništa. Pragove podešavamo na stvarnim pozivima u načinu observe, a na commit prelazimo kad se zapisnik slaže s onim što su pozivatelji učinili.
- **Popisi i brojevi** su mjesta na kojima najpažljivije tražimo prerana zatvaranja. Pozivatelj koji čita broj kartice zvuči dovršeno između skupina znamenki.

## Početak odgovora prije kraja stanke

Između pozivateljeve posljednje riječi i zatvaranja replike postoji prozor od 200 do 400 ms. Prepoznavanje tijekom stanke radi probni prolaz, pa je tekst obično već poznat.

Rani start taj prozor koristi. Kad je stanka dovoljno duga, a probni tekst dovoljno pouzdan, agent gradi prompt koji bi izgradio nakon zatvaranja replike, s očekivanim pozivateljevim odgovorom na vrhu, i šalje ga jezičnom modelu. Model piše prvu rečenicu dok je replika formalno još otvorena.

Rani zahtjev smije samo **čitati**, zbog čega je siguran:

- ništa ne upisuje u povijest razgovora;
- ne poziva sintezu govora;
- ne izvršava alat i ne može završiti ni prespojiti poziv;
- ako se replika zatvori s istim tekstom, istim promptom i istom poviješću, agent preuzima pripremljene rečenice. Ako se bilo što razlikuje, agent odbacuje zahtjev i izvodi se uobičajeni put;
- ako pozivatelj ponovno počne govoriti ili upadne u riječ, agent otkazuje zahtjev i zatvara HTTP tok.

U testu opterećenja zahtjev je otišao prije odluke u 98% odgovora, u prosjeku 225 ms ranije pri 50 razgovora i 508 ms ranije pri 128. Rani start skratio je srednje vrijeme odgovora za 89 ms s jednim razgovorom, za 189 ms pri 96 i za 235 ms pri 128.

> Ušteda raste s opterećenjem: pod opterećenjem se replika dulje zatvara, pa pripremljeni odgovor ima više vremena da bude spreman.

## Upadi u riječ

Pozivatelji govore preko agenata. Agent u nekoliko desetaka milisekundi odlučuje o dvije stvari: je li to uopće upad u riječ i računa li se dovoljno da stane.

### Dva načina otkrivanja

Upad potvrđen tekstom traži da je prepoznavanje proizvelo najmanje četiri slova teksta. Akustički upad traži da detekcija glasa čuje neprekinut govor, što je brže. Akustički način ima vlastiti prag, odvojen od onoga koji otvara običnu repliku, jer je pogreška skuplja: pogrešno „replika otvorena“ košta prazan međuspremnik, a pogrešan upad prekida agenta usred riječi.

### Što se ne računa

Akustički način traži neprekinut govor iznad praga. Tipkovnica proizvodi mnogo kratkih naleta; brojač se vraća na nulu pri svakom razmaku među njima i nikad ne dosegne granicu. Govor ga drži bez razmaka. Kašalj i goli „aha“ također se ne računaju.

### Jeka

U pozivima iz preglednika jeka agentova vlastitog glasa može doći do mikrofona. Agent je prepoznaje kao jeku, bez akustičke potvrde i uz nisku pouzdanost prepoznavanja, te dovršava rečenicu.

### Što agent pamti

Agent u sljedećem promptu označava prekinuti odgovor, pa model zna da pozivatelj nije čuo sve. Po želji agent dobiva i neizgovoreni ostatak odgovora te ga može nastaviti ili odbaciti.

### Prekidač

Agent se može podesiti tako da uopće ne popušta, za linije koje se moraju pročitati u cijelosti.

## Korak natrag prije zaustavljanja

Prekinuti na prvi zvuk nepristojno je kad je taj zvuk „da, da“. Kad pozivatelj počne govoriti, agentov glas najprije ustukne, a staje tek ako se govor pokaže upadom u riječ.

- Kad pozivatelj počne govoriti, glasnoća se spušta (duck). Prema zadanim postavkama pada 15 dB tijekom 150 ms, a glas se i prigušuje: visoke frekvencije se spuštaju i uključuje se niskopropusni filtar, pa pad zvuči kao da se netko odmaknuo od telefona.
- U načinu **hold** agent pauzira nakon otprilike jednog sloga (200 ms). U načinu **duck** nastavlja govoriti tiše.
- Ako se pozivateljev govor računa kao upad, agent staje uz utišavanje od 30 ms. Ako ne, glas se vraća tijekom 300 ms.
- Nakon holda agent pola sekunde čeka za slučaj da pozivatelj ponovno počne govoriti, a zatim nastavlja od najbliže praznine među slogovima (do 400 ms unatrag), od početka rečenice ili od točnog mjesta, što god odgovara. Ako je stanka bila duga (1,5 s), vraća se na početak rečenice.
- Ako se ništa od toga ne dogodi u 2,5 s, agent odlučuje hoće li stati ili vratiti glas.

Za svaku od tih stavki postoji postavka po agentu, a agent kojem se ne smije upadati u riječ ne stišava glas.

## Izgovaranje „aha“

Dok pozivatelj dugo govori, tišina s druge strane zvuči kao prekinuta veza. Ljudi je popunjavaju malim glasovima.

Agent čini isto, s bankom kratkih potvrda: „aha“, „tako je“, „mm“. Isječci su **unaprijed izrađeni agentovim vlastitim glasom, a čovjek ih sluša i odobrava** prije nego bilo koji smije biti upotrijebljen. Ako glas nema odobrenu banku, značajka se za taj poziv sama isključuje, a agent ne reproducira nijedan neprovjereni isječak.

Agent reproducira jedan isječak:

- unutar stanke u pozivateljevu govoru (250 do 600 ms tišine) ili po mjeraču;
- tek nakon što je pozivatelj govorio 2,5 s;
- s vjerojatnošću (zadano 0,6), najviše jednom u 3 s i 3 puta po replici;
- nikad isti isječak kao jedan od posljednja četiri;
- ne kad model kraja replike procijeni vjerojatnost „završeno“ iznad 0,4.

Agent reproducirani isječak izostavlja iz povijesti razgovora, a kad se njegova jeka vrati linijom iz pozivateljeve slušalice, uklanja je iz transkripta. Sve to traži prozor stanke: replika mora ostati otvorena dulje od stanki koje agent traži. Ako postavke ne ostavljaju mjesta, značajka se za taj poziv sama isključuje, a agentova kartica u Prompt Studiju prikazuje upozorenje.

## Ostatak prostorije

- **Pozadina.** Neobvezni zvuk ureda ili sobe za sastanke, izjednačen, miješa se od prve sekunde poziva. Agent ga ne računa kao vlastiti glas za mjerače tišine i upade u riječ.
- **Tišina.** Ponovni upit, a zatim pristojan pozdrav za kraj, mjereno od kraja reprodukcije na liniji, a ne od kraja sinteze.
- **Pouzdanost.** Agent jezičnom modelu prosljeđuje nesigurnost prepoznavača kao napomenu uz repliku, broj ili oznake na pojedinim riječima. Prompt modelu kaže da pita ponovno umjesto da pogađa ime ili znamenku.
- **Pozdrav.** Agent generira pozdrav i šalje ga po rečenicama tijekom odgode zvonjenja, pa počinje u trenutku kad se linija javi.

## Kako to testiramo

- **Observe prije commita** za model kraja replike, kao gore.
- **Prompt Studio** ima karticu poziva: agenta zovete iz preglednika i čujete isti pozdrav, postupanje s tišinom i prespajanja kao na telefonu.
- **Polygon sonde** provjeravaju ponašanje u simuliranim razgovorima („je li agent ponovno pitao nakon čudnog odgovora?“). [Kako ocjenjujemo razgovor](/hr/research/how-we-grade-a-conversation/) opisuje metodu, a [stranica Tehnologije](/hr/technology/#polygon) opisuje Polygon.
- **Test opterećenja** provjerava da sve to vrijedi uz 100 aktivnih poziva: vidi [Jedan Server Unit pod opterećenjem](/hr/research/server-unit-under-load/).

Tags: Research, Izmjena govornika

---

Contact: hello@dialogist.cc
