
Внутренний рабочий процесс Devin: использование инструментов, планирование и автономность
Введение
Devin (от Cognition AI) — это новый автономный AI-инженер-программист, способный планировать задачи по разработке программного обеспечения и выполнять их в значительной степени самостоятельно. Он работает над проектами кода от начала до конца, используя такие инструменты, как редактор кода, командная строка и веб-браузер, для исследования, написания, тестирования и развертывания кода. В демонстрациях и публикациях Devin показал способность сканировать кодовую базу, генерировать план, редактировать файлы, запускать тесты и создавать запросы на слияние с удивительно малым участием человека (medium.com) (www.linkedin.com). Cognition заявляет, что Devin может справляться со «сложными инженерными задачами, требующими тысяч решений», вспоминая контекст на каждом шаге и даже учась на ошибках (medium.com) (www.linkedin.com). Поэтому мы исследуем общедоступные детали дизайна и рабочего процесса Devin. Это включает в себя то, как Devin разбивает задачи (процесс планирования), как он буквально работает в среде разработчика (редактор, терминал, браузер), как он сохраняет память или контекст на протяжении сеанса кодирования, как он самокорректируется и итерирует, а также какие защитные механизмы или меры безопасности он использует. Мы также отмечаем, что не раскрывается – например, точные внутренности модели остаются неизвестными, поэтому некоторые обсуждения сообщества основываются на обоснованных предположениях.
Планирование и декомпозиция задач
Когда разработчик дает Devin новое задание, первым шагом является планирование того, какие файлы и в каком порядке следует изменить. В заметках Cognition объясняется, что Devin использует субагента «режима планирования», задача которого — определить, какие файлы в репозитории релевантны для задачи (medium.com) (docs.devin.ai). На практике Devin «исследует» репозиторий и предлагает план до написания какого-либо кода (docs.devin.ai) (docs.devin.ai). Для сложных задач разработчики видят этот план и могут одобрить или скорректировать его; если включен режим Agency, Devin автоматически приступит к выполнению своего плана без ожидания одобрения (docs.devin.ai) (docs.devin.ai).
За кулисами Cognition обучала этого планирующего агента с помощью обучения с подкреплением. В одном анализе команда описывает, как планировщику предоставлялись только инструменты для чтения (такие как ls, grep или read_file), и он вознаграждался, когда правильно предсказывал набор файлов, которые отредактировал бы человек (medium.com) (medium.com). Результат: планировщик Devin учится выполнять параллельные запросы к файловой системе (например, запускать ls и grep в разных каталогах одновременно) и затем сужать круг многообещающих направлений (medium.com). Штраф за обучение стимулирует эффективность, поэтому агент избегает полного перебора (например, бесконечного грепа всего репозитория) и вместо этого оперативно «коммитит» после нахождения цели (medium.com). Это означает, что планирование Devin основано на данных: он изучил общие стратегии навигации по кодовой базе (как отмечает Cognition, модель обучалась на множестве репозиториев и пользовательских запросов) (medium.com) (medium.com).
На уровне пользователя вы видите результат в виде схемы шагов. Например, при запросе новой функции Devin предложит что-то вроде «изменить файл A для реализации X, добавить тесты в файл B, затем обновить конфигурацию C». В демонстрациях, если пользователь забыл указать некоторые детали, этап планирования Devin часто это обнаруживает и запрашивает уточнения. В одной демонстрации ассистент автоматически добавил настройку учетной записи GitHub в план, хотя пользователь явно об этом не упоминал (www.developersdigest.tech) (www.linkedin.com). Все эти шаги планирования (задавание вопросов, перечисление задач, сопоставление файлов) выполняются в диалоговом интерфейсе Devin до написания какого-либо кода. Если пользователь соглашается или включено автоодобрение, Devin переходит к выполнению.
Работа в среде разработки: редактор, терминал и браузер
Devin работает в изолированной среде разработчика. Материалы Cognition описывают его как обладающий привычным набором инструментов разработчика: терминал командной строки, редактор кода и веб-браузер, все в его распоряжении (medium.com) (docs.devin.ai). На практике, когда Devin работает, все его действия регистрируются и видны в веб-интерфейсе. Представление «Follow Devin» выделяет каждое действие (например, редактирование файла или команду оболочки) и даже позволяет человеку нажать на значок, чтобы перейти непосредственно в редактор кода или терминал, где это действие произошло (docs.devin.ai). Например, если Devin редактирует файл JavaScript, пользователь может нажать, чтобы увидеть изменения в редакторе VSCode, или если Devin запускает команду оболочки, нажать, чтобы увидеть вывод терминала.
При желании вы также можете вручную войти в рабочее пространство Devin. Недавнее обновление добавило кнопку «Использовать машину Devin», которая открывает среду Devin в VSCode через веб (docs.devin.ai). Это означает, что разработчик может просматривать файлы Devin, запускать команды или даже вручную редактировать код в его рабочем пространстве. (Для длительных задач это удобно, если вы хотите что-то проверить в процессе выполнения.) В одном примере пользователь активировал эту функцию, чтобы наблюдать, как Devin создает элементы пользовательского интерфейса: пользователь буквально открыл VSCode Devin, увидел новые файлы, написанные Devin, и мог исследовать пользовательский интерфейс в реальном времени.
Инструмент браузер позволяет Devin исследовать или тестировать что-либо в Интернете. В демонстрациях Devin видно, как он использует веб-поиск для просмотра документации или библиотек, и даже запускает локальный веб-сервер, чтобы убедиться, что его код не нарушен (например, он направит браузер на localhost для проверки работоспособности пользовательского интерфейса). В целом, интерфейс Devin мультимодальный: он может принимать ввод в виде текстовых подсказок, прикрепленных изображений дизайна или документов, и даже фрагментов кода, а также взаимодействует как через чат, так и через эти инструменты разработчика (www.developersdigest.tech) (medium.com). Результатом является опыт, гораздо более похожий на «коллегу, пишущего код», чем на статический чат с ИИ.
Память, знания и контекст сеанса
Devin отслеживает информацию в течение сеанса, используя встроенную систему «Базы знаний». Представьте Базу знаний как рабочую тетрадь: Devin может хранить там советы, инструкции для конкретного проекта или важный контекст и затем вспоминать их. Например, в документации описываются рабочие процессы для закрепления определенных знаний, чтобы Devin никогда их не забывал, таких как важные архитектурные ограничения или руководства по стилю кодирования (docs.devin.ai). Пользователи могут редактировать или добавлять в эту базу знаний. Devin также автоматически генерирует полезные заметки: он сканирует ваш репозиторий, чтобы узнать о структуре кода, компонентах и вашей документации, и автоматически создает сводку «Знания о репозитории» (docs.devin.ai) (docs.devin.ai). На практике, после выполнения нескольких задач, Devin может сказать: «Я заметил, что вы часто используете React и Redux; предлагаю добавить это в Базу знаний», и если вы одобрите, эта информация будет сохранена.
Во время сеанса Devin будет хранить соответствующие знания в рабочей памяти. Cognition заявляет, что он «вспоминает релевантный контекст на каждом шаге» (www.linkedin.com). Например, если ранее он узнал, что вы предпочитаете Python 3.11 или что ваше веб-приложение использует OAuth, он будет включать эту информацию в подсказки по мере необходимости. Сеанс по своей природе длительный и сохраняющий состояние: вы можете общаться с Devin в течение десятков итераций (минут или дольше), пока он редактирует множество файлов, и он сохраняет историю чата. Если Devin когда-либо выйдет из строя, вы можете прокрутить журнал или включить «режим прогресса», чтобы увидеть каждое предпринятое им действие.
Если ваш сеанс завершается (например, если вы останавливаете задачу или завершаете ее), Devin забывает текущее состояние этой машины, и его виртуальная машина при следующем запуске сбрасывается до базового снимка (docs.devin.ai). По умолчанию это базовое состояние включает репозитории, которые вы предварительно загрузили в свое рабочее пространство, поэтому Devin не приходится клонировать их с нуля каждый раз (docs.devin.ai). (Без настройки рабочего пространства каждый сеанс начинался бы с пустой машины, поэтому Cognition подчеркивает важность предварительной настройки вашего репозитория для скорости (docs.devin.ai).) Но помимо кода, Devin передает знания через свою Базу знаний. Он предложит вам добавить уроки или определения, которые кажутся полезными для будущих задач (docs.devin.ai). На протяжении нескольких сеансов это означает, что Devin постепенно формирует память о соглашениях и архитектуре вашего проекта.
В дополнение к Базе знаний, Cognition выпустила DeepWiki, связанный инструмент, который индексирует целые кодовые базы и предоставляет поверх них чат-интерфейс (medium.com). Хотя DeepWiki является отдельным продуктом, он намекает на более широкую архитектуру: Devin может запрашивать собственную или внешнюю вики-базу кода для получения ответов на вопросы. На практике, если вы спросите Devin что-то о коде, он может внутренне использовать те же системы поиска, что и DeepWiki, для обоснования своих ответов.
Автономность, итерации и самокоррекция
Devin разработан как автономный, но с обратными связями, когда это необходимо. После планирования он выполняет шаги один за другим, постоянно проверяя наличие ошибок. В демонстрациях агент часто следует этому шаблону: он использует браузер или документацию, чтобы понять проблему, пишет немного кода, запускает его, видит ошибку, а затем ищет, как ее исправить – имитируя цикл отладки человека (www.developersdigest.tech) (www.linkedin.com). Например, один из докладчиков показывает, как Devin добавляет форму входа, затем запускает фронтенд-тест, находит ошибку и возвращается к поиску решения этой ошибки. Каждый «ход» Devin — это цикл думай → действуй → наблюдай → исправляй.
Многочисленные источники отмечают, что Devin имеет встроенную функцию «самокоррекции» (medium.com) (www.linkedin.com). Действительно, в блоге Cognition с упоминанием GPT-5 говорится, что GPT-5 «хорошо понимает ошибки и самостоятельно корректирует курс», что они выделяют как отличное качество для длительных задач (www.linkedin.com). Другими словами, если код Devin не компилируется или не проходит тест, модель (часто GPT-5 или аналогичная) увидит сообщение об ошибке и на лету найдет решение. Он даже способен к циклам повторных попыток: если действие частично удалось, Devin может сделать второй заход. Эти циклы видны в пользовательском интерфейсе как повторяющиеся последовательности редактирования и запуска.
Для систематической обработки сбоев Devin использует сочетание автоматизации и человеческого контроля. Например, если Devin открывает запрос на слияние и получает ошибку CI или комментарий к ревью кода, система Cognition автоматически пробуждает Devin и заставляет его устранить проблему (docs.devin.ai) (docs.devinenterprise.com). По умолчанию Devin реагирует на ошибки линтинга или комментарии, хотя пользователи могут это отключить. Пользовательский интерфейс также отображает его статус и действия в реальном времени, поэтому разработчик может вмешаться в любой момент. Разработчикам рекомендуется наблюдать за первыми запусками в «живом режиме» (где показывается каждый шаг), чтобы сформировать доверие, а затем позволить Devin работать полностью без контроля, когда уверенность будет достигнута (www.developersdigest.tech).
Безопасность, защитные механизмы и настройка
Операторы могут давать Devin явные инструкции о том, чего не следует делать. Одной из мощных функций является «Запрещенные действия». Вы можете перечислить вещи, к которым Devin не разрешено прикасаться – например, «НЕ делай пуш напрямую в main» или «Не редактируй файл X». Система гарантирует, что Devin соблюдает эти команды, когда они появляются в подсказке или в плейбуке (docs.devin.ai). Согласно примечаниям к выпуску, Devin теперь надежно обрабатывает списки запрещенных действий, то есть проверяет свои действия на соответствие этим правилам. Это помогает предотвратить распространенные ошибки, такие как изменение неправильной ветки или файла.
Devin также предоставляет различные элементы управления. В Slack или веб-интерфейсе вы можете приказать Devin «спать» (приостановить работу) или «архивировать» сеанс (docs.devin.ai). Вы можете выбрать, требует ли Devin вашего одобрения перед выполнением плана (через настройку Agency) или работает полностью автономно (docs.devin.ai) (docs.devin.ai). Его вычислительные ресурсы измеряются в единицах Agent Compute Units (ACU), и пользовательский интерфейс показывает предупреждения, если Devin приближается к лимитам, чтобы вы могли вмешаться или предоставить больше ресурсов (docs.devin.ai).
Если что-то пойдет не так за кулисами, у Cognition есть система мониторинга. В более ранних релизах некоторые пользователи сообщали, что сессии Devin «зависали» или падали. Команда отмечает, что эти проблемы были исправлены, и предлагает возврат ACU, если Devin зависает (docs.devin.ai). Другими словами, компания активно оснащает систему для обеспечения надежности. Внешние аналитики предупреждают, что, как и любой чат-ориентированный ИИ, Devin иногда может совершать ошибки или «галлюцинировать» код. Рекомендуется проверять его результат так же, как вы бы проверяли работу младшего разработчика. В целях безопасности многие команды используют ревью кода для коммитов Devin и ограничивают его права (например, по умолчанию нет прямого доступа к секретам). На данный момент публично описанные защитные меры в основном определяются пользователем (запрещенные действия, требование одобрения плана и т.д.) и проверками работоспособности системы, а не встроенными этическими фильтрами.
Что мы (пока) не знаем
Cognition намеренно оставила некоторые детали внутри компании, поэтому части Devin непрозрачны. Например, точная большая языковая модель, которую он использует, изначально не была публичной. Слухи и последующие публикации предполагают, что Cognition теперь интегрирует GPT-5 в Devin для его планирования и основного механизма рассуждений (www.linkedin.com), и у них есть предварительная версия агента, основанная на Claude Sonnet 4.5 (docs.devinenterprise.com). Но полная архитектура неясна: Devin, вероятно, оркестрирует несколько моделей и имеет пользовательскую донастройку (как намекает планирующий субагент RFT), но эти слои не являются открытыми.
Мы также не знаем в полной мере пределов его памяти. Devin заявляет, что «учится со временем», но как он объединяет новые знания в свою существующую сеть (в отличие от простого хранения их в Базе знаний) не уточняется. Максимальная длина истории разговоров, которую он эффективно использует, не документирована. Когда сеанс очень длинный, возможно, более ранние части чата или контекста кода обрезаются за кулисами. На практике большинство пользователей делают подсказки и код лаконичными, чтобы избежать перегрузки контекста.
Что касается безопасности, остаются некоторые неизвестные. Например, хотя «запрещенные действия» охватывают пользовательские правила, неясно, есть ли у Devin какие-либо неявные уровни безопасности (например, обнаружение неправомерного использования данных, проверки на предвзятость или обход песочницы). Поскольку он работает в виртуальной машине, хочется надеяться, что он не может повредить хостовые системы, но детали этой песочницы не являются публичными. Сообщество предполагает, что машина Devin, вероятно, использует снимки контейнеров (как упоминалось для обучения с подкреплением) для изоляции запусков (medium.com).
Наконец, многие в сообществе наблюдают, как Devin справляется с неоднозначными или открытыми задачами. В рекламных материалах его называют «полностью автономным», но аналитики отмечают, что ему по-прежнему часто требуются точные инструкции. Например, если запрос пользователя расплывчат, Devin может сгенерировать план, который кажется разумным, но упускает важные крайние случаи. Он может задавать уточняющие вопросы в дальнейшем, но разработчики иногда задаются вопросом, насколько хорошо он понимает намерение по сравнению с простым сопоставлением шаблонов в коде. Эти аспекты познания Devin зависят от возможностей базовой большой языковой модели, которые мы наблюдаем лишь косвенно. Короче говоря, пользователи должны оценивать Devin скорее как высококвалифицированного младшего инженера, чем как менеджера по продукту – он хорошо планирует, но не всегда может идеально понять ваше намерение.
Начало работы с Devin
Devin в основном предназначен для инженерных команд, которые выполняют много работы по кодированию. Он отлично справляется с четко определенными задачами: создание функций по спецификациям, рефакторинг, написание тестов и исправление ошибок. Он менее эффективен в высокоуровневом проектировании или очень плохо определенных проблемах. Для команды разработчиков программного обеспечения Devin может помочь устранить рутинную работу, чтобы люди могли сосредоточиться на креативной архитектуре и надзоре.
Для не-программистов или новичков Devin все еще может быть полезен, но требует некоторой настройки. Первым шагом является предоставление Devin доступа к вашему репозиторию кода (через GitHub, GitLab и т.д.) и, возможно, подключение его в Slack или Teams. Затем попробуйте простую задачу. Например, спросите: «Devin, добавь новую страницу для вывода всех продуктов из нашей базы данных в веб-интерфейсе, включая покрытие тестами». Наблюдайте за диалогом на этапе планирования: Devin обрисует, какие файлы нужно изменить (например, шаблон HTML, код бэкенд API и т.д.), и задаст любые необходимые вопросы. Одобрите план (или позвольте ему запуститься автоматически) и наблюдайте за его выполнением. Используйте панель «Отслеживать», чтобы увидеть каждый шаг: вы увидите редактирование файлов, команды оболочки (например, запуск тестовых наборов) и снимки браузера пользовательского интерфейса. Если Devin совершит ошибку или вы захотите внести изменение, просто взаимодействуйте, как в чате («На самом деле, используй эту тему CSS» или «название продукта должно быть написано заглавными буквами»), и Devin начнет новый цикл редактирования.
Ключевой действенный шаг — итерация и проверка. Всегда проверяйте код, который производит Devin, и тестируйте его локально. Со временем вы можете пополнять Базу знаний: добавляйте заметки вроде «Наша база данных использует PostgreSQL 13» или «Мы следуем стилю PSR-12 в PHP». Devin начнет учитывать это в будущих сеансах. Также изучите настройки: отключите Agency, если вы всегда хотите проверять предложения, или включите, если вы ему больше доверяете. Свяжите Devin с вашей CI для автоматического ревью запросов на слияние, но начните с уведомлений, чтобы вы могли наблюдать, как он обрабатывает обратную связь.
В конечном итоге, рабочий процесс Devin плотный и мощный, но он все еще полагается на ваше руководство. Понимая, как он планирует, использует инструменты и учится на обратной связи (как подробно описано выше), вы сможете максимально использовать этот новый класс агентного помощника по кодированию. Лучший следующий шаг для команды, заинтересованной в Devin, — это зарегистрироваться на devin.ai и запустить небольшой пилот: добавить один веб-репозиторий, попросить Devin реализовать функцию и запустить его в режиме прогресса. Наблюдайте за полной трассировкой «мышления» – этот практический опыт прояснит, как именно Devin объединяет планирование, редактирование и самокоррекцию. Оттуда вы сможете масштабировать до большего количества задач и тонко настраивать его использование (например, пользовательские плейбуки для вашей области). Хотя Devin все еще развивается, он представляет собой большой скачок в инструментарии ИИ. Изучая его рабочий процесс сегодня, команды могут подготовиться к эре, когда задачи кодирования действительно можно будет разделить с ИИ-коллегой.
Получайте новые исследования и эпизоды подкастов по AI-кодированию
Подпишитесь, чтобы получать новые обновления исследований и эпизоды подкастов об инструментах AI-кодирования, конструкторах AI-приложений, инструментах без кода, «vibe coding» и создании онлайн-продуктов с помощью AI.