10. Контекст: сохранять решения и доказательства
← Предыдущий модуль · Оглавление · Следующий модуль →
Если сейчас только читаете: русский разбор ситуации без запуска программ. После него ответьте на вопросы самопроверки модуля; практическое упражнение можно отложить.
Результат модуля: вы умеете дать Codex достаточно материала для задачи и избежать бесконечного повторного чтения. Задача не в минимальном количестве слов любой ценой: потерянное ограничение обойдётся дороже компактного, но неполного запроса.
OpenAI рекомендует явно задавать цель, контекст, ограничения и условие завершения. Документация skills также описывает постепенную загрузку: сначала доступны метаданные, полное содержимое SKILL.md читается при выборе навыка. Это полезная основа организации собственных материалов, но не гарантия фиксированной экономии токенов. Best practices, Build skills.
Разложите информацию по назначению
В текущем запросе должны находиться цель и специфические ограничения. В AGENTS.md — устойчивые правила проекта и проверенные команды. В skill — повторяемый способ работы. В документации — подробные контракты и принятые решения. В отчёте исследования — вывод и ссылки на доказательства. Не дублируйте одно правило во всех местах: при изменении легко исправить только одну копию.
При поиске начинайте с понятной входной точки. Если ошибка возникает на экране оплаты, полезнее передать маршрут страницы, текст ошибки и тест, чем просить «прочитай весь репозиторий». Это не запрет на широкое исследование; это способ сначала проверить наиболее вероятную причинную цепочку.
git ls-files '*.md'
git ls-files '*payment*'
git log -5 --oneline
Команды помогают выбрать материалы, но имена файлов не заменяют чтение. Чувствительные пути и тексты не следует автоматически вкладывать в запрос внешней модели. Проверьте действующие правила организации и права доступа.
Пример передачи контекста
Продолжи расследование по текущей ветке.
Цель: понять причину повторного запроса после нажатия Далее.
Подтверждено: обработчик вызывается дважды; ссылка на место — [...].
Проверено: тест [...] проходит; браузерный сценарий не проверен.
Отброшено: гипотеза о повторном HTTP-ответе — лог её не подтверждает.
Ограничение: не менять контракт API.
Следующий шаг: проследить регистрацию обработчика и снять доказательство.
Квадратные скобки замените реальными ссылками, командами или путями. Такой конспект сохраняет смысл работы. Он не должен превращаться в вымышленную уверенность: если гипотеза только вероятна, так и напишите. Указывайте ревизию, когда важна привязка к коду.
После крупного этапа полезно попросить краткую сводку: что установлено, что изменено, какие проверки завершены, какие вопросы открыты, какое действие даст новое доказательство. Автоматическое сокращение контекста и ручной отчёт решают связанные, но разные задачи; не рассчитывайте, что сокращение сохранит любой неявный нюанс.
Работа с журналами
Для анализа ошибки чаще достаточно сообщения, стека и нескольких строк вокруг него. Полный лог сохраните локально, а в чат передайте релевантный фрагмент после проверки на секреты. Если Codex дважды повторил команду и получил одинаковый отказ, попросите диагностировать причину. Третья идентичная попытка редко приносит новое знание.
Упражнение
Возьмите длинную завершённую переписку об учебном дефекте. Составьте конспект на одну страницу без рассказа о каждом шаге. Передайте его в новый учебный чат и попросите назвать следующий проверяемый шаг, не меняя файлы. Сравните ответ с исходной задачей: сохранились ли запреты, критерии готовности и реальные ограничения проверки?
Не измеряйте успех только длиной конспекта. Короткая сводка, потерявшая правило «не публиковать», хуже более длинной. Полезный показатель — сможет ли другой человек продолжить работу без повторного выяснения уже принятых решений.
Готово, когда: активный контекст содержит актуальные требования; устойчивые правила имеют один основной источник; гипотезы отделены от фактов; журналы не затмевают выводы; передача сохраняет ограничения и следующий шаг.
Самопроверка:
- Чем полезная сводка отличается от сокращённой хроники инструментальных вызовов?
- Почему лишние субагенты могут увеличить суммарный расход токенов?
- Какие сведения нельзя терять при переносе работы в новый чат?