Модуль 2.8 Робота з даними

PROMPT ENGINEERING ДЛЯ КОДУ

Курс: Python для аналітиків з нуля

1. ЩО НАВЧИМОСЯ РОБИТИ

Отримувати робочий код від AI з першого разу. Не "напиши скрипт", а конкретний промпт що дає код який працює.

AI — потужний інструмент, але треба вміти ставити задачу. Розмитий промпт → розмитий код. Чіткий промпт → робочий код. Це навик.

2. ТЕРМІНОЛОГІЯ

Промпт (prompt)

Задача для AI. Текст що описує що треба зробити.

Контекст

Інформація про дані, формат, обмеження. "Що є у вхідних даних".

Специфікація

Що має робити код. "Які кроки, який результат".

Обмеження

Що НЕ використовувати, які граничні випадки врахувати.

Приклад входу/виходу

Конкретні дані → очікуваний результат.

3. ТЕОРІЯ

3.1 Анатомія хорошого промпту

Структура з 4 блоків:

  • 1. Контекст: що є

Опис даних, формат файлу, колонки, типи.

  • 2. Задача: що зробити

Конкретні кроки: завантажити, фільтрувати, групувати, зберегти.

  • 3. Вимоги: як зробити

Які бібліотеки, обробка помилок, коментарі, формат виводу.

  • 4. Приклад: що очікувати

Зразок вхідних даних та бажаного результату.

3.2 Погані vs хороші промпти

Поганий промпт:

"Напиши скрипт для аналізу даних"

Проблема: немає контексту. AI не знає які дані, що робити, який результат.

Кращий промпт:

"Напиши Python скрипт що читає CSV з колонками time, freq, signal. Знайди топ-10 частот за кількістю перехоплень. Виведи у форматі: freq MHz - count разів. Використай pandas."

Чому краще: є формат даних, є задача, є бібліотека, є формат виводу.

3.3 Шаблон промпту для аналітичних задач

Напиши Python скрипт:

3.4 Типові помилки промптів

  • Занадто загально: "проаналізуй дані" → AI не знає що саме
  • Немає прикладу: AI вгадує формат даних
  • Забули encoding: для кирилиці завжди уточнювати utf-8
  • Немає обробки помилок: код падає на першому збої
  • Не вказали бібліотеки: AI може вибрати незнайому

4. КОД З КОМЕНТАРЯМИ

Приклад повного промпту для реальної задачі:

Напиши Python скрипт для аналізу журналу перехоплень:

Такий промпт дасть робочий код з першого разу.

5. РОЗБІР ПО РЯДКАХ

Чому це працює:

Приклад даних — AI бачить формат, не вгадує

Нумеровані кроки — AI генерує код послідовно

Конкретні бібліотеки — AI не вибирає сам

Приклад виводу — AI знає що очікується

Обробка помилок — код не падає на реальних даних

6. ЗАВДАННЯ 1: ВИПРАВИТИ ПРОМПТ

Поганий промпт:

"Зроби скрипт що читає JSON та робить карту"

Виправлений:

Напиши Python скрипт:

Вхід: telegram.json (структура: messages → location_information → latitude/longitude)

Задача: витягти всі геомітки, створити folium карту з маркерами

Вихід: map.html (інтерактивна карта)
Використай: json, folium. Центр карти = середнє координат. Zoom = 8.

7. ЗАВДАННЯ 2: НАПИСАТИ ПРОМПТ

Задача: конвертувати 50 CSV файлів у один Excel з аркушами

Напиши промпт що:

Описує структуру CSV (які колонки)
Вказує як назвати аркуші (з імен файлів)
Вимагає обробку помилок (якщо файл пошкоджений)
Додає підсумковий аркуш (об'єднання всіх даних)

Використай шаблон з розділу 3.3.

8. ЗАВДАННЯ 3 (ОПЦІОНАЛЬНО)

Ітеративне покращення промпту

Візьми промпт з завдання 2. Надішли AI. Отримай код. Протестуй. Якщо є помилки — допиши промпт:

  • "Додай перевірку: якщо CSV порожній — пропустити"
  • "Додай прогрес-бар: виводь кожні 10 файлів"
  • "Додай логування у файл: які файли оброблено, які з помилками"

Це реальний workflow: базовий промпт → код → тест → уточнити промпт.

9. РЕФЛЕКСІЯ

Я знаю структуру хорошого промпту (4 блоки)

Я додаю приклади даних у промпт

Я вказую конкретні бібліотеки

Я вимагаю обробку помилок

Я можу ітеративно покращувати промпт

10. ЩО ДАЛІ

Блок 2 завершено! Ти знаєш: JSON, формати, pandas, API, візуалізацію, prompt engineering.

Блок 3: ООП — читати чужий код з класами (folium.Map, pandas.DataFrame)
Головна думка: Хороший промпт = контекст + задача + вимоги + приклад. AI — інструмент, але формулювати задачу треба вміти.

Рефлексія

Прогрес модуля 0%