Автономная разработка под контролем человека

Мы автоматизировали не написание кода, а разработку целиком

Агент в редакторе ускоряет одного разработчика на одной задаче. У нас разработчик ведёт сразу поток задач. Обычно этому мешают рабочие среды: каждой задаче нужна своя, где код собирается и прогоняются тесты, и готовят их руками. Мы создаём такие среды под каждую задачу сами и удаляем после. Единственным ограничением остаётся то, сколько задач вы успеваете сформулировать.

Подключить репозиторий Чем это отличается от агентаВопросы по коду доступны сразу после подключения, ответ — за минуты
Задачииз вашего спискаПостановкавыРазработкакод · правилаТестысборка · прогонПроверкаразбор измененийРазработкакод · правилаТестысборка · прогонПроверкаразбор измененийРазработкакод · правилаТестысборка · прогонПроверкаразбор измененийПриёмкавыГотовов вашу веткуинженер участвует дважды — на постановке и на приёмке; между ними задачи идут параллельно, каждая в своей среде

← прокрутите схему →

2–8 чразбор проекта — независимо от размера кодовой базы
100подзадач выполняется параллельно, каждая в своей среде
10 млнстрок — самый крупный проект: окружение и тесты собраны с нуля
0доступов внутрь: ни ключей от сервисов, ни рабочей базы

Возражение 01

«У нас уже используются ИИ-агенты. Зачем ещё один инструмент?»

Самый частый вопрос. Агент и правда пишет код быстро — и именно поэтому очередь на проверку у вас растёт.

Агент ускоряет одного человека. Мы убираем человека из цикла

Разница не в модели, а в том, кто ведёт задачу и кто решает, что она готова.

ИИ-агент в редактореBuff
Кто ведёт задачуЧеловек: держит контекст, следит, чтобы модель не выдумывала, решает, что готовоНикто. Инженер утверждает задание и принимает результат
Правила проектаНастраиваются вручную, у каждого разработчика своиСтроятся из вашего кода, одни для всех задач и проверяются на приёмке
Кто решает, что готовоМодель — по собственной оценкеСборка и тесты, затем ваш инженер
Длинная задачаМодель забывает условия, выходит за рамки, подгоняет тестыГраницы и приёмка заданы алгоритмически, шаги ведут разные модели
Параллельная работаОдна задача — одно окружение на машине разработчикаСреда под каждую задачу создаётся и удаляется автоматически
Что остаётся послеСессия закрыта — контекст потерянЗадание и объяснение решений лежат в вашем репозитории рядом с кодом
Где работаетВнутри вашей сети, с правами разработчикаВне вашей сети, без доступов к инфраструктуре

Возражение 02

«Готовое изменение — не результат. Вы просто перекладываете проверку на нас»

Узкое место у команды не в написании кода, а в его проверке. Инструмент, который генерирует эту очередь быстрее, делает хуже.

Читать нужно только то, о чём договорились

Изменение приходит уже прогнанным через сборку и тесты, с границами правок, согласованными до старта, и замечаниями к спорным местам от отдельной проверяющей модели. На самой проверке инженер работает вместе с ИИ: задаёт вопросы по изменению, принимает, отклоняет или правит каждое замечание. Принятые попадают в правила проекта и больше не повторяются.

Проверка изменений
Замечания со статусами. Одобрить или вернуть на доработку — в основную ветку без вашего решения ничего не попадёт.

Возражение 03

«Модель сломает то, что работает, и сама же скажет, что всё хорошо»

На длинной задаче агент забывает условия, подгоняет тесты под результат и попутно правит лишнее. Мы это знаем.

Задачу закрывают сборка и тесты, а не решение модели

Готовность — не мнение модели, а результат проверки, которую нельзя обойти.

Тесты до и после задачи

Что падало раньше — отмечается отдельно, и решение по таким тестам принимаете вы.

Тест нельзя подогнать под результат

Работа с тестами планируется до написания кода и ограничена отдельно от него.

Зона изменений известна заранее

Какие файлы затронет задача, согласовано до старта. Выход за границы блокируется.

Разные модели на разных шагах

Разработку, проверку и приёмку ведут разные модели: ошибка одной не проходит незамеченной.

Единые правила на каждом запуске

Правила проекта одни для всех задач, заданы исполнителю и проверяются на приёмке.

Конфликты сводятся автоматически

Параллельные изменения объединяются вместе с тестами, а ушедшая вперёд основная ветка вливается в задачу до слияния.

Возражение 04

«У меня не такой код. Старый проект без тестов, документации и автора»

Свежий проект с чистой структурой — не доказательство. Доказательство — то, что страшно трогать.

Нет тестов — они появятся. Нет окружения — соберётся

Прежде чем что-то менять, система разбирает проект по десяти направлениям, выделяет важные участки, покрывает их тестами и фиксирует текущее поведение. Правила берутся из вашего кода, а не из наших представлений о правильном.

20 проектовв нашем тестовом парке: 17 языков, включая 1С
7 летбез правок человеком — самый старый проект, с которым справилась система
2,5 дняна подготовку среды и тестов для проекта в 10 млн строк без описанной сборки
Разбор проекта
Ответ по коду

Интеграции

Работает там, где уже работает команда

Интеграция связывает Buff с вашей системой — трекером, сервисом, внутренним API — и остаётся внутри вашей сети. Ставится в работающий коннектор, без пересборки и переустановки.

