software on demand
Apr. 19th, 2026 10:35 pmЯ тут заставил LLM написать мне кусок кода, который, с большой вероятностью, был написан много раз до этого. Я догадывался, что могу пойти и найти, но это ж целое дело - лицензия, интерфейсы, документация.
Так что написать ещё раз было проще. Реально проще. NIH (not invented here) синдром, традиционно считается плохим; в большинстве случаев, "написать своё" - плохая идея, особенно, если это не новая уникальная задача или не странная комбинация требований.
Но всё меняется... Код становится дешёвым, и думать о том, "писать или нет" нужно не с точки зрения "сколько нужно потратить на написание", а с точки зрения, что лучше, ещё одна зависимость, или локальное сопровождение.
По мере того, как написание кода будет становиться всё лучше и дешевле (а оно будет, open-модели уже пишут терпимо, и будет ещё лучше, поскольку SOTA показывают куда идти), очевидно, что баланс между NIH и "ещё одной зависимостью" будет становиться всё более с перекосом в сторону NIH. Причин, помимо "дешёво и просто" много. Во-первых любая фича за ваш каприз. Во-вторых, минус огромная головная боль с сопровождением зависимостей. Security становится лучше (аргумент: сейчас модно искать 0-day с помощью LLM'ок, когда это станет не только модно, но и полезно, аудит локального кода будет рутинной процедурой, и локальность кода упрощает проблему), меньше возни с трекингом изменений.
Возможно, мы дойдём до этапа, когда наличие зависимостей в проекте будет восприниматься как "сложно" и "есть глубокие причины". Концепция библиотек станет возвращаться в (условные) 90ые, когда библиотек было мало и были глубокие причины иметь каждю эту so'шку на своей машине, а не в сырцах в коде.
А следующий этап - software on demand, то есть "под задачу". Сейчас оно звучит ещё странно и vibe'ово, но если посмотреть, что делают LLM при исследовании проблемы - они же пишут сниппеты на питоне для анализа. То же самое можно и с более крупным софтом. В ответ на запрос пользователя (допустим, в рамках фантастики ближнего полёта) "хочу синкать батареи у панелей синкать с батарей у машины, так, чтобы панельки побольше работали" будет написан софт, который именно это и делает. С конкретными моделями машины и панели (будет новая машина - "поправь, чтобы и с Jomdong работало"), без какой-либо далёкой перспективы, но будет.
И вот очень интересный момент будет, когда количество начнёт переходить в качество (или его отсутствие). Одна софтинка да, две да, но если у нас взаимодействие software on demand, которое общается с software on demand, которое что-то делает с данными из другого software on demand, вот тут вот что-то интересное уже начинает проклёвываться.
Точно ли `import json`, или можно просто дописать парсинг json'а на месте? А runtime нам нужен? А операционная система?
А что, если железо будет таким простым и таким специфичным (больше не надо legacy и совместимость), что софт под него проще писать с нуля каждый раз?
... А что, если и железо?
Так что написать ещё раз было проще. Реально проще. NIH (not invented here) синдром, традиционно считается плохим; в большинстве случаев, "написать своё" - плохая идея, особенно, если это не новая уникальная задача или не странная комбинация требований.
Но всё меняется... Код становится дешёвым, и думать о том, "писать или нет" нужно не с точки зрения "сколько нужно потратить на написание", а с точки зрения, что лучше, ещё одна зависимость, или локальное сопровождение.
По мере того, как написание кода будет становиться всё лучше и дешевле (а оно будет, open-модели уже пишут терпимо, и будет ещё лучше, поскольку SOTA показывают куда идти), очевидно, что баланс между NIH и "ещё одной зависимостью" будет становиться всё более с перекосом в сторону NIH. Причин, помимо "дешёво и просто" много. Во-первых любая фича за ваш каприз. Во-вторых, минус огромная головная боль с сопровождением зависимостей. Security становится лучше (аргумент: сейчас модно искать 0-day с помощью LLM'ок, когда это станет не только модно, но и полезно, аудит локального кода будет рутинной процедурой, и локальность кода упрощает проблему), меньше возни с трекингом изменений.
Возможно, мы дойдём до этапа, когда наличие зависимостей в проекте будет восприниматься как "сложно" и "есть глубокие причины". Концепция библиотек станет возвращаться в (условные) 90ые, когда библиотек было мало и были глубокие причины иметь каждю эту so'шку на своей машине, а не в сырцах в коде.
А следующий этап - software on demand, то есть "под задачу". Сейчас оно звучит ещё странно и vibe'ово, но если посмотреть, что делают LLM при исследовании проблемы - они же пишут сниппеты на питоне для анализа. То же самое можно и с более крупным софтом. В ответ на запрос пользователя (допустим, в рамках фантастики ближнего полёта) "хочу синкать батареи у панелей синкать с батарей у машины, так, чтобы панельки побольше работали" будет написан софт, который именно это и делает. С конкретными моделями машины и панели (будет новая машина - "поправь, чтобы и с Jomdong работало"), без какой-либо далёкой перспективы, но будет.
И вот очень интересный момент будет, когда количество начнёт переходить в качество (или его отсутствие). Одна софтинка да, две да, но если у нас взаимодействие software on demand, которое общается с software on demand, которое что-то делает с данными из другого software on demand, вот тут вот что-то интересное уже начинает проклёвываться.
Точно ли `import json`, или можно просто дописать парсинг json'а на месте? А runtime нам нужен? А операционная система?
А что, если железо будет таким простым и таким специфичным (больше не надо legacy и совместимость), что софт под него проще писать с нуля каждый раз?
... А что, если и железо?
no subject
Date: 2026-04-20 01:10 pm (UTC)