Волна хайпа ИИ-агентов докатилась до меня в марте 2025 года. К тому времени я 7 месяцев общалась с ChatGPT и месяц учила Python и Machine Learning. Я была занята созданием собственной нейронной сети, тестированием моделей и имела опыт построения простого Телеграм-бота. Иными словами, загружена под завязку, когда со всех сторон стали доноситься истории про то, как «ИИ-агент создал сайт за 2 часа». Не выдержав этого натиска, я решила разобраться и построить своего агента.
Я понимала, что ИИ-агент — это обвязка LLM, но что у нее под капотом и как все это укладывается в одну систему, оставалось загадкой. В целом, считала, что агенты — это чистой воды маркетинг.
В этой статье я поделюсь своим опытом и расскажу про:
Выбор стека, открытия и ошибки при разработке ИИ-агента
Пошаговое создание ИИ-агента с использованием: Telegram, Python, OpenAI Assistant API, SerpAPI, APScheduler
В заключении поделюсь мнением: ИИ-агенты — это маркетинг или будущее персонального софта?
Выбор цели проекта и стека
Разобравшись с устройством и тестированием моделей ИИ, я добавила новые навыки в резюме и стала в фоновом режиме наблюдать за вакансиями AI Tester или GenAI QA.
И я подумала, пока интересуюсь рынком ИИ тестирования, может попробовать подключить ИИ-агента - потренироваться в разработке, и заодно посмотреть какие вакансии он будет находить. Так родилась идея для агента и я впервые почувствовала, что он реально может быть полезен. Дальше аппетит разыгрался, и я захотела, чтобы агент по расписанию:
Делал любые напоминания например, за месяц до поездки напоминал о покупке билетов
Искал любые данные и присылал их со ссылками, например, раз в неделю новые научные открытия по теме темной материи
С этим ТЗ я пришла к ChatGPT, и мы начали проект. Решили идти по стандартному пути и воспользоваться OpenAI API для доступа к LLM. Построили Телеграм-бота, подключили API и выяснили, что ChatGPT через API не имеет доступа к веб-поиску!
Я ощутила разочарование от того, что доступ к моделям по API рекламируется как удобный и недорогой, особенно ютуб-блогеры часто на этом делают акцент. Но когда начинаешь применять технологию на практике, выясняются нюансы, которые ставят под сомнение такие обещания и требуют переработки проекта.
🎯 ОТКРЫТИЕ №1
Перед тем как строить новый AI продукт, надо убедиться, что технологический стек подходит под задачу.
Банальность? Да, но искусственный интеллект – это новая ниша, мало кто знает, что и как в ней реально работает.
Поэтому после очередного чтения документации перешли на использование OpenAI Assistant API, который якобы был создан специально для веб-поиска. И я думала, что именно LLM через Assistant API выполнит веб-поиск и интерпретирует для меня результаты. Не тут-то было. Мы же все знаем, что делает LLM? Предсказывает следующее слово или кусочек кода
. Тогда почему же я решила, что модель сама выполнит поиск? Она не выполнит, для этого ей нужны обработчики и другие программы.
🎯 ОТКРЫТИЕ №2
Оказывается не «ИИ-агент делает сайт за 2 часа», и не «ИИ-агент ищет мне вакансии» — ИИ в этой экосистеме выступает лишь переводчиком запроса пользователя в понятную для программы инструкцию.
А весь рабочий функционал выполняется кодом на Python, то есть сторонним софтом — обвязкой LLM. И уже результат поиска отдается обратно в LLM.
Поняв, что LLM сама не делает поиск, нужно было решить, а какой поисковый движок использовать? И вот тут мы упёрлись в реальность: Google не принимает поисковые запросы напрямую от чата GPT (конкуренция!). Значит, нужен другой лояльный движок. Тогда в качестве обходного решения выбрали SerpAPI — он может выполнять Google search, но за деньги. На бесплатном тарифе только 100 запросов в месяц. А переходить на платную подписку для домашнего ИИ агента не выгодно. Поэтому нашли выход: сначала поиск идет через SerpAPI, а затем при заполнении лимита перенаправляется на DuckDuckGo – широко известный в узких кругах и толерантный к ботам поисковик.
Результаты поиска отдаются обратно в LLM для интерпретации и отправки ответа пользователю и на этом этапе выяснилась следующая проблема: ChatGPT, работающий через API, интерпретирует результат поиска каждый раз по-разному. У него нет контекста и истории чата, и он может вообще не понять, что это и сказать что-то типа: «Я языковая модель и не могу выполнить ваш запрос в интернет».
🎯 ОТКРЫТИЕ №3
Чтобы ИИ агент работал стабильно, его нужно окружить строгими обработчиками и четкими системными инструкциями.
И здесь возникает главный вопрос: если мы жестко прописали код и инструкции, то зачем нам LLM под капотом? Чтобы передать результат поиска клиенту? Так это можно сделать и без привлечения искусственного интеллекта.
Но все же мы продолжили и довели продукт до ума и назвали агента Мила. Вот какая архитектура появилась в финале:
Компонент | Что делает |
---|---|
Телеграм-бот на базе ChatGPT и OpenAI Assistant API | Интерфейс взаимодействия с пользователем: постановка задач, получение списка задач, удаление задач, получение ответов. |
LLM (ChatGPT 4o) | Преобразует задачу пользователя в поисковый запрос. |
APScheduler (библиотека) | Отвечает за планирование задач и их автоматический запуск по расписанию. |
SerpAPI / DuckDuckGo + BeautifulSoup | Выполняет веб-поиск по запросу пользователя и возвращает сырые результаты. |
LLM (ChatGPT 4o) | Формирует финальный ответ для пользователя на основе результатов поиска. |
Локальное хранилище задач (txt, json) | Сохраняет текст задач и параметры их выполнения в файлах .txt и .json. |
Python | Язык программирования, на котором реализована вся логика: взаимодействие с API, обработка задач, планирование, выполнение поиска и генерация ответов. |
Пошаговый процесс создания ИИ-агента
ШАГ 1 – Создание Телеграм-бота
В Телеграм найти @BotFather и написать /newbot
.
Следовать инструкциям, придумать название бота и username. После регистрации придет HTTP API Token — его надо скопировать и сохранить.
ШАГ 2 – Получение API ключа
Выбор зависит от используемой LLM. В моем случае это ChatGPT, поэтому API ключ я получила на сайте OpenAI: зарегистрировалась, сгенерировала ключ и сохранила его в безопасном месте.
ШАГ 3 – Создание проекта в редакторе кода
Как только есть 3 вещи:
Телеграм-бот
Телеграм токен
API ключ
можно начать проект.
Я использовала Visual Studio Code и создала структуру проекта с отдельными папками для кода, файлов задач и окружения. Python был установлен ранее, поэтому через pyenv
я переключилась на Python 3.10 и создала виртуальное окружение для проекта.

