Що таке Django і як безпечно почати з ним працювати

DjangoPythonвеброзробкаШІ-агенти

Основа

Поняття, потрібні для статті

Їх не потрібно знати наперед. Якщо термін незнайомий — відкрийте пояснення.

Django простими словами

Вебзастосунок — це програма, з якою людина працює через браузер або через програмний вебінтерфейс. Інтернет-магазин, редакційний сайт і внутрішній кабінет можуть бути вебзастосунками. Для їх створення знову й знову потрібні подібні частини: обробка адрес, робота з даними, форми, облікові записи та перевірка доступу.

Django — це безплатний вебфреймворк із відкритим кодом для створення таких програм мовою Python. Фреймворк дає готові компоненти й узгоджені правила, щоб команда не будувала всю технічну основу заново. Він не визначає продукт замість розробників і не усуває потреби розуміти власний код.

Django використовують розробники в компаніях, організаціях і державних установах. За офіційним оглядом, на ньому створюють, зокрема, системи керування вмістом, соціальні мережі та платформи для наукових обчислень. Це універсальна основа для вебзастосунку, а не одна готова сторінка.

Уявіть майстерню. Python — це мова, якою ви описуєте поведінку програми. Django — обладнана майстерня з готовими інструментами та правилами їх поєднання. Ваш вебзастосунок — конкретна річ, яку ви там створюєте.

Які поняття потрібні спочатку

Для цієї статті не передбачається один універсальний рівень знань. Якщо Python і веброзробка для вас нові, достатньо таких визначень:

  • Python — мова програмування, якою написано Django і якою зазвичай пишуть код Django-проєкту. Код зберігається у файлах і містить інструкції, функції та об’єкти.
  • Вебзастосунок — програма, що приймає вебзапит і повертає відповідь. Браузер може показати відповідь як сторінку, а інша програма — опрацювати її як дані.
  • HTTP — набір правил обміну вебзапитами й відповідями. Тут достатньо знати, що запит містить адресу та інші дані, а відповідь — результат і відомості про нього.
  • HTML — текстова розмітка, за якою браузер будує сторінку.

Окремих канонічних матеріалів про Python і вебзастосунок у цій навчальній системі поки немає. Це явні прогалини, а не припущення про знання читача. Потрібний для цієї статті мінімум наведено вище.

Як один вебзапит проходить через Django

Коли людина відкриває адресу, браузер надсилає HTTP-запит програмі на сервері. Для першого знайомства шлях усередині Django можна подати так:

  1. Django отримує запит з адресою, наприклад /articles/.
  2. Маршрут зіставляє шлях адреси з потрібним представленням — Python-кодом, який готує відповідь.
  3. Представлення виконує логіку. За потреби воно звертається через модель до бази даних.
  4. Представлення може передати дані в HTML-шаблон або сформувати інший тип відповіді, наприклад JSON.
  5. Django повертає відповідь, а браузер показує результат.

Модель, база даних і шаблон потрібні не в кожній відповіді. Найпростіше представлення може одразу повернути короткий текст. Реальні проєкти також можуть додавати проміжну обробку, але ця схема показує основні ролі без хибної вимоги використовувати всі компоненти.

Проєкт і застосунок — не те саме

У термінах Django проєкт — це весь вебсайт або сервіс зі спільними налаштуваннями. У проєкті визначають підключені компоненти, головні маршрути та конфігурацію середовища, зокрема бази даних, якщо вона потрібна.

Застосунок — окрема функціональна частина всередині проєкту. Каталог статей, облікові записи й коментарі можуть бути різними застосунками. Застосунок не обов’язково є самостійним сайтом; це спосіб згрупувати код із чіткою відповідальністю.

Коли ШІ-агент пропонує створити новий застосунок, попросіть одним реченням назвати його відповідальність. Якщо межу не вдається пояснити, окремий застосунок може бути передчасним.

