Русская версия

Глава 5. Как заставить Codex работать умнее

Вы просите исправить форму. Codex меняет стили, обновляет зависимости и заодно перестраивает навигацию. В итоге приходится проверять половину сайта, хотя задача занимала один экран.

Границы задачи лучше записать до начала работы. Я начинаю с трёх вещей: что должно измениться, по какому признаку я приму результат и какие соседние части проекта затрагивать нельзя. Дальше агенту всё равно потребуется прочитать код и проверить результат.

Как объяснить задачу Codex

«Сделай форму лучше» оставляет слишком много вариантов. В примере используем форму заявки: имя, email и сообщение. Требование можно записать так: пустое имя не отправляется, неправильный email вызывает понятную ошибку, после успешного запроса человек видит подтверждение. Если сеть недоступна, введённый текст сохраняется.

По этим условиям видно, выполнена ли задача. Дизайн остаётся отдельным решением. Если он уже устраивает, прямо укажите это и приложите текущий экран.

Перед правкой существующего проекта попросите Codex прочитать правила и найти обработчик формы. Название файла, которое агент назвал по памяти, нужно подтвердить по рабочей копии. Пока код не прочитан, план остаётся предположением.

Промпт: Разобрать задачу перед изменением

Это удобно перед изменением авторизации, базы или нескольких связанных экранов. Для исправления опечатки весь процесс будет избыточным.

Правила проекта и состояние задачи

Для постоянных правил подходит AGENTS.md: где находятся основные части проекта, какой командой проверяется сборка, что считается готовой работой. Codex читает общие правила, затем правила проекта и папки, в которой работает. Если в той же папке есть AGENTS.override.md, Codex использует его вместо AGENTS.md. Если поменяли правила во время работы, попросите Codex перечитать их. Не считайте, что открытый чат уже получил изменения. Это поведение описано в документации AGENTS.md.

Список сегодняшних ошибок удобнее хранить отдельно. Он меняется после каждого исправления и быстро засорит постоянные инструкции.

Для длинной задачи заведите два текстовых файла с расширением .md. Такой формат называется Markdown. Его можно открыть обычным редактором или в Obsidian:

Файл Что в нём хранить
PROJECT_STATE.md Цель, ограничения, принятые решения, текущий этап и ближайшее действие
CHECKS.md Что проверено, каким способом, на какой версии и с каким результатом

Это предложенные имена, а не специальные команды Codex. Чтобы агент использовал файлы, попросите прочитать их. Они не подключают поиск по всему Obsidian и не обеспечивают автоматическую синхронизацию между компьютерами.

Промпт: Сохранить состояние перед перерывом

После перерыва попросите сверить записи с проектом.

Промпт: Продолжить по сохранённым файлам

Проверка глазами пользователя

Успешная сборка означает, что проект удалось собрать. Для формы нужны другие доказательства: неверный адрес отклонён, успешный запрос показывает подтверждение, ошибка сети не стирает сообщение. В отчёте эти результаты должны быть разделены.

Для документа аналогичная разница: файл существует, но ссылки могут вести не туда, таблица может содержать ошибку, а вывод не следовать из источника. У каждой задачи свой способ приёмки.

Промпт: Проверить результат по критериям

Сохраните результат так, чтобы проверку можно было повторить. Формулировка «всё работает» без указания проверенного сценария для этого не годится.

Источники подхода

Идеи постановки требований и сохранения состояния объединены из карточек «Уточнение требований до реализации» и «Передача состояния задачи через файлы». В исследовательской библиотеке сохранены публикации andrei_samburau и maksim.rbkn; текст главы написан самостоятельно. Никакой дополнительный навык для этих четырёх промптов не нужен.

Источники идей: andrei_samburau, сохранение состояния, maksim.rbkn, рабочий контекст. Практический статус каждого наблюдения хранится в исследовательской карточке.

Делегирование с понятными границами

Если нужна независимая проверка, дайте второму участнику требования и результат первого. Укажите, что он проверяет, и запретите менять те же файлы одновременно. Для небольшой правки отдельный агент может только увеличить расход.

Промпт: Подготовить независимую проверку

В этой статье