Симон Уиллисон, автор популярного технического блога, 9 октября 2026 года выкатил новый раздел своего сайта — страницу с архивом всех рассылок. Почти весь код он надиктовал голосом через Codex в десктопном приложении ChatGPT, пока стоял у плиты. Модель — GPT-6 Astra High.
Что именно он построил и как это работало
Уиллисон использовал вкладку Codex в десктопном приложении ChatGPT с включённым голосовым режимом. Codex при этом работал против локального окружения разработки: сначала он напечатал команду Start dev server and open in browser, получил живой превью сайта прямо в интерфейсе — и дальше уже только говорил.
Ноутбук стоял на кухне. Разговор шёл около получаса — ровно столько, сколько варился ужин. Модель отвечала, иногда уточняла детали, и параллельно правила код. Уиллисон мог бросить взгляд через кухню на экран и голосом скорректировать дизайн страницы.
Что GPT-6 Astra реально сделал за эти полчаса
Список получился неожиданно длинным для голосовой сессии без единого нажатия клавиши:
| Что сделано | Детали |
|---|---|
| Новая Django-модель и миграция | Для хранения импортированных рассылок |
| Django Admin | Настроен для новой модели |
| Импорт из Substack по RSS | Последние выпуски |
| Импорт из Substack через недокументированный API | Astra сам попробовал `/api/v1/archive`, нашёл статью о пагинации и разобрался |
| Импорт из публичного GitHub-репозитория | `simonw/monthly-newsletter-archive` |
| Импорт из приватного репозитория | Спонсорские рассылки |
| Страницы `/newsletters/` и `/newsletters/2026/` | Публичный архив |
| Интеграция с дневными и месячными архивами | Без попадания в теги и главную |
| Интеграция с поиском по сайту | Только для уникального контента |
Особо стоит отметить момент с недокументированным API Substack: модель не просто угадала эндпоинт, но и самостоятельно нашла информацию о пагинации через поиск — и применила её.
Где голос не справился и пришлось сесть за клавиатуру
Когда ужин был готов и Уиллисон оценил результат как «почти готово к деплою», он попросил Codex создать ветку и открыть пулл-реквест. Дальше началась ревью-сессия в интерфейсе GitHub.
Одна проблема вылезла сразу: для импорта из приватного репозитория модель выбрала запуск Git как subprocess. Уиллисон решил, что API-подход надёжнее, и переключился на набор текста — голосом объяснить тонкости авторизации через новый API-ключ было бы слишком долго. На доработку ушло ещё около получаса уже за клавиатурой.
Кому это реально полезно, а кому нет
Уиллисон прямо говорит: голосовой Codex — не замена обычной работе за клавиатурой, а инструмент для конкретного сценария. Он уже писал раньше, что делает часть работы через голосовой режим ChatGPT на телефоне во время прогулки с собакой — в основном исследование и брейнсторминг, иногда небольшие сниппеты кода.
Этот опыт он описывает как качественно другой: живой превью в интерфейсе плюс возможность в любой момент переключиться на клавиатуру делают голосовой Codex заметно мощнее, чем просто голос в телефоне. Но как ежедневный инструмент он его не видит — только для ситуаций, когда руки заняты чем-то ещё.
Для разработчика это выглядит так: если у вас есть чёткое понимание задачи, задача достаточно стандартная (новая модель, вьюхи, шаблоны, импорты), и вы хотите двигаться вперёд, пока физически делаете что-то другое — голосовой Codex с локальным превью работает. Если задача требует точных инструкций, вставки кода, работы с секретами или детальной отладки — вы всё равно вернётесь к клавиатуре.
Что осталось за кадром
Уиллисон не сравнивает GPT-6 Astra High с предыдущими версиями по качеству кода — только описывает конкретный опыт. Неизвестно, сколько итераций потребовалось на каждую из четырёх функций импорта, и были ли ошибки, которые он не упомянул. Полный транскрипт сессии с оговорками и паузами он опубликовал отдельно в Gist — там можно оценить, насколько «грязный» голосовой ввод модель обрабатывает нормально.
Также нет данных о том, как Codex справлялся бы с менее стандартной задачей: здесь Django, знакомая кодовая база и автор, который точно знал, что хочет получить. Насколько этот сценарий воспроизводим для других проектов — открытый вопрос.
