Transcription
Всем привет. Сегодня у нас, ну, такая довольно горячая тема. Инструменты на базе ИИ для разработчиков. Их как раз показывали на недавнем OpenAI DevDay. И, похоже, нас ждёт, ну, такой серьёзный сдвиг.
Да, точно. Сдвиг в том, как код пишется, как проверяется, ну, и даже как исправляется. Потом мы посмотрели, значит, запись живой демонстрации. Там основатели нескольких стартапов показывали свои штуки.
Угу. И это, знаешь, уже не просто какие-то разговоры там про ИИ-кодинг, а вполне конкретные инструменты. Они обещают, как там было сказано, умножить продуктивность на 10, особенно для небольших команд.
Да, вот это "умножить на 10" звучит громко.
Ну да. Источник у нас по сути один — это запись с DevDay. Так что будем отталкиваться от того, что там увидели и услышали. Вот именно наша задача сегодня — разобраться, что это вообще за инструменты, как они там работают. Ну и главное, что это всё может значить для разработчиков, для индустрии. Ну что, давай погрузимся.
Давай. Начать предлагаю с Warp. Его представлял основатель Зак Лойд. Они, значит, взяли за такую, ну, амбициозную задачу,
Да? Как заставить ИИ-агентов нормально работать с большими, ну, такими серьёзными кодовыми базами, с которыми вот профессионалы работают каждый день?
Именно.
Да, это же ключевая проблема. Одно дело, ну, сгенерить какой-то код в вакууме, да, а другое — взять и внести какое-то осмысленное изменение в проект, где миллион строк кода. Как они там показывали на примере самого Warp, он же на Rust написан.
Миллион строк. Серьёзно?
Ну да. Они называют свою разработку "агентная среда разработки". Звучит, конечно, так немножко, мм, футуристично, но по сути это как бы попытка взять лучшее от терминала, ну, командной строки, и от IDE — среды разработки — и объединить всё в одном интерфейсе, где ты с компом общаешься в основном через ИИ-агента.
То есть не сам пишешь командой или код, а говоришь агенту, что делать, ну, или пишешь ему, как это в демо было.
А там Зак Лойд буквально голосом дал команду агенту. Говорит: "Измени интерфейс нашего же приложения Warp". Нужно было, значит, QR-код подвинуть и добавить кнопку "копировать ссылку".
Прямо голосом.
Да, он ещё скриншот прикрепил, типа, вот здесь меняй. И прямо видно было, как агент такой начинает код предлагать, прямо изменения в файлах, а разработчик в это время смотрит, может комментить, может откатить что-то или даже сам подправить руками. Там упор был на то, что итерации очень быстрые. И это всё на реальной, сгенерированной кодовой базе, не на игрушечном примере.
Именно миллион строк Rust-кода. Это как раз показывает, что они метят в настоящие промышленные проекты. И был, кстати, любопытный момент. Агент, когда правил код, сам ошибку компиляции сделал, а потом сам же попытался её исправить.
А, то есть он не идеальный?
Ну да. Это вот как раз показывает интерактивность. Ты не просто ждёшь результат, а как бы работаешь вместе с агентом, который может и ошибиться, и исправиться. Ну и да, упоминали, что под капотом у этого агента GPT-5.
О'кей. Значит, Warp помогает писать код в больших проектах. Но слушай, когда код написан, особенно если его ИИ генерил, там же другая проблема встаёт, да? Ревью.
Ох, да. Ревью этого кода.
Люди же могут просто захлебнуться в этом потоке.
Совершенно верно. И это вот как раз та самая боль, за которую взялся Code Rabbit. Его представлял Харша Гил. Они так и сказали: "ИИ сам создаёт вот это узкое место на этапе ревью. Старшие разрабы просто тонут, проверяя код, который нагенерили младшие коллеги или ИИ-помощники".
И что предлагает Code Rabbit?
Они себя позиционируют как такой, ну, критический слой доверия или шлюз качества перед тем, как код уедет в продакшн.
Тоже ИИ? Как он работает?
Да, но он работает в фоне. Его просто встраивают в CI/CD pipeline, ну, в автоматизацию сборки, тестов, вот этого всего.
То есть он сам запускается?
Да. Разработчик делает пул-реквест, ну, предлагает изменения, а Code Rabbit автоматом включается и анализирует. Ничего жать не надо. У них там масштаб уже, кстати, приличный — сотни тысяч пользователей, миллионы PR проверили.
А что он умеет? Ошибки ищет или что-то ещё?
Гораздо больше. Там в демке показывали несколько вещей. Во-первых, он сам пишет краткое описание изменений, ну, типа для ревьювера, чтобы быстро понять, что к чему.
Удобно.
Да. Во-вторых, если там какая-то новая сложная логика появилась, он может диаграмму последовательности нарисовать, чтобы визуально было понятнее.
Ого.
Ну и в-третьих, самое, пожалуй, главное — он пишет комментарии прямо к строчкам кода с конкретными предложениями: "Вот тут можно улучшить", "Вот тут потенциальная ошибка". И это выглядит, ну, очень похоже на то, что написал бы опытный человек.
Прямо как живой ревьюер.
Почти. И фишка в том, что предложенные им исправления можно принять одним кликом прямо в интерфейсе GitHub, например.
Звучит круто. А что там ещё было про передачу эстафеты? Я запомнил фразу.
А, да, это любопытная идея про взаимодействие между разными ИИ-инструментами. Смотри, Code Rabbit нашёл проблему, предложил, как исправить, и он может сам сгенерировать промпт, то есть запрос для другого ИИ, например, для того же Warp.
Чтобы тот внёс правку.
Именно. Получается такой замкнутый цикл, как бы один пишет, другой проверяет, потом первый исправляет по замечаниям второго.
Хмм, интересно. Но слушай, как он понимает контекст всего проекта? Часто же проблемы не в самом изменённом файле, а где-то рядом, из-за связей.
Вот это как раз, по их словам, их сильная сторона — контекст. Code Rabbit анализирует не только сам изменённый код, но и то, что они называют "граф кода".
Граф кода — это как?
Ну, это все связи между разными частями программы. Какие функции что вызывают, какие классы используются. Он подтягивает определения из других файлов, чтобы, ну, понять общую картину.
Понятно.
Плюс команды могут ему свои правила задавать: стандарты кодирования, какие-то лучшие практики, принятые в компании, что-то специфичное для проекта. Но самое, пожалуй, интересное — это агентная верификация.
Так, а это что такое "агентная верификация"? Звучит сложно.
Ну, смотри, ИИ-агент не просто тупо смотрит на строчки кода, он как бы исследует его. Как человек-ревьюер стал бы делать, он может сам выполнять команды поиска по коду. Ну там `grep` или `ack` — стандартные утилиты такие.
Зачем?
Чтобы проверить свои гипотезы или найти потенциальные проблемы там, где код вообще не менялся в этом пул-реквесте. Например, поменяли какую-то функцию, он может пойти и поискать все места, где она используется, и проверить, не сломалось ли там чего. Понимаешь?
Ага.
То есть он пытается отловить такие побочные эффекты, эффект домино.
Именно. Вот это помогает отсеять всякий шум, ну, поверхностные замечания и копнуть глубже, найти неочевидные регрессии.
Мощно.
И ещё фича — совместное обучение. Команда может как бы доучивать Code Rabbit, поправлять его комменты, добавлять инфу про специфику проекта, ну, то, что называют "приватными знаниями". И со временем ревью должны становиться точнее. Кстати, основатель сказал, что когда они на GPT-5 перешли, качество ревью подскочило аж на 70%.
70%? Ничего себе.
Да. Потому что ревью, оно же требует сложных рассуждений, не просто текст или код сгенерить.
Ясно. Так, Code Rabbit — это про качество кода. Но следующий инструмент, Charlie Labs, кажется, идёт ещё дальше в плане интеграции ИИ в команду. Рали Томас его представлял. Идея, я так понял, уже не просто помощник, а прямо член команды, автономный.
Да, именно так они его и позиционируют. Полностью автономный TypeScript-инженер. Вот ключевое отличие: смотри, Warp работает у тебя в редакторе по команде. Code Rabbit реагирует на PR. А Charlie — он как бы проактивный, и он общается с командой через обычные инструменты: GitHub для кода, Linear для задач.
Linear — это таск-трекер?
Да, популярный. И Slack для общения.
Проактивный, в смысле, он сам решает, что ему делать?
Ну, в каком-то смысле, да. Вот в демо был сценарий: "Charlie видит ошибку в Sentry". Sentry — это система мониторинга ошибок в продакшене.
Знаю, да. Вот Charlie сам лезет в репозитории, находит код, связанный с этой ошибкой, сам создаёт задачу в Linear, сам себе её назначает и сам пишет код для исправления и делает пул-реквест.
То есть реально весь цикл от бага до фикса.
Похоже на то. Был и другой пример. Команда в Slack обсуждает новую фичу — тёмную тему для приложения. И человек пишет: "Charlie, создай тикет в Linear".
И он создал.
Создал. А потом сам написал код для этой тёмной темы, сделал PR, запустил тесты. И самое смешное, он потом сам сделал ревью своего же PR.
И нашёл ошибку.
И сам у себя?
Да. Он там использовал `default` экспорт вместо `named` export, а это противоречило каким-то их внутренним правилам проекта. И он сам же в комменте это указал.
Вот это да. Самокритичный ИИ. А на замечания людей он реагировал?
Да. Там был момент, человек в PR написал коммент, попросил что-то доработать. Charlie учёл фидбэк и обновил PR. Это вот реально создаёт ощущение, что ИИ — ну, такой коллега, который берёт на себя часть работы, рутинный, но важный: тикеты создать, тесты запустить, баги пофиксить, первичное ревью сделать.
И, как я понял, это упрощает параллельную работу.
Ну да, основатель про это говорил. Один сам разбирается с ветками в Git, с созданием PR. Это часто бывает муторно руками делать, особенно если ты над несколькими задачами параллельно работаешь.
Это, конечно, сильно меняет динамику в команде. Прямо интересно, к чему это приведёт. Ладно, у нас остался ещё один инструмент — Please Fix от GMDF. Дени Грант его показывал. И тут фокус, кажется, уже не на сложном коде, а на таких быстрых визуальных правках.
Точно. Проблема, которую они решают, ну, многим знакомо. Есть сайт или веб-приложение рабочее, и надо поправить какую-то мелочь в интерфейсе. Текст не тот, отступ кривой, цвет кнопки не нравится, картинка мала.
О, да, вечная история.
Да, часто это вообще не критично, но всё равно дёргать разработчика надо, а у него своих задач полно. Вот Please Fix предлагает дать возможность такие штуки править прямо на живом сайте тем, кто обычно код не трогает: дизайнерам, менеджерам, маркетологам, да хоть основателям.
То есть браузер превращается в редактор сайта. Прям мечта для многих low-code/no-code. Как это выглядело?
Демо было прямо на их собственном сайте GMDF. Дени Грант просто кликал на текст и начинал его редактировать прямо на странице, как в Word. Потом менял стили: жирность, размер, цвет. И вот что важно — он использовал существующие токены из их дизайн-системы.
Токены?
То есть предопределённые стили, да? Цвета, шрифты, отступы, которые уже заложены в проект. Это чтобы все правки выглядели консистентно, в едином стиле с сайтом.
Понятно. А что-то сложнее текстов и стилей можно было?
Да, он ещё команды давал и агенту прямо естественным языком. Сказал, например: "Сделай этот QR-код на 30% больше", и код реально стал больше. Или там: "Добавь CSS-анимацию вот к этим картинкам при скролле", и анимация появилась.
Просто словами.
Да. Но самое, по-моему, впечатляющее было — он взял скриншот раздела FAQ из Figma. Ну, Figma — это где дизайн рисуют.
Да, знаю. Загрузил этот скриншот, и агент сгенерил и добавил этот раздел на реальную страницу сайта, используя существующие компоненты и стили сайта.
Ого. То есть дизайнер нарисовал, сделал скрин — и бац, оно на сайте.
Ну, по крайней мере, для относительно простых блоков, как вот этот FAQ в демо, это сработало. Главная идея тут — ускорить вот эти мелкие визуальные итерации, дать больше свободы творчеству неразработчикам. Дени Гран там слово "vibe" использовал, ну, типа, чтобы ловить момент, быстро пробовать идеи и освободить разработчиков для чего-то более серьёзного.
Да, при этом он подчеркнул, что код, который генерится, остаётся чистым, потому что инструмент старается использовать то, что уже есть на сайте: классы CSS, например, или готовые компоненты.
Интересно, что он сказал, будто они пытались такое сделать лет пять назад, но не вышло. А сейчас получилось?
Да, видимо, благодаря моделям типа GPT-5 и Codex, это показывает, насколько модели продвинулись в понимании именно контекста веб-страницы, структуры, стилей и в генерации адекватного кода.
Ну и в целом, мне кажется, это подводит нас к такому общему выводу из всех этих демок.
Давай попробуем. Значит, Warp — пишем код. Code Rabbit — ревью. Charlie Labs — автономный коллега. И Please Fix — визуальные правки для всех. Какая общая картина-то вырисовывается?
Мне кажется, основной момент — это то, что ИИ выходит от каких-то абстрактных возможностей к очень конкретным инструментам, которые вот прямо встраиваются в реальный рабочий процесс разработчика и решают очень насущные проблемы.
Причём проблемы, которые сам же ИИ и усугубил, как с ревью кода.
Да, вот это иронично. То есть мы видим уже не просто "нажми кнопку — получи код", а попытку выстроить целую экосистему ИИ-инструментов для управления всем жизненным циклом разработки: от идеи до продакшена и обратно к исправлению багов.
И это, конечно, огромные возможности даёт, особенно небольшим командам. Такое усиление ресурсов получается.
Безусловно. Но тут ещё один важный аспект, мне кажется, прослеживается — это размывание традиционных ролей.
В смысле?
Ну, например, то, что Code Rabbit даёт возможность дизайнерам и менеджерам напрямую код трогать, как Please Fix. Это же фундаментально меняет привычную структуру команды, взаимодействие внутри неё.
Да, и, конечно, скорость. Все они нацелены на ускорение.
Скорость, да, это очевидный эффект, но я бы сказала, не менее важна и вот эта новая форма коллаборации между людьми и ИИ, между разными ИИ-инструментами. Помнишь, Code Rabbit и Warp?
Ага. Эстафета.
Да, и между разработчиками и неразработчиками потенциально. Это может убрать многие вот эти затыки, задержки в процессе.
Так что будущее разработки уже здесь. Скоро все будут просто команды ИИ раздавать.
Ну, не так быстро, наверное, но вектор эти инструменты точно задают. И они ставят перед нами, ну, такой очень интересный вопрос. Он уже выходит за рамки нашего сегодняшнего разбора, но над ним стоит подумать.