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

Источник: https://www.youtube.com/watch?v=KPBVND7iOzg
Канал: The Cognitive Revolution
Опубликовано: 12.03.2024

---

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

## 🚀 Путь от генерации к целостности кода
[[JUMP:05:46]]

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

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

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

*   Автоматическое создание спецификаций для существующего кода.
*   Проверку соответствия кода бизнес-логике (например, тикетам в Jira).
*   Соблюдение лучших практик и внутренней культуры разработки конкретной компании [09:50].

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

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

*   Проектирование архитектуры и обдумывание дизайна системы.
*   Поддержку legacy-кода и его рефакторинг [12:44].
*   Интеграцию в производственные среды и исправление багов.
*   Коммуникацию с командой для уточнения требований [02:52].

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

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

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

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

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

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

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

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

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

*   **Эффективность:** В то время как оригинальный AlphaCode требовал до 1 миллиона вызовов модели (inference) для решения одной задачи, AlphaCodium обходится примерно 100 вызовами [59:48].
*   **Результативность:** На задачах платформы CodeForces система достигла точности, сопоставимой с 90-м перцентилем участников-людей в валидационной выборке [1:15:18].
*   **Универсальность:** В отличие от AlphaCode 2, модель для AlphaCodium не дообучалась (fine-tuning) специально под условия конкурса, что делает подход применимым к реальным бизнес-задачам [58:53].

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

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

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

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

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

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

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

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

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

*   **Глубокий контекст:** ИИ должен понимать не только один файл, но и весь репозиторий (иногда это 10 миллионов строк кода), учитывая зависимости и историю изменений [43:09].
*   **Безопасность:** Переход к модели «Zero Data Retention» (нулевое хранение данных), когда контекст вычисляется «на лету» без индексации и сохранения кода клиента в облачных базах данных ИИ-провайдеров [45:08].
*   **Активная роль:** Вместо того чтобы ждать запроса от разработчика, ИИ будет проактивно предупреждать: «Твой текущий код нарушает логику, описанную в тикете Jira вчера вечером» [38:09].

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