Що Django дає розробнику

  • Маршрути й представлення з’єднують вебадреси з Python-кодом.
  • ORM дає змогу описувати дані Python-класами й виконувати багато типових операцій без ручного написання більшості SQL-запитів.
  • Міграції описують зміни структури бази даних у файлах, які застосовують у визначеному порядку. У першій вправі вони не потрібні.
  • Шаблони й форми допомагають формувати HTML, приймати введення та показувати помилки перевірки.
  • Автентифікація й права доступу дають основу для входу користувачів і перевірки дозволів.
  • Адміністративна панель створює службовий інтерфейс для керування моделями. Вона не замінює продуманий інтерфейс продукту.

Django також має механізми, що допомагають уникати поширених вебризиків, зокрема SQL-ін’єкцій, CSRF і міжсайтового виконання сценаріїв. Це не гарантія безпеки. Офіційна документація наголошує на багаторівневому захисті, правильній обробці недовірених даних і врахуванні обмежень кожного механізму.

Чого Django та ШІ-агент не вирішують автоматично

Django не визначить сам, які дані є приватними, кому надати доступ, що вважати правильною бізнес-поведінкою або як відновлювати систему після невдалого розгортання. Для реального проєкту все одно потрібні знання Python, HTTP, даних, тестування, безпеки й експлуатації.

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

Тому агенту дають лише потрібний контекст, окремо називають дозволені й заборонені дії та зупиняють роботу за першої незрозумілої зміни. Перевіркою є прочитаний людиною код, відтворений тест, звірена документація й фактичний стан файлів. Фраза агента «усе працює» нічого з цього не замінює.

Шість етапів безпечної роботи з агентом

Навчальний маршрут у frontmatter має дві гілки, бо нова порожня тека й наявний проєкт мають різні ризики. В обох випадках послідовність однакова: зрозуміти мету, оглянути межі, скласти план, виконати лише погоджену дію, незалежно перевірити результат і пояснити його власними словами.

У новій одноразовій теці агент може створити ізольоване середовище та мінімальний локальний приклад. Початкове встановлення погодженої версії Django дозволене лише всередині цього середовища. Оновлення наявних пакетів, міграції, зовнішня база, секрети, production і публічне розгортання не потрібні й не дозволені.

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

Яким має бути перший результат

Для першого знайомства достатньо локальної сторінки з одним маршрутом, одним представленням і одним тестом. Реєстрація користувачів, Docker, зовнішня база та хмарне розгортання лише збільшать кількість незнайомих частин. Менший приклад легше прочитати, перевірити й видалити.

Результат завершено не тоді, коли агент повідомив про успіх. Ви маєте самостійно пов’язати адресу з маршрутом і представленням, пояснити умову тесту, повторити перевірку та підтвердити межі змінених файлів.

Після цього можна окремо вивчати Python, HTTP, моделі й бази даних, шаблони, форми, тестування, безпеку та розгортання. Кожна тема має додавати одну зрозумілу можливість, а не перетворювати першу вправу на неперевірений production-сервіс.

Джерела

Практика з ШІ-агентом

Пройдіть шлях від пояснення до перевіреного результату разом із ШІ

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

Виконано кроків:0 / 0

У мене ще немає Django-проєктуСтворіть навчальний приклад лише в новій одноразовій теці, яку можна безпечно видалити вручну після завершення.
1
Зрозуміти

Зрозумійте шлях одного запиту

Пояснити, як адреса в браузері перетворюється на відповідь Django, до запуску будь-яких команд.

Очікуваний результат:Ваша схема «браузер → маршрут → представлення → відповідь», де модель і шаблон позначено як необов’язкові.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Маршрут обирає представлення, а представлення готує відповідь.
  • Модель і шаблон потрібні не для кожної відповіді.

Безпечний контекст для агента

  • Розділ «Як один вебзапит проходить через Django» з цієї статті.
  • Ваше пояснення схеми одним реченням.

Дозволено

  • Пояснювати терміни, ставити перевірочні запитання та показати псевдокод без команд і змін файлів.

Заборонено

  • Запускати команди, створювати файли, просити доступ до пристрою або видавати відповідь агента за доказ розуміння.

