Урок 0: робоче середовище для розробки.

Цей курс навчає будувати агентів у вашій системі. Claude Code тут тільки інструмент. Перед першим агентом налаштуйте робоче середовище і правила перевірки коду.

Урок 0: Робоче середовище розробника

Image: METAHEURISTIC

Alexander Myasoedov

+Alexander Myasoedov Alexander будує AI-агентів і пише про те, що лишається за кадром красивих демок: цикл агента, межі доступу і контроль людини, який не вбиває автономність.

Цей курс для розробника, який працює над продуктом у продакшні. Продукт має реальних користувачів, а код продукту є в git.

Курс не навчає налаштовувати Claude Code. Курс також не навчає автоматизації на скілах і плагінах. Цю тему може мати окремий міні-модуль. У курсі ви будуєте агентів. Claude Code допомагає робити це швидше.

Цільова аудиторія курсу - розробники з досвідом:

  • фронтенд;
  • бекенд;
  • DevOps;
  • суміжні напрями.

Курс не для початківців. Мінімальний рівень такий:

  • ви пишете код;
  • ви читаєте чужий код;
  • ви запускаєте код і знаходите в ньому помилки.

Інші знання ви отримаєте під час курсу.

Claude Code - інструмент курсу, а не тема курсу. Нижче я описую моє робоче середовище. Ваше середовище може бути іншим. Це нормально. Середовище не має значення, якщо воно виконує задачу. Має значення одне правило. Це правило є нижче.

Аксіоматична ідея 1
Якість системи визначає код на виході. Інструмент і промт якість не визначають.
Аксіоматична ідея 2
Робоче середовище не має значення, якщо воно виконує задачу. Має значення правило, а не конфігурація.
Системна ідея
Якість коду перевіряєте ви. Кожен диф від моделі проходить ваше рев’ю. Усе робоче середовище працює навколо цього правила.

Мінімум для уроків

Кожен урок курсу - це один Python-файл. Файл не залежить від інших файлів курсу. Робота з уроком має 4 кроки:

  1. Завантажте файл.
  2. Запустіть файл.
  3. Зламайте агента.
  4. Виправте агента.

Курс не використовує фреймворки. Курс використовує тільки SDK anthropic. Тому для роботи достатньо 5 команд:

python3 --version                          # версія 3.11 або новіша
python3 -m venv .venv && source .venv/bin/activate
pip install anthropic
export ANTHROPIC_API_KEY=sk-...            # ключ з console.anthropic.com
python lesson-1-orchestrator.py
Робоче середовище - вимоги v1
01
Python
Версія 3.11 або новіша. Створіть окремий venv для курсу. Тоді залежності курсу не змішуються з робочими залежностями.
02
SDK
pip install anthropic. Не використовуйте фреймворки. Кожного агента ви пишете з нуля.
03
Ключ
Зберігайте ANTHROPIC_API_KEY у змінній оточення. Не записуйте ключ у код або в git.
04
Редактор
Використовуйте редактор, у якому вам зручно читати чужий диф. Рев’ю - половина роботи в цьому курсі.
05
Запуск
Кожен урок - один файл. Запустіть файл однією командою з термінала.
06
Обсяг
Прогін уроку - коротка сесія. Прогін не триває години.

Моє налаштування Claude Code

Я рекомендую такий перший крок після встановлення Claude Code: перевірте всі підключені плагіни, скіли і MCP-сервери. Мій підхід простий. Вимкніть усе.

Кожен увімкнений плагін додає контекст у кожну сесію. Також плагін дає можливості, якими ви не керуєте. Після цього увімкніть тільки ті інструменти, які ви використовуєте. У мене таких інструментів 3:

Браузер
Chrome MCP
Агент відкриває сторінку, натискає елементи і читає консоль. Це та сама ручна перевірка, але швидша.
Аналітика
DB / PostHog MCP
Один MCP-сервер до даних: база даних або продуктова аналітика. Ви ставите питання до даних без ручного експорту.
Пісочниця
Playground skill
Скіл показує варіанти рішення і варіанти оформлення. Ви бачите варіанти до того, як вибрати один.

Також я використовую 2 необов’язкові зручності:

  • віддалений доступ до сесії, щоб продовжити роботу з іншого місця;
  • диктування з мікрофона.

Ще я використовую текстовий редактор, у якому мені зручно робити рев’ю коду. Це весь базовий мінімум для розробки.

Менше інструментів - менше несподіваних дій. Правило «вимкніть усе, вмикайте тільки потрібне» - це принцип межі доступу. У наступних уроках ви використаєте цей принцип для агентів. Інструмент, якого немає в сесії, не займає контекст. Також такий інструмент не робить несподіваних дій.

Одне правило важливіше за все середовище

Цей урок має одне головне правило: завжди робіть рев’ю коду, який згенерувала модель. Правило не має винятків. Правило діє для кожного дифу.

Якщо ви працюєте в команді, якість вашої системи визначає тільки код на виході. Інструмент не має значення. Промт і кількість ітерацій теж не мають значення.

Має значення якість коду, який ви відправляєте колегам на рев’ю. Колега не повинен бачити різниці між цим кодом і кодом, який людина написала вручну. Це і є стандарт. Іншого показника немає.

Claude Codeдиф від моделіваше рев'юPRдиф без рев'ю збільшує технічний боргякість коду перевіряєте ви, а не модель і не промт
Диф потрапляє в PR тільки через ваше рев'ю. Верхня стрілка показує обхідний шлях. Цей шлях швидко знищує довіру команди до вашого коду.

Тести без шуму

Друга частина фільтра якості - верифікація. Ваш проєкт повинен мати тести. Ці тести повинні мати високу якість.

Типова помилка юніт-тестів від моделі - шум. Шумний тест має такі ознаки:

  • мок на логер;
  • мок на телеметрію в Datadog;
  • моки на всю observability;
  • фабрика на пів екрана;
  • в кінці тест перевіряє, що код викликав логер 1 раз.
# шум: тест перевіряє моки, а не поведінку
def test_calc_discount(monkeypatch):
    monkeypatch.setattr("app.obs.datadog", Mock())
    monkeypatch.setattr("app.log.logger", Mock())
    svc = ServiceFactory().with_db(FakeDB()).with_cache(FakeCache()).build()
    svc.calc_discount(price=10.0, plan="pro")
    app.log.logger.info.assert_called_once()
# поведінка: вхід -> вихід, і більше нічого
def test_calc_discount():
    assert calc_discount(price=10.0, plan="pro") == 8.5

Для тесту діє те саме правило, що й для рев’ю. Тест перевіряє значення, які повертає код. Тест не перевіряє факт виклику логера.

Іноді для перевірки одного API-виклику тест запускає половину системи. У такому разі проблема в коді, а не в тесті. Такий код не можна протестувати. Хороший код запускається однією командою. Хороший код можна підтримувати без довгого вивчення історії.

Еволюція вимог

Робоче середовище проходить цикл v1 -> v2. У наступних уроках кожен агент проходить такий самий цикл:

  1. Ви робите наївну версію.
  2. Ви знаходите проблеми.
  3. Ви доповнюєте вимоги.

Середовище v1 (наївне)

  • Усі плагіни і скіли увімкнені
  • Ви приймаєте код від моделі без змін
  • Тести мають одну мету: пройти

Середовище v2 (після практики)

  • 2 або 3 інструменти, які ви увімкнули свідомо
  • Кожен диф проходить ваше рев'ю
  • Тести перевіряють поведінку, а не моки
  • Стандарт: колега не бачить різниці між кодом від моделі і кодом, який людина написала вручну

Робоче середовище готове. Головне правило ви знаєте. Наступний крок - перший урок. У першому уроці ви будуєте агента тріажу підтримки з нуля. Потім ви знаходите місце, де агент ламається.

Курс Metaheuristic

Збудуй AI-агента з нуля.

11 рівнів практики: від виклику LLM до власного coding-агента. Приховані тести, failure patterns, office hours.

Записатись - early bird 9 500 UAH →