Когда поверхностей несколько, первый практический вопрос - куда вести конкретную задачу. Соблазн понятен: взять самую мощную поверхность или ту, что уже открыта. И то и другое - выбор не под задачу, а под привычку, и именно он позже оборачивается лишней стоимостью и лишним радиусом ошибки. Признак, что выбор сделан по привычке, простой: поверхность названа раньше, чем сама задача и её результат.
Кажется логичным: раз Devin Cloud автономнее Editor, пусть он и делает всё - меньше думать, где что запускать. Или наоборот: раз редактор уже открыт, и точечную, и долгую работу удобно вести в нём же. Обе стратегии экономят решение сейчас и создают проблему потом.
Ломается это на том, что автономность - не бесплатная мощность, а обмен. Чем шире полномочия поверхности, тем больше не только скорость, но и радиус ошибки, стоимость проверки и число внешних эффектов. Мощная поверхность на мелкой задаче тратит ваше внимание и токены там, где хватило бы inline-правки; слабая на крупной - заставляет дробить руками то, что среда сделала бы сама. Разница между ступенями - это не только скорость, но и то, сколько внешнего мира агент может задеть за один turn.
Отсюда правило минимальной мощности: начинайте с самой узкой поверхности, способной завершить задачу, и поднимайтесь на ступень выше только тогда, когда узкой перестало хватать. Это не аскеза ради принципа, а способ держать проверку дешёвой: чем уже среда, тем меньше приходится доказывать после.
Разложить это по задачам просто. Одна локальная правка с ясным diff - Command или Devin Local. Исследование незнакомого кода без изменений - DeepWiki, Codemap, Ask или Plan. Многошаговая локальная задача - Devin Local в отдельном worktree, чтобы не трогать активную ветку. Часы автономной работы при закрытом ноутбуке - Devin Cloud. Нужна конкретная агентная экосистема - ACP, после проверки провайдера. Старый workflow или memory - временно Cascade, затем миграция в skill или rule.
Подъём по ступеням - не признак ошибки, а нормальный ход, если он управляем. Разумно начать с Ask или Plan, пока неясна область, и перейти в Normal, когда цель определилась. Разумно начать в worktree и уйти в Cloud, когда стало ясно, что работа долгая и ваша машина ей не нужна. Плохо не само повышение автономии, а старт с потолка: когда неизвестность ещё не снята, широкая поверхность лишь увеличивает объём того, что придётся доказывать после, не приближая к результату.
Каждая ступень вверх добавляет то, что придётся проверять. Inline-правка проверяется чтением diff. Devin Local - ещё и permission-решениями и прогоном тестов. Worktree - слиянием и повторной проверкой в целевой ветке. Cloud - настройкой окружения, секретами и сетевой политикой чужой VM. Поднимаясь, вы соглашаетесь на эту дополнительную работу осознанно, а не задним числом. Полезно заранее спросить, готовы ли вы к этой проверке сейчас; если нет, задача просит поверхность ниже или лучшей подготовки.
Перед запуском полезно ответить на три вопроса и записать ответы. Какую одну задачу вы решаете и какую поверхность выбрали. Какой результат будет доказательством завершения - конкретный diff, зелёный прогон, воспроизведённый сценарий. Какое действие агент не должен выполнять без вас - deploy, запись в .env, изменение схемы данных. Три ответа занимают минуту и определяют и границы задачи, и способ её закрыть.
Эти три ответа не формальность. Названная поверхность фиксирует, чья это среда и какие права в ней. Названное доказательство отделяет заявленный результат от фактического - без него "готово" остаётся словом. Названное запрещённое действие - это будущее permission deny или sandbox, а не благое пожелание в промпте. Вместе они превращают выбор поверхности из привычки в решение, которое можно объяснить и проверить.
Проверять выбор стоит по тому же критерию, по которому его делали: сумела ли самая узкая из выбранных поверхностей закрыть задачу целиком и дёшево. Если пришлось подниматься на ступень выше - хорошо, что подъём был осознанным шагом, а не стартовой позицией. Если узкой хватило - вы сэкономили и время, и проверку.
Типичные провалы двусторонни. С одной стороны - переавтономность: тяжёлую поверхность запускают на задаче, где хватило бы Command, и платят вниманием и токенами. С другой - недо-изоляция: крупную многошаговую работу ведут в активной ветке вместо worktree и потом распутывают смешанный diff. Признак обоих один: поверхность выбрали до того, как назвали задачу и доказательство её завершения. Назвать их первыми - и большинства этих провалов просто не случится.