Тестовое задание: AI-агент для автоматизации браузера
Тестовое задание: AI-агент для автоматизации браузера
Задача
Разработать AI-агента, который автономно управляет веб-браузером для выполнения сложных многошаговых задач.
Требования к решению
Должен открываться браузер и должна быть возможность написать агенту (можно в отдельном окне или в терминале). Агенту можно отправить сложную задачу текстом и смотреть, как он решает её в браузере. Агент должен работать полностью автономно, пока не потребуется дополнительная информация от пользователя или задача не будет выполнена.
Вот примеры некоторых задач, с которыми должен справляться агент:
-
✉️ Удаление спама
-
🍔 Заказ еды
-
💼 Поиск вакансий
Что должно быть в реализации
Автоматизация браузера
-
Программное управление браузером
-
Поддержка persistent sessions (пользователь может войти вручную, агент продолжает работу)
-
Видимый браузер (не headless) — нам нужно видеть, как это работает
Автономный AI-агент
-
Использует модели Claude или OpenAI
-
Принимает решения без постоянного участия пользователя
-
Обрабатывает многошаговые задачи с переходами между страницами
Управление контекстом
Нельзя просто отправлять целые веб-страницы в контекст AI. Необходимо реализовать стратегии работы с ограничениями по токенам.
Продвинутые паттерны (как минимум один)
-
Sub-agent architecture — специализированные агенты для разных задач
-
Обработка ошибок — агент адаптируется при неудачных действиях
-
Security layer — спрашивает, перед тем как сделать деструктивное действие (оплатить корзину, удалить имейл)
Чего не должно быть в реализации
-
Заготовки действий агента (например шаги по удалению спама или оформлению заказа). Агент должен уметь решать любую новую задачу, сам определять, что ему делать дальше в моменте, а не следовать заданному плану
-
Преднаписанные селекторы (например a[data-qa='vacancy']) — вместо этого агент должен сам определять, на что нажать и какой у этого элемента селектор
-
Подсказки для агента по ссылкам и элементам. Наприер, нельзя хардкодить, что страница с вакансиями — это /vacancies, или что для добавления в корзину надо нажимать на кнопку с текстом «Заказать». Агент должен додуматься до этого сам.
Что можно выбрать самостоятельно
-
Библиотека для автоматизации браузера (Puppeteer? Playwright? Selenium? Другое?)
-
AI SDK (Anthropic? OpenAI? Прямые API-вызовы?)
-
Язык программирования
-
Как эффективно извлекать информацию со страницы
-
Архитектура tool/function calling
-
Как обрабатывать динамические страницы, попапы, формы
-
Использовать ли MCP
Мы хотим увидеть твой процесс исследования и технические решения.
Результат
Запиши короткое видео, где видно как твой агент решает одну из сложных задач. Также прикрепи, пожалуйста, ссылку на репу с решением.
Как выглядит идеальное решение
Ребята, которым мы отправили оффер, присылали видео, на котором было видно как открыт браузер и терминал одновременно.
В терминале писали короткую задачу для агента и наблюдали, какие он вызывает инструменты и с какими аргументами. Агент исследовал страницу, нажимал на кнопки и вводил текст для решения задачи. Всё это было также одновременно видно в браузере. В конце работы агент делился результатам, что удалось сделать.
Вот скрины из видео работы кандидата, который получил оффер:
С чего начать
-
Изучи библиотеки от OpenAI и Anthropic и выбери какого провайдера будешь юзать.
-
Выбери каким ИИ-инструментом будешь пользоваться в разработке. Если уже пользуешься Claude Code или Codex CLI — супер! Если нет — можешь воспользоваться бесплатной моделью Glm-4.6 для Claude Code
-
Гайд по проксированию glm в claude code: https://docs.z.ai/devpack/tool/claude
Как установить Claude Code с бесплатной моделью Glm-4.6
-
Установи Claude Code: npm install -g @anthropic-ai/claude-code
-
Создай аккаунт и ключ для модели: https://z.ai/manage-apikey/apikey-list
-
Подключи Glm к Claude Code: npx @z_ai/coding-helper
Когда появится запрос, вставь свой API-ключ. Скрипт автоматически настроит Claude Code на использование модели Glm-4.6.
Немного о нас
У нас AI-инженеры постоянно работают с задачами, где нет готовых решений и полной документации. Приходится экспериментировать и разбираться с незнакомыми API через AI-инструменты.
Это задание проверяет не знание конкретных библиотек, а:
-
Умение искать — можешь ли найти и изучить нужное?
-
Архитектурное мышление — понимаешь ли, как строить сложные системы?
-
Работу с AI — как ты используешь Claude/ChatGPT для решения задач?
-
Практику — можешь ли собрать что-то рабочее?
Важно: Мы ожидаем, что ты будешь юзать AI-ассистентов по типу Claude, Claude Code, Codex, Cursor. Это не читерство, это и есть работа)
Аналог решения
У Anthropic есть очень похожий продукт.
Изучи его чтобы понять что мы хотим увидеть:
Now in research preview. Claude can navigate, click buttons, and fill forms—right in your browser.
Полезное
Изучи наш курс на менторхабе, он покрывает все детали, которые нужны чтобы выполнить эту задачу 😉
Вот также несколько полезных материалов, на которые мы часто ссылаемся:
Discover how Anthropic approaches the development of reliable AI agents. Learn about our research on agent capabilities, safety considerations, and technical framework for building trustworthy AI.
Writing effective tools for AI agents—using AI agents
Prompt engineering overview - Claude Docs
Напоследок: задание правда непростое, потому что работа непростая)
Мы строим системы, для которых часто нет готовых гайдов. Если можешь работать в неопределённости, исследовать и собирать рабочие решения — ты нам подходишь.
Удачи! 🚀