<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Managed Kubernetes — разверните готовый кластер за 5 минут →
Вход / Регистрация

Зачем нужен ИИ-агент и как применить его на практике

4
12 минут чтения
Средний рейтинг статьи: 5

Представьте, что у вас есть личный помощник, который не спит, не ест и не просит повышения. Он знает ваши привычки, предпочтения и цели, и его единственная задача — сделать ваш день максимально продуктивным и сбалансированным. Звучит как фантастика? Уже нет.

Искусственный интеллект перестал быть абстрактной технологией из научно-фантастических фильмов и прочно вошел в нашу повседневность. Он помогает нам выбирать фильмы, общаться с поддержкой и даже управлять домом. Но что, если направить его силу на решение одной из самых насущных проблем современного человека — эффективного планирования времени?

В этой статье мы не только разберем, как ИИ меняет обычную жизнь, но и создадим практическое решение: программу для составления расписания с ИИ. Разместим нашу программу на сервисах от Timeweb Cloud и проанализируем целесообразность создания такого сервиса.

cloud

Что такое ИИ-агент и для чего он нужен

AI-агент (ИИ-агент) — это автономная программная система, которая воспринимает окружающую ее среду с помощью датчиков, обрабатывает эту информацию с помощью моделей искусственного интеллекта и действует через исполнительные механизмы (актуаторы) для достижения определенных целей.

Ключевые характеристики ИИ-агентов включают:

  • Автономность: Агент способен самостоятельно выбирать действия исходя из заданных целей и текущего состояния окружающего мира.

  • Адаптация: Способность адаптироваться к новым условиям и учиться на собственном опыте или поступающей информации.

  • Интеллектуальность: Использование сложных алгоритмов машинного обучения и обработки естественного языка позволяет агентам решать разнообразные задачи, взаимодействовать с людьми и даже улучшать свою производительность со временем.

Ключевая характеристика AI-агента — автономность. В отличие от простого чат-бота, который ждет очередного запроса, агент может самостоятельно разбить сложную цель на подзадачи и последовательно их выполнять.

Простая аналогия:

  1. Обычный ИИ-чат (как ChatGPT): Вы спрашиваете: «Как приготовить омлет?». Он дает вам текстовый рецепт.

  2. ИИ-агент: Вы говорите: «Я хочу позавтракать омлетом». Агент находит рецепт, проверяет наличие продуктов в вашем «умном» холодильнике, если чего-то не хватает — добавляет это в список покупок, а затем отправляет команду на вашу «умную» плиту, чтобы она разогрелась до нужной температуры.

Так для чего же нужны такие агенты?

Их основная ценность — автоматизация сложных, многошаговых процессов, которые требуют не только знаний, но и принятия решений.

Рассмотрим на примере нашего приложения:

  1. Пользователь заполняет данные

  2. Данные передаются ИИ-агенту

  3. ИИ-агент выполняет действия:

    • получает данные в JSON,

    • анализирует данные,

    • выбирает самый оптимальный вариант компоновки занятий,

    • составляет ответ в JSON,

    • отправляет данные в приложение.

  1. Приложение отдает пользователю расписание

Как мы видим, ИИ-агент самостоятельно выполняет всю задачу — пользователю нужно только дать входную информацию, все остальное агент сделает сам.

Таким образом, ИИ-агент — это следующий шаг в эволюции взаимодействия человека и компьютера: от получения информации к делегированию полномочий. Именно эту мощь мы используем, чтобы создать практический инструмент.

Что такое промпты для агентов и как их правильно писать

Если ИИ-агент — это мощный двигатель, то промпт (prompt) — это его рулевое управление и навигационная система. От того, насколько качественно вы составите промпт, напрямую зависит, прибудет ли ваш агент в нужную точку или заблудится в бескрайних просторах возможных ответов.

Промпт — это не просто вопрос или команда. Это подробная инструкция для языковой модели, которая задает контекст, роль, цель и формат ответа. Думайте об этом как о техническом задании для очень способного, но лишенного собственной инициативы стажера.

Зачем нужно учиться писать промпты?

Плохой промпт: Создай расписание.

Результат: агент, скорее всего, выдаст общую, бесструктурную тираду или шаблонный список, бесполезный на практике.

Хороший промпт дает агенту четкий план действий и ожидания. Давайте разберем его анатомию на примере нашего планировщика.