Зупиніться, якщо

  • Ви не можете власними словами пояснити різницю між маршрутом і представленням.
  • Пояснення помилково вимагає базу даних або шаблон для кожної відповіді.

Як перевірити

  • Закрийте відповідь агента й самостійно пройдіть схему зліва направо.
  • Звірте ролі маршруту та представлення з цією статтею.
Мета: Пояснити, як адреса в браузері перетворюється на відповідь Django, до запуску будь-яких команд.

Безпечний контекст для агента:
- Розділ «Як один вебзапит проходить через Django» з цієї статті.
- Ваше пояснення схеми одним реченням.

Дозволено:
- Пояснювати терміни, ставити перевірочні запитання та показати псевдокод без команд і змін файлів.

Заборонено:
- Запускати команди, створювати файли, просити доступ до пристрою або видавати відповідь агента за доказ розуміння.

Зупиніться, якщо:
- Ви не можете власними словами пояснити різницю між маршрутом і представленням.
- Пояснення помилково вимагає базу даних або шаблон для кожної відповіді.

Очікуваний результат: Ваша схема «браузер → маршрут → представлення → відповідь», де модель і шаблон позначено як необов’язкові.

Як перевірити:
- Закрийте відповідь агента й самостійно пройдіть схему зліва направо.
- Звірте ролі маршруту та представлення з цією статтею.
2
Оглянути

Огляньте майбутню навчальну зону

Підтвердити, що робота відбуватиметься в новій порожній теці й не зачепить наявні проєкти.

Очікуваний результат:Нотатка з точним шляхом, версією Python і підтвердженням, що навчальна тека порожня.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Шлях до теки визначає межу файлових дій агента.
  • Початкове встановлення Django у нове віртуальне середовище не повинно змінювати системний Python.

Безпечний контекст для агента

  • Назва операційної системи, доступна версія Python і абсолютний шлях до спеціально створеної теки.

Дозволено

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

Заборонено

  • Читати інші теки, домашній каталог, репозиторії, .env, сховища облікових даних; установлювати пакети, змінювати файли, використовувати права адміністратора, production, хмару чи реальні бази.

Зупиніться, якщо

  • Тека не порожня, шлях неоднозначний, тека лежить усередині наявного репозиторію або потрібні підвищені права.

Як перевірити

  • Самостійно звірте абсолютний шлях і повторно перегляньте вміст теки.
Мета: Підтвердити, що робота відбуватиметься в новій порожній теці й не зачепить наявні проєкти.

Безпечний контекст для агента:
- Назва операційної системи, доступна версія Python і абсолютний шлях до спеціально створеної теки.

Дозволено:
- Показати версію Python, список вмісту лише погодженої теки та пояснити локальні файли віртуального середовища.

Заборонено:
- Читати інші теки, домашній каталог, репозиторії, .env, сховища облікових даних; установлювати пакети, змінювати файли, використовувати права адміністратора, production, хмару чи реальні бази.

Зупиніться, якщо:
- Тека не порожня, шлях неоднозначний, тека лежить усередині наявного репозиторію або потрібні підвищені права.

Очікуваний результат: Нотатка з точним шляхом, версією Python і підтвердженням, що навчальна тека порожня.

Як перевірити:
- Самостійно звірте абсолютний шлях і повторно перегляньте вміст теки.
3
Спланувати

Сплануйте мінімальний локальний приклад

Погодити послідовність дій і межі першого проєкту до виконання команд.

Очікуваний результат:Перевірний план команд із версіями, межами, очікуваними файлами та окремою перевіркою кожного результату.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Віртуальне середовище ізолює навчальні Python-пакети від системного встановлення.
  • Перший приклад не потребує зовнішньої бази, міграцій, облікових даних або розгортання.

Безпечний контекст для агента

  • Перевірена нотатка про теку й Python, офіційний матеріал Django для сумісної версії та погоджений текст сторінки.

