Перейти к содержимому

Слои промпта Codex

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

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

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

Вид Что можно сделать
Переключается здесь Настоящий переключатель. Записывает ключ в config.toml.
Управляется флагом функции Реальный слой, но изменяется в настройках функций, а не на этой странице.
Всегда включён В Codex нигде нет переключателя для его отключения.
При изменении Сообщает о переходе, поэтому появляется только при изменении.
Слой расширения Нельзя вывести в списке. Codex их не предоставляет.

У слоя без возможности отключения переключатель вообще не показывается, а не отображается неактивным. Серый элемент управления создавал бы впечатление, что такая возможность существует, но временно недоступна, хотя это не так.

Нажмите на название слоя, чтобы увидеть отправляемый им текст. Диалоговое окно получает его из codex debug prompt-input, поэтому показывает реальное содержимое, а не описание.

Иногда показывать нечего, и диалоговое окно указывает причину:

  • Файл существует, но пуст. Ваш файл ~/.codex/AGENTS.md имеет нулевой размер, поэтому слою нечего отправлять. В диалоговом окне указан путь.
  • Он ничего не отправил в прочитанном нами ходе. Слои отправляются повторно только при изменении, поэтому неизменившийся слой отсутствует в отдельном образце.
  • Он передаётся вне доступного для чтения списка. Базовый промпт отправляется через другое поле и не может быть выведен здесь.
  • Не удалось прочитать промпт. Проверка на этом компьютере завершилась с ошибкой.

Данные считываются из вашего глобального домашнего каталога Codex (~/.codex), а не из каталога, в котором в данный момент запущен дашборд.

+ Add layer добавляет в конец ваши собственные инструкции. Пользовательские слои объединяются в developer_instructions, который работает аддитивно: Codex сохраняет свои инструкции и добавляет к ним ваши.

Пользовательские слои нумеруются между собой, потому что объединяются в один раздел именно в таком порядке — они не чередуются со встроенными слоями.

Меняйте порядок стрелками в строке или сочетаниями Alt + Up / Alt + Down из любого места строки. Это порядок объединения.

+ Add layer предлагает пять отправных точек: краткий вывод, планирование до редактирования, объяснение рассуждений, сначала тесты и ответы на корейском языке. Каждая открывается в обычном редакторе с предварительно заполненным, полностью редактируемым текстом: предустановка — лишь отправная точка, а сохранённый результат становится обычным пользовательским слоем.

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

Переход между слоями во время редактирования

Заголовок раздела «Переход между слоями во время редактирования»

В редакторе есть элементы управления переходом назад и вперёд и индикатор позиции. Несохранённые изменения сохраняются при переходах, поэтому можно сравнить два слоя во время редактирования и вернуться назад, не потеряв введённый текст.

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

Это только предупреждения, они никогда не блокируют сохранение. Если вы намерены переопределить Codex, это возможно; предупреждение лишь превращает случайность в осознанное решение.

Строка Атрибуция коммитов указывает модели добавлять трейлер Co-authored-by: Codex в создаваемые ею коммиты и строку Generated with Codex. в открываемые ею пул-реквесты.

Переключателя для неё нет ни здесь, ни в [features]: Codex определяет её по политике атрибуции вашей учётной записи. Отключение на уровне учётной записи не убирает слой — вместо этого Codex отправляет обратную инструкцию, предписывающую модели не добавлять трейлер. В любом случае что-то отправляется, поэтому строка указана как задаваемая вашей учётной записью, а не как всегда включённая.

Базовый промпт — единственный слой, который нельзя отключить, потому что модель без базового промпта не является работающим агентом. Однако его можно заменить, и именно это делает переключатель в строке Базовые инструкции.

Откройте строку, чтобы увидеть выбор вариантов. Переключаться между ними можно свайпом в сторону, клавишами со стрелками влево и вправо или кнопками со стрелками — именно кнопки озвучивает программа чтения с экрана, поэтому страница остаётся доступной для управления без тачпада.

Вариант Что это Редактируется
Собственный базовый промпт Codex ключ model_instructions_file отсутствует в вашей конфигурации никогда
Ваш вариант промпт, который вы пишете сами; хранится в ~/.codex/opencodex-prompt-base/ да
Второй вариант то же самое, всего до двух да

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

Если базовый промпт уже заменён чем-то другим

Заголовок раздела «Если базовый промпт уже заменён чем-то другим»

Если model_instructions_file указывает на файл, созданный не opencodex, выбор вариантов не выполняется, и панель сообщает, куда указывает ключ. Она не станет молча перенаправлять ключ, заданный вами или другим инструментом. Сначала уберите его сами, а затем выбирайте здесь.

Это тот же принцип, что и при импорте developer_instructions: панель сообщает о том, что нашла, а решение принимаете вы.

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

Если developer_instructions уже существует и был записан не opencodex, панель не станет его перезаписывать. Вместо этого она предложит импортировать текст как слой: сначала вы увидите существующее значение, и до подтверждения ничего не будет записано.

Если сохранённые слои и значение в config.toml расходятся, панель сообщает об этом и предлагает Repair, а не исправляет всё без уведомления. Два варианта исправления перезаписывают созданный вами текст, поэтому требуют осознанного действия. Если файл слоя пропал, перед любыми изменениями создаётся резервная копия.

Изменения применяются к новым сеансам. Уже запущенный сеанс сохраняет настройки промпта, с которыми он был запущен.

opencodex читает один файл конфигурации — ваш config.toml. Codex определяет настройки по нескольким слоям, поэтому показанное здесь значение отражает содержимое ВАШЕГО файла, а не обязательно итоговое значение, вычисленное Codex.

Они находятся в config.toml Codex, а не в собственной конфигурации opencodex.

Ключ По умолчанию Слой
include_permissions_instructions true Разрешения
include_collaboration_mode_instructions true Режим совместной работы
include_environment_context true Контекст окружения
include_apps_instructions true Приложения
skills.include_instructions true Навыки
developer_instructions не задан Пользовательские слои, объединённые по порядку
model_instructions_file не задан Базовый промпт, когда выбран вариант

Запись выполняется построчно: ваши комментарии и форматирование сохраняются, а незнакомый opencodex ключ остаётся нетронутым, а не удаляется.

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