Доброго времени суток!

меня зовут Кирилл, хочу рассказать вам о своем проекте Aisha – ИИ репетиторе английского языка для разговорной практики. Об идее, отличиях, технических аспектах.

Начало

Изначально я много лет занимаюсь изданием книг. При этом все время интересовался цифровыми проектами, в некоторые инвестировал на pre-seed стадии. С началом бурного развития ИИ активно искал для себя интересные ниши. Особенно большие перспективы видел в развитии голосового ИИ, который будет звучать как человек.

Осенью прошлого года общаясь с одним из них я принял решение сделать ИИ репетитора по языкам для российского рынка. Сразу решили делать фокус на разговорный английский. На начальном этапе рассматривали два варианта реализации:

  • Пересылка звуковых файлами, то есть когда пользователь записывает файл с голосом и отправляет его на сервер, сервер его транскрибирует, генерирует ответ и отправляет и пользователь его проигрывает.

  • WebRTC и эффект естественного разговора

Первый вариант очевидно намного проще и в начальном варианте его можно было сделать как REST API, но мы решили что это будет серьезным продуктовым ограничением и остановились на втором. Основными аргументами послужили

  • Высокая скорость ответа бота

  • Возможность построения сложных многоголосых продуктов

  • Близость к естественному разговору.

В основу продукта мы поставили голосовые эпизоды, где пользователь играет определенную роль с заранее обозначенными целями, которые ему нужно достигнуть.

Эпизод: знакомство на вечеринке. Роль: вы, русскоязычный гость. Цель: понравиться новому знакомому и сделать комплимент.

Вы: It's really nice to meet you. You seem very sympathetic.

Новый знакомый: Sympathetic? Oh no… did something happen to me?

Друг (другой голос): I think you mean "likeable." "Sympathetic" means you feel sorry for someone.

Новый знакомый: Ah, got it! Well, thank you. You seem pretty likeable yourself.

 В этом эпизоде ИИ говорит двумя голосами (новый знакомый и общий друг), а сценарий тренирует типичные ошибки русскоязычных. Например, «sympathetic» означает «сочувствующий», а не «симпатичный».

Технологии и архитектура

Код писать мы собирались полностью с использованием Claude Code и фреймворка BMAD и в процессе лишь вносить отдельные правки. Сейчас углубляться в BMAD не буду, это тема заслуживает отдельного поста.

Стек разработки сложился след образом:

Бэкенд - Python, FastAPI, PostgreSQL, NATS, Redis

Мобильное приложение - React Native

Web portal - Astro

Admin - React JS

В общем взяли максимально знакомые технологии для LLM

Основным элементом нашего приложения являются голосовые эпизоды, по простому общение пользователя с LLM голосом, где ИИ говорит несколькими голосами.

Мы сразу исключили Speech to Speech модели из за цены и негибкости, и остановили свой выбор на фреймворке Pipecat и LiveKit сервере. Раздельный пайплайн с отдельными модулями STT, LLM и TTS предпочтительнее монолитной Speech-to-Speech модели, поскольку позволяет независимо менять и оптимизировать каждый модуль под конкретную задачу, использовать нескольких провайдеров для распознавания и синтеза речи, а также гибко контролировать качество и стоимость на каждом этапе и адаптировать систему под нужный язык. Pipecat - пайплайн для организации голосового общения между LLM и пользователем. Заслуживает серии статей, здесь кратко. Основными ее компонентами являются:

  • Speech to text модуль - преобразование речи пользователя в текст

  • LLM - формирование ответа пользователю

  • Text to speech модуль - преобразование ответа в речь.

LiveKit - инфраструктура для WebRTC клиентов, организованная в виде комнат. К каждой комнате присоединяется пользователь и Pipecat клиент. LiveKit осуществляет передачу в нашем случае звука между участниками комнаты. Схематически ниже:

Инфраструктура

Из интересного поскольку мы работаем в России нам нужно подчиняться 152 ФЗ, для тех кто не знает, это требования о хранении персональных данных пользователей на территории РФ. Основная база данных содержит только user_id, без email, имени и пароля. Персональные данные хранятся в отдельной подсистеме аутентификации, развернутой в РФ. Основная система никогда не запрашивает персональные данные из изолированной подсистемы.

Текущее состояние

Мы запустились 1 июня 2026 года, моб приложение доступно в трех магазинах приложений Rustore, GooglePlay и квест года Huawei AppGallery (почему расскажу в след. статьях). Сейчас занимаемся преимущественно маркетингом и доработкой веб части, которая выросла. Это статья открывающая, обзорная, не кидайте тапками пожалуйста:) дальше будут узконаправленные технические статьи. Если есть какие-то пожелания, пишите в комментариях, я учту и приоритизирую будущие публикации.

План для следующих статей, рассказать:

  • как работают многоголосые сценарии в Pipecat;

  • как удерживать языковую модель в заданной роли на протяжении всего разговора.

  • с какими сложностями можно столкнуться при публикации в Huawei AppGallery;

  • как разработать продукт почти полностью с помощью Claude Code и фреймворка BMAD;