Prog Academy
RU UA
Вопросы на собеседовании AI Engineer: 28 вопросов с ответами
Карьера в IT

Вопросы на собеседовании AI Engineer: 28 вопросов с ответами

На собеседовании AI Engineer проверяют, понимаете ли вы, как работают большие языковые модели и где они ошибаются, умеете ли получить от модели надёжный структурированный ответ, собрать поиск по документам (RAG) и агента с инструментами, а главное — измерить качество результата и защитить систему от злоупотреблений. Ниже — 28 вопросов с короткими ответами по семи темам, пять практических задач с кодом на Python, типичные ошибки кандидатов и план подготовки на две недели.

AI Engineer в этой статье — инженер, который строит продукты поверх готовых моделей: чат-ассистентов, поиск по базе знаний, агентов, автоматизацию процессов. Это не то же самое, что ML Engineer, который обучает и разворачивает модели, хотя на собеседованиях темы частично пересекаются. Список вопросов — авторский отбор по темам, которые повторяются в вакансиях и на технических интервью, а не рейтинг по частоте.

Актуально на октябрь 2026 года

Примеры кода запущены на Python 3.12.2 и используют только стандартную библиотеку; вывод в комментариях — реальный. Вызовы моделей в задачах заменены простыми функциями-заглушками, чтобы код можно было запустить без ключей API. Названия моделей и цены провайдеров меняются каждые несколько месяцев, поэтому в статье их нет: проверяйте актуальные данные в документации провайдера.

Как проходит собеседование AI Engineer?

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

ЭтапЧто проверяютКак готовиться
Скрининг с рекрутеромОпыт с LLM, мотивацию, ожидания по зарплате и формату работы, английскийРассказ о себе и одном AI-проекте за две минуты, заранее продуманная вилка
Техническое интервьюПонимание LLM, RAG, агентов, оценки качества и безопасности; Python и работу с APIПроговорить вслух ответы на вопросы из этой статьи и привязать каждый к своему проекту
Практическое заданиеУмение собрать работающий пайплайн и проверить его результатРешить пять задач из этой статьи; для тестового — README с архитектурой, набором тестовых вопросов и результатами
Финальная встречаКак вы принимаете решения, объясняете ограничения модели бизнесу, работаете в командеПримеры: где модель ошибалась, как вы это обнаружили и что изменили

Про зарплатные ожидания лучше говорить с цифрами под рукой: медианные зарплаты по уровням и сравнение с ML Engineer и Data Scientist собраны на странице зарплаты AI-инженеров. Что такое агент и как он устроен, подробно разобрано в статье что такое AI-агент.

Какие темы проверяют на Junior и Middle?

На уровне Junior проверяют понимание LLM, промптинга и RAG и умение написать рабочий код вокруг модели; на Middle — решения в продакшене: оценку качества, стоимость, задержку и безопасность. Граница условна: в таблице указан уровень, начиная с которого тему обычно спрашивают всерьёз.

ТемаЧто проверяютУровень
Как работают LLMТокены, контекстное окно, параметры генерации, галлюцинацииJunior
ПромптингСистемные инструкции, примеры в промпте, структурированный вывод и его проверкаJunior
RAGЭмбеддинги, нарезка на чанки, векторный и гибридный поискJunior; реранкинг и оценка поиска — Middle
АгентыВызов инструментов, цикл агента, ограничения, MCPJunior — концепции; Middle — проектирование
Качество и продакшенНаборы тестовых вопросов, логирование, стоимость, задержка, обработка ошибок APIMiddle
БезопасностьPrompt injection, персональные данные, права инструментовJunior — понятие; Middle — защита
Основы MLВыборки, переобучение, fine-tuningJunior

Как работают LLM

С этого блока начинается почти любое интервью: без понимания механики модели невозможно объяснить, почему она ошибается.

Как большая языковая модель генерирует текст?

Модель получает на вход последовательность токенов и предсказывает распределение вероятностей для следующего токена. Выбранный токен добавляется к входу, и шаг повторяется, пока модель не сгенерирует признак конца или не упрётся в лимит длины. Большинство современных LLM построены на архитектуре трансформера, описанной в статье «Attention Is All You Need».

