
Представьте карту всего кода в мире: GitHub, Hugging Face... Но что, если я скажу, что самая захватывающая часть этой карты сейчас даже не код, а промпты? Программное обеспечение снова меняется радикально, и на этот раз естественный язык становится новым языком программирования.
В этой статье, записанной по выступлению Андрея Карпатого на конференции AI Startup School, мы разберём, как радикально меняются парадигмы разработки, почему LLM — это не просто «новое электричество», а сложные экосистемы и как концепция «частичной автономии» определяет будущее приложений. Будущее ПО уже здесь, и оно говорит на вашем языке.
Рад оказаться здесь сегодня, чтобы поговорить с вами о программном обеспечении в эпоху ИИ. Я слышал, что среди вас много студентов — бакалавры, магистранты, аспиранты и так далее. Многие из вас вот‑вот войдут в индустрию. И мне кажется, что сейчас для этого абсолютно уникальное и невероятно интересное время. А всё потому, что программное обеспечение опять… меняется. Снова!
И я говорю «снова», потому что уже выступал с докладом на эту тему, но проблема в том, что ПО продолжает меняться. Так что у меня всегда есть материал для новых лекций, да и изменения здесь довольно основательные. Мне кажется, что, в общем‑то, за последние 70 лет программное обеспечение почти не менялось на таком фундаментальном уровне; но за последние годы оно менялось дважды, и весьма резко. А это значит огромное количество работы: писать новую часть кода и переписывать старую.
Представим, что перед нами нечто вроде карты всего существующего ПО. Вот тут вы видите действительно классный инструмент — Map of GitHub, своего рода огромная библиотека всего написанного софта. Если вы увеличите изображение, то увидите множество разных репозиториев — почти что весь код, созданный на сегодня.

Несколько лет назад я заметил, что происходит изменение ПО. Возник некий новый тип программного обеспечения, который я тогда назвал ПО 2.0. Суть заключалась в следующем: ПО 1.0 — это код, который непосредственно пишете вы, программисты, чтобы компьютер выполнял задачи. ПО 2.0 — это, по сути, нейронные сети, в особенности их веса. Вы не пишете код напрямую, вместо этого скорее настраиваете датасеты и запускаете оптимизатор, чтобы сформировать параметры нейронной структуры.

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

Сейчас, на самом деле, «эквивалент GitHub» появился и на территории ПО 2.0: по сути, Hugging Face стал его аналогом для ПО 2.0. Также есть Model Atlas, с помощью которого можно визуализировать код, находящийся там.
Если вам интересно, что означает гигантский круг с точкой посередине, — это параметры Flux, генератора изображений. Каждый раз, когда кто‑то настраивает LoRa поверх модели Flux, он, по сути, создаёт коммит в этом пространстве, формируя новый вид генератора изображений.

До недавнего времени все нейросети, с которыми мы сталкивались, напоминали системы с фиксированной функциональностью, скажем от изображения — к категориям. Но как мне кажется, за последние годы появилось нечто более фундаментальное: нейросети стали программируемыми, благодаря LLM.
И это не просто нечто новое, а совершенно иной вид компьютеров. Поэтому я считаю уместным дать ему новое название: ПО 3.0. Теперь ваши промпты — это программы, которые программируют LLM. И что удивительно, программы пишутся… на естественном языке! Крайне занятный и самобытный язык для программирования.
Чтобы подытожить разницу: возьмём, например, задачу определения настроения текста. Для её решения можно:
написать на Python какой‑то программный код,
обучить нейросеть,
или подать промпт большой языковой модели.

На изображении приведён пример few‑shot prompt: небольшой запрос с примерами «да — нет». Вы можете легко подкорректировать его, тем самым немного иначе программируя ПО 3.0.
Мы видим, что — возможно, вы это уже заметили — на GitHub всё чаще встречаются промпты, встроенные в программный код или даже доминирующие в нём. Формируется новый, растущий жанр кода.
Это не просто новый подход или парадигма программирования — меня поражает, что он реализуется на естественном человеческом языке. Новшество взорвало мой мозг несколько лет назад, и я посвятил этому твит, которые, думаю, зацепил множество людей. Он даже сейчас запинен у меня в профиле. До сих пор считаю феноменальным тот факт, что теперь мы программируем компьютеры на естественном языке.

