Я продолжаю челлендж "30 дней про AI для разработки", и этот пост — про Roo Code, расширение для VS Code, которое пытается стать твоим AI-напарником. Он может читать код, редактировать файлы, запускать команды и даже тесты, но при этом постоянно заставляет задуматься: а стоит ли оно того?
Я уже успел обжечься на токенах, удивиться его работоспособности и поразиться нелогичным решениям. В этом посте разберу что с Roo получилось, а что — нет.
Агентные инструменты: немного контекста
AI-ассистенты, которые не просто отвечают на вопросы, а могут выполнять задачи, появились давно. Это так называемые агентные решения, где AI анализирует код, понимает контекст и действует в IDE или терминале.
Roo Code — один из таких инструментов, работающий прямо в VS Code. Aider — его конкурент, но работающий через CLI. В этом посте я изучаю Roo, а про Aider расскажу позже.
Как работает Roo?
Roo предлагает три режима работы:
- Architect 🏗️ — анализирует код, но редактирует только Markdown. Хорош для написания документации, аналитики и подготовки плана для кодинга
- Code 🛠️ — полный доступ: читает, пишет, запускает команды. Если оставить без присмотра, может разнести весь проект.
- Ask ❓ — просто отвечает на вопросы по коду. Безопасный, и очень полезный режим для анализа существующего кода
Проблема: Roo иногда перескакивает из Architect в Code потому, что так решил, так что если не следить — он внезапно начнёт менять файлы, хотя ты просто хотел, чтобы он что-то объяснил.
Выбор LLM: критичный момент
Roo сам по себе не думает, ему нужна LLM, и её выбор сильно влияет на результат. Я пробовал разные модели:
- GPT-4o-mini, DeepSeek-R1 — дешёвые, но могут испортить код или зациклиться.
- O1-mini, O3-mini — медленнее, но умнее.
- Claude 3.5 Sonnet — отлично справляется, но дорогой.
- Gemini 1.5/2.0 (через VPN) — бесплатный, но не всегда умный.
Реальный кейс: я попросил Roo написать тесты для одного модуля, и Claude 3.5 справился отлично... за 600 рублей. Потом я попросил Roo покрыть тестами мою библиотеку из 20 модулей. Первый запуск с O1-mini — минус 500 рублей на 5 модулей. Переключился на GPT-4o-mini — ещё 7 модулей.
Вывод: неправильный выбор LLM = моментальный слив денег.
Где Roo реально хорош?
Несмотря на косяки, есть сценарии, где он действительно полезен:
- Генерация тестов. При грамотном промпте Roo пишет тесты, выполняет их, проверяет покрытие.
- Memory Bank (расскажу подробнее позже).
- Использование как суперзаряженный Windsurf.
Я пробовал Roo как аналог Windsurf или Cursor — решений, которые читают файлы и помогают с анализом кода. И в таких сценариях он реально удобен:
- Найти баги в коде.
- Объяснить, как связаны части проекта.
- Рефакторинг и написание тестов.
- Разбор кода, написанного другими разработчиками.
Но вот главный вопрос: почему я должен платить за Roo, если Windsurf и Cursor дают безлимит?
Roo vs. Windsurf vs. Cursor: кто кого?
Сначала я думал, что главное отличие Roo — это агентность, но оказалось, что Windsurf и Cursor тоже могут работать как агенты.
- Windsurf — максимально автоматизирован: сам индексирует код, выполняет команды, чат по умолчанию работает в агентном режиме.
- Cursor — даёт больше контроля: ты сам выбираешь файлы, сам подтверждаешь изменения.
- Roo — требует оплаты за API, но даёт гибкость в настройке и управлении.
Так что разница не в агентности, а в степени автоматизации и контроле.
Но с первого взгляда неочевидно, зачем нужен Roo, если Windsurf/Cursor дают доступ к топовым LLM за фиксированную цену. Это требует дальнейших исследований.
Где Roo фейлится (и как не сливать деньги впустую)
- Он неспешный. Если задача сложная, он может крутить код часами без результата.
- Нет лимита по токенам. Агент может зациклиться и сжечь весь баланс.
-
Не умеет стартовать проекты. Вместо
npm create vite
он пишет package.json вручную. - Как я слил деньги на автоаппруве? Я включил автоаппрув и ушёл, вернулся — куча токенов улетела в никуда.
Вывод: за Roo нужен глаз да глаз.
Как работать с Roo и не разориться?
- Выбирать LLM с умом.
- Не ставить автоаппрув.
- Следить, не зациклился ли агент.
- Использовать Gemini для бесплатных тестов.
Стоит ли пробовать Roo?
Да, но с оговорками. Если не контролировать, он сожрёт деньги впустую. Если включаться в процесс, можно получить неплохой результат.
Но зачем использовать Roo, если есть Windsurf и Cursor? Пока не очевидно. Судя по тому, что я вижу в сети, можно добиться от Roo хороших результатов, но для этого нужно применять Memory Bank, .clinerules, stdlib и другие продвинутые техники.
Я пока не тестировал эти методы, но собираюсь попробовать и рассказать, что из этого вышло.
Если интересно узнавать дальше со мной, подписывайтесь на мой телеграм-канал — https://t.me/sqr_dev_moments. 🚀
P.S. Не бейте сильно за оформление - я пока формирую стиль