Что хотят услышать: модель не «ищет ответ в базе», а продолжает текст наиболее вероятным образом. Отсюда и её сильные стороны, и галлюцинации.

Что такое токен и почему это важно?

Токен — единица текста, с которой работает модель: слово, часть слова или знак. Длину запроса, лимит контекста и стоимость вызова считают в токенах, а не в символах. Один и тот же текст на разных языках занимает разное количество токенов, поэтому стоимость и лимиты стоит проверять на реальных данных проекта.

Что такое контекстное окно и что будет, если его превысить?

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

Что хотят услышать: решения для длинных данных — поиск нужных фрагментов (RAG), суммаризация истории, обрезка лишнего, а не «взять модель с окном побольше».

Что делают параметры temperature и top_p?

Оба параметра управляют случайностью выбора следующего токена. Низкая temperature делает ответы более предсказуемыми и подходит для извлечения данных и классификации; высокая — более разнообразными, что полезно для генерации идей. top_p ограничивает выбор токенами, суммарная вероятность которых не превышает заданный порог. Обычно меняют один из параметров, а не оба сразу.

Почему модель галлюцинирует и как это уменьшить?

Модель генерирует правдоподобный текст, а не проверенный факт, поэтому при нехватке знаний она может уверенно выдумать ответ. Снизить риск помогают: передача нужных фактов в контексте (RAG), инструкция отвечать только по источникам и признавать незнание, ссылки на источники в ответе, проверка формата и фактов кодом, набор тестовых вопросов для регулярной проверки.

Что такое эмбеддинг?

Эмбеддинг — вектор чисел, в который модель преобразует текст так, что близкие по смыслу тексты получают близкие векторы. Эмбеддинги используют для семантического поиска, кластеризации, поиска дубликатов и рекомендаций. Близость векторов обычно измеряют косинусным сходством — пример есть в практической задаче 2.

Промптинг и структурированный вывод

Блок о том, как получить от модели предсказуемый результат, который можно обработать кодом.

Чем системная инструкция отличается от сообщения пользователя?

Системная инструкция задаёт роль, правила и формат ответа для всего диалога; сообщения пользователя — конкретные запросы. Правила, которые не должен менять пользователь, держат в системной части. Но это не граница безопасности: модель может последовать инструкции из пользовательского текста, поэтому критичные ограничения проверяют кодом вне модели.

Что такое few-shot и когда он нужен?

Few-shot — несколько примеров «вход → ожидаемый выход» прямо в промпте. Примеры объясняют формат и стиль точнее, чем описание словами, и особенно помогают в классификации и извлечении данных. Минусы — больше токенов на каждый вызов и риск, что модель начнёт копировать особенности примеров, поэтому примеры подбирают разнообразными.

Как получить от модели ответ в формате JSON?

Описать нужную схему в инструкции и, если провайдер это поддерживает, включить режим структурированного вывода, при котором API ограничивает ответ заданной JSON-схемой. В любом случае ответ проверяют кодом: парсят, сверяют поля и типы, а при ошибке повторяют запрос с текстом ошибки или возвращают понятный отказ. Пример проверки — практическая задача 3.

Что хотят услышать: ответу модели нельзя доверять без валидации, даже если «обычно он правильный».

Когда достаточно промпта, когда нужен RAG, а когда fine-tuning?

Промпт — первый шаг: он дешёвый и быстро меняется. RAG нужен, когда модели не хватает знаний — внутренних документов, свежих данных, информации о конкретном клиенте. Fine-tuning, то есть дообучение модели на своих примерах, применяют, когда нужно закрепить формат, стиль или узкий навык, а промпт и примеры не дают стабильного результата. Новым фактам надёжнее «научить» через RAG: их проще обновлять и показывать источник.

RAG, эмбеддинги и векторный поиск

RAG — самая частая архитектура в вакансиях AI Engineer, поэтому этот блок спрашивают подробно.

Что такое RAG и из каких шагов он состоит?

RAG (Retrieval-Augmented Generation) — генерация ответа с опорой на найденные документы. Подготовка: документы режут на фрагменты (чанки), для каждого считают эмбеддинг и сохраняют в векторное хранилище. При запросе: считают эмбеддинг вопроса, находят ближайшие чанки, передают их модели вместе с вопросом и инструкцией отвечать по этим источникам.

