Контекст має працювати на задачу
Загального опису проблеми недостатньо: без конкретних фактів 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
## Проблема
Подвійне натискання створює два refund-запити.
## Відтворення
1. Відкрити тестове замовлення.
2. Двічі натиснути кнопку повернення.
3. Перевірити записи в журналі.
## Факти
- UI: RefundButton.tsx
- Backend: RefundController.java
- Log: logs/refund-duplicate.log
## Відкрите питання
Два запити надходять із клієнта чи дублювання виникає на сервері? Коли пакет достатній
- Можна точно описати, що працює неправильно.
- Є контрольований сценарій відтворення.
- Відома ймовірна зона змін або зрозуміло, що ще треба дослідити.
- Заздалегідь визначено, як підтвердити успішність виправлення.
- Матеріали очищені від секретів і зайвих персональних даних.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush