Как попросить Claude Opus 5.5 написать скрипт: задача, примеры и тесты

Чтобы Claude Opus 5.5 написал полезный скрипт с меньшим числом переделок, нужно описать вход, ожидаемый выход и ограничения. Запрос «автоматизируй отчёт» не сообщает, где лежат данные, какой у них формат и что считать ошибкой. Даже сильная модель вынуждена угадывать эти детали.
Мы в AIgrator предлагаем начинать с небольшого проверяемого задания. «С первого раза» можно поставить целью, но обещать такой результат для любого проекта нельзя. Готовность кода подтверждает запуск на тестовых данных, а не уверенный тон ответа.
Опишите контракт задачи
Назовите язык и версию среды, способ запуска, формат файла и точный результат. Укажите, разрешены ли сторонние библиотеки, сеть и изменение исходников. Для существующего проекта приложите нужный фрагмент кода и команды проверки, а не случайный архив всего компьютера.
Возьмём учебную задачу: прочитать CSV с движениями и записать сводку в JSON. Колонки называются type и amount. Типы допускаются только income и expense. Числа должны обрабатываться как десятичные значения, чтобы не накапливать обычные ошибки двоичной арифметики.
Пример входного файла:
type,amount
income,1000.00
expense,200.00
income,50.00
Ожидаемый итог: доходы 1050.00, расходы 200.00, разница 850.00. Это учебная обработка строк; такая разница сама по себе не является полноценным бухгалтерским отчётом.
Полный промпт для небольшого скрипта
«Напиши скрипт на Python 3.11 с использованием только стандартной библиотеки. Запуск: python summarize.py input.csv output.json. Входной CSV в UTF-8 содержит заголовки type,amount. Разрешённые значения type: income, expense. amount — неотрицательное десятичное число с точкой. Суммируй через Decimal. Исходный CSV не изменяй. В JSON запиши income, expense, balance как строки с двумя знаками после точки. Для входа income,1000.00; expense,200.00; income,50.00 ожидаются 1050.00, 200.00, 850.00. При неверной колонке, типе или сумме выведи понятную ошибку с номером строки и заверши работу с ненулевым кодом. Если файл содержит только корректные заголовки без строк данных, запиши нулевую сводку. Полностью пустой файл без заголовков считай ошибкой. Не перезаписывай существующий выходной файл без явного флага --overwrite. Сначала коротко опиши план, затем дай один файл кода, инструкцию запуска и тесты».
В реальном запросе передайте пример CSV отдельным понятным блоком, сохраняя переносы строк. Если колонка может содержать запятые, кавычки или национальный формат чисел, укажите это заранее. Не заставляйте модель самостоятельно выбирать правила данных.

Что потребовать вместе с кодом
Попросите перечислить допущения и все внешние зависимости. Если библиотека нужна, модель должна объяснить зачем. Для небольшой задачи дополнительный фреймворк может усложнить установку и сопровождение.
Потребуйте команды запуска и примеры ожидаемого вывода. Слова «тесты проходят» без фактического запуска ничего не подтверждают. Если модель работает только в чате и не имеет среды исполнения, она может предложить проверки, но не должна выдавать их за выполненные.
Полезный дополнительный запрос:
«Проверь решение по условиям задачи. Перечисли, где обрабатываются пустой файл, неверная сумма и существующий output.json. Не переписывай код ради новой архитектуры. Если находишь проблему, покажи минимальное исправление и объясни, какой тест его проверяет».
Проверьте обычные и ошибочные данные
Первый тест — приведённые три строки и точный итог 850.00. Второй — файл только с корректными заголовками: заранее определите, должен он давать нули или ошибку. Для этой задачи удобно явно разрешить нулевую сводку. Добавьте это условие в запрос до генерации.
Третий тест — amount со значением abc. Программа должна сообщить строку и не создать правдоподобный отчёт из повреждённых данных. Четвёртый — уже существующий выходной файл: он должен остаться неизменным без флага перезаписи. Пятый — неизвестный type, например refund: не следует молча относить его к доходам.
Запускайте проверки на копиях небольших файлов. Сравнивайте содержимое результата, сообщения и код завершения. Успешный запуск на одном правильном примере не проверяет обработку ошибок.
Как просить исправление
Передайте точную команду, небольшой входной файл, полный текст ошибки и ожидаемое поведение. Не пишите только «не работает». Это позволит исправить конкретное место вместо генерации другой программы с новыми допущениями.
Промпт:
«Вот код, команда запуска и воспроизводимый пример: [данные]. Ожидаю [результат], получаю [ошибка]. Найди причину. Исправь минимально, сохрани интерфейс командной строки и прежние условия. Дай тест, который воспроизводил ошибку и должен пройти после исправления».
Почему первый ответ не означает готовую программу
Код может выглядеть аккуратно и всё же неверно обрабатывать пустые поля или перезапись файла. Сохраните набор проверок вместе с программой и повторяйте его после изменений. Для рабочих данных дополнительно нужен обзор того, какие файлы и ресурсы программа затрагивает.
Подготовить запрос к модели можно в AIgrator AI. Доступ к Claude в чате не равен доступу модели к вашему компьютеру: инструкции по запуску выполняются отдельно в вашей среде.
Источник: Рекомендации Anthropic по ясным задачам и проверкам.
Какую небольшую повторяющуюся операцию вы хотели бы автоматизировать первой?
