Игорь Градов
Игорь Градов
5 мин
ai

Автор Хабра ночами учил Go и написал ИИ-тренажёр для собеседований: 860 вопросов голосом

Автор с Хабра днём работает в автосервисе, а после полугода ночной учёбы Go собрал бесплатного Telegram-бота, который гоняет по вопросам собеседования голосом, строго оценивает ответы и уже открыт всем желающим.

Автор Хабра ночами учил Go и написал ИИ-тренажёр для собеседований: 860 вопросов голосом
Почему это важно

Тренажёр принимает ответы голосом и понимает русский айтишный сленг: «горутины», «мьютекс», «срез». Значит, к собеседованию можно готовиться вслух и на родном языке, а не только читать статьи с телефона.

Автор подробно описал на Хабре, как ночами учил Go и написал ИИ-тренажёр для собеседований. Его проблема знакома многим: теорию читаешь, а вслух рассказать о памяти или горутинах (лёгких параллельных задачах в Go) на живом собеседовании не получается. Вместо очередного списка дел он сделал бота, который слушает голосовые ответы, оценивает их и заставляет повторять слабые темы.

Что понадобится, чтобы собрать такой тренажёр?

Состав взят из проекта автора. Все названия ниже приводятся по исходнику.

  • Язык Go 1.23 и библиотека telebot.v3 для работы с Telegram.
  • PostgreSQL 16 (база данных) с драйвером pgx/v5 и инструментом golang-migrate для обновления структуры базы.
  • Redis 7 (быстрое хранилище в оперативной памяти) для сессий и очередей повторения.
  • Deepgram с моделью Nova-2 для распознавания речи через API (программный доступ к чужому сервису).
  • Модель DeepSeek через Groq Cloud API для оценки ответов.
  • Docker Compose и VPS (арендованный виртуальный сервер) под Ubuntu. По словам автора, сервер обходится в 200 рублей в месяц.

Сроки автор не называет. Известно только, что Go он изучает около полугода, урывками ночью и по дороге на работу.

Пошаговая инструкция: от голосового сообщения до вердикта

  1. Разложите код по слоям. Автор не стал писать всё в один файл и взял чистую архитектуру (Clean Architecture, когда бизнес-логика отделена от базы и интерфейса). Получились отдельные папки для сущностей, сценариев, хранилищ, хэндлеров Telegram и клиентов нейросетей.
  2. Подключите распознавание голоса. Бот забирает голосовое в формате OGG/Opus, передаёт его в Deepgram и дальше работает с текстом. По данным автора, разбор занимает меньше секунды.
  3. Соберите базу вопросов с эталонами. У автора 860 вопросов по 85 темам, к каждому прописаны обязательные критерии ответа.
  4. Пропишите строгий промпт для оценки. Вот текст из проекта:
Ты строгий технический интервьюер по Go. Вопрос: %s
Эталонный ответ: %s
Обязательные ключевые критерии: %s
Ответ кандидата: %s
Твоя задача:

1. Проверь наличие каждого обязательного критерия в ответе кандидата.
2. Поставь объективную оценку от 1 до 10.
3. Укажи, какие именно критерии кандидат упустил.
4. Дай краткий, жесткий разбор без лести.
  1. Настройте интервальное повторение (метод, при котором трудный материал возвращается чаще лёгкого). Ответ на 8, 9 или 10 баллов отправляет вопрос в конец очереди. Если вы набрали меньше 6 баллов, вопрос вернётся через пару шагов. Все попытки сохраняются в PostgreSQL для статистики.
  2. Добавьте мок-собес (репетицию собеседования). Вы выбираете грейд (уровень разработчика) от стажёра до сеньора, бот собирает 10 вопросов, может переспрашивать по ходу ответа и в конце выносит вердикт Hire или No Hire («нанять» или «не нанять») с разбором ошибок.
  3. Закройте контейнеры на сервере. В Docker бот работает от отдельного пользователя appuser, а не от root (главной учётной записи системы). В docker-compose.prod.yml стоят такие флаги:
