Разработка AI-цифрового секретаря (AI Executive Assistant)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка AI-цифрового секретаря (AI Executive Assistant)
Средняя
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

AI Executive Assistant — цифровой персональный ассистент

AI Executive Assistant автоматизирует управление временем и коммуникациями руководителя: приоритизация входящих сообщений, подготовка к встречам, составление и отправка писем, создание summary из документов, координация между командами. Интегрируется с корпоративными инструментами: Google Workspace, Microsoft 365, Slack, Notion, Zoom.

Email Management агент

from openai import AsyncOpenAI
from pydantic import BaseModel
from typing import Literal, Optional

client = AsyncOpenAI()

class EmailClassification(BaseModel):
    priority: Literal["urgent", "important", "normal", "low", "spam"]
    category: Literal["action_required", "info_only", "approval_needed", "follow_up", "newsletter"]
    estimated_response_time_minutes: int
    summary: str
    suggested_action: Optional[str]
    can_delegate_to: Optional[str]  # Кому можно делегировать
    requires_ceo_attention: bool

async def process_inbox(emails: list[dict], ceo_context: str) -> list[dict]:
    """Классифицирует и приоритизирует входящие письма"""

    processed = []
    for email in emails:
        classification = await client.beta.chat.completions.parse(
            model="gpt-4o",
            messages=[{
                "role": "system",
                "content": f"""Ты — ассистент CEO. Оцени важность входящего письма.
Контекст: {ceo_context}
Делегируй что можно команде. CEO должен видеть только то, что требует его решения."""
            }, {
                "role": "user",
                "content": f"От: {email['from']}\nТема: {email['subject']}\nТело: {email['body'][:500]}"
            }],
            response_format=EmailClassification,
            temperature=0,
        )

        processed.append({
            **email,
            "classification": classification.choices[0].message.parsed.model_dump(),
        })

    # Сортируем по приоритету
    priority_order = {"urgent": 0, "important": 1, "normal": 2, "low": 3, "spam": 4}
    return sorted(processed, key=lambda x: priority_order[x["classification"]["priority"]])

Подготовка к встречам

class MeetingPreparationAgent:

    async def prepare_briefing(
        self,
        meeting: dict,
        participants: list[dict],
        relevant_docs: list[str] = None,
    ) -> str:
        """Создаёт briefing для руководителя перед встречей"""

        # Собираем контекст
        participant_profiles = await asyncio.gather(*[
            self.get_participant_context(p) for p in participants
        ])

        docs_summary = ""
        if relevant_docs:
            docs_summary = await self.summarize_documents(relevant_docs)

        briefing = await client.chat.completions.create(
            model="gpt-4o",
            messages=[{
                "role": "system",
                "content": "Создай краткий briefing для CEO перед встречей. Формат: цель встречи, ключевые участники (кратко), повестка, что нужно решить, open issues."
            }, {
                "role": "user",
                "content": f"""Встреча: {meeting['title']}
Дата/время: {meeting['datetime']}
Участники: {json.dumps(participant_profiles, ensure_ascii=False, indent=2)}
Контекст документов: {docs_summary}
История взаимодействий: {await self.get_interaction_history(participants)}"""
            }],
        )

        return briefing.choices[0].message.content

    async def get_participant_context(self, participant: dict) -> dict:
        """Контекст по участнику: роль, последние взаимодействия, открытые вопросы"""
        crm_data = await crm.get_contact(participant["email"])
        recent_emails = await gmail.get_thread_with(participant["email"], limit=5)
        return {
            "name": participant["name"],
            "title": crm_data.get("title", participant.get("title", "")),
            "last_interaction": recent_emails[0]["date"] if recent_emails else "нет данных",
            "open_items": crm_data.get("open_tasks", []),
        }

Генератор ответов и черновиков

class EmailDraftGenerator:

    async def draft_reply(
        self,
        original_email: dict,
        tone: Literal["formal", "professional", "friendly"],
        action: str,  # "approve", "decline", "request_more_info", "delegate", "custom"
        custom_points: list[str] = None,
    ) -> str:

        response = await client.chat.completions.create(
            model="gpt-4o",
            messages=[{
                "role": "system",
                "content": f"""Пиши от лица CEO.
Тон: {tone}. Лаконично — руководитель ценит своё время.
Подпись: [Имя], [Должность], [Компания]"""
            }, {
                "role": "user",
                "content": f"""Письмо для ответа:
{original_email['body'][:1000]}

Действие: {action}
Дополнительные пункты: {custom_points}"""
            }],
            temperature=0.4,
        )

        return response.choices[0].message.content

Daily briefing

async def generate_daily_briefing(
    calendar_events: list[dict],
    unread_emails: list[dict],
    news_topics: list[str],
    team_updates: list[dict],
) -> str:

    response = await client.chat.completions.create(
        model="gpt-4o",
        messages=[{
            "role": "system",
            "content": "Создай утренний брифинг для CEO. Формат: расписание дня, требуют решения сегодня, важные новости отрасли, обновления от команды. Максимум 1 страница."
        }, {
            "role": "user",
            "content": f"""Встречи сегодня: {json.dumps(calendar_events, ensure_ascii=False)}
Письма требующие ответа: {len([e for e in unread_emails if e['classification']['priority'] in ['urgent', 'important']])}
Новости: {news_topics}
Обновления команды: {json.dumps(team_updates, ensure_ascii=False)}"""
        }],
    )

    return response.choices[0].message.content

Практический кейс: CEO стартапа, Series B

Ситуация: CEO получал 150+ писем/день, тратил 3 часа на email management, часто пропускал важные сообщения под слоем информационного шума.

AI Executive Assistant:

  • Классификация и приоритизация входящих (Gmail API)
  • Утренний 5-минутный briefing (расписание + топ-5 писем требующих внимания)
  • Черновики ответов для 80% типовых писем (CEO редактирует и отправляет)
  • Подготовка briefing перед каждой встречей
  • Summary входящих документов для прочтения

Результаты:

  • Время на email management: 3 часа → 45 минут
  • Пропущенных важных писем: -91%
  • CEO оценка: 4.4/5.0 («появилось время думать о стратегии»)

Сроки

  • Email classification и prioritization: 1–2 недели
  • Meeting preparation agent: 1–2 недели
  • Draft generator + интеграция с Gmail/Outlook: 1–2 недели
  • Daily briefing автоматизация: 1 неделя
  • Итого: 4–7 недель