Разбор кейса с System Design интервью
🎯Задача: Есть система трекинга показателей здоровья пожилых людей. Надо спроектировать AI-агента, который на основе этих метрик советует специалистов или направления активности.
Пример:
Пользователь пишет:
«У меня болит голова»
Система должна:
1. задать уточняющие вопросы
2. собрать контекст
оценить потенциальный риск
3. предложить дальнейшее действие
Например:
посоветовать подходящую активность или режим
порекомендовать, к какому врачу лучше обратиться
в более серьёзных случаях эскалировать ситуацию
➡️ Архитектура решения:
1. Получаем сообщение пользователя.
2. Подтягиваем сохранённый профиль и историю пользователя.
3. LLM объединяет текущий запрос с этим контекстом и извлекает структурированные данные.
4. Если информации недостаточно, агент задаёт дополнительные вопросы.
5. Данные передаются в риск-layer.
Это отдельный компонент, который оценивает уровень риска на основе симптомов и профиля пользователя.
Например:
• возраст
• хронические заболевания
• интенсивность и длительность симптомов
• наличие потенциально опасных признаков
На выходе получаем условный уровень риска:
low / medium / high.
6. После этого срабатывает Recommendation Layer.
Его задача - на основе уровня риска и контекста пользователя выбрать наиболее подходящее следующее действие.
Например:
• предложить подходящую активность или режим
• посоветовать обратиться к терапевту, неврологу или другому специалисту
• при высоком риске перейти в сценарий эскалации
То есть логика примерно такая:
User Input + Profile + History
↓
LLM → S
tructured Data
↓
Risk Engine → насколько ситуация опасна
↓
Recommendation Layer → что делать дальше
Роль LLM:
LLM используется для:
понимания естественного языка
работы с историей пользователя
выбора следующего вопроса
извлечения симптомов и контекста
генерации понятного ответа
Но критические решения лучше не оставлять только на модели.
🔒 Safety
Основные ограничения:
не ставить диагноз
не назначать лечение
не менять дозировки лекарств
при недостатке информации запрашивать дополнительный контекст
при потенциально опасных симптомах использовать отдельный safety flow
Главная идея:
Решение строится не только на текущем сообщении, а на персональном контексте пользователя и его истории.
