Представьте, что у вас есть личный помощник, который не спит, не ест и не просит повышения. Он знает ваши привычки, предпочтения и цели, и его единственная задача — сделать ваш день максимально продуктивным и сбалансированным. Звучит как фантастика? Уже нет.
Искусственный интеллект перестал быть абстрактной технологией из научно-фантастических фильмов и прочно вошел в нашу повседневность. Он помогает нам выбирать фильмы, общаться с поддержкой и даже управлять домом. Но что, если направить его силу на решение одной из самых насущных проблем современного человека — эффективного планирования времени?
В этой статье мы не только разберем, как ИИ меняет обычную жизнь, но и создадим практическое решение: программу для составления расписания с ИИ. Разместим нашу программу на сервисах от Timeweb Cloud и проанализируем целесообразность создания такого сервиса.
Серверы для ИИ
процессорами для параллельных вычислений: ИИ,
3D, бигдата, IoT, гейминг, научные вычисления.
Что такое ИИ-агент и для чего он нужен
AI-агент (ИИ-агент) — это автономная программная система, которая воспринимает окружающую ее среду с помощью датчиков, обрабатывает эту информацию с помощью моделей искусственного интеллекта и действует через исполнительные механизмы (актуаторы) для достижения определенных целей.
Ключевые характеристики ИИ-агентов включают:
-
Автономность: Агент способен самостоятельно выбирать действия исходя из заданных целей и текущего состояния окружающего мира.
-
Адаптация: Способность адаптироваться к новым условиям и учиться на собственном опыте или поступающей информации.
-
Интеллектуальность: Использование сложных алгоритмов машинного обучения и обработки естественного языка позволяет агентам решать разнообразные задачи, взаимодействовать с людьми и даже улучшать свою производительность со временем.
Ключевая характеристика AI-агента — автономность. В отличие от простого чат-бота, который ждет очередного запроса, агент может самостоятельно разбить сложную цель на подзадачи и последовательно их выполнять.
Простая аналогия:
-
Обычный ИИ-чат (как ChatGPT): Вы спрашиваете: «Как приготовить омлет?». Он дает вам текстовый рецепт.
-
ИИ-агент: Вы говорите: «Я хочу позавтракать омлетом». Агент находит рецепт, проверяет наличие продуктов в вашем «умном» холодильнике, если чего-то не хватает — добавляет это в список покупок, а затем отправляет команду на вашу «умную» плиту, чтобы она разогрелась до нужной температуры.
Так для чего же нужны такие агенты?
Их основная ценность — автоматизация сложных, многошаговых процессов, которые требуют не только знаний, но и принятия решений.
Рассмотрим на примере нашего приложения:
-
Пользователь заполняет данные
-
Данные передаются ИИ-агенту
-
ИИ-агент выполняет действия:
-
-
получает данные в JSON,
-
анализирует данные,
-
выбирает самый оптимальный вариант компоновки занятий,
-
составляет ответ в JSON,
-
отправляет данные в приложение.
-
-
Приложение отдает пользователю расписание
Как мы видим, ИИ-агент самостоятельно выполняет всю задачу — пользователю нужно только дать входную информацию, все остальное агент сделает сам.
Таким образом, ИИ-агент — это следующий шаг в эволюции взаимодействия человека и компьютера: от получения информации к делегированию полномочий. Именно эту мощь мы используем, чтобы создать практический инструмент.
Что такое промпты для агентов и как их правильно писать
Если ИИ-агент — это мощный двигатель, то промпт (prompt) — это его рулевое управление и навигационная система. От того, насколько качественно вы составите промпт, напрямую зависит, прибудет ли ваш агент в нужную точку или заблудится в бескрайних просторах возможных ответов.
Промпт — это не просто вопрос или команда. Это подробная инструкция для языковой модели, которая задает контекст, роль, цель и формат ответа. Думайте об этом как о техническом задании для очень способного, но лишенного собственной инициативы стажера.
Зачем нужно учиться писать промпты?
Плохой промпт: Создай расписание.
Результат: агент, скорее всего, выдаст общую, бесструктурную тираду или шаблонный список, бесполезный на практике.
Хороший промпт дает агенту четкий план действий и ожидания. Давайте разберем его анатомию на примере нашего планировщика.
Эффективный промпт для агента обычно состоит из четырех блоков:
Роль (Role)
Что это: назначение агенту конкретной профессии или области экспертизы.
Зачем: это сужает контекст и заставляет модель использовать специфические знания и шаблоны поведения.
Пример: Ты — опытный персональный ассистент по управлению временем и повышению продуктивности. Ты специализируешься на создании сбалансированных и реалистичных ежедневных расписаний.
Контекст и Цель (Context & Goal)
Что это: описание ситуации, входных данных и конечной цели, которой нужно достичь.
Зачем: дает агенту необходимую информацию для принятия решений.
Пример: Пользователь предоставил список задач на день. Твоя цель — проанализировать их, оценить приоритет и длительность, а затем распределить их по временным слотам, создавая оптимальный график. Учти, что между задачами нужны короткие перерывы.
Задание (Task)
Что это: четкое, пошаговое описание того, что именно должен сделать агент.
Зачем: предотвращает недопонимание и задает алгоритм работы.
Пример:
Формат вывода (Output Format)
Что это: точное указание, в каком виде должен быть представлен ответ.
Зачем: это критически важно для последующей автоматической обработки! Агент вернет структурированные данные, которые наша программа сможет прочитать и использовать, а не простой текст.
Пример:
Пример плохого и хорошего промпта для нашего агента
Плохой промпт (слишком абстрактный):
Хороший, эффективный промпт:
Именно такой структурированный подход к созданию промптов мы и будем использовать при написании кода нашего ИИ-агента в следующих разделах. Это превратит его из «угадывателя» ваших желаний в точный и предсказуемый инструмент.
Написание кода платформы для создания расписания при помощи ИИ
Мы напишем простую платформу, задача которой — получить от пользователя данные о группах, педагогах и кабинетах, отправить запрос к агенту и вывести результат. Для реализации будем использовать следующий стек: HTML + CSS + JS для frontend-части и Python (Flask) для backend.
Найти код проекта вы можете на GitHub.
После копирования проекта не забудьте установить необходимые зависимости с помощью команды:
Frontend
Веб-интерфейс на чистом HTML/CSS/JS с тремя основными блоками:
Управление данными (левая колонка):
-
вкладки для переключения между педагогами, группами и кабинетами;
-
формы добавления новых сущностей с базовой валидацией;
-
списки созданных элементов с возможностью удаления;
-
локальное сохранение данных в браузере.
Создание расписания (правая колонка):
-
выбор групп через multiple select;
-
настройка параметров: день недели, время работы, комментарии для ИИ;
-
кнопка генерации расписания.
Визуализация результатов:
-
таблица расписания с днями недели и временными слотами;
-
цветовое кодирование кабинетов;
-
компактные карточки занятий с основной информацией.
Ключевые особенности:
-
Single Page Application — все работает без перезагрузок;
-
интуитивное управление;
-
визуальная обратная связь — загрузка, ошибки, результаты;
-
автосохранение — данные не теряются при обновлении страницы.
Техническая реализация:
-
чистый JavaScript без фреймворков;
-
CSS Grid/Flexbox для верстки;
-
LocalStorage API для сохранения данных;
-
Fetch API для общения с бэкэндом;
-
ES6 + синтаксис с async/await.
Интерфейс фокусируется на простоте использования — минимум действий для получения готового расписания.
Backend
Flask-приложение на Python с REST API для генерации учебных расписаний. Использует ИИ для оптимизации и имеет fallback-алгоритм.
Мы разберем два примера подключения к ИИ-агенту: при помощи прямого API и с использованием библиотеки от OpenAI.
Что выбрать: нативный API или использование библиотеки от OpenAI?
Рассмотрим сравнительную таблицу.
|
Критерий |
Нативный API |
Библиотека от OpenAI |
|
Производительность |
✅ Выше (Прямое подключение) |
⚠️ Дополнительный слой абстракции |
|
Контроль |
✅ Полный контроль над запросами |
⚠️ Ограничения библиотеки |
|
Простота |
❌ Больше кода для написания |
✅ Проще в использовании |
|
Поддержка |
❌ Самостоятельная реализация |
✅ Сообщества и обновления |
Как вы заметили, у обоих способов есть свои минусы и ограничения, и нельзя выбрать один лучший метод. Мы рекомендуем использовать нативный API для создания небольших проектов, где нет потребности в большом количестве запросов. Однако если вы создаете серьезный крупный проект, лучше работать с библиотекой: при изменениях в API разработчики сами вносят правки, а вам остается только обновить ее. Кроме того, по библиотекам обычно легче найти документацию и обучающие материалы.
Предварительная подготовка
Создание ИИ-агента от Timeweb Cloud
Перейдем в панель управления в раздел «AI-агенты» и создадим агента. Для примера будем использовать следующую конфигурацию:
-
Модель: GPT 5 mini.
-
Тариф: 500 тыс токенов.
-
Промпт:
-
База знаний: оставим пустым.
-
Информация об агенте: заполните по желанию.
Данная конфигурация обойдется в 120 ₽/мес.
Для работы с ИИ-агентом нам понадобятся Access ID и API-токен. Access ID можно найти в параметрах агента, а токен — создать по инструкции.

