Система из нескольких AI-агентов для технического интервью с системой мышления перед ответом.
pip install -r requirements.txtв config.py задайте свой Api-ключ, модель генерации.
MULEROUTER_API_KEY=sk-mr-your-key
MULEROUTER_BASE_URL=https://api.mulerouter.ai/vendors/openai/v1
INTERVIEW_LLM_MODEL=qwen3-max
INTERVIEW_LOG_FILE=interview_log.json
python main.pyПри запуске можно выбрать:
- Пошаговый ввод — ФИО, позиция, грейд, опыт, затем диалог вручную.
- Текст самопрезентации — вставьте неструктурированный текст (например: «Я Александр, 5 лет Backend…»); агент Extractor извлечёт имя, позицию, грейд, опыт.
- JSON-файл — путь к файлу с полями имя, позиция, грейд, опыт, поведение (список ответов по вопросам для сценария). Пример:
example_candidate.json.
Для завершения введите: «Стоп интервью» или «Давай фидбэк». Лог сохраняется в interview_log.json.
- Interviewer — только ведёт диалог и задаёт вопросы. Не проверяет факты, не принимает решение о найме.
- Observer — только анализирует ответы кандидата, проверяет факты, офф-топик и галлюцинации, подсказывает Интервьюеру, куда вести беседу и как менять сложность.
- Manager — только вердикт по итогам: Grade, Hiring Recommendation, Confidence Score. Не ведёт диалог и не оформляет отчёт.
- FeedbackWriter — только оформляет итоговый отчёт по структуре ТЗ из вердикта Manager и лога. Не принимает решение о найме.
- Extractor — только извлекает из неструктурированного текста поля: имя, позиция, грейд, опыт.
Цепочка ответа: Observer (скрытая рефлексия) → Interviewer (видимое сообщение). Фидбэк: Manager (вердикт) → FeedbackWriter (текст отчёта).
Поддерживается формат: имя, позиция, грейд, опыт, поведение.
Поведение — список пунктов «как отвечать на каждый вопрос» (для автоматического прогона сценария).
Можно передать JSON (файл или объект) с ключами на русском или английском;
participant_name— ФИО на русскомturns— массив ходов:turn_id,user_message,internal_thoughts,agent_visible_messagefinal_feedback— структурированный отчёт (Вердикт, Hard Skills, Soft Skills, Roadmap)- при сценарии в лог может добавляться
behavior(список ответов по вопросам)
python run_scenario.pyИли: режим 3 в main.py и путь к JSON с полем поведение (список реплик кандидата по порядку).