В интервью команде Cursor сооснователь и генеральный директор Stripe Патрик Коллисон (Patrick Collison) делится глубоким анализом развития технологий программирования, объясняет архитектурные решения, стоящие за успехом Stripe, и рассуждает о том, как искусственный интеллект изменит экономику и биологию. Коллисон, известный своим интересом к истории науки, проводит параллели между эзотерическими языками программирования 70-х годов и современными инструментами разработки, подчеркивая важность «крафтового» подхода в инженерии.
🏛️ Наследие Smalltalk и «живая» среда разработки 0:12
Первый стартап Патрика Коллисона был написан на языке Smalltalk . По мнению Коллисона, это один из лучших языков программирования, который до сих пор предлагает уникальный опыт «живой» разработки. До этого он работал с диалектами Lisp, создавая веб-фреймворки, и когда пришло время строить бизнес, он обнаружил, что стандартные инструменты вроде Ruby on Rails ограничивают его .
Ключевые преимущества Smalltalk и Lisp, которые выделяет Коллисон:
- Интерактивный дебаггер: возможность редактировать код прямо во время выполнения веб-запроса. Если возникает ошибка, программист может исправить её в кадре стека и продолжить выполнение с того же места, вместо того чтобы перезапускать весь процесс .
- Континуации (Continuations): Патрик искал фреймворки на основе континуаций для управления состоянием веб-приложений, чего на тот момент не было в Ruby .
- Отсутствие разделения на «редактор» и «рантайм»: в Smalltalk среда разработки и выполняемый код — это единое целое, что Коллисон считает идеалом, к которому стоит вернуться современным IDE .
Патрик признаёт, что использование Smalltalk могло показаться странным решением для бизнеса, затрудняющим найм, но утверждает, что умные люди осваивают новые языки очень быстро . Впрочем, для Stripe был выбран более мейнстримный Ruby, так как выигрыш от эзотерических языков оказался не столь велик, как ожидалось .
🧠 Ранние эксперименты с ИИ и генетическими алгоритмами 3:42
Ещё до основания крупных компаний Патрик работал над ИИ-ботом на Lisp для MSN Messenger . Это был простой байесовский предсказатель следующего слова, обучавшийся на реальных диалогах пользователей. Коллисон отмечает, что бот успешно проходил «слабые» версии теста Тьюринга: люди могли подолгу общаться с ним, не подозревая, что это программа .
В тот период Коллисон больше интересовался генетическими алгоритмами, чем нейросетями, так как последние требовали огромных вычислительных мощностей . Примером практического применения стал оптимизатор раскладки клавиатуры:
- Патрик написал генетический алгоритм, чтобы найти идеальную раскладку для максимального комфорта печати .
- Результатом работы алгоритма стала раскладка, практически идентичная Dvorak .
- С тех пор и Патрик, и его брат Джон используют Dvorak, из-за чего никто другой не может пользоваться их компьютерами .
🛠️ Архитектура Stripe: почему MongoDB и Ruby? 20:20
Коллисон описывает ранние этапы Stripe как «момент Большого взрыва», когда технические решения, принятые наспех парой основателей на диване, определили жизнь сотен инженеров на десятилетия вперёд .
Основной технологический стек Stripe:
- MongoDB: Выбор пал на неё, так как Патрику не нравился SQL. По его мнению, SQL создаёт «трансляционное несоответствие» между объектной моделью приложения и реляционной базой данных . Stripe пришлось построить огромную инфраструктуру вокруг MongoDB, чтобы сделать её отказоустойчивой и надежной .
- Ruby: Язык был выбран как компромисс между мощностью Lisp и доступностью для найма разработчиков .
- Java: Со временем ключевые сервисы с высокой пропускной способностью были переписаны на Java, так как в Ruby приходилось постоянно бороться с аллокатором памяти и неэффективной работой со строками .
Результатом инженерных усилий стала беспрецедентная доступность API Stripe. В прошлом году она составила 99,99986%, что эквивалентно всего 44 секундам простоя за весь год . Коллисон полагает, что это лучший показатель в индустрии .
🚀 Stripe V2: исправление фундаментальных абстракций 25:57
В 2022 году команда Stripe осознала, что некоторые базовые абстракции, созданные 15 лет назад, изжили себя . Это привело к разработке Stripe V2.
Основные изменения в новой версии:
- Унификация сущностей: Stripe объединяет представления клиентов, субаккаунтов и получателей платежей в единую систему сущностей . Это позволит пользователям перемещать свои аккаунты между странами и не вводить данные повторно .
- Сложные связи: Коллисон вывел правило — если в системе возможны отношения «многие-ко-многим», нужно поддерживать их изначально, даже если сейчас это кажется ненужным .
- Совместимость: Самым сложным в переходе на V2 является не дизайн новых API, а создание слоёв трансляции для обеспечения работы со старым кодом клиентов . Коллисон сравнивает это с миграцией архитектуры набора команд (ISA) в процессорах .
🤖 Будущее разработки в эпоху ИИ и Cursor 11:30
Коллисон считает, что ИИ не просто поможет писать код быстрее, а изменит саму природу программирования. Он выделяет концепцию «vibe coding» (программирование по наитию), которую популяризирует Андрей Карпатый (Andre Karpathy) .
По мнению Коллисона, ИИ должен взять на себя две важные роли:
- Ночной рефакторинг: ИИ может приходить «ночью» и чистить код, превращая нагромождение функций в элегантные абстракции, пока разработчик спит .
- Интеграция рантайма в IDE: Коллисон хотел бы видеть в Cursor данные о профилировании, логи и ошибки прямо при наведении на переменную или функцию .
Патрик утверждает, что языки программирования станут менее формальными и более высокоуровневыми — важнее будет «что» нужно сделать, а не «как» . При этом он скептически относится к качеству текстов, генерируемых ИИ, считая их слишком «общими» и лишенными индивидуального стиля . Для фактологических вопросов он активно использует Grok в голосовом режиме .
📈 Экономика, «Исследования прогресса» и биология 35:13
Как исследователь темы «Progress Studies», Коллисон обеспокоен тем, что развитие IT пока не отражается в цифрах роста производительности труда . Он ссылается на недавние исследования, утверждающие, что использование LLM пока не даёт измеримого всплеска ВВП на уровне стран .
Тем не менее, он видит огромный потенциал в программировании биологии:
- Патрик стал сооснователем биомедицинской организации ARC, которая занимается обучением фундаментальных моделей на данных ДНК .
- Цель — перейти от лечения симптомов к пониманию причин сложных заболеваний (рак, сердечно-сосудистые болезни), которые человечество до сих пор не научилось полностью излечивать .
- Коллисон описывает новый цикл в биологии: Read (секвенирование одиночных клеток) — Think (глубокое обучение и трансформеры) — Write (CRISPR и редактирование генома) .
На вопрос о том, на чьи акции стоит ставить в мире победившего ИИ, Патрик отвечает осторожно. По его мнению, это могут быть ограниченные реальные активы (недвижимость в Сан-Франциско), сырьё (медь) или уникальный культурный контент (каталог песен Тейлор Свифт), но точно предсказать это сейчас невозможно из-за непредсказуемости траектории технологий .