read_only: true
cap_drop: ALL
tmpfs

По замерам автора, бот на Go занимает в работе от 25 до 35 мегабайт оперативной памяти и запускается за долю секунды. Для сервера за 200 рублей это решающий довод.

Как это выглядит на практике

Кандидат говорит голосом: «ну, слайс при переполнении удваивается». Модель не ставит высокий балл и прямо указывает, что пропущены порог в 256 элементов и новая формула роста из Go 1.18 и новее.

Частые ошибки
  • Локальный Whisper (открытая модель распознавания речи) на дешёвом сервере без видеокарты, по опыту автора, загружал процессор на 100% при каждом голосовом.
  • Вопрос модели «как тебе мой ответ?» почти всегда приносит похвалу даже за ерунду. Без эталонных критериев оценка бесполезна.
  • Telegram отказывается отправлять сообщение, если в ответе модели потерян закрывающий тег. Автор написал фильтр, который находит код Go по словам package, func, := и сам оформляет его.
  • Двойной клик по кнопке создавал две параллельные сессии. Решение: сразу отключать кнопки командой EditReplyMarkup, ещё до запросов в базу.

Что делать с этим прямо сейчас, по ролям

Тем, кто готовится к собеседованию по Go. Бот бесплатный: @go_SikkiMentor_bot. Отвечайте голосом и не пропускайте разборы упущенных критериев, ради них проект и делался.

Автору Дзена. Приём «эталонные критерии плюс запрет на лесть» переносится на любую тему. Пропишите, что обязательно должно быть в вашем экспертном тексте, и попросите модель проверить черновик по этому списку.

Маркетологу и предпринимателю. Связка «голос, оценка, повторение слабого» подходит для обучения продавцов и операторов. Работают ли Deepgram и Groq из России без ограничений, автор не пишет, поэтому проверьте доступ заранее. Из доступных в РФ аналогов для оценки ответов подойдут YandexGPT и GigaChat, для распознавания речи есть Yandex SpeechKit.

Код открыт, и автор сам просит его раскритиковать

Исходники лежат на GitHub: github.com/powood/Tg_GO_Mentor. Автор не выдаёт проект за готовый продукт и прямо просит опытных разработчиков посмотреть код и архитектуру.

Совет редакции dzen.guru

На мой взгляд, самое ценное здесь не стек, а промпт со списком обязательных критериев. Я много раз видел, как нейросеть хвалит пустой текст, и проверка по чек-листу лечит это лучше любых уговоров. Честная оговорка: вердикт Hire выносит модель, а не живой работодатель, поэтому тренажёр учит говорить вслух, но реальное собеседование не заменит.

Научите нейросеть проверять ваши тексты строго

В dzen.guru разбираем промпты, которые заставляют ИИ искать ошибки, а не льстить автору.

Попробовать
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

United запретила ИИ-агентам покупать билеты: агент найдёт рейс, оплатит человек
ai

United запретила ИИ-агентам покупать билеты: агент найдёт рейс, оплатит человек

Авиакомпания United запретила личным ИИ-агентам оформлять билеты за пассажиров, и именно такие решения сейчас могут урезать пользу новых помощников вроде Muse…

4 мин
VS Code в виртуальной машине работает через Strata на хосте: чужой код не тронет систему
ai

VS Code в виртуальной машине работает через Strata на хосте: чужой код не тронет систему

Автор практического руководства собрал изолированный «думающий контур», где модель работает на основном компьютере через Strata, а ИИ-агент запускает чужой код…

6 мин
ai

Взлом Fireworks AI раскрыл стенограммы чатов пользователей с ИИ, Notion узнала через 10 дней

Notion сообщила об утечке стенограмм чатов Notion AI через взломанного подрядчика Fireworks AI, который второго ноября называл раскрытые данные синтетическими…

4 мин