Назначение шаблона
Этот материал даёт готовый prompt, чтобы создать Excel через OpenPyXL. Он специально построен для инженерного review: модель обязана сохранить исходные данные, показать допущения и назвать то, что она не смогла подтвердить.
Что подготовить
| Поле | Требование |
|---|---|
| версия среды/API | Фактическое значение/описание; для числа — единица; для документа — версия и источник. |
| входная схема | Фактическое значение/описание; для числа — единица; для документа — версия и источник. |
| ожидаемый output | Фактическое значение/описание; для числа — единица; для документа — версия и источник. |
| тестовые примеры | Фактическое значение/описание; для числа — единица; для документа — версия и источник. |
| запрещённые изменения | Фактическое значение/описание; для числа — единица; для документа — версия и источник. |
Таблицу можно прокручивать по горизонтали →
Готовый промпт
Ты — инженер по расчётному ПО и автоматизации.
ЗАДАЧА
Создать Excel через OpenPyXL.
РАБОЧИЙ СЦЕНАРИЙ
Создайте XLSX через OpenPyXL с input/data/formula sheets, форматами и проверкой ключевых формул.
ИСХОДНЫЕ ДАННЫЕ
- версия среды/API: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- входная схема: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- ожидаемый output: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- тестовые примеры: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
- запрещённые изменения: [ЗАПОЛНИТЬ / НЕТ ДАННЫХ]
ОБЯЗАТЕЛЬНЫЕ ПРАВИЛА
1. Не придумывай отсутствующие числа, размеры, свойства, стандарты, ссылки, паспортные параметры или результаты испытаний.
2. Не меняй значения и единицы молча. Любое преобразование покажи отдельно.
3. Разделяй ФАКТ ИЗ ВХОДА / ИЗВЛЕЧЁННЫЙ ФАКТ / ВЫЧИСЛЕНИЕ / ИНТЕРПРЕТАЦИЮ / ДОПУЩЕНИЕ.
4. Если критического входа или доказательства нет, верни вопрос или статус «требует проверки», а не правдоподобную подстановку.
5. Сначала работай на fixture/sandbox; изменение принимается только после тестов, diff и возможности rollback.
СПЕЦИФИЧЕСКАЯ ПРОЦЕДУРА
Создай workbook через OpenPyXL с отдельными input/calculation/output areas, формулами вместо hardcode и форматированием без макросов.
ТРЕБУЕМЫЙ РЕЗУЛЬТАТ
Python script; workbook structure; formulas; data validation; freeze/filter; контрольные ячейки. Повторное открытие через OpenPyXL проверяет структуру и текст формул; численные результаты проверяй после фактического пересчёта и сохранения в Excel или выбранном совместимом вычислительном движке.
ACCEPTANCE
- diff ограничен поставленной задачей
- есть позитивный, негативный и граничный тест
- опасные операции имеют dry-run/backup/rollback
- секреты не помещаются в prompt или репозиторий
ФИНАЛЬНЫЙ SELF-CHECK
- перечисли все новые числа/утверждения, появившиеся не напрямую из входа;
- укажи, чем инженер должен независимо проверить критический результат;
- перечисли незакрытые вопросы;
- не выполняй write/deploy/publish и другие необратимые действия без явного разрешения.
STOP CONDITION
Если без отсутствующего критического параметра, первичного источника или разрешения корректный вывод невозможен — остановись и запроси это явно.Почему он работает лучше короткой команды
Короткая команда обычно оставляет модели слишком много свободы: неизвестно, какие данные считать истинными, можно ли придумывать пропуски и в каком виде вернуть результат. Здесь контракт задан заранее. Это не гарантирует правильность ответа, но делает ошибку наблюдаемой: видно, какое поле использовано, где возникло допущение и какой шаг должен проверить человек.
Self-check остаётся проверкой внутри той же генеративной системы, поэтому он полезен только как фильтр очевидных несогласованностей. Независимое подтверждение выполняется профильным средством: расчётным модулем, первичным стандартом, CAD/CAE, измерением, unit-test или контрольным экспериментом.
Адаптация под облачную и локальную модель
- В ChatGPT/GPT, Gemini или Claude передавайте только релевантный контекст и фиксируйте используемый режим/tools.
- Через API задайте JSON-schema или другой строгий output contract и машинную валидацию.
- Для локальной LLM через Ollama/другой runtime сохраните тот же контракт, но проверяйте качество на собственном eval-наборе.
- Если есть web/RAG/коннекторы, явно ограничьте допустимые источники и права на запись.
- После смены модели, тарифа или системной инструкции повторите эталонные тесты.
Разбор рабочего примера
Промпт: Создать Excel через OpenPyXL. Рабочий вариант применения: Создайте XLSX через OpenPyXL с input/data/formula sheets, форматами и проверкой ключевых формул.
Перед первым запуском заполните placeholders реальными значениями и сохраните исходный prompt как версию. После ответа сравните его с acceptance-критериями статьи: любое новое число, ссылка или действие без происхождения переводится в open question. Для регулярного использования добавьте этот пример в eval-набор и прогоняйте после смены модели, тарифа, runtime или системной инструкции.
OpenPyXL сохраняет формулы в XLSX, но не вычисляет их. При load_workbook(..., data_only=False) можно проверить текст формулы; data_only=True читает сохранённое кэшированное значение, а не запускает расчёт. Без сохранённого результата оно может быть None, после изменения входа — устаревшим. Поэтому повторное открытие файла само по себе не подтверждает правильность численного результата.
Два контрольных случая для расчётной ячейки
Учебный пример: среднее нормальное напряжение σ = F / A для осевой силы и площади сечения; это проверка арифметики и единиц, а не расчёт прочности детали. На листе input ячейка B2 содержит силу F в Н, B3 — площадь A в мм². На листе calculation ячейка B2 содержит =input!B2/input!B3. Результат имеет единицу Н/мм² = МПа.
| Случай | F, Н | A, мм² | Независимый ожидаемый результат |
|---|---|---|---|
| Основной | 12 000 | 500 | 12 000 / 500 = 24 МПа |
| Изменённый вход | 6 000 | 500 | 6 000 / 500 = 12 МПа |
Таблицу можно прокручивать по горизонтали →
- Создайте отдельную копию XLSX для каждого случая. Через OpenPyXL проверьте входные ячейки, единицы и точный текст формулы.
- Откройте копию в реальном Excel или выбранном совместимом вычислительном движке, выполните пересчёт и сохраните результат. Зафиксируйте программу и версию; совместимость конкретных формул проверяется отдельно, одинаковый результат разных движков не предполагается автоматически.
- После сохранения прочитайте
calculation!B2черезdata_only=Trueи сравните с 24 или 12 МПа соответственно; для этих контрольных чисел задайте абсолютную погрешность не более10⁻⁹ МПа.None, ошибка ячейки или прежнее значение 24 МПа во втором случае означают FAIL, а не успешную проверку.
Для неположительной площади остановите расчёт до записи рабочей формулы: область этого примера требует A > 0. Кэшированную копию используйте для чтения результатов; дальнейшие изменения входа требуют нового пересчёта и сохранения.
Критерии acceptance для этой задачи
Coding-prompt должен включать версию среды, входную/выходную схему, инварианты, запрет на лишние изменения, тесты и rollback. Для расчётных функций добавьте контрольные численные случаи, а для файловых/серверных скриптов — dry-run, backup и healthcheck.
- diff ограничен поставленной задачей
- есть позитивный, негативный и граничный тест
- опасные операции имеют dry-run/backup/rollback
- секреты не помещаются в prompt или репозиторий
Контрольный прогон именно для этой задачи
Проверка кода и автоматизации. Код рассматривается как изменение инженерного инструмента, а не как текст. Нужны ограниченный scope, fixture, тесты, diff и rollback. Успешный запуск без проверки результата не считается приёмкой.
Для «Промпт: Создать Excel через OpenPyXL» соберите небольшой fixture, где явно присутствуют версия среды/API, входная схема, ожидаемый output и тестовые примеры. Сохраните этот набор без изменений: он нужен как эталон для повторного запуска после смены модели, режима, тарифа, system prompt или подключённых tools.
Фиксируйте результат прогона как PASS/FAIL по каждому тесту и сохраняйте причину исправления. Это превращает prompt из одноразового текста в проверяемую инженерную процедуру: последующее обновление модели можно оценить на тех же входах, а не по субъективному впечатлению от нового ответа.
Как запускать шаблон
Сначала заполните все поля, которые реально известны, и не удаляйте placeholder у неизвестного критического параметра — лучше явно написать «нет данных». Первый запуск используйте как draft. Затем сравните ответ с acceptance-критериями выше и верните модели только конкретные замечания, а не просьбу «улучшить всё». Для регулярной задачи сохраните prompt, входной fixture и ожидаемые свойства результата в системе версий. После смены модели/режима повторите минимум три кейса: нормальный, граничный и с отсутствующим критическим входом.
Проверка результата
Когда ответ нужно остановить
- появились новые исходные числа без источника;
- ссылка или стандарт не открывается/не относится к задаче;
- вывод зависит от отсутствующего параметра;
- модель пытается выполнить write/deploy/publish без разрешения;
- нет способа восстановить, какие входы дали итог.
Навигация по 10 промптам этой части
Внутри части — 10 взаимосвязанных материалов. Переходы между частями и перекрёстные ссылки сохраняют учебную последовательность.
Источники и документация
- OpenPyXL — запись формул и отсутствие вычисления
- OpenPyXL — load_workbook и data_only
- OpenAI — Prompt engineering
- Google AI — Prompt design strategies
- Anthropic — Prompt engineering
- NIST — AI Risk Management Framework
