OpenAI недавно выпустили Android-приложение Sora; по классике, сначала вышла iOS-версия, и затем через какое-то время команда допилила для нас, работяг. Вот только OpenAI сделали приложение командой из 4 человек и всего за 4 недели благодаря Codex Max — и поделились своей историей в блоге. Мне кажется, там много интересного. Например, суммарно потратили 5 миллиардов токенов — это примерно $45k, по $2500 в неделю на человека 😨 (но это +-покрывается подпиской за $200).
Разработка приложения такого масштаба и качества обычно требует работы множества инженеров в течение нескольких месяцев, и этот процесс неизбежно замедляется из-за необходимости координации; добавление новых инженеров часто снижает эффективность из-за роста накладных расходов.
Но процесс разработки точно нельзя назвать вайб-кодингом — очевидно нужно придерживаться тех же стандартов надежности и масштабируемости, которые ожидаются от обычного проекта.
OpenAI начали проект с огромным преимуществом: Sora уже была выпущена на iOS. С учётом этого, ключевым моментом было то, что инженеры предварительно:
— задизайнили / адаптировали архитектуру и трейдоффы
— проработали модульность и навигацию по вкладкам
И сами руками реализовали аутентификацию и базу сетевого протокола. На этом фундаменте они добавили несколько показательных фич и задали правила, которым должна следовать вся кодовая база. Плюс документировали паттерны проекта по ходу дела.
А вот затем уже запустили Codex, указывая на эти примеры, что позволило ему работать более независимо и в рамках стандартов. Тщательно спланированный фундамент позволил избежать дорогостоящих переделок и рефакторинга. Это было одно из самых важных решений — и по итогу Codex написал.... 85% кода👍 Dario-то был прав 🙂
Почему это хорошо работает? Есть много «правильных» способов написать код. Но не нужно говорить Codex, что именно делать; нужно было показать ему, что считается «правильным» в конкретной команде и в проекте.
Как пример: просить Codex «создать вот такой вот экран настроек» почти без контекста — это плохо, результат не гарантирован. А вот «создать этот экран настроек, используя ту же архитектуру и паттерны, что и вот этот другой экран, который ты только что видел» работает намного лучше. Люди принимали структурные решения и устанавливали правила; Codex затем заполнял большие объемы кода внутри этой структуры.
Способность Codex писать код освободила инженеров от большого объема ручного набора текста. У них появилось больше времени, чтобы думать об архитектуре, внимательно читать пулл-реквесты и тестировать приложение. «Бутылочное горлышко» в разработке сместилось с написания кода на принятие решений, предоставление обратной связи и интеграцию изменений.
И самое главное: разработка с помощью ИИ не снижает потребность в строгости и тщательности; она её повышает.
Разработка приложения такого масштаба и качества обычно требует работы множества инженеров в течение нескольких месяцев, и этот процесс неизбежно замедляется из-за необходимости координации; добавление новых инженеров часто снижает эффективность из-за роста накладных расходов.
Но процесс разработки точно нельзя назвать вайб-кодингом — очевидно нужно придерживаться тех же стандартов надежности и масштабируемости, которые ожидаются от обычного проекта.
OpenAI начали проект с огромным преимуществом: Sora уже была выпущена на iOS. С учётом этого, ключевым моментом было то, что инженеры предварительно:
— задизайнили / адаптировали архитектуру и трейдоффы
— проработали модульность и навигацию по вкладкам
И сами руками реализовали аутентификацию и базу сетевого протокола. На этом фундаменте они добавили несколько показательных фич и задали правила, которым должна следовать вся кодовая база. Плюс документировали паттерны проекта по ходу дела.
А вот затем уже запустили Codex, указывая на эти примеры, что позволило ему работать более независимо и в рамках стандартов. Тщательно спланированный фундамент позволил избежать дорогостоящих переделок и рефакторинга. Это было одно из самых важных решений — и по итогу Codex написал.... 85% кода
Почему это хорошо работает? Есть много «правильных» способов написать код. Но не нужно говорить Codex, что именно делать; нужно было показать ему, что считается «правильным» в конкретной команде и в проекте.
Как пример: просить Codex «создать вот такой вот экран настроек» почти без контекста — это плохо, результат не гарантирован. А вот «создать этот экран настроек, используя ту же архитектуру и паттерны, что и вот этот другой экран, который ты только что видел» работает намного лучше. Люди принимали структурные решения и устанавливали правила; Codex затем заполнял большие объемы кода внутри этой структуры.
Способность Codex писать код освободила инженеров от большого объема ручного набора текста. У них появилось больше времени, чтобы думать об архитектуре, внимательно читать пулл-реквесты и тестировать приложение. «Бутылочное горлышко» в разработке сместилось с написания кода на принятие решений, предоставление обратной связи и интеграцию изменений.
И самое главное: разработка с помощью ИИ не снижает потребность в строгости и тщательности; она её повышает.