Дозволено

  • Запропонувати команди для створення віртуального середовища, початкового встановлення сумісної версії Django та мінімального проєкту; назвати очікувані файли, мережевий доступ і перевірку.

Заборонено

  • Оновлювати наявні пакети чи системний Python; планувати міграції, зміну бази, необов’язкові пакети, руйнівні команди, production-доступ або публічне розгортання.

Зупиніться, якщо

  • Сумісність Python і Django не підтверджено офіційною документацією, команда виходить за межі теки, потребує підвищених прав або має неясний ефект.

Як перевірити

  • Самостійно звірте версію з офіційною документацією й переконайтеся, що план не змінює нічого поза навчальною текою.
Мета: Погодити послідовність дій і межі першого проєкту до виконання команд.

Безпечний контекст для агента:
- Перевірена нотатка про теку й Python, офіційний матеріал Django для сумісної версії та погоджений текст сторінки.

Дозволено:
- Запропонувати команди для створення віртуального середовища, початкового встановлення сумісної версії Django та мінімального проєкту; назвати очікувані файли, мережевий доступ і перевірку.

Заборонено:
- Оновлювати наявні пакети чи системний Python; планувати міграції, зміну бази, необов’язкові пакети, руйнівні команди, production-доступ або публічне розгортання.

Зупиніться, якщо:
- Сумісність Python і Django не підтверджено офіційною документацією, команда виходить за межі теки, потребує підвищених прав або має неясний ефект.

Очікуваний результат: Перевірний план команд із версіями, межами, очікуваними файлами та окремою перевіркою кожного результату.

Як перевірити:
- Самостійно звірте версію з офіційною документацією й переконайтеся, що план не змінює нічого поза навчальною текою.
4
Виконати

Створіть одну сторінку під наглядом

Отримати мінімальний локальний Django-проєкт з одним маршрутом, одним представленням і одним тестом.

Очікуваний результат:Локальна сторінка, один автоматизований тест і прочитаний вами diff усіх створених файлів.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Кожна зміна має відповідати погодженому плану, а diff потрібно прочитати.

Безпечний контекст для агента

  • Письмово погоджений план, абсолютний шлях до порожньої теки й текст локальної сторінки.

Дозволено

  • Створити віртуальне середовище лише в навчальній теці; завантажити погоджену версію Django з погодженого джерела; створити мінімальний проєкт, маршрут, представлення й локальний тест; після кожної групи дій показати список файлів і diff.

Заборонено

  • Оновлювати наявні пакети, створювати чи застосовувати міграції, змінювати бази, читати секрети, підключати зовнішні сервіси чи production, використовувати облікові дані, запускати руйнівні команди, змінювати інші шляхи, публікувати застосунок або відкривати сервер для зовнішньої мережі.

Зупиніться, якщо

  • Команда відрізняється від плану, торкається іншого шляху, інсталятор пропонує оновлення, тест не проходить, зміна не пояснена або з’являється запит на пароль, токен, зовнішню базу чи підвищені права.

Як перевірити

  • Самостійно перевірте список файлів, прочитайте маршрут, представлення й тест та зіставте їх із планом.
Мета: Отримати мінімальний локальний Django-проєкт з одним маршрутом, одним представленням і одним тестом.

Безпечний контекст для агента:
- Письмово погоджений план, абсолютний шлях до порожньої теки й текст локальної сторінки.

Дозволено:
- Створити віртуальне середовище лише в навчальній теці; завантажити погоджену версію Django з погодженого джерела; створити мінімальний проєкт, маршрут, представлення й локальний тест; після кожної групи дій показати список файлів і diff.

Заборонено:
- Оновлювати наявні пакети, створювати чи застосовувати міграції, змінювати бази, читати секрети, підключати зовнішні сервіси чи production, використовувати облікові дані, запускати руйнівні команди, змінювати інші шляхи, публікувати застосунок або відкривати сервер для зовнішньої мережі.