Как выбрать размер чанка и зачем нужно перекрытие?

Слишком маленький чанк теряет контекст, слишком большой — размывает смысл эмбеддинга и тратит токены. Размер подбирают по типу документов и проверяют на тестовых вопросах; часто режут по структуре — разделам, абзацам, а не по фиксированному числу символов. Перекрытие повторяет конец предыдущего чанка в начале следующего, чтобы мысль на границе не потерялась. Код — практическая задача 1.

Чем векторный поиск отличается от полнотекстового и что такое гибридный поиск?

Полнотекстовый поиск находит совпадения слов и хорошо работает с артикулами, именами и точными терминами. Векторный ищет близость по смыслу и находит ответ, даже если слова в вопросе другие. Гибридный поиск объединяет результаты обоих подходов, чтобы не терять ни точные совпадения, ни смысловые.

Что такое реранкинг?

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

Как понять, что RAG работает плохо, и где искать проблему?

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

Что хотят услышать: «улучшить промпт» — не первый шаг. Сначала нужно измерить, на каком этапе теряется качество.

AI

Начать с практики AI-инструментов

На курсе AI Automation в Prog Academy разбирают промпт-инжиниринг и кастомных GPT-ассистентов, работу с NotebookLM, автоматизацию на Make и n8n, Telegram-ботов с AI, Claude Code и OpenAI Codex. Это курс по прикладной работе с AI-инструментами без программирования, а не по обучению моделей.

Программа курса AI Automation →

AI-агенты и вызов инструментов

Блок о системах, где модель не только отвечает, но и выполняет действия. Подробнее о видах агентов — в статье что такое AI-агент, пошаговый пример на Python — в статье как создать AI-агента на Python.

Чем AI-агент отличается от workflow с LLM?

В workflow последовательность шагов задаёт разработчик: например, классифицировать письмо, затем извлечь данные, затем записать в CRM. В агенте модель сама решает, какой инструмент вызвать следующим и когда задача выполнена. Workflow предсказуемее, дешевле и проще в тестировании, поэтому агента выбирают, когда шаги заранее неизвестны.

Что хотят услышать: агент — не цель сама по себе. Хороший ответ начинается с вопроса, нельзя ли решить задачу простым фиксированным пайплайном.

Как работает вызов инструментов (tool calling)?

Разработчик передаёт модели описание инструментов: название, назначение и JSON-схему аргументов. Модель не выполняет функцию сама, а возвращает запрос «вызови такой инструмент с такими аргументами». Код приложения проверяет аргументы, выполняет функцию и отправляет результат модели следующим сообщением. Цикл повторяется, пока модель не даст финальный ответ. Пример цикла — практическая задача 4.

Как ограничить агента, чтобы он не натворил лишнего?

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

Что такое MCP?

Model Context Protocol — открытый протокол, через который AI-приложения подключаются к внешним инструментам и источникам данных по единому стандарту. Вместо отдельной интеграции под каждое приложение сервис реализует MCP-сервер, а клиенты с поддержкой протокола получают доступ к его инструментам. На собеседовании достаточно объяснить идею и понимать, что каждый подключённый сервер расширяет права системы.

Качество, стоимость и надёжность

Блок, который отличает прототип от продукта: именно его подробно спрашивают на позицию Middle.

Как оценить качество LLM-приложения?

Собрать набор тестовых вопросов с ожидаемыми ответами или критериями, прогонять его после каждого изменения промпта, модели или поиска и сравнивать результат. Проверки бывают простыми — формат, наличие ключевого факта — и сложными, когда ответ оценивает человек или другая модель по заданным критериям. Пример простейшего прогона — практическая задача 5.

Что хотят услышать: «посмотрел несколько ответов, вроде нормально» — не оценка. Нужен повторяемый набор и цифра, которую можно сравнить до и после изменения.

Что логировать в LLM-приложении?

Вход и выход каждого вызова модели, найденные документы, вызовы инструментов с аргументами и результатами, количество токенов, задержку, ошибки и версию промпта. Это позволяет воспроизвести проблемный ответ, посчитать стоимость и найти медленные шаги. Персональные данные в логах маскируют или не сохраняют.