Когда я работал в Tesla, мы трудились над автопилотом, пытаясь заставить машину ездить самостоятельно. Помню, я показывал тогда слайд, на котором входные данные автомобиля располагаются внизу, затем они проходят через стек программного обеспечения, в результате чего вырабатываются команды для рулевого управления и ускорения.

В то время я заметил, что код автопилота буквально пропитан строками на C++ — классический пример ПО 1.0. А ещё там присутствовали нейросети, которые занимались распознаванием изображений. Я обратил внимание, что по мере улучшения работы автопилота возможности и масштаб нейросети значительно росли. При этом больша́я часть кода на C++ постепенно удалялась, а функции, изначально закодированные в стиле 1.0, мигрировали в ПО 2.0. Например, многие задачи по сшивке данных с разных камер и за долгий промежуток времени теперь выполнялись нейросетью, что позволило нам избавиться от значительных объёмов кода. Стек ПО 2.0 буквально съел весь программный стек автопилота. В тот момент я считал это поистине удивительным.

И как мне кажется, мы наблюдаем то же самое снова: мы видим, как новый вид программного обеспечения постепенно сжигает стек. На текущий момент у нас есть три совершенно разные парадигмы программирования, поэтому, если вы планируете войти в индустрию, крайне полезно свободно владеть всеми тремя. У каждой из них есть свои достоинства и недостатки, и в зависимости от задачи, возможно, придётся выбирать: писать ли функционал в ПО 1.0, обучать нейросеть (2.0) или просто настраивать LLM запросами (3.0). Вам предстоит принимать такие решения и, возможно, даже переключаться между подходами.
Как мыслить о больших языковых моделях
Меня поразила фраза, сказанная Эндрю Ыном много лет назад:
«ИИ — это новая электроэнергия».
(Эндрю Ын)
Его мысль о том, что ИИ — это подобие новой электроэнергии, отлично передаёт одну интересную вещь: LLM действительно начинают приобретать свойства утилит.

Примером могут служить лаборатории, создающие LLM, такие как OpenAI, DeepMind, Anthropic и другие. Они инвестируют капитал (CAPEX) на обучение моделей, что, по сути, эквивалентно строительству электросетей. Затем они используют операционные расходы (OPEX), чтобы предоставлять этот интеллект через API, доступные всем нам. Пользователи имеют доступ к этим моделям по принципу «оплата за миллион токенов» или что‑то в этом духе. Мы предъявляем к API запросы, свойственные утилитам: требуем низкую задержку, высокую надёжность, стабильное качество и так далее.
В мире электричества, к примеру, существует свитчер источников, позволяющий переключаться между сетью, солнечной батареей, генератором и т. д. В случае LLM у нас может быть агрегатор нейросетей, который облегчает переход между различными типами языковых моделей, существующих на рынке.
Например, такой агрегатор — BotHub. Это платформа, где можно воспользоваться топовыми нейросетями (ChatGPT o3, DeepSeek R1, Midjourney 7, Google Veo 2 и т. д.) в одном интерфейсе, что позволяет легко сравнивать их ответы или переключаться между ними под конкретную задачу. Кстати, при регистрации по этой волшебной ссылке вы получите 100 000 токенов для тестирования любых моделей!
Ещё один момент мне кажется увлекательным: буквально несколько дней назад мы стали свидетелями того, как многие LLM вышли из строя и люди оказались буквально парализованы. Для меня это действительно интересно: когда они дают сбой, станвится похоже на своеобразное «интеллектуальное затмение».

Однако LLM обладают не только свойствами утилит — я бы сказал, что они частично напоминают фабрики. Причина в том, что капитальные затраты на создание таких моделей весьма значительны: это вам не просто электростанцию построить, всё куда масштабнее — вы вкладываете колоссальные средства. Техническое древо этой технологии растёт с невероятной скоростью.
Можно провести различные аналогии. Например, процессорный узел с нормой в 4 нм можно сравнить с кластером, обладающим определённым пределом производительности FLOPS. Если вы используете графические процессоры NVidia только для программного обеспечения, но не занимаетесь железом, это похоже на безфабричную модель, а когда, например, строите собственное оборудование и обучаете модели на TPU (если вы Google), это скорее напоминает модель Intel, где фабрика принадлежит вам. В общем, здесь есть определённые аналогии, которые вполне логичны.
Но если честно, наиболее подходящая аналогия — представление LLM как операционной системы.