Зупиніться, якщо:
- Команда відрізняється від плану, торкається іншого шляху, інсталятор пропонує оновлення, тест не проходить, зміна не пояснена або з’являється запит на пароль, токен, зовнішню базу чи підвищені права.

Очікуваний результат: Локальна сторінка, один автоматизований тест і прочитаний вами diff усіх створених файлів.

Як перевірити:
- Самостійно перевірте список файлів, прочитайте маршрут, представлення й тест та зіставте їх із планом.
5
Перевірити

Незалежно перевірте сторінку й межі змін

Довести результат спостережуваними перевірками, а не твердженням агента.

Очікуваний результат:Запис фактичного результату тесту, локальної перевірки сторінки та перевірки меж теки.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Успішний тест перевіряє лише закладену в нього умову; сторінка й межі файлів перевіряються окремо.

Безпечний контекст для агента

  • Створені файли, погоджений текст, команда одного тесту та початкова нотатка про шлях.

Дозволено

  • Запустити погоджений тест у навчальному середовищі, коротко запустити сервер лише локально, показати код завершення та перелік файлів.

Заборонено

  • Змінювати код, послаблювати тест, додавати мережевий доступ, звертатися до зовнішніх сервісів, production або реальних даних.

Зупиніться, якщо

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

Як перевірити

  • Повторно запустіть тест самі, відкрийте локальну адресу, звірте текст і переконайтеся, що сервер зупинено.
Мета: Довести результат спостережуваними перевірками, а не твердженням агента.

Безпечний контекст для агента:
- Створені файли, погоджений текст, команда одного тесту та початкова нотатка про шлях.

Дозволено:
- Запустити погоджений тест у навчальному середовищі, коротко запустити сервер лише локально, показати код завершення та перелік файлів.

Заборонено:
- Змінювати код, послаблювати тест, додавати мережевий доступ, звертатися до зовнішніх сервісів, production або реальних даних.

Зупиніться, якщо:
- Тест завершується помилкою, сторінка показує інший текст, сервер доступний не лише локально або є непояснений файл чи процес.

Очікуваний результат: Запис фактичного результату тесту, локальної перевірки сторінки та перевірки меж теки.

Як перевірити:
- Повторно запустіть тест самі, відкрийте локальну адресу, звірте текст і переконайтеся, що сервер зупинено.
6
Пояснити

Поясніть результат без підказки агента

Закріпити знання, а не лише зберегти згенерований код.

Очікуваний результат:Ваше коротке пояснення ролі файлів, тесту та виконаної перевірки.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Адреса, маршрут, представлення, відповідь і тест виконують різні ролі.

Безпечний контекст для агента

  • Маршрут, представлення, тест і результати незалежної перевірки.

Дозволено

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

Заборонено

  • Дозволяти агенту написати пояснення замість вас, створити новий проєкт або вважати його згоду доказом правильності.

Зупиніться, якщо

  • Ви не можете пов’язати адресу з функцією відповіді або пояснити межі тесту.

Як перевірити

  • Змініть вручну лише текст відповіді, передбачте результат тесту, повторіть перевірку, поверніть погоджений стан і звірте пояснення з кодом.
Мета: Закріпити знання, а не лише зберегти згенерований код.

Безпечний контекст для агента:
- Маршрут, представлення, тест і результати незалежної перевірки.

Дозволено:
- Після вашої відповіді попросити агента вказати одну можливу неточність із посиланням на файл або офіційну документацію.

Заборонено:
- Дозволяти агенту написати пояснення замість вас, створити новий проєкт або вважати його згоду доказом правильності.

Зупиніться, якщо:
- Ви не можете пов’язати адресу з функцією відповіді або пояснити межі тесту.

Очікуваний результат: Ваше коротке пояснення ролі файлів, тесту та виконаної перевірки.

Як перевірити:
- Змініть вручну лише текст відповіді, передбачте результат тесту, повторіть перевірку, поверніть погоджений стан і звірте пояснення з кодом.
У мене вже є Django-проєктПочніть із read-only карти окремої робочої копії. Зміна дозволена лише після плану й окремого підтвердження та не може зачіпати залежності, міграції, дані, секрети або production.
1
Зрозуміти

