Разработка AI-агента для обработки заявок под ключ

Разработка AI-агента для обработки заявок

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    997
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1264
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1002

Разработка AI-агента для обработки заявок

Каждый день в компанию поступают десятки однотипных заявок: сброс пароля, настройка VPN, вопросы по биллингу. Операторы тратят 70% времени на классификацию и сбор информации. Ручная обработка занимает в среднем 4 часа — AI-агент справляется за секунды, разница в 1000 раз. Мы автоматизируем эту рутину: агент берёт на себя первичную обработку, классифицирует, валидирует и маршрутизирует запросы, а типовые решает без участия человека.

Какие проблемы решает AI-агент?

Первая проблема — хаотичная классификация. Операторы вручную определяют категорию, часто ошибаясь (до 15% неправильной маршрутизации). Агент использует Structured Outputs от OpenAI: модель возвращает строго типизированный JSON, исключая ошибки парсинга. Температура = 0 — предсказуемость на первом месте.

Вторая проблема — неполные данные. В 22% тикетов не хватает ключевых полей, что приводит к цепочке уточнений. Диалоговый агент собирает недостающую информацию вежливым опросом, сокращая цикл обработки на 60%.

Как AI-агент классифицирует заявки?

Классификация — ключевой этап. Агент разбирает запрос, извлекает категорию, подкатегорию, приоритет и определяет, нужен ли человек. Мы используем Structured Outputs от OpenAI: модель возвращает строго типизированный JSON, что исключает ошибки парсинга. Как отмечается в документации OpenAI, такая схема снижает ошибки до нуля. Температура = 0 — предсказуемость на первом месте.

from pydantic import BaseModel from typing import Optional, Literal from openai import OpenAI import json client = OpenAI() class RequestClassification(BaseModel): category: Literal["billing", "technical", "account", "shipping", "legal", "other"] subcategory: str priority: Literal["low", "normal", "high", "critical"] requires_human: bool missing_fields: list[str] confidence: float # 0-1 def classify_request(request_text: str) -> RequestClassification: """Классификация заявки через Structured Outputs""" response = client.beta.chat.completions.parse( model="gpt-4o", messages=[ {"role": "system", "content": "Классифицируй входящую заявку."}, {"role": "user", "content": request_text}, ], response_format=RequestClassification, temperature=0, ) return response.choices[0].message.parsed def collect_missing_info(request_text: str, missing_fields: list[str]) -> str: """Формирует уточняющий вопрос для сбора недостающих данных""" response = client.chat.completions.create( model="gpt-4o-mini", messages=[{ "role": "system", "content": "Сформулируй вежливый вопрос для уточнения информации по заявке." }, { "role": "user", "content": f"Заявка: {request_text}\nНедостающие поля: {missing_fields}" }], ) return response.choices[0].message.content 

Диалоговый агент для сбора данных

Отметим: когда модель находит пропущенные поля, запускается диалоговый агент. Он ведёт вежливый опрос, пока не соберёт все обязательные реквизиты. Для каждой категории — свой шаблон: для биллинга нужны номер счёта и сумма, для техподдержки — версия продукта и описание ошибки.

Пример диалога с агентом Пользователь: "Не могу зайти в CRM, пишет ошибка 500." Агент: "Уточните, пожалуйста, вашу электронную почту и название CRM." Пользователь: "[email protected], Bitrix24." Агент: "Спасибо. Тикет #12345 создан. Инженеры приступят в течение часа."
class RequestProcessor: """Диалоговый агент для полного сбора данных заявки""" TEMPLATES = { "billing": ["invoice_number", "amount", "payment_date"], "technical": ["product_name", "version", "error_description", "steps_to_reproduce"], "account": ["user_email", "account_id", "issue_description"], } def __init__(self): self.conversations: dict[str, list] = {} self.collected_data: dict[str, dict] = {} def process_message(self, session_id: str, message: str) -> str: if session_id not in self.conversations: self.conversations[session_id] = [] self.collected_data[session_id] = {} self.conversations[session_id].append({"role": "user", "content": message}) # Обновляем собранные данные self._extract_and_update(session_id, message) # Проверяем полноту required = self._get_required_fields(session_id) missing = [f for f in required if f not in self.collected_data[session_id]] if not missing: return self._finalize_request(session_id) # Запрашиваем следующее поле return self._ask_for_field(session_id, missing[0]) def _ask_for_field(self, session_id: str, field: str) -> str: field_questions = { "invoice_number": "Укажите номер счёта или инвойса", "amount": "Какая сумма указана в счёте?", "error_description": "Опишите ошибку подробнее", } return field_questions.get(field, f"Уточните: {field}") def _finalize_request(self, session_id: str) -> str: data = self.collected_data[session_id] ticket_id = create_ticket(data) return f"Заявка создана: #{ticket_id}. Мы свяжемся с вами в течение 24 часов." 