Как снизить стоимость и задержку?

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

Как обрабатывать ошибки и лимиты API модели?

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

Безопасность и данные

Блок, который всё чаще выделяют в отдельный раздел интервью. Основной справочник по теме — OWASP Top 10 for LLM Applications.

Что такое prompt injection и как от неё защищаться?

Prompt injection — текст, который заставляет модель выполнить чужие инструкции вместо инструкций разработчика. Прямая — пользователь пишет «игнорируй правила». Непрямая — инструкция спрятана в документе, письме или веб-странице, которые модель читает в процессе работы. Полностью исключить её нельзя, поэтому защита строится вокруг модели: минимальные права инструментов, подтверждение человеком опасных действий, проверка выходных данных кодом, разделение доверенных инструкций и внешнего контента.

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

Как работать с персональными и конфиденциальными данными?

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

Основы ML, о которых спросят

Даже если вы не обучаете модели, базовые понятия машинного обучения на собеседовании обычно проверяют.

Чем AI Engineer отличается от ML Engineer и Data Scientist?

AI Engineer строит продукты на основе готовых моделей: RAG, агентов, интеграции. ML Engineer обучает, оптимизирует и разворачивает модели. Data Scientist исследует данные, проверяет гипотезы и строит модели для конкретных бизнес-задач. Границы в компаниях размыты, поэтому обязанности стоит уточнять по описанию вакансии. Как различаются зарплаты этих ролей, показано на странице зарплаты AI-инженеров.

Зачем делить данные на обучающую, валидационную и тестовую выборки?

На обучающей модель учится, на валидационной подбирают настройки, а тестовую используют один раз для честной итоговой оценки. Если проверять качество на тех же данных, на которых модель обучалась или настраивалась, результат будет завышен. Тот же принцип работает и для LLM-приложений: промпт не стоит подгонять под тот же набор вопросов, по которому вы потом отчитываетесь о качестве.

Что такое переобучение?

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

Практические задачи с решениями

Такие задачи дают на live coding или в тестовом задании: они короткие, но показывают, понимаете ли вы, что происходит внутри пайплайна. Вызовы модели заменены функциями-заглушками, поэтому весь код запускается без ключей API.

Задача 1. Как разбить текст на чанки с перекрытием?

Напишите функцию, которая режет строку на фрагменты длиной size с перекрытием overlap символов.

def chunk(text, size, overlap):
    if not 0 <= overlap < size:
        raise ValueError("overlap must be in [0, size)")
    step = size - overlap
    return [text[i:i + size] for i in range(0, max(len(text) - overlap, 1), step)]


print(chunk("abcdefghij", size=4, overlap=1))
# ['abcd', 'defg', 'ghij']
print(chunk("abc", size=4, overlap=1))
# ['abc']

Что хотят услышать: проверку некорректных параметров (при overlap >= size цикл никогда не закончится) и понимание, что в реальном проекте режут по токенам или по структуре текста, а не по символам.

Задача 2. Как найти ближайшие документы по эмбеддингам?

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

import math


def cosine(a, b):
    dot = sum(x * y for x, y in zip(a, b))
    norm = math.sqrt(sum(x * x for x in a)) * math.sqrt(sum(y * y for y in b))
    return dot / norm if norm else 0.0


def top_k(query, docs, k=2):
    scored = [(cosine(query, vec), doc_id) for doc_id, vec in docs.items()]
    return sorted(scored, reverse=True)[:k]


docs = {
    "refund-policy": [0.9, 0.1, 0.0],
    "delivery-times": [0.1, 0.9, 0.1],
    "refund-form": [0.8, 0.0, 0.3],
}
for score, doc_id in top_k([1.0, 0.0, 0.1], docs):
    print(doc_id, round(score, 3))
# refund-policy 0.989
# refund-form 0.967

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

Задача 3. Как проверить JSON-ответ модели?

Модель должна вернуть объект с полями intent (строка) и priority (целое число). Напишите проверку, которая возвращает данные или понятную ошибку.

import json

REQUIRED = {"intent": str, "priority": int}