Сформулюйте навчальне питання

Визначити, що саме ви хочете зрозуміти в проєкті, до надання доступу до файлів.

Очікуваний результат:Одне обмежене навчальне питання та список потрібних типів файлів.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

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

Безпечний контекст для агента

  • Розділи статті про запит, проєкт і застосунок; одна адреса, функція або тест.

Дозволено

  • Допомогти звузити питання, назвати потрібні докази та пояснювати загальні терміни без доступу до репозиторію.

Заборонено

  • Просити архів усього проєкту, секрети, дамп бази, production-доступ або припускати структуру репозиторію без огляду.

Зупиніться, якщо

  • Питання не має межі або потребує реальних користувацьких даних.

Як перевірити

  • Ви можете одним реченням назвати питання, достатню відповідь і підтвердити відсутність секретів чи production-даних у списку.
Мета: Визначити, що саме ви хочете зрозуміти в проєкті, до надання доступу до файлів.

Безпечний контекст для агента:
- Розділи статті про запит, проєкт і застосунок; одна адреса, функція або тест.

Дозволено:
- Допомогти звузити питання, назвати потрібні докази та пояснювати загальні терміни без доступу до репозиторію.

Заборонено:
- Просити архів усього проєкту, секрети, дамп бази, production-доступ або припускати структуру репозиторію без огляду.

Зупиніться, якщо:
- Питання не має межі або потребує реальних користувацьких даних.

Очікуваний результат: Одне обмежене навчальне питання та список потрібних типів файлів.

Як перевірити:
- Ви можете одним реченням назвати питання, достатню відповідь і підтвердити відсутність секретів чи production-даних у списку.
2
Оглянути

Побудуйте карту проєкту без змін

Знайти підтверджені зв’язки між адресою, маршрутом, представленням, даними або шаблоном і тестом.

Очікуваний результат:Карта «адреса → маршрут → представлення → дані/шаблон → тест» із точними посиланнями та позначеними прогалинами.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Назва файла або впевнене припущення агента не доводять, що код бере участь у запиті.

Безпечний контекст для агента

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

Дозволено

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

Заборонено

  • Читати .env, ключі, токени, сховища облікових даних, дампи чи production-дані; запускати застосунок, тести, міграції, установлення пакетів або команди із зовнішніми зверненнями; змінювати код, залежності, бази, конфігурацію чи стан репозиторію.

Зупиніться, якщо

  • Є незрозумілі локальні зміни, значення схожі на секрети, або продовження потребує запуску коду, мережі чи непогодженого файла.

Як перевірити

  • Самостійно відкрийте кожен файл і рядок; підтвердьте, що звіт про локальні зміни та diff порожні.
Мета: Знайти підтверджені зв’язки між адресою, маршрутом, представленням, даними або шаблоном і тестом.

Безпечний контекст для агента:
- Шлях до окремої локальної робочої копії, чистий початковий стан контролю версій і лише погоджені файли залежностей, конфігурації, маршрутів, представлень та тестів.

Дозволено:
- Читати погоджені відстежувані файли, показувати релевантне дерево, перевіряти стан контролю версій і версію з декларації залежностей без установлення чи запуску; позначати припущення та наводити шлях і рядок для фактів.

Заборонено:
- Читати .env, ключі, токени, сховища облікових даних, дампи чи production-дані; запускати застосунок, тести, міграції, установлення пакетів або команди із зовнішніми зверненнями; змінювати код, залежності, бази, конфігурацію чи стан репозиторію.

Зупиніться, якщо:
- Є незрозумілі локальні зміни, значення схожі на секрети, або продовження потребує запуску коду, мережі чи непогодженого файла.

Очікуваний результат: Карта «адреса → маршрут → представлення → дані/шаблон → тест» із точними посиланнями та позначеними прогалинами.

Як перевірити:
- Самостійно відкрийте кожен файл і рядок; підтвердьте, що звіт про локальні зміни та diff порожні.
3
Спланувати