До установки видно, куда интеграция сможет ходить, какие учётные данные попросит и какие инструменты увидит модель. Токены остаются в коннекторе — интеграция их не видит.

Возражение 05

«Я не пущу внешний сервис к своему коду»

Служба безопасности спросит, что именно уходит наружу и кто это видит. Ответ должен быть коротким.

Для работы нам не нужно ничего критичного

Ни доступов к инфраструктуре, ни паролей и ключей от сервисов, ни рабочей базы данных, ни персональных данных ваших пользователей. Достаточно копии кода.

  • Ключ к вашему git может остаться в вашей сети — перенос делает небольшой агент у вас
  • Рабочая база не нужна: данные для тестов создаются по её структуре
  • Наши исполнители работают вне вашей сети — запустить их со снятыми ограничениями нельзя
  • Копирование одностороннее, в основную ветку ничего не попадает без вашего решения
  • Изоляция по организациям, доступ по ролям, вход по двум факторам или через ваш SSO
  • GitHub, GitLab, Bitbucket, Gitea — в том числе серверы внутри вашей сети
ВАША СЕТЬисходный gitрабочая базаключи и паролисерверыперсональные данныеваши стендывсё это остаётся у васкопия кодаBuffсреды, тесты, проверка — здесьтолько вашим решением

← прокрутите схему →

Возражение 06

«Оплата за потребление — это открытый счётчик. Я обязан защищать бюджет»

Особенно сейчас, когда любая новая статья расходов проходит через обоснование.

Вы платите за сделанную работу, а не за лицензии и рабочие места

Счёт приходит за выполненные задачи. Подключение людей ничего не стоит, годового договора нет. Списывается только то, что внесено на счёт: новая работа при нулевом остатке не запускается. Задачу можно остановить в любой момент и продолжить позже: готовые части не пересчитываются.

Расход по задачам и этапам
Видно, куда ушли деньги: подготовка, разработка, проверка, аудит — по каждой задаче. Юрлицам и ИП — оплата переводом по реквизитам и закрывающие документы.

Возражение 07

«Куплю я, а пользоваться должна команда. Она не будет»

Инструмент, который «делает работу разработчиков», вызывает тихий саботаж. Через два месяца инициатива умирает.

Инженер занимается тем, что хочет делать сам. Остальное закрывается

Начните с задач, за которые никто не берётся: мелкий долг, обновления, тесты на старый код. Инженер отдаёт то, что откладывал третий месяц, и остаётся в роли того, кто ставит и принимает. Видно, кто и сколько задач передаёт и как проходит приёмка, — затухание заметно сразу, а не через квартал.

01

Отдайте давно отложенную задачу

Ту, которую нельзя поручить новичку, а отвлекать сильного жалко.

02

Утвердите задание

Система задаст уточняющие вопросы и покажет границы правок и критерий приёмки.

03

Примите результат

Готовое изменение с замечаниями проверяющей модели. Одобрить или вернуть.

Возражение 08

«А если вы закроетесь через год?»

Молодой поставщик — риск. Что останется мне, кроме кода?

Всё, что мы производим, остаётся у вас

Каждое изменение приходит вместе с заданием и объяснением решений — не по запросу при расставании, а на каждой задаче. Разборы проекта и исследования выгружаются в вашу базу знаний в любой момент. Права на код принадлежат вам.

Задание к задаче
Код, написанный здесь, документирован лучше, чем код, написанный людьми: зачем сделано, что затронуто, как проверялось.

Остальные вопросы

Коротко о том, что спрашивают дальше

Что происходит в первые полчаса?

Подключаете репозиторий — вопросы по коду работают сразу, ответ за минуты. Разбор проекта запускается отдельно и занимает 2–8 часов, а подготовка среды и тестов для тяжёлого проекта — до нескольких дней. Всё это время вопросы по коду уже доступны.

Команда продолжает работать в том же репозитории. Не разъедется?

Копия обновляется по вашей команде. Если основная ветка ушла вперёд, задача вливает её в себя перед слиянием и устраняет расхождения. Конфликты разрешаются автоматически.

Разбор проекта устареет через месяц?

В каждом разделе видно, сколько коммитов назад он сделан; при сильном устаревании система предупреждает. Обновить можно точечно один раздел — правила меняются сразу.

Что вы точно не сделаете?

Не выбираем архитектуру — это решение ваших инженеров, передайте его как требование. Крупные новые возможности продукта пока отдавать не советуем: результат непредсказуем, и мы говорим об этом заранее.

Кто отвечает, если изменение сломает работу?

Решение принимает человек: изменение попадает в основную ветку только после утверждения вашим инженером. Мы отвечаем за то, чтобы к моменту утверждения были задание, автоматическая проверка, зафиксированные границы и объяснение решений.

Сколько задач одновременно?

До ста подзадач параллельно, запас расширяется под нагрузку за несколько часов — в том числе по вашему запросу. Число задач на проект не ограничено.

Первый шаг ничего не меняет в коде

Начните с вопроса о своём проекте

Подключите репозиторий и спросите систему, как устроен ваш код: она читает исходники и отвечает за минуты, ничего не меняя. Первую задачу вы отдадите уже с пониманием того, как система читает ваш проект. На знакомство даётся стартовый баланс.

Юрлицам и ИП — оплата переводом по реквизитам и закрывающие документы