def parse_reply(raw):
    """Возвращает (data, None), если ответ модели валиден, иначе (None, error)."""
    try:
        data = json.loads(raw)
    except json.JSONDecodeError as e:
        return None, f"not JSON: {e.msg}"
    if not isinstance(data, dict):
        return None, "expected a JSON object"
    for field, kind in REQUIRED.items():
        if not isinstance(data.get(field), kind):
            return None, f"field '{field}' must be {kind.__name__}"
    return data, None


print(parse_reply('{"intent": "refund", "priority": 2}'))
# ({'intent': 'refund', 'priority': 2}, None)
print(parse_reply('Конечно! Вот JSON: {"intent": "refund"}'))
# (None, 'not JSON: Expecting value')
print(parse_reply('{"intent": "refund", "priority": "high"}'))
# (None, "field 'priority' must be int")

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

Задача 4. Как устроен цикл агента с инструментами?

Соберите цикл: модель либо просит вызвать инструмент, либо даёт ответ. Модель здесь — заглушка с заранее заданным поведением.

def get_order_status(order_id):
    return {"order_id": order_id, "status": "shipped"}


TOOLS = {"get_order_status": get_order_status}


def fake_model(messages):
    """Заменяет LLM: сначала просит инструмент, потом отвечает."""
    if messages[-1]["role"] == "user":
        return {"tool": "get_order_status", "args": {"order_id": "A-17"}}
    return {"answer": f"Заказ отправлен: {messages[-1]['content']['status']}"}


def run_agent(question, max_steps=5):
    messages = [{"role": "user", "content": question}]
    for _ in range(max_steps):
        reply = fake_model(messages)
        if "answer" in reply:
            return reply["answer"]
        tool = TOOLS.get(reply["tool"])
        if tool is None:
            raise ValueError(f"unknown tool: {reply['tool']}")
        messages.append({"role": "tool", "content": tool(**reply["args"])})
    raise RuntimeError("step limit reached")


print(run_agent("Где мой заказ A-17?"))
# Заказ отправлен: shipped

Что хотят услышать: ограничение числа шагов, обработку неизвестного инструмента и проверку аргументов до выполнения функции.

Задача 5. Как сделать простой прогон набора тестовых вопросов?

Для каждого вопроса проверьте, содержит ли ответ ожидаемый факт, и посчитайте итог.

cases = [
    {"question": "Сколько дней на возврат?", "expected": "14"},
    {"question": "Есть ли доставка в Польшу?", "expected": "да"},
    {"question": "Какой телефон поддержки?", "expected": "0 800"},
]


def answer(question):
    """Заменяет RAG-пайплайн, который тестируем."""
    return {
        "Сколько дней на возврат?": "Вернуть товар можно в течение 14 дней.",
        "Есть ли доставка в Польшу?": "Нет, только по Украине.",
    }.get(question, "Не знаю.")


passed = 0
for case in cases:
    reply = answer(case["question"])
    ok = case["expected"].lower() in reply.lower()
    passed += ok
    print("PASS" if ok else "FAIL", case["question"], "->", reply)
print(f"{passed}/{len(cases)}")
# PASS Сколько дней на возврат? -> Вернуть товар можно в течение 14 дней.
# FAIL Есть ли доставка в Польшу? -> Нет, только по Украине.
# FAIL Какой телефон поддержки? -> Не знаю.
# 1/3

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

Типичные ошибки кандидатов

  • Нет оценки качества. Кандидат рассказывает о проекте, но не может сказать, как проверял, что ответы правильные.
  • Модель как источник истины. Ответ модели используется без проверки формата и фактов.
  • Агент там, где хватит пайплайна. Сложная архитектура без объяснения, зачем она нужна.
  • Безопасность — «в промпте». Защита от prompt injection сводится к фразе в системной инструкции.
  • Нет цифр по стоимости. Кандидат не знает, сколько токенов и денег тратит один запрос в его проекте.
  • Проект из туториала без изменений. На вопрос «почему так» нет ответа, потому что решение принимал автор туториала.

