EnglishРусский Map
My AI-Assisted Workflow

Codex-maxxing

title
Codex-maxxing
type
summary
summary
Рабочий цикл jxnl для Codex: долгоживущие треды, голос, steering, память в файлах, Heartbeats, Goals и боковая панель как рабочее пространство
tags
ai-coding, claude-code, codex, workflow
created
2026-05-21
updated
2026-07-22
lang
ru
translation_of
jxnl-codex-maxxing
source_updated
2026-07-22
translated
2026-09-01
translator
lllm/antigravity/gemini-3.7-flash-medium

Джейсон Лю (jxnl) активно использовал кодинг-агентов ещё до появления Codex. После майских обновлений приложения Codex в 2026 году те же инструменты стали подходить и для его интеллектуальной работы. Главный сдвиг, о котором он говорит: у работы появилось постоянное место - долгоживущий тред, общая память, инструменты для взаимодействия с машиной, способы направлять процесс и возобновлять его, а также среда, где можно сразу просматривать готовый артефакт.

Долгоживущие треды

Сжатие (compaction) превращает мегатреды в нечто такое, что можно вести месяцами. Он держит по одному закреплённому треду на каждый рабочий поток: Chief of Staff, Agents SDK, OpenAI CLI, Codex for OSS, мониторинг Twitter. Расплата - затраты на кэш: открытые заново длинные треды больше не лежат в кэше LLM, поэтому холодные чтения обходятся дороже. Но для действительно важных рабочих процессов непрерывность важнее. Для закреплённых тредов настроены шорткаты от Cmd-1 до Cmd-9.

Голосовой ввод

Голос позволяет передавать в Codex мысли без предварительной редактуры. Для этого используется встроенный голосовой ввод плюс Wispr Flow для системной диктовки. Фразу вроде "Кажется, в Slack был какой-то парень по имени Ben, который об этом говорил, точно не помню что именно, просто пойди и посмотри" печатать муторно, а сказать - легко. То же касается транскрибации звонка через Granola в качестве исходного материала для статьи. Планировщик получает сырой ввод вместо отредактированного.

Steering

Steering позволяет отправлять сообщения прямо во время работы Codex. Просматривая сайт, автор продолжает наговаривать: сделай это меньше, этот текст неверный, отступы кажутся странными, по готовности открой PR, дождись preview deploy, скинь ссылку ревьюеру в Slack. Единицей работы перестаёт быть "один промпт, один ответ" и становится небольшой рабочий цикл с очередью.

Память в виде файлов

Длинный тред способен хранить контекст, но эта память остаётся запертой внутри него, если полезные части не сериализовать. jxnl ведёт vault в Obsidian - TODO.md, people/, projects/, agent/, notes/ - с инструкциями в AGENTS.md, требующими от агента обновлять нужные страницы по мере того, как он узнаёт о людях, продвигается по задачам или закрывает вопросы. Этот vault - ещё и GitHub-репозиторий, что даёт две вещи: облачный доступ для удалённой работы и diff'ы как поверхность для ревью памяти. Он видит, что именно агент счёл нужным запомнить.

Это тот же паттерн, который Лалит Маганти описывал в building-syntaqlite-ai, а Энди Кроушоу излагал в agent-principal-agent-problem: файлы заставляют агента сжимать накопленный опыт в форму, которая переживёт тред. Встроенная функция Codex Settings > Personalization > Memories служит локальным слоем извлечения, полезным для стабильных предпочтений, но не заменяет инструкции, закоммиченные в репозиторий. Экспериментальный Chronicle (исследовательское превью, использующее недавний контекст экрана) указывает в том же направлении - с привычными оговорками по поводу prompt-инъекций и прав доступа.

Управление компьютером и браузером

Разделение, которое он использует:

  • $browser - локальные веб-страницы для инспекции и аннотирования
  • @chrome - состояние браузера с авторизованными сессиями и множеством вкладок
  • @computer - задачи, существующие только в виде десктопного GUI

Если @computer перехватит Safari, чтобы читать авторизованный Twitter, пользоваться Safari параллельно не получится. @chrome подходит лучше, когда нужно работать с несколькими авторизованными вкладками параллельно, не блокируя приложение, в котором пользователь находится прямо сейчас.

Коннекторы и Skills

$slack, $gmail, $calendar - самые используемые коннекторы: работа появляется там раньше, чем превращается в код. Skills делают повторяющиеся рабочие процессы переиспользуемыми; Skill Installer позволяет добавлять рекомендованные OpenAI навыки прямо из composer'а.

Heartbeats

Heartbeat - это расписание на уровне треда. Тред может сам заявить: "следи за этим раз в несколько часов", запланировать выполнение, работать до выполнения условия и менять периодичность со временем.

Его тред Chief of Staff запускается каждые 30 минут, проверяет Slack и Gmail на наличие неотвеченных сообщений, ищет информацию для ответов и готовит черновики (но не отправляет). Тред для возврата денег опрашивал поддержку Amazon каждые 5 минут; когда подключился агент поддержки, интервал сократился до одной минуты, и возврат был оформлен, пока автор был в душе. Тред для анимаций проверял Slack каждые 15 минут на предмет отзывов к опубликованному видео; запускал перерендер через Remotion при появлении новых комментариев; и нажимал кнопку Add file через @computer, когда MCP-сервер Slack не справлялся с загрузкой.

Интересная деталь в последнем примере: цикл проходил сквозь границы инструментов - Slack для отзывов, Remotion для рендера, @computer для загрузки. Heartbeats как раз и связывают такие графы инструментов в единые циклы.

Goals

Самый свежий элемент. Слабая цель звучит как "реализуй план из этого Markdown-файла". Сильная цель содержит реальный критерий успеха. Когда jxnl переносил библиотеку Python Rich на Rust, целью было: "должны проходить все модульные тесты исходной библиотеки". Набор тестов дал процессу оракул. Именно верификация позволяет амбициям приносить результат.

Боковая панель

Боковая панель превращает Codex из обычного чат-приложения в нечто большее. Три задачи:

  1. Инспекция артефактов - Markdown поддерживает комментарии, электронные таблицы отображают формулы с возможностью редактирования ячеек, CSV превращаются в таблицы, PDF рендерятся корректно (особенно с LaTeX), слайды создаются и просматриваются на месте.
  2. Работа с веб-страницами - встроенный браузер, управляемый через $browser, с аннотациями поверх живой страницы. Он использует index.html для статичных артефактов, Storybook для компонентов, Remotion Studio для анимаций, Slidev для слайдов, Streamlit для приложений работы с данными.
  3. Ревью изменений - тот же объект, та же поверхность для аннотаций, никакого переключения контекста.

Самый компактный вариант часто оказывается лучшим. Простой index.html с JS и CSS, открытый в боковой панели, без сервера. Сейчас он экспериментирует с Heartbeats, которые поддерживают index.html в актуальном состоянии между визитами.

Что здесь действительно нового

Большинство элементов - долгоживущие треды, память на базе файлов, управление экраном, периодические проверки - уже существуют фрагментарно в среде агентных инструментов (см. bubblewrap-dev-env, matryoshka-isolation, рабочий процесс Claude Code в building-syntaqlite-ai). Новизна того, что описывает jxnl, заключается в объединении всего этого в единый рабочий цикл, где работа продолжается и после того, как человек отошёл. Единицей взаимодействия становится уже не промпт. Ей становится тред плюс расписание плюс артефакт, скреплённые памятью в виде файлов.

Итоговый тезис: "Не в том, что агент может писать за меня код, а в том, чтобы большая часть работы продолжала двигаться после того, как я отошёл".