amarao: (Default)
Я только что осознал ещё один fault domain при работе с LLM: violation of context locality.

Когда человек ковыряется в коде, его фокус обычно очень слоёно-углублённый (общее понимание что в целом, хорошее понимание текущей подсистемы, почти полное понимание модуля, полное понимание того куска с которым работает). Я понимаю, что можно заявить, что человек "ничего не понимает даже локально", но это всего лишь константа, на которую иерархия понимания умножается, а отношения между "всё в целом понимаю" и "хорошо знаю кусок с которым работаю сейчас" остаётся.

Если человек при своей работе сломал что-то далёкое, это обычно либо большая неудача, либо плохо организованный код. Мы стремимся изолировать куски кода, чтобы иметь возможность работать над обозримым.

И вот в эту картинку рабочего процесса врывается LLM. Хорошая LLM, astra, whatever. Которая вобрала в себя всё и одинаково хорошо понимает и этот кусок и соседний кусок и ещё другой соседний кусок.

Если произошла мискоммуникация между намерениями в коде и новыми изменениями, LLM может это заметить и подсветить. И тут, и там, и вот там, и вот там вот concern. Человек в такой ситуации понимает, что взял кусок не по рту и сдаёт назад, начинает делать осторожнее.

LLM же делает (правильно! но не правильно! мисскоммуникация) и поднимает 100500 concerns из разных доменов. Человек это либо игнорирует и делегирует llm разобраться (vibe), либо пытается понять. И вот тут-то начинает он Страдать, и чем тщательнее он думает, тем больнее он страдает.

Откуда страдания? От переключения контекста. Это принудительный мультитаскинг, на фоне которого вопрос от менеджера "ну как оно там?" отвлекающий от работы - это чистой воды умиление.

Это настоящий, самый страшный мультитаскинг, когда от человека ожидают peak competence в каждой подсвеченной проблеме. А каждая проблема со своим контекстом. И вот человек пытается это всё понять. А потом тут же понять. И снова понять. И снова. Это же невыносимая нагрузка, запредельная. Разумеется, человек ломается и впадает в vibe режим, либо ухватывается за маленький кусочек.

Мы долго ругали llm за то, что у них маленький контекст. llm отрастили контекст побольше. Помощнее. Их attention vector может придавить 20 человек насмерть своим размером.

Заметим, эта проблема одинаково болезненная как в plan стадии, так и в implement. Её нельзя решить с помощью лучших промптов или лучших скиллов. Это либо "поди сам разберись" (vibe), либо невыносимая нагрузка на человека.

Что делать? То же самое, что человек делает при знакомстве с большой кодовой базой большого проекта. Стремиться к локальности. Как? Не знаю. Очень чешутся руки сказать "делать как раньше делали и попроси llm проверить". Наверное, это не выход (нельзя игнорировать скорость и качество написания кода).

Значит, надо искать какой-то пограничный подход, который позволит человеку сохранять удобную для него структуру контекста. А вот как? (describe me problems with this idea within a human-comfortable context hierarchy... хаха, удачи с таким промптом).

Profile

amarao: (Default)
amarao

September 2026

S M T W T F S
  12345
678 91011 12
13141516 1718 19
20212223242526
27282930   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 23rd, 2026 02:50 am
Powered by Dreamwidth Studios