ГлавнаяБлогКак я построил AI-коуча для собеседований с памятью и экономией
AI / Нейросети

Как я построил AI-коуча для собеседований с памятью и экономией

Узнайте, как создать AI-коуча для собеседований с долговременной памятью и маршрутизацией запросов. Реализация на Python с Hindsight и Cascadeflow. Начните экономить API-затраты уже сегодня.

Al
Редакция Algolitalgolit.ru
8 мин чтения29 июня 2026 г.

Проблема: AI-боты для собеседований — просто поисковики с амнезией

Большинство AI-ботов для собеседований — это прославленные поисковики с чат-интерфейсом. Они задают вопрос, дают шаблонный ответ из учебника и, что хуже всего, страдают полной амнезией. Если вы неделю назад спотыкались на хэш-таблицах, бот об этом не знает. Каждая сессия начинается с нуля. Это не коучинг, это просто задавание вопросов.

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

Архитектура: память + интеллект + маршрутизация

Чтобы решить проблему памяти и стоимости, я не стал строить сложный хрупкий бэкенд. Стек остался сфокусированным:

  • Слой памяти: Hindsight (для долговременного хранения состояния)
  • Слой интеллекта: Cascadeflow (для маршрутизации модели во время выполнения)
  • LLM-провайдер: Groq (для низкой задержки)

Поток: Ввод пользователя → Проверка памяти → Маршрутизатор (на дешёвую/дорогую модель) → Ответ LLM → Сохранение.

Как это работает

Hindsight для памяти

Стандартный RAG часто слишком поверхностен для личного роста. Мне нужно было отслеживать паттерны неудач. Я использовал Hindsight для поддержания постоянного банка проблем пользователя (например, «рекурсия», «конкурентность»). Когда начинается сессия, агент извлекает историю и внедряет её в системный промпт. Диалог превращается из «Как дела?» в «На прошлой сессии вы споткнулись на логике коллизий в хэш-таблицах. Давайте вернёмся к этому».

Cascadeflow для интеллекта

Я не мог оправдать маршрутизацию каждого «привет» или «я готов» через флагманскую модель вроде gpt-4o. Это дорого и не нужно. Я реализовал рантайм-маршрутизатор. Простые разговорные запросы идут на llama-3.1-8b (дёшево), а сложные технические — на llama-3.3-70b или gpt-4o. Это создаёт аудиторский след, где я в реальном времени отслеживаю расходы.

Момент «Эврика!»: исправление утечки памяти

Первая итерация была сломана. Я попытался впихнуть память в сообщение пользователя:

# ПЛОХОЙ подход
if 'what was' in question.lower():
    memory = MEMORY_BANKS[bank_id][-1]
    prompt = f'User previously struggled with {memory}. {question}'

AI просто путался — думал, что пользователь написал «User previously struggled with recursion», и повторял это за мной. Он не учился. Исправление: я перенёс контекст памяти в системный промпт, куда ему и место. Также добавил проверки безопасности, чтобы не падать на новых пользователях.

memory_context = ''
if MEMORY_BANKS.get(bank_id) and 'what was' in question.lower():
    memory = MEMORY_BANKS[bank_id][-1]
    memory_context = f'Context: User failed at {memory} before. Mention this.'

response = client.chat.completions.create(
    model=model,
    messages=[
        {'role': 'system', 'content': SYSTEM_PROMPT + memory_context},
        {'role': 'user', 'content': question}
    ]
)

Разделив «память» и «намерение пользователя», агент начал интерпретировать обратную связь и менять поведение.

Результаты: до и после

Разница колоссальная.

До (бот без состояния):
Вы: Объясните полиморфизм.
AI: Полиморфизм — это ключевая концепция ООП, где...
(Стоимость: $0.02)

После (интеллектуальный агент):
[HINDSIGHT] Вспомнил: найдена обратная связь из сессии #1
[CASCADEFLOW] Маршрутизация на: llama-3.3-70b-versatile | Причина: Технический
AI: В сессии #1 вы были неуверенны в v-table. Давайте копнём глубже: объясните стоимость полиморфизма во время выполнения.
(Стоимость: $0.008)

Выводы

Память требует кода, а не только промптов. Нельзя просто сказать AI «запомни». Нужно построить слой персистентности. Hindsight заставил меня структурировать данные правильно.

Логируйте свои расходы. Если вы явно не логируете решения маршрутизации (как я с Cascadeflow), вы понятия не имеете, сколько денег утекает на простые запросы.

Системные промпты — для контекста, пользовательские — для намерения. Как только я разделил их, агент перестал галлюцинировать и начал учить.

Практический вывод: что делать прямо сейчас

Начните с малого: добавьте в своего бота простую базу данных (SQLite или Redis) для хранения ошибок пользователя. Внедрите маршрутизатор на основе длины запроса или ключевых слов — например, если запрос короче 10 слов, используйте дешёвую модель. Вы увидите, как качество коучинга вырастет, а счёт за API упадёт.

#AI-коуч#память#маршрутизация#оптимизация затрат#собеседования
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →