Модуль 0.4 Вступ

МЕЖА "ПИСАТИ САМОМУ VS AI"

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

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

Розуміти коли писати самому, коли делегувати AI. Виявляти та виправляти помилки AI.

AI — потужний партнер, але не безпомилковий. Ти маєш вміти перевірити код, знайти помилку, виправити. Це не заміна навчання, це інструмент.

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

Галюцинація (AI hallucination)

AI вигадує факти: неіснуючі функції, параметри, бібліотеки.

Off-by-one помилка

Зсув на 1: індекс починається з 0, але AI використав з 1.

Boilerplate код

Шаблонний код: імпорти, try/except, with open. Нудний, але необхідний.
Edge case (граничний випадок)

Рідкісна ситуація: порожній файл, None замість списку, ділення на нуль.

3. ТЕОРІЯ

3.1 Таблиця рішень

Що робити САМОМУ:

  • Читати код — розуміти кожен рядок
  • Структура — послідовність кроків
  • Перевірка — чи логічний результат
  • Знати бібліотеки — pandas існує, що робить
  • Адаптація — змінити під свої дані

Що делегувати AI:

Точний синтаксис — .split(',') чи .split(', ')
Boilerplate — try/except, with open
  • Всі методи — DataFrame має 200+ методів
  • Оптимізація — швидкість виконання
  • Документація — як викликати функцію

3.2 Типові помилки AI

Помилка 1: Неіснуюча функція

AI вигадує метод який "логічно має існувати":

import pandas as pd

Правильно:

df.drop_duplicates()  # Існує

Як виявити: запусти код, отримаєш AttributeError

Помилка 2: Неправильний порядок параметрів

# AI написав

Як виявити: SyntaxError або TypeError про позиційні аргументи

Помилка 3: Забув encoding для кирилиці

# AI написав

Як виявити: UnicodeDecodeError при читанні

Помилка 4: Off-by-one в індексах

# AI написав (мислить з 1)

Як виявити: код працює, але результат неповний

Помилка 5: Не обробив None

# AI написав

Як виявити: AttributeError: 'NoneType' object has no attribute

Помилка 6: Застаріла бібліотека

# AI використав стару версію pandas

Як виявити: FutureWarning або DeprecationWarning

Помилка 7: Плутанина з типами

# AI написав

Як виявити: TypeError: '>' not supported between str and int

4. ПРАКТИЧНИЙ КОД

Завдання: виправити код згенерований AI

AI згенерував:

import pandas as pd

Знайди 3 помилки:

1. df.sort('freq') — немає методу sort, є sort_values
2. df.head(10) — не зберігає результат сортування (треба df = df.sort_values)

3. to_csv(index=False, 'file') — неправильний порядок параметрів

Виправлений код:

import pandas as pd

5. МЕТОДОЛОГІЯ ПЕРЕВІРКИ

Коли AI дав код, робиш 5 кроків:

Крок 1: Прочитай уважно

Чи розумієш кожен рядок? Якщо ні — попроси пояснити.

Крок 2: Перевір імпорти

Чи існують бібліотеки? Встановлені? (pip list | grep pandas)

Крок 3: Запусти на тестових даних

2-3 рядки CSV для перевірки. Не запускай одразу на 10 000 записів.

Крок 4: Перевір граничні випадки

Що якщо файл порожній? Якщо None? Якщо одне значення?

Крок 5: Порівняй з очікуванням

Результат логічний? Кількість рядків правильна? Значення адекватні?

6. ЗАВДАННЯ 1: ЗНАЙТИ ПОМИЛКИ

AI згенерував код для підрахунку частот:

import pandas as pd

Відповідь:

1. count_values() не існує → value_counts()
2. .top(5) не існує → .head(5)

Виправлено:

counts = df['freq'].value_counts()

7. ЗАВДАННЯ 2: EDGE CASES

AI написав функцію:

def calculate_average(numbers):
Що станеться якщо numbers = []?

Відповідь:

ZeroDivisionError (ділення на 0)

Виправлено:

def calculate_average(numbers):

8. ЗАВДАННЯ 3: ПРАКТИКА

Попроси AI згенерувати код для задачі: "Завантажити CSV, відфільтрувати рядки де signal > -50, зберегти у новий файл"

Потім:

  • Прочитай код — чи розумієш кожен рядок
Запусти на тестовому файлі (3 рядки)
  • Перевір чи врахував encoding='utf-8'
  • Перевір чи обробив порожній результат фільтрації

Якщо знайшов помилки — попроси AI виправити, вказавши конкретну помилку.

9. РЕФЛЕКСІЯ

Я розумію межу "писати самому vs AI"

Я знаю 7 типових помилок AI

Я вмію перевірити код за 5 кроків

Я розумію що таке edge case

Я можу знайти помилку в коді AI

10. ЩО ДАЛІ

Модуль 0.5: Основні поняття — змінні, типи, структури

Головна думка: AI — партнер, не заміна. Ти маєш читати код, знати бібліотеки, перевіряти результат. AI пише деталі, ти думаєш структурою.

Рефлексія

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