Roo Code: AI-разработчик в твоём VSCode (но за твои деньги)

Nubami SQReder - Feb 17 - - Dev Community

Я продолжаю челлендж "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. Не бейте сильно за оформление - я пока формирую стиль

. . .