Итамар Фридман: «Написание кода — это лишь 30% работы программиста»

The Cognitive Revolution 1 тыс. 1 ч 25 мин 5 мин 12.03.2024
Главное

В новом эпизоде подкаста The Cognitive Revolution Натан Лабенц обсуждает будущее разработки программного обеспечения с Итамаром Фридманом, сооснователем и CEO компании Codium AI. В центре дискуссии — переход от простой генерации кода к обеспечению его «целостности» (integrity), а также революционный подход «Flow Engineering», который позволил небольшому стартапу превзойти результаты DeepMind и OpenAI в решении сложнейших задач по программированию.

🚀 Путь от генерации к целостности кода 5:46

История Codium AI началась в конце 2022 года, в период, который Итамар Фридман иронично называет «BC» (Before ChatGPT — до появления ChatGPT) . На тот момент мир уже видел первые успехи GitHub Copilot, но Итамар и его команда осознали, что простая дописка строк кода — это лишь «минимально желаемый жизнеспособный продукт» (MPVP) в сфере ИИ-инструментов для разработчиков .

По мнению гостя, простая генерация кода скоро станет товаром широкого потребления (commoditized), доступным в любой IDE или даже локально . Настоящая ценность кроется в том, что разработчики обычно ненавидят больше всего: тестировании, проверке соответствия спецификациям и код-ревью.

Именно поэтому компания сфокусировалась на концепции «Code Integrity» (целостность кода). В отличие от простого тестирования, целостность подразумевает:

📉 Проблема «30%»: почему написание кода — лишь верхушка айсберга 10:19

Одним из ключевых инсайтов Итамара стало понимание того, на что на самом деле тратят время программисты. В крупных компаниях (от 50 до 500+ разработчиков) непосредственное написание «чистого» кода занимает не более 30% рабочего времени . Остальные 70% уходят на:

Итамар Фридман утверждает, что существующие ИИ-ассистенты (coding agents) часто фокусируются на создании новых проектов с нуля — например, простых сайтов с формой регистрации . Однако в реальной индустрии код становится «наследием» уже через неделю после написания, и основные усилия направлены на его изменение и развитие без потери надежности.

🛠️ Codium AI: продукт для реальной разработки 18:29

На текущем этапе Codium AI уже обслуживает сотни тысяч разработчиков . Продукт представлен в виде расширений для VS Code и IDE от JetBrains (последние, по словам Итамара, показывают даже более быстрый рост в корпоративном сегменте ).

Среди ключевых функций продукта участники обсудили:

  1. Generate Tests: Система анализирует код и предлагает десятки сценариев поведения, на основе которых строятся тесты .
  2. Enhance / Improve: Инструмент предлагает улучшения кода, которые можно настраивать под конкретные правила репозитория. Например, можно задать правило запрета использования старого API, и ИИ будет автоматически предлагать замену на новое при каждой попытке вызова устаревших функций .
  3. PR Agent: Инструмент для работы с pull-запросами в Git, который помогает описывать изменения, находить баги и автоматизировать рутинную проверку кода перед слиянием .

Итамар подчеркивает важность концепции «DRY by AI» (Don't Repeat Yourself — не повторяйся). Идея в том, чтобы ИИ помогал синхронизировать описание задачи в Jira, сам код и тесты к нему, избавляя человека от необходимости трижды прописывать одну и ту же логику в разных форматах .

🧠 Исследование AlphaCodium: как победить DeepMind и OpenAI 52:19

В начале 2024 года команда Codium AI опубликовала исследование AlphaCodium, которое вызвало резонанс в сообществе (его отметил даже Андрей Карпатый ). Используя бенчмарк CodeContests от Google DeepMind, стартап смог значительно превзойти результаты оригинального AlphaCode и модели GPT-4 от OpenAI .

Основные достижения AlphaCodium:

🌊 Flow Engineering: новая парадигма работы с LLM 1:01:05

Главный секрет успеха AlphaCodium заключается не в «промпт-инжиниринге» (написании идеального запроса), а во «Flow Engineering» (инжиниринге рабочих процессов) .

Итамар Фридман сравнивает этот подход с концепцией Дэниела Канемана «Система 1 и Система 2». Большинство современных ИИ-инструментов работают в режиме «Системы 1» (быстрое, интуитивное дополнение текста). Flow Engineering переводит ИИ в режим «Системы 2» — медленного, поэтапного рассуждения .

Процесс AlphaCodium разбит на четкие этапы:

  1. Рефлексия над задачей: ИИ переформулирует задачу на техническом языке, прежде чем писать код .
  2. Генерация стратегий: Поиск нескольких концептуальных подходов к решению без реализации .
  3. Создание тестов: Генерация дополнительных граничных случаев (edge cases), которые не были указаны в условии .
  4. Итеративная разработка: Написание кода, его запуск в реальной среде, получение ошибок и самокритика до тех пор, пока тесты не будут пройдены .

Важный урок AlphaCodium: ИИ часто ошибается в тестах так же, как и в коде. Система учится отличать ошибку в коде от ошибки в самом тесте, создавая «якоря» из проверенных, достоверных утверждений .

🔮 Будущее: ИИ как виртуальный член команды 1:20:49

Заглядывая в будущее, Итамар прогнозирует, что ИИ перестанет быть просто «умным поиском» внутри редактора . Цель Codium AI — создать «виртуального члена команды» .

Основные черты такого будущего:

В завершение Итамар отметил, что даже если качество кода, генерируемого ИИ, сейчас вызывает споры (некоторые исследования говорят о росте технического долга), переход к «Системе 2» и глубокой проверке целостности решит эти проблемы уже к концу 2024 года .

💬 Цитаты

«Очень скоро даже для сложных программ мы увидим более высокое качество кода от ИИ, чем от человека, действующего в спешке.»

Итамар Фридман 00:00

«Виртуальный член команды не может просто писать код без тестирования и понимания глубокого контекста.»

Итамар Фридман 21:59

«Написание кода занимает гораздо меньше 30% времени — об этом говорят многие исследования.»

Итамар Фридман 11:12
👥 Спикеры
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
Flow Engineering
Подход к разработке ИИ-систем, где сложная задача разбивается на последовательность этапов с проверками и обратной связью.
Code Integrity
Совокупность практик, обеспечивающих соответствие кода требованиям, его надежность и отсутствие багов.
Zero Data Retention
Политика безопасности, при которой данные (код клиента) не сохраняются на серверах провайдера после обработки запроса.
Legacy-код
Старый код, который продолжает работать в системе, но его сложно поддерживать или изменять.
📊 Цифры
🗓 Хронология
  1. Август 2022 Итамар Фридман видит первые успехи GitHub Copilot и начинает планировать создание Codium AI.
  2. Конец 2022 Основание Codium AI (период до выхода ChatGPT).
  3. Январь 2024 Публикация исследования AlphaCodium и достижение результатов на уровне 90-го перцентиля в программировании.
⚖️ Другая сторона
Искусственный интеллект Итамар Фридман Codium AI AlphaCodium Flow Engineering Code Integrity