Саймон Уиллисон собрал страницу блога голосом в Codex, пока готовил ужин

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