Дело в том, что это уже не просто электричество, не просто вода. Не что‑то, что подаётся из крана как сырьевой ресурс. Оно становится всё более сложными экосистемами программного обеспечения. Уже больше не просто утилиты, подобные электричеству. И что интересно, экосистема формируется таким образом, что она напоминает рынок операционных систем. У нас есть несколько закрытых решений, таких как Windows или MacOS, и есть альтернатива с открытым исходным кодом, например Linux, — на мой взгляд, в мире LLM всё похоже: несколько закрытых провайдеров и, скажем, экосистема Llama✶, которая может превратиться в нечто вроде Linux.
Но стоит отметить, что сейчас всё ещё ранний этап. Пока они просто языковые модели, но, как мы видим, всё идёт к тому, что они станут гораздо сложнее. Речь уже не только о самих LLM, но и об использовании инструментов, мультимодальности и о том, как всё будет работать.

Когда у меня возникло это осознание, я попытался нарисовать схему, и мне показалось, что LLM действительно напоминают новую операционную систему. Если говорить упрощённо, LLM — новый вид компьютера: они задают тон, исполняя функции, аналогичные CPU; контекстные окна тут выполняют роль памяти, а сами LLM управляют памятью и вычислениями, используя весь доступный набор возможностей для решения задач.
Другая аналогия, которая меня поражает, заключается в том, что сейчас мы словно вернулись в эпоху 1960-х годов, когда вычисления на LLM всё ещё невероятно дороги для этого нового типа компьютеров. Это вынуждает модели LLM оставаться централизованными в облаке, а мы, по сути, представляем собой тонких клиентов, которые взаимодействуют с ними через сеть. В те времена компьютеры тоже выглядели так, операционные системы размещались в облаке (или, точнее, на центральных вычислительных машинах), всё передавалось по сети и всё работало в пакетном режиме.

Тем не менее у LLM есть несколько уникальных отличий от классических операционных систем и ранних вычислительных машин.
Я однажды писал об одном из таких свойств, которое показалось мне особенно интересным. В этот раз речь идёт о том, что великие языковые модели как будто переворачивают привычное направление технологической диффузии. Обычно с техническими новшествами процесс развивается следующим образом: технологии, будь то электричество, криптография, компьютеры, авиация, интернет, GPS и так далее, сначала используются правительством и корпорациями: это обусловлено высокими затратами и сложностью технологий. Уже затем, по мере удешевления и освоения, они доходят до потребителей. Но с LLM всё как будто наоборот. Вспомните ранние компьютеры: они разрабатывались в первую очередь для военной и баллистической промышленности. А сегодня LLM помогают... варить яйца или подобное. Да, я сам чаще всего использую их для таких повседневных задач.
Это невероятно любопытно: у нас есть новая магическая машина, чудо‑компьютер — и что она делает? Она подсказывает мне, как правильно сварить яйцо, а не помогает правительствам в решении каких‑нибудь грандиозных стратегических задач, будь то баллистика или иные суперсекретные исследования. На самом деле, даже корпорации и правительства едва ли успевают за тем, как быстро мы с вами освоили технологии. Всё стало с ног на голову.
Мы переживаем своего рода ренессанс программирования: возвращаемся к истокам и изобретаем вычисления заново. На данный момент модели доступны через многопользовательский режим и распространяются подобно утилитам.
Что действительно выделяет эту технологию, так это то, что она больше не находится под контролем ограниченного круга правительств и корпораций — она оказалась в руках у всех нас. У каждого есть компьютер, а это всего лишь программное обеспечение. ChatGPT одной ночью телепортировался на миллиарды устройств, почти моментально. Поражает, потрясающее безумие. И сейчас — как раз наше время войти в индустрию и программировать эти невероятные компьютеры. Это кажется нереальным, но это правда.
Возможности
Теперь я хочу перейти к обсуждению возможностей: как мы можем использовать модели и где кроются самые крупные перспективы. Это не полный список, а лишь пунктир чего‑то интересного, что я выделил специально для выступления.
Первое, что мне кажется крайне перспективным, это приложения с частичной автономией. В качестве примера возьмём программирование. Именно здесь кроется ценность специализированных приложений. Например, многие из вас наверняка пользуются Cursor, как и я. Этот инструмент — отличный пример того, каким должен быть современный софт. Cursor представляет собой удачный пример приложения с интеграцией LLM (читайте о том, как интегрировать Cline или Roo Code в среду разработки VS Code), которое сочетает в себе традиционный интерфейс для ручной работы и возможности взаимодействия с моделью, позволяющие работать с большими блоками информации. Это значительно упрощает процесс работы.
Давайте выделим некоторые ключевые свойства подобных LLM‑приложений, которые делают их столь удобными. Во‑первых, они берут на себя управление контекстом — огромный пласт работы, экономя время и силы пользователя. Во‑вторых, они способны координировать множественные обращения к языковым моделям. В Cursor, к примеру, под капотом встроены модели для создания эмбеддингов ваших файлов, чат‑модели, а также инструменты для применения изменений к коду (diff). И всё это автоматизировано ради удобства пользователя.