Эти данные удобно хранить в файле окружения. В директории проекта создайте файл .env и добавьте в него строки:
Чтобы использовать переменные окружения в Python, установим библиотеку python-dotenv:
Нативный API
Подгружаем переменные в проект:
Также указываем токен в заголовках:
Запросы отправляем при помощи модуля requests. Пример функции:
Библиотека от OpenAI
Для работы с библиотекой установим ее командой:
Подгружаем переменные:
Подключаемся к агенту:
Отправляем запрос:
Структура проекта
Основные компоненты:
-
API Endpoints:
-
GET /— отдает главную страницу; -
POST /generate-schedule— основная функция генерации расписания; -
GET /health— проверяет статус сервера; -
GET /test-ai— тестирует подключения к ИИ. -
Класс
ScheduleOptimizer:
Центральный класс, отвечающий за логику составления расписания.
Основные методы:
-
-
optimize_schedule()— главный метод оптимизации; -
call_ai_agent()— взаимодействие с ИИ-агентом; -
_basic_schedule()— резервный алгоритм без ИИ.
-
Бизнес-логика:
-
Правила оптимизации:
-
группы с одинаковыми тегами не пересекаются;
-
у педагогов нет «окон» между занятиями;
-
в кабинете только одна группа одновременно;
-
учет назначенных кабинетов и педагогов.
-
Обработка данных:
-
валидация входных параметров;
-
нормализация структур данных;
-
обработка ошибок и исключений.
Система обеспечивает надежную генерацию расписания даже при проблемах с внешними сервисами благодаря встроенному алгоритму.
Теперь можете запустить приложение проверить корректность его работы.
Подготовили для вас выгодные тарифы на облачные серверы
477 ₽/мес
657 ₽/мес
Заключение
В статье мы разработали полнофункциональную систему для автоматического составления расписания. Решение сочетает простой веб-интерфейс с интеллектуальным бэкендом, использующим ИИ для оптимизации.
Основные преимущества:
-
полный цикл работы в одном интерфейсе;
-
умное распределение с учетом всех ограничений;
-
автономная работа при проблемах с ИИ;
-
простое управление без технических знаний.
Система готова к использованию и может служить основой для создания более сложных систем с использованием ИИ.