Какие вопросы задать интервьюеру?

  • Какие AI-функции уже работают у пользователей, а какие пока в разработке?
  • Как команда оценивает качество ответов и как часто прогоняет тесты?
  • С какими моделями и провайдерами вы работаете и кто принимает решение о смене модели?
  • Как устроен доступ к данным и какие ограничения по их передаче внешним провайдерам?
  • Какие задачи будут у меня в первые три месяца?
  • Какие следующие шаги после этого собеседования и когда ждать ответа?

План подготовки на две недели

Двух недель по одному-два часа в день хватает, чтобы повторить темы и натренировать ответы вслух, — при условии, что Python и работу с API вы уже знаете. Это ориентир, а не норматив: подстраивайте план под свои слабые места.

ДниТемаЧто сделать
1–2Как работают LLMСвоими словами объяснить токены, контекстное окно, temperature и причины галлюцинаций
3–4Промптинг и JSONНаписать вызов модели с проверкой структурированного ответа и повтором при ошибке
5–7RAGСобрать RAG по реальной документации: чанки, эмбеддинги, поиск, ответ со ссылкой на источник
8–9АгентыСделать агента с двумя инструментами, лимитом шагов и логированием каждого вызова
10–11Оценка качестваСоставить 20–30 тестовых вопросов к своему RAG и посчитать, сколько ответов правильные
12Стоимость и безопасностьПосчитать токены одного запроса; попробовать непрямую prompt injection на своём проекте и закрыть её
13Практические задачиРешить пять задач из этой статьи по памяти, с таймером и вслух
14Проект и пробное интервьюРассказать о проекте за пять минут: архитектура, оценка, ограничения; пройти пробное собеседование

Если вы только выбираете направление и хотите понять, как устроена прикладная работа с AI без программирования, начните с руководства по профессии AI Automation.

Частые вопросы

Нужно ли AI Engineer знать математику и машинное обучение?

Для большинства вакансий AI Engineer, где строят продукты поверх готовых моделей, хватает понимания основ: что такое эмбеддинг и косинусное сходство, как модель генерирует текст, чем обучающая выборка отличается от тестовой. Глубокая математика и обучение моделей с нуля — зона ML Engineer и Data Scientist. Требования конкретной компании указаны в вакансии.

Какой язык программирования нужен AI Engineer?

Чаще всего Python: на нём написаны основные SDK провайдеров моделей, библиотеки для работы с данными и большинство примеров в документации. В продуктовых командах встречается и TypeScript, особенно если AI-функции встроены в веб-приложение. На собеседовании обычно проверяют уверенный Python, работу с HTTP API и JSON.

Будет ли на собеседовании live coding?

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

Что показать в портфолио AI Engineer?

Один-два законченных проекта лучше десятка демо: например, RAG-ассистент по реальной документации или агент, который выполняет задачу через несколько инструментов. В README стоит описать архитектуру, набор тестовых вопросов, результаты оценки качества и известные ограничения. На собеседовании спросят, почему решение устроено именно так.

Можно ли пользоваться AI-ассистентом на собеседовании?

Только если интервьюер прямо это разрешил. Для AI Engineer некоторые компании специально дают задачу с ассистентом и смотрят, как кандидат проверяет сгенерированный код. Если правила не названы, спросите в начале. Пользоваться подсказками тайно нельзя.

Чем собеседование на Middle AI Engineer отличается от собеседования на Junior?

От Junior ждут понимания базовых понятий и умения написать рабочий вызов модели с проверкой результата. На Middle спрашивают о решениях в продакшене: как вы оценивали качество, как снижали стоимость и задержку, как защищались от prompt injection, что делали, когда модель или поиск ошибались у реальных пользователей.

Сколько зарабатывает AI Engineer в Украине?

Медианные зарплаты AI Engineer по уровням, по данным зарплатного опроса DOU, собраны на странице «Зарплата AI-инженера в Украине» в разделе зарплат Prog Academy. Там же указано, сколько ответов стоит за каждой цифрой: выборка по этой должности пока небольшая.

Источники

Программа курса AI Automation →

Фото автора: Всеволод Евгиенко

Об авторе

CEO и основатель Prog Academy

Разработчик программного обеспечения, специалист по информационной безопасности и преподаватель Java. Руководит Prog Academy и пишет о программировании, данных и AI-инструментах.

Контакт

Записаться на консультацию

Укажите актуальный номер, мы позвоним в любую страну :)