Пошаговая инструкция
Голосовой агент хранится в Firestore внутри компании. Кнопка Добавить создаёт черновой документ VoiceAgents, а Сохранить записывает рабочие настройки: имя, язык, промпт, голос, сценарий начала и завершения звонка, поведение при перебивании, запись разговора, поиск товаров и телефонию.
Сначала пройдите интерактивную инструкцию. Точки показывают, куда нажимать; видео показывают добавление агента, раскрытие языка, ввод текстовых полей, настройку слайдеров, добавление фразы паузы и сохранение.
Что заполнить на этом экране
Список голосовых агентов
Как заполнять: Откройте список и проверьте существующих агентов перед добавлением нового.
Зачем: Дублирующие агенты усложняют маршрутизацию звонков и поддержку.
Создать агента
Как заполнять: Нажмите Добавить в правом верхнем углу.
Зачем: SABSUS создаёт черновой Firestore-документ VoiceAgents и открывает форму настроек.
Название агента
Как заполнять: Введите понятное имя, например Голосовой агент поддержки.
Зачем: Имя должно объяснять сценарий: поддержка, продажи, обратные звонки, бронирование или тест.
Язык агента
Как заполнять: Откройте выбор языка и выберите язык, на котором агент будет говорить.
Зачем: Промпт, приветствие, прощание и фразы паузы должны быть на этом же языке.
Включение агента
Как заполнять: Оставляйте включённым только агента, который готов к реальным звонкам.
Зачем: Черновик или тестовый агент не должен случайно отвечать клиентам.
Промпт и инструкции
Как заполнять: Опишите роль, границы, тон, что агент проверяет и как завершает звонок.
Зачем: Prompt управляет разговором сильнее, чем любое видимое название.
Голос
Как заполнять: Укажите реальный voiceId, подключённый в TTS/runtime.
Зачем: Неверный voiceId может сломать звонок или привести к неожиданному голосу.
Слайдеры голоса
Как заполнять: Настраивайте speed, stability, similarity boost и style постепенно.
Зачем: Крайние значения делают телефонный голос неестественным или плохо понятным.
Текст приветствия
Как заполнять: Напишите короткое приветствие: кто звонит и почему.
Зачем: Клиент должен сразу понять контекст звонка.
Текст прощания
Как заполнять: Напишите корректное завершение и проверьте Complete After Goodbye.
Зачем: Runtime должен понимать, когда сценарий завершён.
Переключатели поведения звонка
Как заполнять: Проверьте interruption, silence, tools, product search, recording, saving и transcript validation по одному.
Зачем: Каждый switch меняет поведение runtime и то, какие данные сохраняются.
Фразы для паузы
Как заполнять: Добавьте фразы вроде Секунду, я проверяю информацию.
Зачем: Такие фразы закрывают паузу поиска данных и делают разговор естественнее.
Номер телефона
Как заполнять: Введите номер, настроенный для исходящих звонков.
Зачем: Runtime не должен звонить с номера, который не подключён к телефонии компании.
Тайминг Twilio
Как заполнять: Задайте post-speech drain в миллисекундах и оставьте Wait for Twilio mark включённым, если runtime ждёт playback mark.
Зачем: Эти параметры защищают от обрезанной речи и наложения аудио.
Сохранение
Как заполнять: Сохраняйте после проверки всех полей и переключателей.
Зачем: Только сохранённые значения становятся рабочей конфигурацией агента.
Частые ошибки
- Оставлять имя Agent voice у нескольких агентов.
- Писать английский prompt для русскоязычного агента.
- Менять язык, но не менять приветствие, прощание и фразы паузы.
- Указывать voiceId, которого нет у TTS-провайдера.
- Включать tools или product search, не понимая, какие runtime-инструменты доступны.
- Включать запись звонков без проверки consent и privacy policy компании.
- Отключать interruption, когда клиенту нужно перебивать агента в реальном разговоре.
- Оставлять Phone number пустым для агента, который должен делать исходящие звонки.
- Резко менять Twilio timing без тестового звонка.
- Думать, что Добавить только открывает пустую форму: на этом экране кнопка уже создаёт черновой VoiceAgents-документ.
Техническая таблица для AI-агентов
Этот блок находится ниже основной инструкции. Он нужен поддержке, автоматизациям и будущим AI-агентам, чтобы связывать видимые поля Voice Agents с реальными Firestore-полями SABSUS.
| Поле | Хранится как | Назначение | Почему важно |
|---|---|---|---|
| ID голосового агента | Companies/{companyId}/VoiceAgents/{agentId} / VoiceAgents.id | Стабильный Firestore ID документа агента. | Звонки, логи, поддержка, автоматизации и будущие AI-агенты должны ссылаться на стабильный ID. |
| Agent Name | VoiceAgents.agentName | Понятное имя агента в списке. | Менеджер должен отличать поддержку, продажи, обратные звонки, бронирование и тестовых агентов. |
| Agent Enabled | VoiceAgents.enabled | Разрешает использовать агента в runtime-сценариях. | Выключенный агент не должен отвечать или звонить, даже если документ существует. |
| Language | VoiceAgents.language | Код языка, на котором говорит агент. | От языка зависят prompt, приветствие, прощание, transcript и ожидания клиента. |
| Config schema version | VoiceAgents.configSchemaVersion | Версия структуры конфигурации. | Runtime должен понимать, как читать документ агента. |
| Prompt | VoiceAgents.prompt | Главные инструкции поведения для разговора. | Prompt задаёт тон, границы, задачи и правила ответа. |
| Voice ID | VoiceAgents.voiceId | Идентификатор голоса в TTS-провайдере. | Runtime использует этот ID для выбора реального звучащего голоса. |
| Speaker Boost | VoiceAgents.ttsUseSpeakerBoost | Усиление TTS-голоса. | Для телефонных звонков голос часто должен быть более разборчивым. |
| Speed | VoiceAgents.ttsSpeed | Скорость речи. | Слишком быстрая речь ухудшает поддержку по телефону. |
| Stability | VoiceAgents.ttsStability | Стабильность TTS-голоса. | Стабильный голос лучше подходит для повторяемых бизнес-звонков. |
| Similarity Boost | VoiceAgents.ttsSimilarityBoost | Похожесть на выбранный голос. | Помогает сохранять голос ближе к выбранному профилю. |
| Style | VoiceAgents.ttsStyle | Выразительность голоса. | Определяет, насколько спокойно или эмоционально звучит агент. |
| Opening Enabled | VoiceAgents.openingEnabled | Разрешает произносить стартовую фразу. | Клиент должен понять, кто звонит и зачем. |
| Opening Text | VoiceAgents.openingText | Первая фраза в начале звонка. | Создаёт доверие и объясняет причину звонка. |
| Goodbye Text | VoiceAgents.goodbyeText | Фраза завершения звонка. | Делает окончание разговора предсказуемым и вежливым. |
| Complete After Goodbye | VoiceAgents.completeAfterGoodbye | Завершает сценарий после goodbye. | Не даёт агенту продолжать разговор после финальной фразы. |
| Allow caller interruption | VoiceAgents.vadInterruptResponse | Разрешает клиенту перебивать агента. | В реальном звонке агент должен остановиться, когда клиент начал говорить. |
| Thinking filler enabled | VoiceAgents.thinkingFillerEnabled | Разрешает фразы ожидания во время поиска. | Пауза не должна звучать как сломанный звонок. |
| Thinking filler phrases | VoiceAgents.thinkingFillerPhrases[] | Фразы, которые агент говорит во время проверки данных. | Делают ожидание естественным и понятным клиенту. |
| Silence handling | VoiceAgents.silenceEnabled | Обработка молчания клиента. | Помогает завершать звонки, где клиент перестал отвечать. |
| Tools enabled | VoiceAgents.toolsEnabled | Разрешает runtime tools. | Инструменты позволяют агенту проверять данные, а не отвечать только из памяти. |
| Product search | VoiceAgents.productSearchEnabled | Разрешает поиск товаров. | Агент может отвечать на вопросы о товарах и наличии. |
| Recording enabled | VoiceAgents.recordingEnabled | Включает запись звонка. | Запись нужна для контроля качества, споров, обучения и аудита. |
| Save conversation | VoiceAgents.recordingSaveToStorage | Сохраняет запись в storage. | Сохранённые медиа дают доказательство разговора. |
| Transcript validation | VoiceAgents.transcriptValidationEnabled | Включает проверку transcript. | Снижает риск действий на основе плохого распознавания речи. |
| Phone number | VoiceAgents.fromNumber | Исходящий номер агента. | Номер должен быть подключён к телефонии компании. |
| Wait for Twilio mark | VoiceAgents.twilioWaitForMark | Ожидание Twilio playback mark. | Помогает синхронизировать речь и не говорить поверх буфера. |
| Twilio post-speech drain | VoiceAgents.twilioPostSpeechDrainMs | Буфер после речи в миллисекундах. | Защищает от обрезанной фразы или слишком раннего следующего действия. |
| Updated at | VoiceAgents.updatedAt | Время последнего изменения конфигурации. | Поддержка и AI-агенты могут понять, насколько свежие настройки. |