~/VibeHandbook

Глава 07 · 03

Как дать AI правильный контекст

Именно здесь сосредоточена большая часть вашего рычага. Когда вы сообщаете о баге, включите:

  • Сообщение об ошибке дословно. Скопируйте его точно — не пересказывайте. Пересказать ошибку — всё равно что описывать фотографию по телефону: вы упустите ту единственную деталь, которая имела значение.
  • Стек вызовов, особенно несколько верхних строк.
  • Релевантный код — функцию, которая выбросила ошибку, плюс всё, что она вызывает.
  • Что вы ожидали против того, что произошло.

Вот как на самом деле выглядит сильный запрос на отладку:

I'm getting an error when I submit the signup form. Here's the full output:

TypeError: Cannot read properties of undefined (reading 'email')
    at validateUser (src/auth/validate.js:14:23)
    at handleSignup (src/routes/signup.js:31:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Steps to reproduce: fill in the form, click "Sign up".
Expected: a "Welcome" message.
Actual: the page goes blank and the error above appears in the console.

Here is validate.js (lines around 14):
[paste the function]

And here is the handleSignup function that calls it:
[paste the function]

What could be causing this, and how do I confirm it before changing anything?

Обратите внимание на последнюю строку. Вы просите гипотезу и шаг для подтверждения, а не немедленную правку. Это держит AI честным.

Полезно уметь читать трассировку, которую вы вставляете. Стек вызовов — это история вызовов, от новых к старым: верхняя строка — это место, где программа действительно взорвалась, а каждая строка ниже — это функция, которая вызвала функцию над ней. Так что в примере validateUser — это место, где email был прочитан с чего-то undefined, а handleSignup — тот, кто вызвал validateUser. Кадры ниже вашего собственного кода — вроде processTicksAndRejections — принадлежат среде выполнения языка; их обычно можно игнорировать. Читайте сверху вниз, пока не дойдёте до первой строки, указывающей на ваш файл, — это почти всегда то место, откуда стоит начать смотреть.

Хотите офлайн-версию?

Получите PDF + EPUB + скачиваемую библиотеку промптов + обновления версий.

$ Получить PDF — $39