Эффективный промпт для агента обычно состоит из четырех блоков:

Роль (Role)

Что это: назначение агенту конкретной профессии или области экспертизы.

Зачем: это сужает контекст и заставляет модель использовать специфические знания и шаблоны поведения.

Пример: Ты — опытный персональный ассистент по управлению временем и повышению продуктивности. Ты специализируешься на создании сбалансированных и реалистичных ежедневных расписаний.

Контекст и Цель (Context & Goal)

Что это: описание ситуации, входных данных и конечной цели, которой нужно достичь.

Зачем: дает агенту необходимую информацию для принятия решений.

Пример: Пользователь предоставил список задач на день. Твоя цель — проанализировать их, оценить приоритет и длительность, а затем распределить их по временным слотам, создавая оптимальный график. Учти, что между задачами нужны короткие перерывы.

Задание (Task)

Что это: четкое, пошаговое описание того, что именно должен сделать агент.

Зачем: предотвращает недопонимание и задает алгоритм работы.

Пример:

Твои действия:
— проанализируй предоставленный список задач;
— определи приоритет каждой задачи (высокий, средний, низкий);
— оцени предполагаемую длительность выполнения каждой задачи;
— распредели задачи в порядке убывания приоритета, учитывая их длительность и необходимость перерывов;
— если пользователь указал фиксированные события (например, «обед в 13:00»), учти их как неизменяемые.

Формат вывода (Output Format)

Что это: точное указание, в каком виде должен быть представлен ответ.

Зачем: это критически важно для последующей автоматической обработки! Агент вернет структурированные данные, которые наша программа сможет прочитать и использовать, а не простой текст.

Пример:

Представь результат ИСКЛЮЧИТЕЛЬНО в виде валидного JSON-объекта со следующей структурой: 
{
  "schedule": [
    {
      "time_slot": "09:00 - 10:30",
      "task": "Написание отчета",
      "priority": "Высокий",
      "duration_minutes": 90
    }
    ...
  ]
} 
Не добавляй никаких поясняющих комментариев до или после JSON.

Пример плохого и хорошего промпта для нашего агента

Плохой промпт (слишком абстрактный):

«Вот мои дела: написать отчет, сходить в спортзал, прочитать книгу. Сделай расписание.»

Хороший, эффективный промпт:

Роль: Ты — персональный ассистент-планировщик.
Контекст: Пользователь должен выполнить следующие задачи: «Написать отчет (сложная задача)», «Сходить в спортзал», «Прочитать 3 главы книги». Начало рабочего дня в 9:00.
Задание: Проанализируй задачи, оцени их сложность и приоритет. Создай сбалансированное расписание, чередуя сложные и легкие задачи. Не забудь добавить перерыв 15 минут после каждой часовой задачи.
Формат вывода: Представь ответ в виде JSON-массива с полями: time_slot, task, priority. Больше ничего.

Именно такой структурированный подход к созданию промптов мы и будем использовать при написании кода нашего ИИ-агента в следующих разделах. Это превратит его из «угадывателя» ваших желаний в точный и предсказуемый инструмент.

Написание кода платформы для создания расписания при помощи ИИ

Мы напишем простую платформу, задача которой — получить от пользователя данные о группах, педагогах и кабинетах, отправить запрос к агенту и вывести результат. Для реализации будем использовать следующий стек: HTML + CSS + JS для frontend-части и Python (Flask) для backend.

Найти код проекта вы можете на GitHub.

После копирования проекта не забудьте установить необходимые зависимости с помощью команды:

pip install -r requirements.txt

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-агенты» и создадим агента. Для примера будем использовать следующую конфигурацию:

  1. Модель: GPT 5 mini.

  2. Тариф: 500 тыс токенов.

  3. Промпт

Ты эксперт по составлению учебных расписаний. Твоя задача — составить оптимальное расписание занятий учитывая следующие правила:
1. Группы с одинаковыми тегами НЕ должны пересекаться по времени
2. У педагогов НЕ должно быть окон между занятиями
3. В одном кабинете МОЖЕТ быть только одна группа одновременно
4. Если у группы уже назначен кабинет — используй именно его
5. Если кабинет не назначен — распредели группу по свободным кабинетам
6. Расписание должно быть компактным — минимизируй свободное время
7. Учитывай длительность каждого занятия
8. Распредели занятия максимально близко к друг другу
Отвечай ТОЛЬКО в формате JSON без каких-либо пояснений или дополнительного текста.
  1. База знаний: оставим пустым.

  2. Информация об агенте: заполните по желанию.