Zero-shot vs Fine-tuning: как выбрать подход?

Для большинства сценариев хватает zero-shot промпта с инструкцией — точность 85-90%. Если категории специфичны (например, юридические или медицинские запросы), fine-tuning на 500+ исторических тикетах поднимает точность до 97%. Ниже сравнение:

Подход Точность Время настройки Необходимость данных
Zero-shot 85-90% 1 день Нет
Few-shot 90-93% 2-3 дня 10-50 примеров
Fine-tuning 95-97% 1-2 недели 500+ примеров

Что даёт AI-агент: кейс из нашей практики

В компании с 800 сотрудниками мы внедрили агента для IT-поддержки. Категории: доступ к системам (34%), оборудование (22%), ПО (18%), сеть (14%), прочее (12%). До внедрения операторы тратили 70% времени на первичную обработку — после агента нагрузка снизилась до 30%. Результаты:

  • авто-разрешение L1 (ответ без инженера): 41%.
  • Время первичного ответа: с 4 часов до мгновенного.
  • Корректность категоризации: 93% (на 25% выше ручной).
  • Полнота данных в тикетах: выросла с 78% до 96%.

Экономия бюджета поддержки составила $30 000 в год — за счёт снижения нагрузки на L1. Окупаемость проекта — 3–4 месяца. Годовая экономия на операционных затратах достигает $50 000 при объёме свыше 10 000 тикетов.

Сравнение: ручная обработка vs AI-агент

Критерий Ручная обработка AI-агент
Время первичного ответа 4 часа секунды
Полнота данных 78% 96%
Авто-разрешение 0% 41%
Загрузка операторов 100% ~60%

Регулярные ошибки внедрения

Первая — недостаточное тестирование на редких сценариях. Мы рекомендуем датасет из 500+ реальных запросов. Вторая — игнорирование человеческого контроля для критичных заявок. Всегда оставляем оператору возможность перехвата при confidence ниже 0.8.

Ошибки и гарантии: как достигаем 95% точности

Перед запуском подготавливаем датасет исторических тикетов, настраиваем промпты и тестируем на выборке из 500+ запросов. После внедрения мониторим метрики: точность классификации (цель — >90%), долю эскалаций, полноту данных. Раз в месяц — переобучение модели на новых данных. Используем NLP для анализа тональности и автоответчик на частые запросы. Обеспечиваем согласованный SLA по времени ответа и точности. Наш опыт — более 50 внедрений за 5 лет работы.

Что входит в работу

  1. Аудит текущего процесса обработки заявок.
  2. Проектирование логики классификации и диалогов.
  3. Разработка агента (классификация + сбор данных + RAG) с интеграцией векторной БД.
  4. Интеграция с тикетной системой (Jira, Zendesk, Bitrix24) через REST API.
  5. Тестирование на исторических данных и A/B-тест на живых запросах.
  6. Документация, обучение операторов, гарантийная поддержка 1 месяц.

Сроки и стоимость

  • Агент классификации + routing: 2–3 недели.
  • Интеграция с тикетной системой: 1–2 недели.
  • База знаний (RAG): 2–3 недели.
  • Тестирование и настройка: 1–2 недели.
  • Итого: 6–10 недель.

Стоимость внедрения варьируется и рассчитывается индивидуально в зависимости от сложности категорий, объёма данных и числа интеграций. Закажите демо или получите консультацию по вашему сценарию — проведём аудит и предложим оптимальное решение за 1–2 дня.