Архитектура и стек технологий
Проектируя Igris, я стремился выйти за рамки обычного чат-интерфейса и создать полноценного автономного агента, способного выполнять задачи от начала до конца. Для реализации этой цели был выбран следующий технологический стек:
- Backend: Node.js + Express.
- Оркестровка ИИ: LangChain с кастомным механизмом резервирования.
- Frontend: два подхода — высокопроизводительный интерфейс чата на основе React + Vite и интеграция через Astro в личный портфель разработчика.
- Хостинг: Render для API и Cloudflare Pages для фронтенда.
Ключевые особенности архитектуры
Личность «Тень»
Вместо стандартных системных подсказок, Igris использует контекстные файлы, содержащие информацию о профессиональном опыте автора, его проектах и используемых технологиях. Это позволяет агенту отвечать на вопросы так, как если бы это делал сам автор.
Другой файл определяет внутренний характер агента, тон общения и логику принятия решений.
Легковесное RAG (база знаний)
Большинство руководств рекомендуют использовать векторную базу данных для создания системы извлечения и генерации ответов (RAG), но в данном проекте была применена другая стратегия. Контекст извлекается непосредственно из файлового хранилища и внедряется прямо в окно запроса, что обеспечивает высокую точность и низкую задержку без необходимости использования внешней базы данных.
Надежность и ограничения
Для повышения надежности реализована система переключения между провайдерами моделей машинного обучения при сбое основного поставщика услуг. Кроме того, введены строгие ограничения, чтобы гарантировать выполнение задач только в рамках заданного сценария.
Оптимизация DevOps на бюджетном уровне
При использовании бесплатного тарифа хостинга Render возникает проблема спящего режима сервисов. Чтобы обеспечить круглосуточную доступность Igris без привязки кредитной карты, было внедрено решение, позволяющее поддерживать активность сервиса круглосуточно.