В апреле он обещал больше не пользоваться coding assistant, но не сдержался. Одноразовая генерация целых фич оставляет его неудовлетворённым и дезориентированным, зато LLM отлично ускоряет скучные куски работы. Правда, если позволить ассистенту свободно гулять по проекту, копится огромный когнитивный долг. Он, например, ненавидит читать Django-документацию ради тегов на сайте, но всё равно хочет понимать, как это работает.
Можно было бы проверять каждую строчку за LLM — так сейчас делают почти все. Но продираться сквозь сотни строк чрезмерно защитного кода с плохими комментариями и тонкими ошибками не хочется, тем более в личных проектах. Личные проекты обязаны приносить удовольствие, а удовольствие тут — в процессе, а не в результате.
Поэтому автор придумал слегка комичный, но рабочий способ: просит ассистента генерировать код в чате, а потом сам вручную переносит его в редактор. В agents files лежат жёсткие инструкции: никогда не создавать, не редактировать, не перемещать и не удалять файлы проекта без явной просьбы — показывать все правки в чате; не запускать команды, которые меняют файлы, ставят зависимости или трогают состояние репозитория — просто показывать эти команды. Плюс предупреждение, что автор опытный разработчик, поэтому не надо объяснять синтаксис, API и концепции.
Работает так медленнее, чем с полным доверием машине: не в 10 раз быстрее, а примерно в 2. Зато, набирая чужие строки руками, он строит ментальную модель кода и того, как тот ложится в существующую базу. Если что-то непонятно — можно остановиться, посмотреть или спросить у LLM. А медленный темп помогает ловить галлюцинации и неудачные решения. По ходу дела можно реорганизовать код, переписать под себя, добавить комментарии. Главное — появляется пространственная карта кодовой базы: всегда понятно, где что лежит и куда идти с правкой.
Это напоминает совет из юности: не копипастить код из книг и блогов, а перепечатывать руками, чтобы полностью разобраться. Ручной ввод LLM-кода работает так же. Автор ценит понимание выше продуктивности, делает так уже несколько месяцев и бросать не собирается. Его тревожит, что индустрия копит когнитивный долг и скоро придётся расплачиваться: мы перестанем понимать, как устроены большие куски цифровой инфраструктуры. Лично он не изменит всю индустрию, но зато отвечает за то, чтобы полностью понимать свой код. Иначе это профессиональная халатность.