Image

Мой первый AI агент: я пью чай, а Мила ищет вакансии (ожидания vs реальность)

Волна хайпа ИИ-агентов докатилась до меня в марте 2025 года. К тому времени я 7 месяцев общалась с ChatGPT и месяц учила Python и Machine Learning. Я была занята созданием собственной нейронной сети, тестированием моделей и имела опыт построения простого Телеграм-бота. Иными словами, загружена под завязку, когда со всех сторон стали доноситься истории про то, как «ИИ-агент создал сайт за 2 часа». Не выдержав этого натиска, я решила разобраться и построить своего агента.

Я понимала, что ИИ-агент — это обвязка LLM, но что у нее под капотом и как все это укладывается в одну систему, оставалось загадкой. В целом, считала, что агенты — это чистой воды маркетинг.

В этой статье я поделюсь своим опытом и расскажу про:

  1. Выбор стека, открытия и ошибки при разработке ИИ-агента

  2. Пошаговое создание ИИ-агента с использованием: Telegram, Python, OpenAI Assistant API, SerpAPI, APScheduler

  3. В заключении поделюсь мнением: ИИ-агенты — это маркетинг или будущее персонального софта?

Выбор цели проекта и стека

Разобравшись с устройством и тестированием моделей ИИ, я добавила новые навыки в резюме и стала в фоновом режиме наблюдать за вакансиями 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.

ИТОГО:

GitHub

AI-агент Мила

Скриншоты

Ниже скрины работы моего ИИ-агента по одной задаче поиска вакансий 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: Меня часто спрашивают, какой промпт я использовала? Я теряюсь при таком вопросе.

Промпт? В смысле один?

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

Источник: habr.com

❌ Нет тегов для этой статьи
Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых