Перейти к содержимому
Источник

Про будущее софта

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

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

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

Но когда я говорю «агент», то я не имею в виду Claude Code или Pi — это зародыши агентов. Нормисы к ним не придут никогда. Те же Codex App или Claude Desktop/Cowork — куда ближе к нормальности.

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

Большущая и ключевая разница здесь только в том, что не код решает, как будет выглядеть процесс решения задачи, а агент, ваши промпты и промпты автора скилла. Код приложения как точка входа для пользователя может уже не существовать. Она меняется на цикл: код агента → нейронка → вспомогательный код приложения. А если вспомогательного кода нет, то агент его сгенерит, если посчитает нужным. Можно считать, что часть исполняемого кода просто переезжает на стадию инференса — и инференс становится частью рантайма этого приложения в широком смысле.

Обычный юзер в каком-нибудь GUI-агенте из будущего сможет ставить приложения (скиллы) из какого-то маркетплейса. Скиллы перестанут быть просто промптами, а будут верхнеуровнево описывать, какими компонентами может пользоваться агент. С этой помощью агент сможет сверстать какой-нибудь удобный для потребления или редактирования GUI прямо внутри того же агента а-ля Canvas/Artifacts. Чтобы это не выглядело как вайбкодинг, а чтобы это выглядело как динамический, но нативный UI. Мы уже почти тут, кроме интеграции с агентами.

Раньше человек или сам, или с помощью кода ходил и связывал системы. Но, как оказывается, огромное количество софта схлопывается просто до скилла или скилла со скриптами.