Внутри агентной «фабрики софта» OpenAI
@ai_longreadsГлубокий разбор того, как Codex «захватил» OpenAI, как фронтирная лаборатория строит свою агентную фабрику программного обеспечения и какие инженерные вызовы несёт миллиард пользователей. Детали изнутри OpenAI
Это AI-перевод статьи, сделанный каналом Про AI: Лучшие Статьи и Исследования.
Внутри агентной «фабрики софта» OpenAI
Inside OpenAI's agentic software factory Автор: Gergely Orosz Оригинальный текст:
Редко кому доводится работать с неограниченным бюджетом на токены (токены, единицы текста), но в OpenAI именно так живут все инженеры, исследователи, финансисты и маркетологи. Недавно я посетил одну из ведущих мировых фронтирных лабораторий, чтобы узнать, как OpenAI функционирует сегодня — и заглянуть туда, куда движется профессия разработчика программного обеспечения.
Многое изменилось с тех пор, как я в прошлом году побывал в штаб-квартире OpenAI. За год Codex превратился из «приятного дополнения» в фундамент буквально всего в компании.
Чтобы разобраться подробнее, я поговорил с семью инженерными руководителями и инженерами: Венкатом Венкатарамани (вице-президент по инженерии, Applied Infra), Сулманом Чаудри (руководитель инженерии, ChatGPT), Эндрю Амброзино (лид, десктоп-приложение), Джо Гершенсоном (лид, команда Core Agent), Акшаем Нейтаном (инженерный лид, Productivity), Ахмедом Ибрагимом (инженер, Codex) и Стивом Коффи (инженер, Responses API). Спасибо всем за участие!
Сегодня мы разберём:
- Codex захватывает OpenAI. За считанные месяцы почти все не-инженеры OpenAI перешли на Codex и ChatGPT Work — без каких-либо директив сверху.
- Смерть IDE и pull request'ов. Использование IDE падает с января, когда резко вырос Codex. PR'ы и код-ревью нуждаются в переосмыслении.
- Агентная «фабрика софта» OpenAI. OpenAI построила «фабрику программного обеспечения» с несколькими автоматизированными агентными петлями обратной связи: например, Perf Factory мониторит продакшен и запускает агентов Codex для автоматического исправления проблем с производительностью.
- Как меняются инженерные инструменты и практики. Внутренние инструменты, созданные вручную, постепенно вытесняются Codex, который всё чаще предпочитают для отладки вместо специализированных инструментов. Эффективность harness (оболочки агента) критически важна в «фабриках софта».
- Инженерия на миллиард пользователей: как OpenAI масштабирует инфраструктуру. Сначала покупают, потом забирают внутрь. А также географическое распределение инфраструктуры, тактики и вызовы планирования мощностей.
- Повышение надёжности и производительности API OpenAI. CPU становятся узким местом, намеренно замедлённые деплои и решение проблем с нагрузкой.
- Как меняется профессия разработчика. Инженерные специализации размываются, суждение и инициативность становятся важнее, и теперь достаточно одного-двух инженеров, чтобы успешно справиться с ранее «невозможными» переписываниями и миграциями.
1. Codex захватывает OpenAI
Главный вывод от моего визита в штаб-квартиру компании: Codex — а в последнее время Codex и ChatGPT Work — захватили буквально всё, начиная примерно с января. Лид десктоп-приложения Эндрю Амброзино рассказал мне:
>
График использования токенов ниже показывает этот резкий скачок внедрения:
Использование Codex с августа 2025 года в OpenAI по департаментам. Источник: [OpenAI](https://openai.com/index/how-agents-are-transforming-work/)
За четыре месяца не-инженерные подразделения вроде финансов, рекрутинга и юридического отдела перешли от ~0% использования Codex к 90%. Теперь почти все сотрудники OpenAI еженедельно пользуются Codex и ChatGPT Work. Что же произошло?
OpenAI выпустила приложение Codex для Mac в феврале и для Windows в марте, а ChatGPT Work (работающий на harness Codex) — в июле. После этого не-инженеры перевели все свои рабочие процессы на Codex, а затем на Work. Оговорка: внутренняя версия Codex в OpenAI значительно более продвинута, чем внешняя, потому что она подключена практически ко всем системам OpenAI — аналогично тому, как [AI-агент Inspect от Ramp](https://newsletter.pragmaticengineer.com/p/why-ramp-built-inspect) был интегрирован во всё.
Самое интересное: OpenAI достигла почти 40% внедрения среди не-инженерных команд в тот момент, когда приложение Codex было враждебным по отношению к не-инженерным пользователям (его было сложно использовать). С февраля по апрель Codex всё ещё показывал код на экране, но даже так, нетехнические коллеги за пределами инженерии всё равно его использовали, потому что он мог выполнять сложную работу: исследования и создание презентаций, документов, таблиц или задач, которые дают сложный результат. Сегодня эти люди — очень активные пользователи.
Способность дольше работать над более сложными вещами стала драйвером внедрения. OpenAI добавила настройку /goal в Codex, где можно задать цель для агента, и он работает до её достижения. Между апрелем и маем использование подскочило с 60% до 90%. Эндрю считает, что улучшение работы harness с долгими задачами стало одной из причин:
>
«Перехлёст осведомлённости» — ещё одна причина быстрого внедрения, по мнению команды Codex. Как рассказал мне Акшай Нейтан, инженерный лид команды Productivity:
>
Ролевые и командные плагины создаются и распространяются. Ещё одним фактором ускорения стало то, что каждая группа начала распространять полезные ролевые рабочие процессы в виде плагинов. Эндрю объяснил, почему важно не просто предложить универсального кодового агента:
Предметные эксперты встроены в инженерные команды ChatGPT Work. Модели стали «умнее» разработчиков в некоторых областях, поэтому разработчики не могут транслировать «вкус» в harness в этих областях. Поэтому люди, являющиеся экспертами в предметной области, подключаются к инженерным командам. Это следствие того, что ChatGPT Work используется таким множеством не-инженерных направлений: эксперты, встроенные в инженерию, консультируют разработчиков о том, как выглядит хороший слайд-дек, таблица или бизнес-отчёт.
Конечно, предметные эксперты в инженерных командах — это десятилетиями проверенная лучшая практика создания качественных продуктов. Похоже, она переоткрывается в разных контекстах каждые несколько лет!
OpenAI полностью зависит от Codex и Work. Настолько, что при малейшем сбое внутренние сообщения от коллег приходят командам Codex и Work одновременно с автоматическими оповещениями — или даже раньше.
По сути, вся работа идёт через Codex и Work, и практически ничего больше. Со стороны эта зависимость от единого общего harness особенно бросается в глаза: два года назад никаких AI-агентов не было, только продвинутый AI-автокомплит!
2. Смерть IDE и pull request'ов
В конце прошлого года команда Codex колебалась, стоит ли выпускать десктопное приложение Codex. Эндрю вспоминает эти сомнения:
>
>
И действительно, с января использование IDE снижается, и ставка OpenAI выглядит удачной. Впрочем, приложение Codex становится немного больше похожим на IDE: например, возможность редактирования файлов внутри приложения появилась в июне.
CI/CD-системы испытывают огромный рост нагрузки. Один из признаков роста продуктивности от Codex — объём дополнительного кода, проходящего через инженерные инфраструктурные системы OpenAI. Больше создаваемого и пушимого кода создаёт новые проблемы масштабирования, над которыми команда сейчас активно работает. Венкат Венкатарамани, вице-президент по инженерии, Applied Infra, сказал:
>
>
>
В этом контексте PR'ы и код-ревью переосмысляются. Они являются «базовыми примитивами» в разработке программного обеспечения, но такой уровень ускорения разработки — это возможность их переизобрести. Снова Венкат:
>
>
>
Всё более болезненным узким местом становится развёртывание нативных мобильных приложений. Когда pull request'ов в десять раз больше, деплой на бэкенде или вебе и так представляет сложность, и для этого требуется больше инфраструктуры. Затем, после переработки CI/CD-системы и обеспечения достаточной мощности для их работы, вы будете деплоить в продакшен гораздо больше PR'ов.
Эта проблема возникает при отправке обновлений нативных iOS- и Android-приложений, потому что каждое обновление приложения должно пройти процесс ручной проверки Apple и Google, который занимает часы или дни.
В разговоре с Сулманом Чаудри, руководителем инженерии ChatGPT, он объяснил, как узкое место с ревью приложений влияет на скорость итераций. Сулман раньше работал в Facebook и помнит, как соцсеть ускорила выпуск мобильных релизов:
>
>
>
>
Есть определённая ирония в том, что выпуск нативного iOS- или Android-приложения сталкивается с точно такими же проблемами, как в 2008 году, когда был запущен App Store. За 18 лет мало что изменилось! Apple по-прежнему официально не позволяет приложениям обходить процесс ревью App Store для отправки значимых изменений в пользовательский опыт.
3. Агентная «фабрика софта» OpenAI
Идея «фабрики софта» аналогична физическому заводу, где роботы и люди вместе производят автомобили. В контексте программного обеспечения это AI-агенты и люди, производящие софт. Некоторые производственные площадки представляют собой полностью автоматизированные «тёмные фабрики», где освещение не нужно, потому что людей нет. Может ли такой полностью автоматизированный процесс возникнуть в разработке программного обеспечения? Сегодня в OpenAI работает «фабрика софта», и всё построено вокруг Codex.
Вот как выглядел «традиционный» пайплайн разработки программного обеспечения по сравнению с тем, как выглядит агентный инфраструктурный пайплайн OpenAI сегодня, в описании вице-президента по инженерии Applied Infra Венката Венкатарамани:
Агентная «фабрика софта» OpenAI
Пайплайн:
1. Человек-создатель определяет желаемый результат. Инженер-программист или продакт-менеджер формулирует проблему и желаемый результат. Суждение, приоритизация и вкус становятся всё важнее для этой фазы. Интересно, что Венкат рассказал мне: инженеры в OpenAI всё больше становятся похожи на продакт-менеджеров, чем на традиционных системных инженеров.
2. Codex собирает контекст. OpenAI перенесла всю документацию внутрь исходного кода, что облегчает агентам понимание большего объёма кода. Codex также имеет доступ к:
- Git-репозиториям и GitHub
- Slack и Notion
- Внутренним источникам данных: Databricks, Datadog, внутренние логи и т.д.
- Внутренним навыкам Codex — некоторые из которых поддерживаются самой имплементацией Codex OpenAI!
Codex настолько «подключён» к OpenAI, что новым инженерам рекомендуют задавать Codex любые вопросы во время онбординга, потому что он обладает удивительным количеством контекста.
3. Codex реализует изменения в коде. Эта часть достаточно тривиальна: Codex приступает к работе и вносит серию изменений в код, пока не достигнет своей цели, а затем проверяет, что программное обеспечение работает как должно.
4. Сборка и тестирование, затем CI. Агент собирает код, запускает тесты, исправляет код, когда он ломает тест, а затем создаёт pull request. Этот pull request запускает сервер непрерывной интеграции (CI) для выполнения более тщательного набора линтеров и тестов. Агент «нянчит» PR до тех пор, пока он не станет «зелёным», исправляя любые сбои CI и автоматически обновляя PR.
Новое: «perf harness»: агент также использует harness для производительности, чтобы отправлять проблемные PR'ы в фреймворк Synthetics A/B для оценки влияния на производительность. Как упоминалось выше, нагрузка на CI-системы значительно выросла за последние шесть месяцев.
5. Агентное код-ревью. Вместо одного универсального AI-ревьюера кода OpenAI запускает множество агентов, каждый с конфигурацией «доменного специалиста». Венкат рассказал мне, что они рассматривают это как эквивалент того, чтобы человек — эксперт каждой релевантной инфраструктурной команды — ревьюил каждое изменение.
Примечание от Гергея: я скептически отнёсся к заявлению, что агент, которому сказали быть специалистом по облачной инфраструктуре, выдаст ревью, отличное от ревью универсального агента. Однако все агенты Codex имеют полный доступ к коду и документации OpenAI, поэтому этот агент-«эксперт по облачной инфраструктуре», скорее всего, собрал много контекста о настройке и лучших практиках облачной инфраструктуры, что означает, что он должен давать высокоцелевую обратную связь. Важно то, как эти агенты-«доменные специалисты» настроены, какой контекст у них есть, и как они фокусируются только на своей области, чтобы максимально использовать своё ограниченное контекстное окно.
Изменения кода классифицируются по уровню риска. Высокорисковые изменения могут проходить через более строгие процессы; например, они могут вызвать больше AI-ревью кода или потребовать, чтобы человек провёл ревью после завершения работы AI-агентов. Низкорисковые изменения идут по более лёгкому пути; участки кодовой базы могут подключиться к агенту, который автоматически одобряет PR'ы с низким риском, устраняя человеческое одобрение как узкое место и повышая скорость.
Удобная особенность оценки рисков в том, что OpenAI может автоматизировать момент, когда нужен дополнительный вход от compliance: автоматизированный (через другого агента) или человеческое ревью. При таком количестве создаваемых PR'ов было бы просто невозможно для людей ревьюить весь код без помощи.
Как и с CI, кодовый агент «нянчит» комментарии и обновляет PR, исправляя обнаруженные проблемы.
6. Агентный деплой. После того как человек одобряет изменение для выхода в продакшен, ему назначается собственный агент с инструкцией, которую можно резюмировать так:
«Веди это изменение за руку, пока оно не будет безопасно и полностью развёрнуто в продакшен.»
Агенты сопровождают как изменения кода, так и изменения за feature flag'ами. Например, в случае изменения за feature flag агент будет:
- Читать кодовую базу и выяснять, где находится feature flag
- Понимать, что делает изменение
- Решать, какие сигналы указывают на успех и на неудачу
- Строить собственный дашборд мониторинга — это довольно впечатляющее улучшение и нечто новое для меня
- Наблюдать за релевантными продакшен-сигналами и своими дашбордами
Долгосрочная цель OpenAI — иметь что-то вроде «автономного SRE (инженера по надёжности) на каждое изменение» в виде агента, который может деплоить практически автономно.
7. Наблюдение за продакшеном. Инструменты, отслеживающие производственную систему:
- Дашборды, сгенерированные агентом на предыдущих этапах
- Внутренний стек наблюдаемости OpenAI, включающий множество кастомных инструментов, которые генерируют логи, метрики, трейсы и широкие события
Одно большое изменение в OpenAI с моего предыдущего визита, до Codex — тогда инженеры создавали дашборды для мониторинга сервисов, тогда как теперь агенты делают это с гранулярностью на уровне отдельного изменения при деплое.
8. Мониторинг продакшена подаёт сигналы обратно в разработку. «Perf Factory» OpenAI использует агентов для просеивания оповещений и дашбордов, дедупликации сигналов, выявления реальных регрессий задержки, поиска корневых причин и предложения исправлений. Это помогает ловить проблемы с производительностью, вызванные текущими изменениями кода, расширяя рабочий процесс за рамки деплоя в непрерывное улучшение.
9. Реагирование на сбои. Sevbot — внутренний агент реагирования на инциденты в OpenAI; неудивительно, что он тоже построен поверх Codex. Когда обнаруживается инцидент, бот «просыпается». Вот что он делает:
- Собирает контекст об инциденте
- Определяет возможные меры по смягчению (но никогда не выполняет их сам)
- Отвечает на вопросы разработчиков (он является частью Slack-канала)
- Инженер может сказать ему применить конкретную меру
Цель OpenAI — дойти до того, чтобы Sevbot мог предпринимать автономные действия при смягчении некоторых сбоев. Мечта — чтобы никого из людей не будили в нерабочее время из-за сбоя, потому что Sevbot справляется с «рутинными» сбоями автономно, а люди проверяют его действия по возвращении на работу. Но на данный момент дежурство в компании ещё не ушло в прошлое.
4. Как меняются инженерные инструменты и практики
Неудивительно, что Codex меняет то, насколько легко создавать внутренние инструменты, и влияет на стандартные инженерные практики вроде отладки. Вот что я узнал из разговоров с людьми в OpenAI.
Далее статья доступна только для платных подписчиков. Полный текст можно прочитать [на сайте Pragmatic Engineer](https://newsletter.pragmaticengineer.com/p/openai-software-factory).
Подпишитесь на канал и каждый день читайте лучшие материалы про AI переведенные на русский!
Нашли интересную статью для перевода? Пришлите нашему боту: @ailongreadsbot