Ещё одно интересное свойство, которое я хочу обсудить, — это то, что я называю «ползунком автономии», в Cursor реализованной через возможность выбора разных уровней вмешательства. Вы можете начать с простого автодополнения с помощью клавиши Tab, где контроль полностью остаётся за вами; или выделить фрагмент кода для корректировок через сочетание Ctrl+K; если нужно изменить целый файл, подойдёт Ctrl+L; а для смелых — Ctrl+I, позволяющий системе модифицировать весь репозиторий самостоятельно. Каждый пользователь сам решает, насколько автономной будет система, в зависимости от задачи.
Для наглядности приведу пример ещё одного успешного приложения — Perplexity.

У него есть схожие с Cursor особенности: оно упорядочивает информацию, координирует работу сразу нескольких языковых моделей, а также предоставляет удобный GUI‑интерфейс. В Perplexity, например, вы видите ссылки на использованные источники и можете их легко проверить. Там также присутствует «ползунок автономии»: вы можете сделать быстрый поиск, заняться исследованием или позволить системе провести глубокий анализ, результаты которого появятся через 10 минут. Всё зависит от того, сколько полномочий вы готовы передать инструменту.
Так что, на мой взгляд, будущее программного обеспечения всё больше движется к частичной автономии. И если вы — разработчик продукта или услуги, подумайте: как сделать их частично автономными? Могут ли LLM видеть то же, что и человек? Могут ли они выполнять те же действия? И смогут ли люди оставаться в роли надзорного звена в этих процессах? Более того, нам предстоит ещё адаптировать множество традиционных приложений, добавляя взаимодействие с LLM, будь то Photoshop или любые другие программы. Всё, что раньше проектировалось только для людей, теперь должно стать понятным и доступным для языковых моделей.
Подведём итог: ПО больше не будет прежним. Радикальные сдвиги — от кода к промптам на естественном языке — открывают беспрецедентные возможности. LLM эволюционируют из узких инструментов в основу новой вычислительной платформы, сочетающей черты утилит и операционных систем. Это означает грандиозную работу по адаптации существующей инфраструктуры и созданию совершенно новых интерфейсов для взаимодействия с этими «духами людей».
Но главное — новые шансы для разработчиков. Освоение ПО 1.0, 2.0 и 3.0, умение выбирать правильную парадигму для задачи и проектирование с учётом ползунка автономии станут критически важными навыками. Эпоха программирования промптами и сотрудничества с ИИ только начинается, и впереди — десятилетие увлекательных открытий и переосмысления всего, что мы знали о софте.
✶ Llama — проект компании Meta Platforms Inc., деятельность которой запрещена на территории Российской Федерации.
Комментарии (5)
puchuu
20.06.2025 16:32Он обнаружил в коде на гитхабе промпты. Люди просто экспериментируют с ллм и это нормально. Но никакого нового языка программирования не создано и никакого прорыва не произошло. Его слова звучат уже как "ай дигиди дидидай".
AndyLem
Интересно так Andrej Karpathy превратилось в Карпатого. Он не Карпатый, он Карпаты. Не склоняется.
dmitrifriend Автор
(https://ru.wikipedia.org/wiki/Словацко-русская_практическая_транскрипция)