How to Build Voice Agents That Don't Fall Apart When You Interrupt - Jesse Hall, LiveKit
ํ ์ค ํต์ฌ
์ค์๊ฐ ์์ฑ ์์ด์ ํธ๋ ๋จ์ํ ์ฑ๋ด์ด ์๋๋ผ ์ง์ฐ, ํดํ ์ดํน, ๋๊ตฌ ํธ์ถ, ํ๊ฐ๊น์ง ํฌํจํ ์ ์ฒด ๋ํ ์์คํ ์ผ๋ก ์ค๊ณํด์ผ ๋๊น ์์ด ์ฌ๋์ฒ๋ผ ๋์ํ ์ ์๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:00
์ค์๊ฐ ์์ด์ ํธ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ด์ ํธ ์ฝ๋ ์์ฑ์ด๋ ๋ฆฌ์์น์ฒ๋ผ ๊ธฐ๋ค๋ฆด ์ ์๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ด์ ํธ์ ๋ฌ๋ฆฌ, ์ ํ ์๋ดํ ์ค์๊ฐ ์์ด์ ํธ๋ ์ฌ์ฉ์์ ๋ง ๋๊ธฐ, ๋ง ๋ณ๊ฒฝ, ์ค๊ฐ ์์ ์ ์ฆ์ ์ ์ํด์ผ ํ๋ค. ํนํ ๊ธ์ต์ฒ๋ผ ์ค๋ฅ ๋น์ฉ์ด ํฐ ์ํฉ์์๋ ๋ํ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์ด์ด์ง์ง ์์ผ๋ฉด ์ ๋ขฐ์ ์ ๋ฌด ์ฑ๊ณผ๊ฐ ํจ๊ป ๋ฌด๋์ง๋ค.
-
1:47
๊ธ์ต ์๋น์ค์ฉ ์ธ๊ฐํ ์์ฑ ์์ด์ ํธ ์์ฑ ์์ด์ ํธ์ ํต์ฌ์ ์๋๋ง์ด ์๋๋ผ ์ฌ๋์ฒ๋ผ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์ํ๋ ๊ฒฝํ์ด๋ฉฐ, ์ง์ฐ ์๊ฐ์ ๊ทธ ๋ชฉํ๋ฅผ ์ํ ์ ํ๋ ์์ฐ์ ๊ฐ๊น๋ค. ์์ฑ์ ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ์ธํฐํ์ด์ค์ด๊ธฐ ๋๋ฌธ์ ์ค์ ์๋น์ค์์๋ ์ธ๊ฐ๋ค์ด ์ํธ์์ฉ ํ์ง์ด ๊ฒฝ์๋ ฅ์ ์ค์ฌ์ด ๋๋ค.
-
3:46
LiveKit๊ณผ ์์ฑ ํ์ดํ๋ผ์ธ LiveKit์ ์ฌ๋์ ๋ง๊ณผ ์๋ฆฌ, ์์, ๋ฐ์ดํฐ ํ๋ฆ์ ๋ค๋ฃจ๋ ์ค์๊ฐ ์คํ์์ค ํ๋ ์์ํฌ์ด๋ฉฐ, ์ฌ๊ธฐ์๋ ์์ฑ ์์ด์ ํธ์ ์ด์ ์ ๋ง์ถ๋ค. ์์ฑ์ ๊ฐ์ฅ ์ต์ํ ์ง์ ์ ์ด๋ฉด์๋ ๊ตฌํ ๋๋๊ฐ ๋์, ์ค์๊ฐ ์ํธ์์ฉ์ ํต์ฌ ๋ฌธ์ ๋ค์ด ์ง์ค๋๋ ์์ญ์ด๋ค.
-
4:21
์ฐ์ํ ํ์ดํ๋ผ์ธ๊ณผ speech-to-speech ์ ํต์ ์ธ ์์ฑ ์์ด์ ํธ๋ STT, LLM, TTS์ 3๋จ๊ณ ํ์ดํ๋ผ์ธ์ผ๋ก ๊ตฌ์ฑ๋์ง๋ง, ์ต๊ทผ์๋ ์ด๋ฅผ ๋์ฒดํ๋ speech-to-speech ๋ชจ๋ธ๋ ๋ฑ์ฅํ๊ณ ์๋ค. ๋ค๋ง ์ ํ์ง๊ฐ ๋๋ฌด ๋ง์์ก๊ธฐ ๋๋ฌธ์ ์ด๋ค ๋ชจ๋ธ์ด๋ ๋จ๋ ์ฑ๋ฅ๋ณด๋ค ์ ์ฒด ๋ํ ํ์ง ๊ด์ ์์ ํ๋จํด์ผ ํ๋ค.
-
5:05
๋ฆฌ๋๋ณด๋๋ง์ผ๋ก๋ ์คํ์ ๊ณ ๋ฅผ ์ ์๋ ์ด์ ๋ฆฌ๋๋ณด๋๋ ๊ฐ๋ณ ๋ชจ๋ธ์ ํ๊ฐํ ๋ฟ, ์ค์ ์๋น์ค์ฒ๋ผ ๋ชจ๋ธ๋ค์ด ์ฐ์์ ์ผ๋ก ์ํฅ์ ์ฃผ๋ ๋ํ ์ ์ฒด๋ฅผ ํ๊ฐํ์ง ๋ชปํ๋ค. ์ ๋ ฅ ์ธ์ ์ค๋ฅ๊ฐ ๋ค ๋จ๊ณ๋ก ์ ํ๋๋ ๊ตฌ์กฐ์, ์ค์ ์ฌ์ฉ์ ํ๊ฒฝ์ ์ก์ยท๋ถ์์ ํ ์์ฑ๊น์ง ๊ณ ๋ คํ๋ฉด ์์ฒด ์๋๋ฆฌ์ค๋ก ์คํ์ ๊ฒ์ฆํด์ผ ํ๋ค.
-
6:46
์ฒซ ๋ฐ์ดํธ๊ฐ ์๋๋ผ ์ฒซ ์ค๋์ค TTS๋ dashboard์ time to first byte๊ฐ ๋น ๋ฅด๋๋ผ๋ ์ค์ ๋ก๋ ์นจ๋ฌต์ด ๊ธธ๊ฒ ์ด์ด์ง ์ ์์ผ๋ฏ๋ก, ์ฌ์ฉ์๊ฐ ์ฒ์ ์๋ฆฌ๋ฅผ ๋ฃ๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ time to first audio๋ฅผ ๋ด์ผ ํ๋ค. ๋ํ์์๋ ์ฒด๊ฐ ์ง์ฐ์ด ํต์ฌ์ด๋ฏ๋ก, ์ซ์์ ๋น ๋ฆ๋ณด๋ค ๊ท๋ก ๋ค๋ฆฌ๋ ์๋ต ์์ ์์ ์ด ์ค์ํ๋ค.
-
7:52
์ฒซ ํ ํฐ์ด ์๋๋ผ ์ฒซ ๋ฌธ์ฅ LLM์ time to first token์ด ๋น ๋ฅด๋ค๊ณ ํด์ ๋ฐ๋ก ์์ฑ ์๋ต์ด ๋น ๋ฅธ ๊ฒ์ ์๋๋ฉฐ, TTS๋ ๋ณดํต ์์ ํ ๋ฌธ์ฅ์ด ์์ด์ผ ๋ฐํ๋ฅผ ์์ํ ์ ์๋ค. ๋ฐ๋ผ์ ๋ชจ๋ธ ํ๊ฐ๋ ํ ํฐ ์๋๋ณด๋ค ์ฒซ ๋ฌธ์ฅ์ ์ผ๋ง๋ ๋นจ๋ฆฌ ๋ง๋ค ์ ์๋์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด์ผ ํ๋ค.
-
8:38
๋๋ฆฐ ๋๊ตฌ ํธ์ถ์ ์ฌ๋์ฒ๋ผ ์จ๊ธฐ๊ธฐ ์์ด์ ํธ๋ ๋จ์ ๋ํ๊ฐ ์๋๋ผ ์กฐํ, ํ์ธ, ์ ์ถ ๊ฐ์ ๋๊ตฌ ํธ์ถ์ ์ํํด์ผ ํ๋ฉฐ, ์ด ๊ณผ์ ์ ์ง์ฐ์ ๋ง๋ ๋ค. ํต์ฌ์ ๋ํ์ ๋๊ตฌ ์คํ์ ๊ฐ์ ํ๋ฆ์ ๋ฌถ์ด ๋ฉ์ถ๊ฒ ํ์ง ์๋ ๊ฒ์ด๋ฉฐ, ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ก mic๋ฅผ ๋ํ์ ๋ค์ ๋๋ ค์ค์ผ ์ฌ๋์ด ํตํํ๋ฏ ๊ณ์ ๋งํ ์ ์๋ค.
-
10:14
ํธํ ์์ฝ ์์ด์ ํธ ๋ฐ๋ชจ ํธํ ์์ฝ ๋ฐ๋ชจ์์๋ ์ฌ์ฉ์๊ฐ ์ค๊ฐ์ ๋ผ์ด๋ค๊ณ ์ ๋ณด๊ฐ ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๋ ๋์์๋ ๋ํ๊ฐ ๋ฉ์ถ์ง ์์๋ค. ๋ฐฑ์๋๊ฐ ์๋ต์ ๋๋ด๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค์ ์ง๋ฌธ์ผ๋ก ๋์ด๊ฐ๋ฉฐ, ์ค๋ฅ๊ฐ ๋๋ฉด ํ์ธํ๊ฑฐ๋ ์ฌ๋์๊ฒ ๋๊ธฐ๋ ํ๋ฆ๊น์ง ํฌํจํด ์์ฐ์ค๋ฌ์ด ์๋ด ํํ๋ฅผ ๋ณด์ฌ์ค๋ค.
-
12:33
์ธ์ ๋ฃ๊ณ ์ธ์ ๋งํ ์ง ํ๋จํ๊ธฐ turn detection์ ์ฌ์ฉ์๊ฐ ๋ง์ ๋๋๋์ง ํ๋จํ๋ ๊ธฐ๋ฅ์ด๋ฉฐ, ๋จ์ ์ ์ฌ๋ฟ ์๋๋ผ ์ค๋์ค์ ๋ฆฌ๋ฌ, ๋๋ฎ์ด, ์ต์๊น์ง ํจ๊ป ๋ด์ผ ์ ํ๋๊ฐ ๋์์ง๋ค. ์ด๋ฅผ ํตํด ๋ ์ก์์ฒ๋ผ ๋์ด ๋งํ๊ธฐ ์ฌ์ด ์ ๋ ฅ์์๋ ์ค๊ฐ์ ๋์ง ์๊ณ ๋๊น์ง ๋ฃ๋ ํ๋์ ๋ง๋ค ์ ์๋ค.
-
14:02
์ง์ฐ ์๊ฐ ์์ฐ ๋ฐํ์ ๋ง์ง๋ง ์์ ๋ถํฐ ์์ด์ ํธ์ ์ฒซ ๊ฐ์ฒญ ์๋ต๊น์ง๊ฐ ์ ์ฒด latency budget์ด๋ฉฐ, ์ด ์์ ๋ชจ๋ ๋ชจ๋ธ, ํจ์, handoff๊ฐ ๋ค์ด๊ฐ์ผ ํ๋ค. ์ฝ 1.5์ด๋ฅผ ๋๊ธฐ๋ฉด ์ด์ํด์ง๊ธฐ ์์ํ๊ณ , 5~600๋ฐ๋ฆฌ์ด ์์ค์ ๋ค์ด๊ฐ์ผ ์ฌ๋ ๊ฐ์ ๋ํ๋ก ๋๊ปด์ง๋ค.
-
15:44
์๋ฎฌ๋ ์ด์ ๋ฐํ์๋ก ์คํ ๋ฒค์น๋งํนํ๊ธฐ ์ ๋ต์ ์ฐพ์ผ๋ ค๋ฉด ์์ฑ๋ ์์ด์ ํธ์ ์๋ฎฌ๋ ์ด์ ๋ฐํ์๋ฅผ ๋ถ์ฌ, ๋ชฉํ ๋ณ๊ฒฝยท๋ง ๋๊ธฐยท์ก์ยท์ ์ผ๊ฑฐ๋ฆผ ๊ฐ์ ์ค์ ์ํฉ์ ๋ฐ๋ณต ํ ์คํธํด์ผ ํ๋ค. ๊ฐ์ ์๋๋ฆฌ์ค์ ๋ชจ๋ธ๋ง ๋ฐ๊ฟ ๋ฃ์ด ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ๋ฉด, ๋ฆฌ๋๋ณด๋๊ฐ ์๋๋ผ ์์ ์ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๋ ๋ฒค์น๋งํฌ๋ฅผ ๋ง๋ค ์ ์๋ค.
-
18:35
๊ฒฐ๊ณผ์ ์ถ์ ์ ์ ๊ฒํ ์คํ ๊ฒฐ๊ณผ๋ ๊ฐ์ ๋ชจ๋ธ์ด๋ผ๋ ์ ๊ณต ์ธํ๋ผ์ ๋ฐ๋ผ ์๋๊ฐ ๋ฌ๋ผ์ง ์ ์์ผ๋ฉฐ, LiveKit์ ์์ฑ ์ํฌ๋ก๋์ ๋ง๊ฒ ์ถ๋ก ์ ์ต์ ํํ๋ค. ์ถ์ ์ ์๋ ์ง์ฐ ์์ฐ ์ค์ , ํต์ฌ ์ ๋ณด ํ์ธ, ์ ์ ๊ฒ์ฆ, ๋๋ฆฐ ๋๊ตฌ ์คํ ์ค ๋ํ ์ ์ง, ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฐ ํ๊ท ํ ์คํธ๋ฅผ ๋ฐ๋ณตํด ์ค์ ๋ํ ํ์ง์ ๊ฒ์ฆํด์ผ ํ๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ์์ฑ ์์ด์ ํธ์ ์ฑ๋ฅ ํ๊ฐ๋ ๋ชจ๋ธ ๋จ๋ ์ ์๋ณด๋ค ์ค์ ๋ํ ์๋๋ฆฌ์ค ์ ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ํด์ผ ํ๋ฉฐ, ํนํ interrupt์ background noise๋ฅผ ํฌํจํ ํ ์คํธ๊ฐ ํ์๋ค.
- ์ง์ฐ ์๊ฐ ์ต์ ํ๋ ์ ๋ ์๋ ๊ฒฝ์์ด ์๋๋ผ ์ฌ์ฉ์ ์ฒด๊ฐ ๊ธฐ์ค์ ์์ฐ ๊ด๋ฆฌ ๋ฌธ์ ์ด๋ฏ๋ก, time to first audio์ time to first sentence๋ฅผ ๋ณ๋๋ก ์ธก์ ํด์ผ ํ๋ค.
- ๋๊ตฌ ํธ์ถ์ด ์๋ ์์ฑ ์์ด์ ํธ๋ ๋ํ์ ๋ฐฑ์๋ ์์ ์ ๋ถ๋ฆฌํด ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํด์ผ ํ๋ฉฐ, ๊ทธ๋์ผ ์ฌ์ฉ์๊ฐ ๋ผ์ด๋ค์ด๋ ํ๋ฆ์ด ๋๊ธฐ์ง ์๋๋ค.