Контекст має працювати на задачу

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

Якісний пакет контексту — це не максимальна кількість файлів. Кожен його елемент має мати зрозумілу роль у дослідженні або верифікації.

ПоняттяЩо означає
КонтекстКод, логи, тікети, тести, конфігурація та інші матеріали для роботи
EvidenceФакт, який можна безпосередньо спостерігати або підтвердити
ШумМатеріал, що не допомагає ані аналізу, ані перевірці

Що може входити до пакета доказів

АртефактПризначення
Кроки відтворенняПоказують послідовність, що призводить до проблеми
Зачеплені файлиОбмежують область пошуку
Лог або stack traceДають технічні факти про збій
Скриншот або відеоФіксують фактичну поведінку UI
Наявний тестПоказує поточні гарантії та прогалини
Схожий кодПідказує вже прийнятий у проєкті патерн
Тикет і бізнес-контекстПояснюють вплив і пріоритет
Безпечний конфігУточнює середовище без розкриття секретів

Приклад пакета для подвійного refund

Для проблеми з повторним створенням refund-запиту корисно поєднати симптом із технічним потоком: сценарій подвійного натискання, тестовий ідентифікатор замовлення, лог із двома запитами, UI-компонент, backend-контролер, наявний приклад ідемпотентності та скриншот.

  • RefundButton.tsx — точка дії користувача;
  • RefundController.java — вхід до backend-flow;
  • CancelOrderService.java — аналог захисту від повтору;
  • лог і скриншот — спостережувані докази, а не припущення.

EVIDENCE_LOG.md і TASK_SPEC.md

`EVIDENCE_LOG.md` зберігає факти розслідування, відкриті питання та матеріали, а `TASK_SPEC.md` формулює стислий контракт майбутньої зміни. Їх не варто перетворювати на дублікати одного документа.

Каркас EVIDENCE_LOG.md
# EVIDENCE_LOG.md

## Проблема
Подвійне натискання створює два refund-запити.

## Відтворення
1. Відкрити тестове замовлення.
2. Двічі натиснути кнопку повернення.
3. Перевірити записи в журналі.

## Факти
- UI: RefundButton.tsx
- Backend: RefundController.java
- Log: logs/refund-duplicate.log

## Відкрите питання
Два запити надходять із клієнта чи дублювання виникає на сервері?

Коли пакет достатній

  1. Можна точно описати, що працює неправильно.
  2. Є контрольований сценарій відтворення.
  3. Відома ймовірна зона змін або зрозуміло, що ще треба дослідити.
  4. Заздалегідь визначено, як підтвердити успішність виправлення.
  5. Матеріали очищені від секретів і зайвих персональних даних.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush