Составьте задание для агента
ЗавершеноОпишите нужное поведение, ограничения и подтверждения до того, как агент начнёт менять код.
Издатель TaigaКак мы пишем
Проверьте пониманиеКакой критерий приёмки даёт наиболее ясные подтверждения для функции экспорта?Выполните упражнение
Чему вы научитесь
- Превращать общий запрос в наблюдаемые критерии приёмки.
- Задавать ограничения без лишних требований к деталям реализации.
- Определять информацию, которая нужна проверяющему после завершения.
Опишите изменение, которое можно оценить
Запрос «добавить экспорт клиентов» оставляет несколько решений открытыми. Кто может экспортировать записи? Какие записи и поля включать? Что происходит при сбое запроса? Агент может заполнить пробелы правдоподобными решениями. Для бизнеса они всё равно могут оказаться неверными.
Начните с пользователя и проблемы. Затем опишите нужное поведение. Укажите подтверждения, по которым можно понять, приемлем ли результат.
Задание должно уменьшать неопределённость, не закрепляя каждую внутреннюю деталь проектирования. Задайте необходимую границу данных. Если нет причины менять подход, используйте существующие шаблоны репозитория.
Используйте конкретный пример
Следующее задание относится к вымышленному приложению поддержки. Это учебный пример, а не полная production-спецификация.
Результат: Руководитель поддержки может скачать список клиентов.
Участник: Руководитель в текущей организации.
Данные: Только активные клиенты этой организации.
Поля: ID клиента, название компании и статус аккаунта.
Формат: UTF-8 CSV со строкой заголовка.
Запрещённый запрос: Вернуть существующую ошибку авторизации.
Пустой результат: Вернуть корректный CSV только с заголовком.
Рамки: Использовать существующий маршрут экспорта и шаблон аудита.
Исключено: Новые роли, зависимости и развёртывание.
Подтверждения: Тесты разрешённых, запрещённых, пустых запросов и запросов к другой организации.
Задание определяет полезное поведение и ограничения. Оно также выявляет новые вопросы. Должна ли система ограничивать размер экспорта? Может ли поле содержать формулу электронной таблицы? Кто может читать запись аудита? Решите вопросы с существенными последствиями до реализации. Не считайте пример универсальным чек-листом.
Отделяйте требования от предположений
Требование задаёт поведение, которому должно отвечать изменение. Предположение — ещё не проверенный факт. Разделяйте их.
Например, фраза «использовать существующий шаблон аудита» предполагает, что подходящий шаблон есть. Попросите агента найти его. Если шаблона нет, агент должен сообщить о недостающей зависимости до создания новой системы аудита.
Ограничение может также противоречить результату. Существующий маршрут может намеренно возвращать все организации. Агент должен показать противоречие и предложить ограниченное исправление. Он не должен молча убирать границу данных или превращать задачу в переписывание архитектуры.
Включите подтверждения в условие завершения
Запросите итоговое описание с объяснением поведения, изменений рамок и выполненных проверок. Там, где это важно, требуйте точные команды и результаты. Отличайте успешную проверку от проверки, которую не удалось запустить.
Pull request должен сохранять причину изменения. Будущий сопровождающий может увидеть код без исходной переписки. Добавьте достаточно контекста, чтобы объяснить, почему экспорт исключает определённые поля и как обеспечиваются ограничения доступа.
Рекомендации Google по описанию изменений полезны для такой записи. Описание должно объяснять изменение и его цель. После исправлений по review приводите его в соответствие с итоговой реализацией.
Соразмеряйте задание с задачей
Для небольшого исправления текста достаточно короткого задания. Экспорт данных требует больше деталей, поскольку его сбой может раскрыть информацию. Новый платёжный процесс требует ещё более подробного анализа и review.
Не измеряйте качество задания его длиной. Спросите, сможет ли компетентный проверяющий отличить правильный результат от неправильного. Если две разумные реализации могут по-разному вести себя в существенном случае, сначала уточните это поведение.
Выполните упражнение
Перепишите запрос «добавить экспорт клиентов» в виде задания. Укажите разрешённого участника, границы данных, результат, поведение при сбое и способ проверки. Назовите одно действие, которое агенту запрещено. До реализации попросите коллегу найти неоднозначность.
Скачать рабочий лист (Markdown)Если снять этот флажок, весь прогресс, сохранённый в этом браузере, будет удалён.
Прогресс остаётся в этом браузере. Без аккаунта и отслеживания.