Стек: Python 3.10+, Playwright, LLM (Claude / OpenAI / mock), asyncio, pytest ● Разработка: реализовал автономного браузер-агента, управляемого LLM, который анализирует DOM, планирует действия и выполняет пользовательские задачи минимальным числом шагов. Спроектировал цикл оркестрации (планирование → выполнение → обновление состояния → завершение задачи) с историей действий и диалогов. ● Архитектура: спроектировал модульную архитектуру (orchestrator, planner, browser controller, DOM extractor/summarizer, LLM client). Реализовал tool-based интерфейс для LLM (navigate, click, type_text и др.) и сжатие состояния страницы для работы в токен-лимитах. ● Browser & DOM: реализовал обёртку над Playwright для управления браузером, поддержку cookies (JSON / Netscape) для persist-сессий, извлечение интерактивных DOM-элементов и построение устойчивых селекторов. ● LLM & Safety: реализовал абстракцию LLM-клиентов (Claude, OpenAI, mock), защиту от деструктивных действий (delete/pay/submit) с явным подтверждением пользователя и режим dry_run с мок-браузером для безопасной отладки. ● Инфраструктура и качество: настроил логирование (консоль + файлы), retry-механизмы для async-операций, конфигурацию через env/settings, написал unit-тесты для ключевых компонентов (DOM extractor, orchestrator).
https://github.com/4e6yPeK48/browser-agent