Сплануйте одну малу зміну

Підготувати перевірний план без автоматичного виконання.

Очікуваний результат:План однієї малої зміни з файлами, критеріями, тестом, межами та способом повернення.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Кожен файл у плані пов’язаний із навчальним питанням і критерієм готовності.

Безпечний контекст для агента

  • Перевірена карта, одна навчальна мета й документований локальний тестовий контур без production або зовнішніх даних.

Дозволено

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

Заборонено

  • Планувати оновлення пакетів, міграції, зміни бази чи production-конфігурації, доступ до секретів, зовнішніх сервісів, реальних даних, публічне розгортання або виконувати план без окремого підтвердження власника.

Зупиніться, якщо

  • Безпечний локальний контур не підтверджено, немає точного результату, тесту або способу повернути заплановані рядки.

Як перевірити

  • Перегляньте план до зміни файлів, відхиліть зайві файли й звірте тестову команду з документацією репозиторію.
Мета: Підготувати перевірний план без автоматичного виконання.

Безпечний контекст для агента:
- Перевірена карта, одна навчальна мета й документований локальний тестовий контур без production або зовнішніх даних.

Дозволено:
- Запропонувати в окремій локальній гілці один тест, одну локальну сторінку без бази даних або уточнення документації; назвати файли, ризики, перевірки та ручне повернення лише запланованих рядків.

Заборонено:
- Планувати оновлення пакетів, міграції, зміни бази чи production-конфігурації, доступ до секретів, зовнішніх сервісів, реальних даних, публічне розгортання або виконувати план без окремого підтвердження власника.

Зупиніться, якщо:
- Безпечний локальний контур не підтверджено, немає точного результату, тесту або способу повернути заплановані рядки.

Очікуваний результат: План однієї малої зміни з файлами, критеріями, тестом, межами та способом повернення.

Як перевірити:
- Перегляньте план до зміни файлів, відхиліть зайві файли й звірте тестову команду з документацією репозиторію.
4
Виконати

Виконайте лише погоджену малу зміну

Реалізувати один локальний навчальний крок без розширення обсягу робіт.

Очікуваний результат:Малий локальний diff у погоджених файлах і фактичний результат одного цільового тесту.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Окреме підтвердження плану не дозволяє додавати супутню модернізацію.

Безпечний контекст для агента

  • Письмово погоджений план, дозволені файли, чиста локальна гілка та документована локальна тестова команда без production-залежностей.

Дозволено

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

Заборонено

  • Змінювати залежності, створювати чи застосовувати міграції, торкатися баз, секретів, production, зовнішніх сервісів або реальних даних; запускати руйнівні команди, переписувати історію, публікувати чи розгортати зміни.

Зупиніться, якщо

  • Потрібні непогоджені файл, команда чи доступ; тест звертається назовні, не проходить або створює непояснені файли; diff виходить за дозволений перелік.

Як перевірити

  • Самостійно прочитайте кожен змінений рядок, зіставте його з планом і перевірте стан репозиторію на відсутність незапланованих файлів.
Мета: Реалізувати один локальний навчальний крок без розширення обсягу робіт.

Безпечний контекст для агента:
- Письмово погоджений план, дозволені файли, чиста локальна гілка та документована локальна тестова команда без production-залежностей.

Дозволено:
- Змінити лише перелічені файли для одного тесту, локальної сторінки без бази або документації; показувати diff після кожного файла; запускати лише погоджений локальний тест.

Заборонено:
- Змінювати залежності, створювати чи застосовувати міграції, торкатися баз, секретів, production, зовнішніх сервісів або реальних даних; запускати руйнівні команди, переписувати історію, публікувати чи розгортати зміни.

Зупиніться, якщо:
- Потрібні непогоджені файл, команда чи доступ; тест звертається назовні, не проходить або створює непояснені файли; diff виходить за дозволений перелік.

Очікуваний результат: Малий локальний diff у погоджених файлах і фактичний результат одного цільового тесту.

