Системный промпт — инструкция для ассистента
Системный промпт — это текст, который формирует личность, задачи и правила поведения вашего AI-ассистента. Он задаётся один раз и остаётся невидимым для конечного пользователя. Ассистент не знает о вашей компании ничего, кроме того, что написано в промпте — поэтому чем подробнее, тем лучше.
Из чего состоит промпт
Промпт объединяет четыре ключевых блока: характер, задача, правила и данные. Используйте заглавные заголовки разделов — это помогает модели лучше структурировать понимание.
Ты — [роль]. Работаешь в компании [название]. ЗАДАЧА: [Что делает ассистент — одним абзацем] ПРАВИЛА: - [Правило 1] - [Правило 2] - [Правило 3] ДАННЫЕ: [Любые факты, цены, адреса, расписания, которые нужны ассистенту]
Как написать хороший промпт
Главное правило: ассистент делает только то, что написано явно. Не полагайтесь на то, что он «догадается» о вашем контексте — опишите всё: роль, задачу, ограничения, сценарии.
Плохой vs Хороший промпт
Ты умный ассистент. Отвечай на вопросы пользователей.
Ты — Алиса, менеджер по записи клиентов салона красоты "Лотос". Твоя задача — записывать клиентов на процедуры, отвечать на вопросы об услугах и ценах, принимать контактные данные. УСЛУГИ И ЦЕНЫ: - Маникюр — 1500 руб, 60 мин - Педикюр — 2000 руб, 75 мин - Маникюр+педикюр — 3000 руб, 120 мин ПРАВИЛА: - Всегда уточняй имя клиента перед записью - Предлагай ближайшие свободные слоты: понедельник 10:00, 14:00, среда 11:00 - После записи подтверди детали голосом
Ключевые принципы
- Указывайте имя и роль — «Ты — Мария, оператор поддержки»
- Описывайте сценарии явно: «когда клиент спрашивает о цене — назови X»
- Добавляйте конкретные данные: цены, адреса, расписания прямо в промпт
- Пишите что НЕ делать: «не обсуждай конкурентов», «не обещай скидки»
- Не пишите промпт в одну строку без структуры — разбивайте на разделы
- Не надейтесь что ассистент «догадается» — описывайте каждый случай явно
Лучшие практики
10 советов для создания эффективных AI-ассистентов на VoksiAI.
Повышает вовлечённость и доверие клиентов. «Меня зовут Алиса» работает лучше чем «Я ассистент».
Ассистент не знает о вас ничего — напишите название, сферу, что вы продаёте.
«Когда клиент говорит X — делай Y». Чем конкретнее, тем точнее поведение.
Для сложных случаев добавляйте примеры реальных разговоров прямо в промпт.
Явно указывайте что нельзя: «не обсуждай конкурентов», «не называй внутренние цены».
Напишите что делать если функция вернула ошибку — иначе ассистент растеряется.
Для звонков всегда описывайте когда и как завершать. Иначе ассистент может «зависнуть».
Без структуры и заголовков разделов модель хуже понимает приоритеты.
Не рассчитывайте на подразумеваемые правила — пишите всё явно.
Для простого FAQ-бота достаточно 200–400 слов. Лишние детали создают путаницу.
Функция: send_webhook
ИнтеграцияОтправляет данные в n8n, Make.com, Zapier или любой HTTP-endpoint. Используйте для передачи собранных данных во внешние системы.
Промпт-пример — Запись клиента
Укажите URL вебхука прямо в промпте. Ассистент сам передаст его в функцию при вызове.
Ты — администратор фитнес-центра "Энергия". Записываешь клиентов на тренировки и отправляешь заявки. Когда клиент называет имя, телефон и желаемое время — вызови send_webhook с event="booking" и данными клиента. URL вебхука: https://hook.eu1.make.com/abc123xyz После отправки подтверди: "Ваша заявка принята! Мы свяжемся с вами." ПРАВИЛА: - Не отправляй вебхук до получения имени и телефона - Если функция вернула ошибку — скажи: "Произошла техническая ошибка, мы перезвоним вам в течение 15 минут"
Что отправляется (payload)
{
"event": "booking",
"data": {
"name": "Иван",
"phone": "+79991234567",
"time": "завтра в 10:00",
"service": "Силовая тренировка"
},
"assistant_id": "550e8400...",
"assistant_name": "Администратор"
}Вопросы по функции
| Когда вызывать? | Как только собраны все нужные данные от клиента |
| Если webhook не отвечает? | Добавьте в промпт инструкцию: «сообщи пользователю об ошибке и предложи перезвонить» |
| Можно несколько webhook? | Да — вызывайте функцию несколько раз с разными URL и разными event |
Функция: api_request
APIВыполняет GET/POST/PUT/DELETE запросы к любому REST API — CRM, склад, каталог товаров, базы данных. Позволяет ассистенту в реальном времени получать и отправлять данные.
Как указать авторизацию в промпте
API URL: https://api.mycrm.com/v1 API Key: sk-abc123xyz API Header: Authorization: Bearer eyJhbGc...
Промпт-пример — Проверка наличия товара
Ты — консультант интернет-магазина электроники. Когда клиент спрашивает о наличии товара — проверяй через API. API URL: https://api.myshop.ru/v1 API Header: X-API-Key: secret123 Для проверки наличия вызови api_request: - method: GET - url: https://api.myshop.ru/v1/products?name=[название товара] Если товар есть — назови цену и сроки доставки. Если нет — предложи альтернативы или предложи уведомить о поступлении.
Промпт-пример — Создание заявки в CRM
После разговора создавай контакт в CRM:
Вызови api_request:
- method: POST
- url: https://api.mycrm.com/v1/leads
- headers: { "Authorization": "Bearer sk-abc123" }
- body: { "name": "[имя клиента]", "phone": "[номер]", "source": "voicyfy" }Функция: add_google_sheet_row
ИнтеграцияДобавляет строку в Google Таблицу. Идеально для сбора лидов, заявок, обратной связи без внешних сервисов.
Настройка таблицы
- Откройте Google Таблицу, в которую нужно записывать данные
- Нажмите «Настроить доступ» → «Все, у кого есть ссылка» → выберите роль Редактор
- Скопируйте ссылку на таблицу и вставьте в промпт
Промпт-пример — Сбор лидов
Ты — менеджер по продажам. Записывай всех заинтересованных клиентов в таблицу. Таблица: https://docs.google.com/spreadsheets/d/1ABC.../edit Лист: Лиды После сбора имени, телефона и вопроса клиента — вызови add_google_sheet_row: - url: https://docs.google.com/spreadsheets/d/1ABC.../edit - sheet_name: "Лиды" - row_to_append: "[Имя];;[Телефон];;[Вопрос];;[Дата]"
Формат данных
Разделитель между ячейками — ;; (двойная точка с запятой). Порядок данных должен совпадать с порядком колонок в таблице.
"Иван Петров;;+79991234567;;Интересует тариф Про;;2024-05-10"
Функция: read_google_doc
ИнтеграцияЧитает текст из публичного Google Документа. Полезно для создания ассистента с базой знаний без Pinecone — достаточно поддерживать один документ.
Промпт-пример — Ассистент с базой знаний
Ты — консультант по продуктам компании. Когда клиент задаёт вопрос о продуктах, ценах или условиях — сначала прочитай документацию через read_google_doc: url: https://docs.google.com/document/d/1XYZ.../edit Отвечай только на основе информации из документа. Если информации нет — честно скажи: "К сожалению, у меня нет данных по этому вопросу. Вы можете обратиться к менеджеру."
Функция: write_google_doc
ИнтеграцияДобавляет текст в конец Google Документа. Может добавить заголовок перед текстом. Использует тот же сервисный аккаунт что и Google Таблицы — отдельной настройки API не требуется.
Настройка документа
- Откройте Google Документ, в который нужно записывать данные
- Нажмите «Настроить доступ» → добавьте email сервисного аккаунта с правами Редактор
- Email сервисного аккаунта указан в разделе «Интеграции» в настройках VoksiAI
Промпт-пример — Итоги звонка
Ты — менеджер по продажам. После каждого разговора записывай итоги в рабочий документ. Документ итогов: https://docs.google.com/document/d/1ABC.../edit По завершении звонка вызови write_google_doc: - url: https://docs.google.com/document/d/1ABC.../edit - heading: "Звонок [дата] — [имя клиента]" - text: "Телефон: [номер] Интерес: [что обсуждали] Результат: [договорились о чём] Следующий шаг: [действие]"
Промпт-пример — Лог заявок
Ты — оператор горячей линии. Фиксируй каждую заявку в документе. Документ: https://docs.google.com/document/d/1XYZ.../edit После получения заявки вызови write_google_doc: - url: https://docs.google.com/document/d/1XYZ.../edit - heading: "[Время] Заявка от [имя]" - text: "Контакт: [телефон] Запрос: [суть] Приоритет: [высокий/средний/низкий]"
Как выглядит результат в документе
## Звонок 10.05.2025 — Иван Петров Телефон: +79991234567 Интерес: Тариф Про, 3 пользователя Результат: Отправить КП на почту Следующий шаг: Перезвонить в пятницу ## Звонок 10.05.2025 — Мария Сидорова Телефон: +79161234567 Интерес: Демо-доступ Результат: Создан тестовый аккаунт Следующий шаг: Созвон через неделю
Вопросы по функции
| Куда добавляется текст? | Всегда в конец документа — существующий текст не затрагивается |
| Можно ли писать в середину? | Нет, только append в конец. Для большинства задач (лог, заметки) этого достаточно |
| Отличие от Google Sheets? | Docs — для свободного текста и заметок, Sheets — для структурированных данных с колонками |
Функция: send_telegram_notification
APIОтправляет сообщение в Telegram-чат, группу или канал. Удобно для мгновенных уведомлений менеджерам о новых заявках.
Как настроить бота
- Создайте бота через @BotFather в Telegram — он выдаст токен вида
123456789:AAH... - Узнайте
chat_id: напишите боту/start, затем откройтеhttps://api.telegram.org/bot<TOKEN>/getUpdates - Для групп — добавьте бота в группу, напишите любое сообщение и повторите getUpdates
Промпт-пример — Уведомления менеджеру
Ты — секретарь, принимаешь заявки по телефону. Telegram Bot Token: 7123456789:AAHdq... Чат менеджера: 123456789 После каждого успешного разговора отправляй уведомление. Вызови send_telegram_notification с: - chat_id: 123456789 - message: "🔔 Новая заявка! Клиент: [имя] Телефон: [номер] Запрос: [суть вопроса]"
HTML-форматирование в сообщениях
<b>Жирный текст</b> <i>Курсив</i> <code>Моноширинный код</code> <a href="https://example.com">Ссылка</a>
Функция: create_crm_voicyfy_task
CRMСоздаёт задачу на обратный звонок в CRM VoksiAI. Автоматически находит или создаёт контакт по номеру телефона и планирует исходящий звонок.
Промпт-пример — Перезвонить клиенту
Ты — менеджер по продажам. Если клиент просит перезвонить — создавай задачу. ID ассистента для обратных звонков: 550e8400-e29b-41d4-a716-446655440000 Когда клиент говорит "перезвоните" или называет время — вызови create_crm_voicyfy_task: - phone: [номер клиента из caller_number] - assistant_id: 550e8400-e29b-41d4-a716-446655440000 - scheduled_time: [время по МСК] - title: "Обратный звонок по запросу клиента" - custom_greeting: "Добрый день! Вы просили нас перезвонить."
Форматы времени (всё МСК)
| Формат | Пример |
|---|---|
| Относительный | "через 2 часа" |
| Сегодня | "сегодня в 18:00" |
| Завтра | "завтра в 15:00" |
| Конкретная дата | "08.12.2025 09:40" |
Функция: search_contact_by_phone
CRMИщет контакт в CRM VoksiAI по номеру телефона. Позволяет ассистенту персонализировать разговор — обратиться по имени и использовать историю взаимодействий.
Промпт-пример — Персонализированный приём звонка
Ты — оператор службы поддержки. В начале каждого звонка: 1. Вызови search_contact_by_phone с phone = caller_number 2. Если контакт найден — обращайся по имени: "Добрый день, [имя]!" 3. Если не найден — уточни имя: "Как вас зовут?" Используй данные из CRM для контекста разговора.
Функция: hangup_call
ЗвонкиЗавершает телефонный звонок программно. Позволяет ассистенту корректно завершить разговор после выполнения задачи.
Промпт-пример
Ты — оператор горячей линии.
Завершай звонок когда:
- Клиент попрощался ("спасибо", "до свидания", "всё", "пока")
- Все вопросы решены и клиент подтвердил
- Клиент прямо просит завершить
Вызови hangup_call:
- reason: "conversation_completed"
- farewell_message: "Спасибо за обращение! Хорошего дня!"
НЕ завершай звонок если клиент задаёт новые вопросы.Причины завершения
| reason | Когда использовать |
|---|---|
conversation_completed | ✅ Естественное завершение — всё обсудили |
user_request | 👋 Клиент сам попросил завершить |
time_limit_reached | ⏰ Превышен лимит времени разговора |
Функция: send_sms
ЗвонкиОтправляет SMS клиенту во время звонка с номера Voximplant. Удобно для передачи адреса, ссылки, кода подтверждения.
Переменные звонка
При звонке через Voximplant в промпт автоматически подставляются переменные:
| Переменная | Значение | Параметр SMS |
|---|---|---|
| caller_number | Номер звонящего клиента | → параметр to |
| called_number | Номер Voximplant (ваш) | → параметр from_number |
Промпт-пример
Ты — консультант офиса. Когда клиент просит отправить адрес или информацию по SMS: Вызови send_sms: - to: [caller_number] - from_number: [called_number] - text: "Наш адрес: ул. Ленина 5, офис 301. Время работы: 9:00-18:00" После отправки скажи: "Отправил вам SMS с адресом!"
Функция: show_image
ЗвонкиПоказывает изображение на экране устройства клиента во время звонка. Поддерживается в приложениях с интеграцией Voximplant Video SDK.
Промпт-пример
Ты — консультант по недвижимости. Когда клиент интересуется конкретным объектом — покажи фото через show_image: - url: https://cdn.example.com/property/apt-123.jpg - caption: "Квартира на ул. Садовой, 45м², 3 этаж" После показа прокомментируй: "Вы можете видеть планировку квартиры..."
Функция: query_llm
AIОтправляет запрос другой языковой модели и возвращает ответ. Позволяет использовать специализированную модель для отдельных задач: перевод, анализ тональности, классификация запросов.
Промпт-пример — Классификация запроса
Ты — оператор первой линии поддержки.
Когда клиент описывает проблему:
1. Вызови query_llm для классификации:
- prompt: "Классифицируй следующий запрос клиента в одну из категорий:
[техническая проблема / вопрос по оплате / вопрос по тарифу / другое].
Запрос: [текст клиента]"
2. На основе ответа переадресуй: техника → отдел техподдержки, оплата → финансы
Отвечай на языке клиента.Функция: search_pinecone
AIСемантический поиск по векторной базе данных Pinecone. Подходит для больших баз знаний (тысячи документов), где обычный поиск по ключевым словам неэффективен.
Промпт-пример — RAG ассистент
Укажите namespace — пространство имён вашей базы знаний в Pinecone.
Ты — эксперт-консультант. Отвечай ТОЛЬКО на основе базы знаний. Pinecone namespace: company_docs При каждом вопросе клиента: 1. Вызови search_pinecone с query = вопрос клиента 2. Изучи результаты (поле metadata.text) 3. Ответь на основе найденной информации 4. Если ничего не найдено — скажи: "К сожалению, у меня нет информации по этому вопросу" Никогда не придумывай факты самостоятельно.
Функция: query_orchestrator
AIЗапускает агентский режим для сложных многошаговых задач. Оркестратор разбивает цель на подзадачи и выполняет их последовательно, используя доступные инструменты.
Промпт-пример
Ты — JARVIS, умный многофункциональный ассистент. Для сложных задач, требующих нескольких шагов, используй агентский режим. Когда задача требует: найти + проанализировать + записать: Вызови query_orchestrator с подробным описанием задачи. Примеры задач для оркестратора: - "Найди информацию о клиенте в CRM и создай отчёт" - "Проверь наличие товара через API и запиши заявку в таблицу" - "Собери данные из нескольких источников и отправь уведомление"
Функция: get_current_time
УтилитыВозвращает текущее время в указанном часовом поясе. Используйте для подтверждения записей, расчёта «через N часов», проверки рабочих часов.
Промпт-пример
Ты — менеджер по записи. Работаешь в часовом поясе МСК. Когда нужно знать текущее время (для записи, планирования): Вызови get_current_time: - timezone: "Europe/Moscow" - format: "full" Используй время для: - Подтверждения записи с точной датой и временем - Расчёта "через X часов" от текущего момента - Проверки рабочих часов (9:00–18:00 МСК)
Поддерживаемые часовые пояса
| timezone | Город |
|---|---|
Europe/Moscow | Москва (МСК, UTC+3) |
Europe/London | Лондон (GMT/BST) |
America/New_York | Нью-Йорк (EST/EDT) |
Asia/Tokyo | Токио (JST, UTC+9) |
UTC | UTC (без смещения) |
Часто задаваемые вопросы
Ответы на самые частые вопросы о промптах и функциях.
add_google_sheet_row, или «Просмотр» для read_google_doc. Приватные документы с ограниченным доступом не поддерживаются.
search_contact_by_phone в начале звонка — если контакт есть в CRM, ассистент обратится по имени. (2) Спросить самому — напишите в промпте: «В начале разговора уточни имя клиента: "Как вас зовут?"».
Оптимальная длина промпта
Длина промпта зависит от сложности ассистента. Слишком короткий промпт оставляет пробелы, слишком длинный — создаёт путаницу в приоритетах.
Рекомендации по длине
| Тип ассистента | Рекомендуемая длина | Что включать |
|---|---|---|
| Простой FAQ-бот | 200–400 слов | Роль + правила + данные |
| Запись / продажи | 400–800 слов | + сценарии + обработка возражений |
| Сложный агент | 800–1500 слов | + все сценарии + обработка ошибок + примеры диалогов |
ЗАДАЧА:, ПРАВИЛА:, ДАННЫЕ:) — это помогает модели структурировать понимание и быстрее находить нужный контекст.Статьи не найдены. Попробуйте другой поисковый запрос.