Почему ИИ ошибается в советах по здоровью: решаем проблему устаревших рекомендаций
Где взять
archie0732/healthy-diet-ai-agent — открыть на GitHub
Открытая лицензия: MIT · 751 stars.
Healthy Diet AI Agent — это инструмент на базе Bun и TypeScript, который помогает ИИ-системам правильно работать с меняющимися медицинскими рекомендациями. Если вы строите чат-бота или систему поиска, которая должна давать советы по питанию, этот проект поможет вам избежать опасной ситуации, когда ИИ выдает устаревшие правила за актуальные.
Почему стандартный поиск подводит
Представьте, что вы спрашиваете ИИ о нормах потребления витаминов. Система находит документ, который звучит очень убедительно, но на самом деле был заменен новой версией руководства еще пять лет назад. Стандартные системы поиска (RAG — Retrieval-Augmented Generation, технология, при которой ИИ ищет ответы в базе знаний перед тем, как ответить) обычно ранжируют документы по их релевантности или «свежести». Однако они не понимают разницы между документом, который был заменен (устарел), и документом, который все еще актуален для конкретной группы людей.
Проблема в том, что если просто настроить систему на поиск «самого нового», она может пропустить важные исторические данные, если пользователь прямо спросит: «Как изменились рекомендации за последние 10 лет?». Если же разрешить поиск по всем версиям сразу, система начнет выдавать устаревшие советы как актуальные, что в вопросах здоровья недопустимо.
Как работает умный поиск
Проект archie0732/healthy-diet-ai-agent (лицензия MIT, 751 звезда на GitHub) предлагает решение через «условный поиск с учетом версий». Вместо того чтобы всегда искать одинаково, система использует специальный маршрутизатор:
- Анализ намерения: Система определяет, спрашивает ли пользователь об истории изменений или о сравнении версий.
- Условная активация: Если запрос обычный, система работает как стандартный поиск, отдавая приоритет свежим данным. Если же запрос касается истории, активируется механизм «связывания линий» (lineage pairing).
- Связывание версий: Система находит не только текущий документ, но и связанные с ним исторические версии, повышая их приоритет в выдаче, чтобы они попали в топ результатов.
Этот подход гарантирует, что в обычных запросах вы не получите «мусор» из старых данных, а в исторических — получите полную картину изменений.
Как начать работу
Инструмент представляет собой полноценную систему, включающую LangGraph-агент, сервер на Rust и модель распознавания еды YOLO. Все компоненты разворачиваются через docker compose up.
Для начала работы с кодом:
- Изучите структуру репозитория, где объединены сервисы из предыдущих разработок автора.
- Обратите внимание на конфигурационные файлы в папке
experiments/version_aware_rag/configs/, где описаны параметры поиска. - Протестируйте систему на своих данных, используя предложенный метод «условного поиска», чтобы убедиться, что ваша база знаний корректно обрабатывает версии документов.
Границы применимости
Важно понимать, что этот проект сфокусирован именно на этапе поиска (retrieval), а не на генерации ответа. Исследователи намеренно оставили генератор за рамками эксперимента, чтобы не смешивать ошибки поиска с ошибками самой языковой модели. Также проект не гарантирует, что более качественные доказательства автоматически приведут к идеальным ответам — это задача для будущих исследований.
Вердикт
Стоит попробовать, если вы создаете систему, работающую с нормативными документами, медицинскими протоколами или любыми данными, которые регулярно обновляются и где критически важно различать текущую и историческую информацию.
Лучше выбрать другой путь, если вам нужно простое решение «из коробки» для общих задач, так как настройка версионного поиска требует тщательной подготовки базы знаний и разметки связей между документами.
Обсуждение
Комментарии
Напишите, что думаете: согласны, спорите, увидели ошибку или хотите добавить пример. Комментарии появляются сразу; спам и мусор мы удаляем вручную.
Пока комментариев нет. Можно быть первым.