Данная конфигурация обойдется в 120 ₽/мес. 

Для работы с ИИ-агентом нам понадобятся Access ID и API-токен. Access ID можно найти в параметрах агента, а токен — создать по инструкции.

Scr 20251024 Kebq

Эти данные удобно хранить в файле окружения. В директории проекта создайте файл .env и добавьте в него строки:

AI_AGENT_ID="your-access-id"
AI_API_TOKEN="your-api-token"

Чтобы использовать переменные окружения в Python, установим библиотеку python-dotenv:

pip install python-dotenv

Нативный API

Подгружаем переменные в проект:

import os
from dotenv import load_dotenv

load_dotenv()
AI_API_TOKEN = os.getenv('AI_API_TOKEN', 'your_api_token')
AI_AGENT_ID = os.getenv('AI_AGENT_ID', 'your_agent_id')
AI_BASE_URL = f"https://agent.timeweb.cloud/api/v1/cloud-ai/agents/{AI_AGENT_ID}/v1/chat/completions"

Также указываем токен в заголовках:

headers = {
    "authorization": f"Bearer {AI_API_TOKEN}",  # Токен в заголовке
    "content-type": "application/json"
}

Запросы отправляем при помощи модуля requests. Пример функции:

def call_ai_agent(self, messages, max_completion_tokens=2000):
    payload = {
        "model": "model",
        "messages": messages,
        "max_completion_tokens": max_completion_tokens,
        "stream": False
    }
    
    response = requests.post(
        AI_BASE_URL,
        json=payload,
        headers=headers,
        timeout=180
    )

Библиотека от OpenAI

Для работы с библиотекой установим ее командой:

pip install openai

Подгружаем переменные:

import os
from dotenv import load_dotenv

load_dotenv()


self.ai_api_token = os.getenv('AI_API_TOKEN', 'your_api_token')
self.ai_agent_id = os.getenv('AI_AGENT_ID', 'your_agent_id')
self.ai_base_url = f"https://agent.timeweb.cloud/api/v1/cloud-ai/agents/{self.ai_agent_id}/v1"

Подключаемся к агенту:

client = OpenAI(
    api_key=self.ai_api_token,
    base_url=self.ai_base_url,
    http_client=DefaultHttpxClient()
)

Отправляем запрос:

resp = client.chat.completions.create(
    model="my-model",
    messages=[{"role": "user", "content": "Hello"}]
)

Структура проекта

Основные компоненты:

  • API Endpoints:

    • GET / — отдает главную страницу;

    • POST /generate-schedule — основная функция генерации расписания;

    • GET /health — проверяет статус сервера;

    • GET /test-ai — тестирует подключения к ИИ.

  • Класс ScheduleOptimizer:
    Центральный класс, отвечающий за логику составления расписания.
    Основные методы:

    • optimize_schedule() — главный метод оптимизации;

    • call_ai_agent() — взаимодействие с ИИ-агентом;

    • _basic_schedule() — резервный алгоритм без ИИ.

Бизнес-логика:

  • Правила оптимизации:

    • группы с одинаковыми тегами не пересекаются;

    • у педагогов нет «окон» между занятиями;

    • в кабинете только одна группа одновременно;

    • учет назначенных кабинетов и педагогов.

  • Обработка данных:

    • валидация входных параметров;

    • нормализация структур данных;

    • обработка ошибок и исключений.

Система обеспечивает надежную генерацию расписания даже при проблемах с внешними сервисами благодаря встроенному алгоритму.

Теперь можете запустить приложение проверить корректность его работы.

Подготовили для вас выгодные тарифы на облачные серверы

Заключение

В статье мы разработали полнофункциональную систему для автоматического составления расписания. Решение сочетает простой веб-интерфейс с интеллектуальным бэкендом, использующим ИИ для оптимизации.

Основные преимущества:

  • полный цикл работы в одном интерфейсе;

  • умное распределение с учетом всех ограничений;

  • автономная работа при проблемах с ИИ;

  • простое управление без технических знаний.

Система готова к использованию и может служить основой для создания более сложных систем с использованием ИИ. 

4
12 минут чтения
Средний рейтинг статьи: 5
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев