Советы по использованию Codex от OpenAI. Как и ChatGPT, Codex настолько же эффективен, насколько точны инструкции, которые вы ему даёте
— Используйте имена (файлов/классов/переменных/методов), которые легко найти поиском. Codex буквально вызывает команду grep, поэтому конкретные имена файлов, символы или уникальные имена пакетов помогают ему быстро найти нужное место
— Укажите, где начинать работать. Codex лучше всего справляется, если его нацелить на один файл или, максимум, на какой-то пакет/папку с не более чем сотней файлов. Слишком общие или нечеткие запросы заставят его гадать, что вы имели в виду.
— Вставляйте полный стек вызовов в ошибке. Точные стеки с путями к файлам и номерами строк помогают Codex моментально выявлять баги.
— Запускайте несколько задач подряд. Каждая задача работает в своем изолированном окружении, так что смело ставьте несколько задач в очередь одновременно. Многие инженеры в OpenAI начинают день с того, что составляют быстрый список дел и запускают в Codex сразу несколько задач.
— Давайте работу с четким критерием «работает/не работает». Как и человек, Codex тестирует свои изменения. Так как у него есть доступ к терминалу, всё, что можно проверить юнит-тестом или линтером (проверкой кода), будет сделано надёжнее. (Codex пока не поддерживает UI-тесты.)
— Разделяйте большие изменения. Вместо того чтобы давать Codex гигантский пулл-реквест, разбивайте работу на небольшие, конкретные задачи. Маленькие задачи агенту легче тестировать по отдельности, а вам — проверять.
— Если застряли, пусть Codex возьмётся за дело. Если вы зашли в тупик, создайте новую ветку и передайте проблему Codex. Так можно параллельно исследовать несколько вариантов решения.
— Запустите несколько задач перед тем, как начать день. Запускайте их перед дорогой на работу или утренним кофе, а по возвращении вас будут ждать свежие изменения, готовые к проверке.
— Опишите правила и принципы работы с конкретно вашим проектом в файле AGENTS.md. Используйте его для указания специфики работы, структуры проекта, протокола тестирования.