Краткое содержание
Андрей Карпати рассказывает об эволюции программного обеспечения, переходе к использованию больших языковых моделей (LLM) и о том, как они меняют подход к программированию. Он сравнивает LLM с операционными системами 1960-х годов, подчеркивает важность понимания их психологии и предлагает строить приложения с частичной автономией, где человек контролирует процесс.
- LLM — это новый тип компьютеров, программируемых на английском языке.
- LLM обладают свойствами утилит, фабрик и операционных систем.
- Важно разрабатывать приложения с частичной автономией, где человек контролирует процесс.
Введение
Андрей Карпати приветствует слушателей и заявляет, что сейчас уникальное время для входа в индустрию программного обеспечения, так как оно снова меняется. Он отмечает, что программное обеспечение не претерпевало столь фундаментальных изменений за последние 70 лет, но в последние несколько лет ситуация быстро меняется.
Эволюция программного обеспечения: от 1.0 до 3.0
Карпати рассказывает об эволюции программного обеспечения, начиная с версии 1.0 (код, написанный для компьютера), затем переходя к версии 2.0 (нейронные сети, где код создается путем настройки наборов данных и запуска оптимизатора). Он представляет LLM как программное обеспечение 3.0, где подсказки на английском языке программируют LLM. Карпати отмечает, что LLM "съедают" предыдущие версии программного обеспечения, и важно свободно владеть всеми тремя парадигмами программирования.
Программирование на английском языке: Расцвет Software 3.0
Карпати подчеркивает, что программирование LLM происходит на английском языке, что делает его доступным для широкой аудитории. Он приводит примеры классификации настроений, где можно использовать Python, нейронные сети или LLM. Карпати отмечает, что в коде на GitHub появляется все больше английского языка, что свидетельствует о растущей категории нового вида кода.
LLM как утилиты, фабрики и операционные системы
Карпати сравнивает LLM с утилитами (электричество), фабриками (производство чипов) и операционными системами. Он отмечает, что LLM обладают свойствами утилит, так как лаборатории LLM тратят капитальные затраты на их обучение и предоставляют доступ через API. LLM также обладают свойствами фабрик, так как капитальные затраты на их создание довольно велики, и технологии быстро развиваются. Карпати считает, что LLM имеют сильные аналогии с операционными системами, так как они представляют собой сложные экосистемы программного обеспечения.
Новая LLM OS и исторические компьютерные аналогии
Карпати проводит аналогию между LLM и операционными системами 1960-х годов, когда вычисления были дорогими и централизованными в облаке. Он отмечает, что сейчас LLM доступны через разделение времени и распространяются как утилиты. Карпати также отмечает, что LLM меняют направление распространения технологий, так как первыми пользователями становятся потребители, а не правительство и корпорации.
Психология LLM: Люди-духи и когнитивные особенности
Карпати рассматривает LLM как "людей-духов", стохастические симуляции людей, обученные на человеческих данных. Он отмечает, что LLM обладают энциклопедическими знаниями и памятью, но также имеют когнитивные недостатки, такие как галлюцинации, неровный интеллект и энтроградная амнезия. Карпати подчеркивает важность учета этих особенностей при работе с LLM.
Разработка LLM-приложений с частичной автономией
Карпати предлагает строить приложения с частичной автономией, где LLM выполняют большую часть работы по управлению контекстом и организации нескольких вызовов, но человек контролирует процесс. Он приводит примеры курсора и perplexity, которые имеют графический интерфейс пользователя и ползунок автономности. Карпати задается вопросом, как сделать продукты и услуги частично автономными, чтобы LLM могли видеть и действовать, как люди, но под контролем человека.
Важность циклов сотрудничества человека и ИИ
Карпати подчеркивает важность циклов сотрудничества человека и ИИ, где ИИ занимается генерацией, а человек — проверкой. Он отмечает, что важно ускорить проверку с помощью графических интерфейсов и держать ИИ на поводке, чтобы избежать слишком больших изменений. Карпати также обсуждает лучшие практики для работы с LLM, такие как конкретизация подсказок и разработка промежуточных артефактов для проверки.
Уроки от Tesla Autopilot и ползунков автономии
Карпати проводит аналогию с Tesla Autopilot, который также является продуктом частичной автономии. Он отмечает, что на панели приборов находится графический интерфейс автопилота, и есть ползунок автономии. Карпати рассказывает о своем опыте вождения беспилотного автомобиля в 2013 году и отмечает, что, несмотря на прогресс, проблема автономности еще не решена.
Аналогия с Железным человеком: Увеличение против агентов
Карпати проводит аналогию с костюмом Железного человека, который является одновременно и усовершенствованием, и агентом. Он предлагает строить меньше роботов Железного человека и больше костюмов Железного человека, создавая частично автономные продукты с индивидуальными интерфейсами и UIUX. Карпати отмечает, что в продукте должен быть слайдер автономности, чтобы со временем сделать его более автономным.
Vibe Coding: Теперь каждый программист
Карпати отмечает, что LLM программируются на английском языке, что делает всех программистами. Он рассказывает о "виброкодировании" и делится своим опытом создания приложений для iOS и Menu Genen. Карпати отмечает, что кодирование vite было самой простой частью Menu Genen, а большая часть работы была связана с аутентификацией, платежами, доменным именем и развертыванием.
Строительство для агентов: Цифровая инфраструктура, готовая к будущему
Карпати говорит о необходимости создания цифровой инфраструктуры для агентов, которые являются новыми потребителями и манипуляторами цифровой информации. Он предлагает создать текстовый файл lm.txt, сообщающий LLM, о чем этот домен, и переводить документацию в формат Markdown. Карпати также отмечает, что необходимо изменить документы, чтобы они были понятны для LLM, заменяя "нажать эту кнопку" эквивалентной командой curl.
Итог: Мы в 1960-х годах LLM — время строить
Карпати заключает, что сейчас самое время заняться этой отраслью и переписать кучу кода. Он отмечает, что LLM похожи на операционные системы 1960-х годов и что нам нужно научиться работать с этими подверженными ошибкам человеческими духами. Карпати предлагает адаптировать инфраструктуру под эти требования и создавать приложения LLM, которые позволяют быстро вращать цикл и создавать продукты частичного туннелирования. Он выражает надежду, что в течение следующего десятилетия мы увидим, как мы переместим ползунок слева направо, делая продукты более автономными.