ШАГ 4 – Пишем код на Python для ИИ-агента
Основные файлы проекта:
bot_prompt_setup.py
— интерфейс бота, кнопки, приветствие, генерация промпта, создание файлов, планировщик, создание и запуск задачи, удаление задач — все это здесь.assistant_core.py
— здесь взаимодействие с LLM и web-search.
Важно:
Все токены и ключи убираются в
.env
файл (закрытый от публикации на GitHub).Доступ к боту ограничен по white list
user_id
— без приглашения ИИ-агент недоступен.
ШАГ 5 – Запуск и отладка
Запускаем локально bot_prompt_setup.py
и проверяем работу. На этом этапе бот уже работает в Телеграм и можно начать end-to-end тестирование:
стартовать бота
создать задачу
проверить правильность выполнения
протестировать удаление задач
Я проверяла все типы задач:
периодичность —
daily
,weekly
,monthly
,once
наличие веб-поиска или напоминания
После тестов можно улучшить UX: переименовать кнопки, добавить подсказки, перевести интерфейс на нужный язык.
Но самое главное — это настройка промптов для LLM, которые управляют логикой работы агента. В моем коде 4 промпта, и делают они следующее:
Сначала разбор задачи + создание постоянного промпта для задачи.
Потом передача результата + красивое форматирование для пользователя.
ШАГ 6 – Приемочное тестирование
Главным бизнес-пользователем и по совместительству тестировщиком стал мой муж. Когда он начал пользоваться агентом, выяснились ошибки реализации многопользовательского функционала: система не различала его и мои задачи — все попадало в один список.
Мне пришлось пересмотреть подход к созданию task_id
и логику разделения задач для разных пользователей. После того, как мы с моей ИИ помощницей все исправили, я впервые почувствовала себя инженером-архитектором, которому под силу решить реальную проблему.
ШАГ 7 – Деплой на прод
Где опубликовать свой продукт — всегда ребус, который я решаю исходя из 3 составляющих:
Доступность кода для тех, кому интересно — в этом случае это всегда GitHub.
Поддержка определенных библиотек или функции
always-on
— некоторые платформы могут не поддерживать библиотеки для ИИ продуктов (как это было у меня с нейронной сетью на TensorFlow/Keras).Стоимость, ведь для таких энтузиастов как я все платится из собственного кармана.
Исходя из этого, для Милы я выбрала связку GitHub + PythonAnyWhere.
ИТОГО:
Скриншоты
Ниже скрины работы моего ИИ-агента по одной задаче поиска вакансий AI Tester. Интерфейс на английском, так как мне это нужно для портфолио проектов. Но можно сделать на любом языке — как интерфейс, так и сами задачи. Например, я ставлю задачи на русском языке.
Приветствие и подсказка для описания новой задач:
Постановка задачи и её выполнение:
Пишу своими словами, что я хочу на русском языке
LLM формирует промпт, поисковый запрос и планирует время
Присылает зарегистрированную задачу
При наступлении времени результат задачи приходит в ТГ — на скрине видно, что задача была запланирована на 10:45 утра и в это время пришёл результат выполнения.
Заключение
ИТОГО — что может мой ИИ-агент?
Делать самостоятельный поиск в интернете по расписанию, присылать результаты и делать напоминания.
То есть это реально работает:
пока я пью чай на веранде, Мила ищет мне вакансии!
Удобно? Да.
Практично? Не совсем.
В моем решении LLM не влияет на поиск, это обычный Google Search и его результаты, хотя и зависят от поискового запроса, не всегда бывают точными и релевантными. Например, на скринах выше видно, что по запросу найти вакансии AI Tester или GenAI QA в ответе часть вакансий не соответствуют ожиданиям. Для этого как раз и нужен ИИ — фильтровать ответы.
Что бы я хотела в идеале (для Милы 2.0):
ИИ-агент сам парсит HTML-страницы
Анализирует содержимое, определяя максимально подходящее под запрос
Работает над ответом и шлет краткую выжимку с переводом на нужный мне язык
Но это задача следующего уровня сложности. И её решение снова упирается в реальность — сегодняшний Интернет не создан для ИИ.
Интернет строился десятилетиями для глаз, для кликов, для эмоций. Он про красивые сайты, баннеры, картинки, навигацию, всплывающие окна.
А ботам нужны данные: чистые и структурированные. Бизнесу это не выгодно — пустой трафик от ИИ не приносит денег.
Поэтому компании, вышедшие на рынок с ИИ-агентами, пока работают по гибридным схемам:
Используют «человекоподобные» headless-браузеры, например Playwright. Если сайт ставит защиту (капчу) — переходят на партнёрский API.
Применяют RAG-шлюзы: сайт отдает агенту только нужные данные в JSON (например, последние 20 вакансий) через API-эндпоинт.
Используют подход «этичного скрейпинга» (Ethical scraping): ограничение скорости запросов, кэширование, паузы между запросами.
Покупают лицензии на доступ к данным или работают по revenue sharing: платят владельцам данных долю от дохода или фиксированную ставку.
В этой ситуации я вижу, что в будущем инфраструктура интернета должна меняться — так, чтобы в ней могли сосуществовать и люди, и искусственный интеллект.
Так все-таки ИИ-агенты — это маркетинг или реальное будущее персонального софта?
Я считаю, что через год-два ИИ-агенты могут открыть окно в новый мир персонального софта, и тогда каждый из нас сможет сделать себе программу по вкусу. Наверно часть сегодняшних игроков уйдет с рынка или адаптируется. Например, платформы по созданию сайтов по подписке — выживут ли они, если предприниматель сам сделает сайт с помощью ИИ-агента?
На практике в агентских системах ИИ зачастую выполняет роль «умного» маршрутизатора, который просто определяет, какой шаблон или набор действий лучше всего подходит под запрос пользователя. За кулисами всё сводится к выбору из заранее подготовленных вариантов, что создаёт впечатление «магии» и высокой технологии.
Если это учитывать, то да, в агентах ИИ выступает скорее как маркетинговый и удобный интерфейс, а за счет заранее заготовленных решений достигается стабильность и предсказуемость. Пользователь получает удобный сервис, а разработчики — контроль над результатом.
Мы стоим на пороге удивительного мира. Надеюсь каждый из нас займет в нем место, которое будет вдохновлять каждый день.
PS: Меня часто спрашивают, какой промпт я использовала? Я теряюсь при таком вопросе.
Промпт? В смысле один?
Но ведь когда ты строишь продукт с нуля, с архитектурой, тестами, деплоем, это не серия промптов, это многодневный диалог с ИИ. Это настоящая совместная работа: обсуждения, уточнения, тестирование, переделки. ИИ здесь не волшебная палочка, а партнёр в маленькой команде: я и моя цифровая помощница.