Программирование с ИИ
ENRU
1.4

Три навыка

понимать, формулировать, проверять

Что это

Вся книга устроена вокруг трёх навыков. Это не красивая схема, а устройство содержания: главы 2, 3 и 4 — это и есть три навыка, по главе на каждый.

НавыкЧто значитГлава
Пониматьчитать код, знать термины, видеть структуру проекта2
Формулироватьставить задачу так, чтобы вышло задуманное3
Проверятьубеждаться, что получилось, ловить ошибки, откатывать4

Остальные главы — приложения к этим трём: процесс и инструменты (5), архитектура (13), практикум (14), разделы по стекам.

Зачем они нужны вместе

Навыки не независимы. Каждый опирается на остальные, и провал в одном рушит работу целиком.

Без понимания не работает проверка. Нельзя убедиться, что код делает нужное, не читая его. Запуск проверяет ровно один случай — тот, который ты запустил.

Без формулирования понимание тратится впустую. Ты видишь, что решение не то, но не можешь объяснить, какое нужно, — и следующая попытка будет такой же.

Без проверки оба первых навыка бесполезны. Прочитал, сформулировал, получил код — и не запустил. Всё остальное было зря.

Поэтому рабочий цикл из статьи 1.2 и выглядит как цикл: три навыка применяются по очереди на каждом круге.

С чего начинать

Если развивать их по одному, порядок такой:

Первым — формулирование. Оно даёт самую быструю отдачу: хороший запрос экономит час с первого же применения, а научиться ему можно за вечер. Глава 3 написана первой именно поэтому.

Вторым — понимание. Самый большой навык и самый медленный в освоении, но без него упираешься в потолок: можно бесконечно улучшать запросы, но пока ты не читаешь результат, контроль не появится.

Третьим — проверка. Осваивается быстро, когда есть первые два. Отчасти это просто набор привычек: запускать, смотреть дифф, прогонять тесты.

Как сказать ИИ

Навыки можно развивать прямо в работе, добавляя к обычным задачам по одной фразе.

Для понимания:

Запрос
Прежде чем я приму этот код: объясни построчно,
что он делает. Я хочу разобраться, а не просто вставить.

Для формулирования — обратная связь на собственные запросы:

Запрос
Я поставил задачу вот так: <запрос>. Что в этой формулировке
было неясно? Что тебе пришлось додумать?

Для проверки:

Запрос
Какие три случая стоит проверить руками, чтобы убедиться,
что это работает? Включи хотя бы один неудачный.

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

На что смотреть

Перекос в формулирование. Выглядит как коллекционирование приёмов: всё новые и новые способы спросить, но результат по-прежнему не читается. Потолок наступает быстро.

Перекос в понимание. Разбираешь каждую строку, включая те, что не собирался менять. Чтение — средство, а не цель; достаточного уровня хватает (статья 2.1).

Проверка откладывается «на потом». Самый дорогой перекос: ошибки копятся и находятся все сразу, когда искать их труднее всего.

Шпаргалка

  • Три навыка: понимать · формулировать · проверять. Главы 2, 3, 4.

  • Без понимания невозможна проверка; без проверки бесполезны оба первых.

  • Начинать с формулирования — самая быстрая отдача.

  • Понимание — самый медленный навык и самый важный.

  • Переделываешь трижды — формулирование. Боишься трогать код — понимание.

  • Спрашивай: «что в моей формулировке пришлось додумать?»