Як перевірити:
- Самостійно прочитайте кожен змінений рядок, зіставте його з планом і перевірте стан репозиторію на відсутність незапланованих файлів.
5
Перевірити

Незалежно перевірте зміну

Визначити, чи відповідає локальна зміна плану й чи не порушує погоджені межі.

Очікуваний результат:Рішення «прийняти локально» або «відхилити» з результатом тесту, перевіркою diff і посиланням на доказ.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Зелений тест не виправдовує зайвий diff, а пояснення агента не замінює результат команди.

Безпечний контекст для агента

  • Початковий стан, погоджений план, поточний diff, документована тестова команда й офіційна документація Django, якщо вона потрібна.

Дозволено

  • Повторно запустити погоджений тест у локальному ізольованому контурі, порівняти diff із планом і звірити релевантне твердження з офіційною документацією.

Заборонено

  • Виправляти нові проблеми, розширювати обсяг, послаблювати тест, використовувати production, секрети, зовнішні дані або непогоджені команди.

Зупиніться, якщо

  • Незалежний запуск не відтворює результат, diff має непояснену зміну або критерій правильності залежить лише від твердження агента.

Як перевірити

  • Ви самі повторили тест, зафіксували код завершення та порівняли всі змінені рядки з планом і документацією.
Мета: Визначити, чи відповідає локальна зміна плану й чи не порушує погоджені межі.

Безпечний контекст для агента:
- Початковий стан, погоджений план, поточний diff, документована тестова команда й офіційна документація Django, якщо вона потрібна.

Дозволено:
- Повторно запустити погоджений тест у локальному ізольованому контурі, порівняти diff із планом і звірити релевантне твердження з офіційною документацією.

Заборонено:
- Виправляти нові проблеми, розширювати обсяг, послаблювати тест, використовувати production, секрети, зовнішні дані або непогоджені команди.

Зупиніться, якщо:
- Незалежний запуск не відтворює результат, diff має непояснену зміну або критерій правильності залежить лише від твердження агента.

Очікуваний результат: Рішення «прийняти локально» або «відхилити» з результатом тесту, перевіркою diff і посиланням на доказ.

Як перевірити:
- Ви самі повторили тест, зафіксували код завершення та порівняли всі змінені рядки з планом і документацією.
6
Пояснити

Поясніть зв’язок від адреси до тесту

Показати, що ви розумієте проєкт і межі виконаної зміни.

Очікуваний результат:Ваше пояснення шляху запиту, ролі зміни, доказів і того, що не перевірялося.
Межі, перевірка й завдання агенту

Спочатку зрозумійте

  • Пояснення має відділяти підтверджені факти, припущення й те, що залишилося поза перевіркою.

Безпечний контекст для агента

  • Перевірена карта, остаточний diff, результат тесту й рішення попереднього кроку.

Дозволено

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

Заборонено

  • Дозволяти агенту підмінити ваше пояснення готовим звітом, оголосити зміну безпечною без доказів, публікувати, зливати чи розгортати зміну.

Зупиніться, якщо

  • Ви не можете пояснити призначення зміненого рядка або межі тесту.

Як перевірити

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

Безпечний контекст для агента:
- Перевірена карта, остаточний diff, результат тесту й рішення попереднього кроку.

Дозволено:
- Попросити агента поставити уточнювальні запитання або вказати суперечність із конкретним файлом чи офіційною документацією після вашого пояснення.

Заборонено:
- Дозволяти агенту підмінити ваше пояснення готовим звітом, оголосити зміну безпечною без доказів, публікувати, зливати чи розгортати зміну.

Зупиніться, якщо:
- Ви не можете пояснити призначення зміненого рядка або межі тесту.

Очікуваний результат: Ваше пояснення шляху запиту, ролі зміни, доказів і того, що не перевірялося.

Як перевірити:
- Звірте кожне твердження з файлом, результатом тесту або офіційною документацією; інша людина має відтворити пояснення без довіри до агента.