GitHub's plan for Agents — Kyle Daigle, GitHub
Кайл Дейгл, COO GitHub (а теперь и CMO по разработчикам в Microsoft), беседует со swyx о том, как ИИ меняет работу компании и всю экосистему разработки. Объём кода взрывообразно растёт: в 2026 году вклад агентов вырос на 1400%, число коммитов с одного миллиарда в 2025-м дошло до 275 миллионов в неделю (прогноз — 14 миллиардов за год), а число разработчиков на GitHub превысило 200 миллионов. Этот рост ломает инфраструктуру GitHub новыми способами — особенно слои прав доступа в базе MySQL One, Actions (нехватка CPU) и обработку огромных монорепозиториев, — что вызвало заметные публичные проблемы с аптаймом, которые компания устраняет через переход в Azure, шардирование (Vitess) и переписывание сервисов. Кайл рассказывает о внутренних ИИ-воркфлоу (микро-скиллы вместо мега-скиллов, WorkIQ, MCP, Slack, Teams, новое десктоп-приложение Copilot), о приобретениях npm, Semmle и Dependabot и о безопасности цепочки поставок, а также о том, что доверие к PR от агентов остаётся социальной проблемой. Обсуждаются будущее Copilot (единый SDK для CLI, десктопа и облачных агентов), ambient AI и OpenClaw, песочницы на уровне ОС в Windows и анонсы Microsoft Build, включая FoundryIQ. В финале Кайл советует спросить Сатью Наделлу, каким он видит мир через два-три года.
План GitHub по агентам — Kyle Daigle, GitHub
Я в восторге снова работать с Microsoft в качестве титульного спонсора AI Engineer World's Fair! Сегодня мы ведём прямую трансляцию с MS Build — это специальный кроссовер-выпуск с нашими друзьями из No Priors и единственным и неповторимым Satya Nadella. Но в этом интервью мы не стали сдерживаться — мы задали все жгучие вопросы про аптайм и Copilot, которые, как мы знаем, вертятся у вас в голове. Поехали!
Почти два десятилетия GitHub остаётся домом для софта, где течёт и открытый, и закрытый код — через коммиты, pull request'ы, ревью, actions и так далее.
Эта экосистема процветала, потому что мейнтейнеры и контрибьюторы open-source продолжали выпускать код на благо сообщества. Однако когда кодинг-агенты начали выпускать код в огромных количествах — с ростом на 1400% в 2026 году — наступила новая эра, одновременно и крайне захватывающая, и сложная для GitHub.
Хотя эти агенты помогают большему числу людей выпускать больше проектов, они также значительно поднимают нижнюю планку того, сколько кода выпускается, как часто он выпускается, сколько людей коммитят код — и фактически дают рост на порядки во всех измерениях инфраструктуры GitHub:
Теперь GitHub неизбежно испытывает большую нагрузку на свою инфраструктуру, которая изначально проектировалась под разработчиков-людей, движущихся с человеческой скоростью. Это вылилось в очень заметную публично историю с аптаймом:
Так что напрашивается вопрос: способны ли нынешние системы вокруг кода переварить то, что производит ИИ? Сможет ли CI/CD поспевать, когда каждая идея превращается в сборку? Переживут ли мейнтейнеры open-source потоки ИИ-генерированного мусора в контрибуциях? Сможет ли GitHub сохранить человеческий социальный контракт софта, став при этом операционным слоем для агентов?
Что подводит нас к идеальному человеку, способному ответить на эти вопросы: COO GitHub Kyle Daigle. В этом выпуске он присоединяется к swyx, чтобы разобрать, что происходит, когда ИИ не просто автодополняет код, а начинает менять то, как работают компании, как устроен open-source, как ревьюятся pull request'ы и как самому GitHub приходится масштабироваться.
Мы глубоко погружаемся во внутренние ИИ-воркфлоу GitHub: микро-скиллы, WorkIQ, MCP, Slack, Teams, email, воркфлоу Copilot, новое десктоп-приложение Copilot, CLI, облачные агенты — и то, как Кайл использует агентов, чтобы оглянуться назад на весь контекст компании, прежде чем решить, что делать дальше. Кайл также вспоминает историю GitHub — построение webhooks, API, Actions, npm, Dependabot и Semmle — почему эра ИИ ломает GitHub новыми способами, как Actions стали универсальным вычислительным слоем и чем становится Copilot после автодополнения кода.
Полное видео-подкаст
Мы обсуждаем:
Расширенную роль Кайла в GitHubКак ИИ снова вернул Кайла к написанию кода после многих лет в руководствеПочему GitHub внедряет ИИ через существующие воркфлоу, а не навязывает новые инструментыWorkIQ, MCP, Slack, Teams, email и GitHub как контекст компанииПочему массивные «мега-скиллы» уступают место маленьким, атомарным микро-скилламКак ИИ меняет суммаризацию, коммуникации, маркетинг и работу аналитиковПочему у бывших разработчиков в руководстве может быть уникальное преимущество в эпоху ИИВоркфлоу Кайла «15 агентов в субботу»Как Кайл построил ИИ-генерированную презентацию для руководства для команд CRO/CFOПочему ИИ меняет роль chief of staff, не убирая человеческую работуGitHub Actions, webhooks, выполнение произвольного кода и безопасные вычисления для агентовПриобретение npm, безопасность цепочки поставок, 2FA и инвалидация токеновSlop-форки, вендоринг и меняют ли ИИ-агенты управление зависимостямиЧем становятся pull request'ы, когда большинство PR приходит от агентовPrompt request'ы, поручительство, ИИ-ревью и доверие в open-sourceЧто считается «разработчиком», когда ИИ снижает порог входа в создание софтаGitHub Spark, low-code и почему GitHub отказывается прятать код14-кратный рост коммитов, нагрузка на Actions, базы данных, монорепозитории и доступностьЭволюция Copilot от автодополнения к CLI, десктоп-приложению, облачным агентам и SDKКонтекст, память, правила и то, как заставить GitHub «вести себя так, как хочет Кайл»Ambient AI, OpenClaw, корпоративная безопасность и новая операционная система для агентовЧто swyx стоит спросить у Satya Nadella про будущее ИИ в Microsoft
Kyle Daigle
Тайм-коды
00:00:00 Вступление
00:03:36 Почему ИИ снова вернул Кайла к коду
00:07:04 Управление GitHub с помощью ИИ: WorkIQ, MCP, Slack, Teams и скиллы
00:15:39 Золотой век для бывших разработчиков в руководстве
00:17:31 15 агентов в субботу и ИИ-генерированная работа для руководства
00:20:20 Как ИИ меняет роль chief of staff
00:21:45 История GitHub: Actions, npm, webhooks и open-source
00:28:45 Slop-форки, вендоринг и ИИ-управление зависимостями
00:33:57 Pull request'ы, prompt request'ы и доверие к коду, сгенерированному агентами
00:41:21 Звёзды GitHub, 200M+ разработчиков и новая волна ИИ-билдеров
00:45:15 GitHub Spark, low-code и почему GitHub всё ещё показывает код
00:47:38 Самая трудная эра GitHub: 14-кратный рост, надёжность и масштаб
00:59:21 Actions как вычислительный слой для CI/CD и автоматизации
01:02:04 Состояние и будущее GitHub Copilot
01:08:24 Ambient AI, фоновые агенты и будущее SDLC
01:13:09 OpenClaw, корпоративная безопасность и новая ОС для агентов
01:18:03 Анонсы Build, WorkIQ, FoundryIQ и контекст Microsoft
01:21:41 О чём swyx стоит спросить Сатью?
Транскрипт
Вступление: расширенная роль Kyle Daigle в GitHub и Microsoft
Swyx [00:00:00]: С нами Kyle Daigle, COO GitHub. Добро пожаловать.
Kyle [00:00:07]: Привет, спасибо, что позвали.
Swyx [00:00:08]: Ты ведь не просто CEO GitHub. Люди знают тебя именно так. У тебя новая роль.
Kyle [00:00:11]: Так вот, теперь у меня расширенная роль. Я работаю в GitHub тринадцать лет и занимался всем, что касается разработчиков. Пришёл сам как разработчик. А теперь я ещё и отвечаю как CMO по разработчикам в Microsoft. И все накопленные знания и страсть к разработчикам — как мы с ними работаем, как коммуницируем, как выводим продукты на рынок — мы теперь приносим этот опыт в более широкую экосистему Microsoft, помогая каждому разработчику, который пользуется продуктом Microsoft или хотел бы получить опыт, похожий на тот, что был у них с GitHub все эти годы. Так что в каком-то смысле это другая роль, но при этом она просто строится на опыте, который у меня был в GitHub: говорить правду, быть аутентичным, показывать людям, как этим пользоваться, а дальше пусть продукты говорят сами за себя. Только теперь делаю это со всем Microsoft.
Swyx [00:01:09]: Мы выпустим это вместе с Build. У тебя много чего запланировано, и мы можем коснуться этого, когда будет уместно. Думаю, одна из интересных вещей в том, что я редко встречаю COO, который ещё и CMO. Кажется, ты очень обращён вовне и очень уверенно держишься публично. Это редкость. Ты сам-то считаешь себя COO? В чём твоя суть?
От разработчика GitHub до COO/CMO: построение платформы и управление GitHub
Kyle [00:01:33]: Думаю, для меня это было забавно. Титулы всегда казались... всегда казались мне немного странными. Я пришёл в GitHub разработчиком? Я написал так много того, что...
Swyx [00:01:46]: Давай об этом. Ты писал бэкенды?
Kyle [00:01:48]: Я тут пересматривал старые фотографии, когда люди обсуждали, как что-то строилось или как был построен GitHub. Я строил webhooks, работал с командами над API, построил слой платформы. Всё, что интегрировалось с GitHub, вплоть где-то до 2018 года, я строил или руководил инженерными командами. И вот тут, в общем, и было начало моей страсти — помогать людям строить вещи, доставлять их своим клиентам. Так что быть разработчиком, строить для разработчиков всегда было чем-то совершенно уникальным. По мере того как моя роль расширялась, это превратилось в способность говорить не только с разработчиками, но и с корпоративными клиентами или бизнес-лидерами и быть таким переводческим слоем. А ещё все эти годы GitHub всегда работал довольно уникально. После пандемии удалённая работа была уже не такой в новинку, как когда GitHub только начинал в 2008-м. Но весь этот опыт управления удалёнными командами, причём хорошего управления, превратился в более крупную роль, в итоге вылившуюся в роль COO: как нам управлять GitHub так, как GitHub всегда управлялся, уже после приобретения Microsoft. И дальше в том же духе. Так что для меня... я всё ещё пишу код. Я обожаю код, но проблемой всегда были люди. Это гораздо более трудная задача — и поддерживать собственных сотрудников, и доносить до разработчиков и корпоративных покупателей, что мы строим и почему это важно, потому что это два очень разных сообщения. И возможность работать на стыке COO, CMO, а ещё и быть просто разработчиком — думаю, именно это и удерживало меня в GitHub так долго.
ИИ-воркфлоу для руководства: коммиты, ретроспективы и контекст
Swyx [00:03:40]: По всей видимости, у тебя выросло число коммитов. Что это? Что происходит?
Kyle [00:03:45]: Rui довольно жёстко меня на этом подловил. Так что, как ты можешь себе представить, можно увидеть мою обычную эпоху разработчика в районе 2013–2014, потом переход в менеджмент, а потом и роль COO. И то, что ты там видишь — это я, реально возвращающийся к коду благодаря ИИ. Мне, как и при состыковке задач между тем, как маркетировать, как управлять бизнесом и как писать код, нравится строить агентов и воркфлоу, которые соединяют очень разрозненные задачи — вот что мной движет. Так что отчасти это написание софта. Но в значительной мере это соединение кучи разных источников данных, чтобы помочь мне. Но это полностью я, реально нырнувший в ИИ — пробую наши инструменты, пробую инструменты всех остальных. Но строю для себя, строю для нетехнического лидера — хоть я и технарь — и для того, как мы можем использовать эти инструменты больше, чем как простой «запрос-ответ», который, мне кажется, у многих нетехнических... ваши работодатели говорят: вы должны пользоваться ИИ, и все пользуются ChatGPT, или Copilot, или Claude, или чем угодно. Чтобы реально дойти до того, как это мне поможет, я обнаружил, что дело не в «мне нужно написать пост в блог», не в этих простых примерах. Помогать людям находить воркфлоу типа: «Окей, мне нужно, чтобы ты прошёлся по всем PR за сегодня. Мне нужно, чтобы ты прошёлся по всему, что мы запостили онлайн. Мне нужно, чтобы ты прошёлся по тому, что мы делали последние три месяца. Пройдись по всем моим заметкам в Obsidian на упоминания этого, потом пройдись по моим рабочим транскриптам». Мы используем Teams, так что — используя WorkIQ, вызови вон тот MCP-сервер, собери все транскрипты, пройдись по всему Slack, и потом построй мне план: каким на самом деле было сообщение этой недели. Это было раньше невозможно, потому что для меня ИИ — большая часть этого запуска на самом деле менее про «строить вперёд». Это скорее рекурсивный цикл назад. Я всегда сначала смотрю на то, что уже произошло. Вернись назад по неделе и расскажи мне, что мы сделали, что сработало, что не сработало. А потом скажи мне на следующие три-четыре дня — что бы ты подправил, исходя из этого взгляда назад, а затем небольшого взгляда вперёд? Мне это кажется куда более ценным, особенно для нетехнических людей, потому что эта ретроспекция — на самом деле LLM в ней очень хороши. Находить все паттерны, вытаскивать их, а потом применять эту ретроспекцию к буквально паре дней или короткому отрезку времени. Это всё куча приложений, которые я построил, и куча внутренних инструментов, которые я запустил. Я использую новое приложение GitHub Copilot, десктоп-приложение с воркфлоу. Каждый раз, когда я открываю ноутбук, оно прогоняет для меня воркфлоу. Это просто куча разных штук — и, конечно, всё это в итоге оказывается на GitHub.
Swyx [00:06:47]: Конечно. Это там, где всё хостится. Слушай, столько хочется тебя спросить. Я собирался оставить тему «как управлять компанией с помощью ИИ» на конец. Но я обязан уточнить одну вещь. Ты сказал, что смотришь назад на неделю. Ты понимаешь, что происходит. Когда ты говоришь «мы» — это три тысячи человек. Как?
Внутреннее внедрение ИИ: скиллы, CLI и контекст компании
Kyle [00:07:09]: Думаю, когда мы начали внедрять ИИ внутри за пределами инженерии — одна из вещей, которой я был по-настоящему увлечён, в том, что мы должны делать это так, чтобы никому не приходилось менять то, как он работает. Я не хочу учить тебя инструменту. Я не хочу учить тебя чему-то новому. И поэтому мы попробовали несколько инструментов. Большинство из них не работают, потому что мне надо тебя завести? Мне надо научить тебя ими пользоваться. А по факту мы пришли к тому, что построили внутри набор скиллов. У каждого из нас свой набор скиллов, и мы просто раздаём — даже нетехническим людям — CLI. И по сути мы просто даём ему доступ читать обо всём, что мы пишем. Для нас это обычно GitHub, Teams, email и Slack. То есть Teams — для видеочата, как правило.
Swyx [00:08:03]: Teams и Slack?
Kyle [00:08:04]: Так вот, мы используем Teams для видеообщения, но не для чата. Мы... GitHub давно, верно? Мы всегда...
Swyx [00:08:13]: Ещё и Slack
Kyle [00:08:14]: Говорим про ChatOps — и типа всё встроено в Slack. Каждая команда, каждый флоу.
Swyx [00:08:18]: То есть, хотя вас приобрели уже, не знаю, восемь лет назад...
Kyle [00:08:22]: мы всё ещё...
Swyx [00:08:23]: Вы всё ещё используете Slack?
Kyle [00:08:23]: это специально заточенный под нас инструмент, и я думаю, что реальность в том, что уйти с него было бы настолько прямо-таки дорого? Просто потому, что весь тулинг встроен в эту парадигму. У них обоих есть свои плюсы и минусы, но работают они совершенно по-разному. Мы по-прежнему используем кучу разных инструментов, потому что это специально заточенные инструменты, которые нам нужны. А потом...
Swyx [00:08:47]: Ну, для остального Microsoft, надо полагать, это не так.
Kyle [00:08:50]: типа разные команды работают...
Swyx [00:08:53]: Они сами принимают решения
Kyle [00:08:54]: По-разному. Думаю, всё зависит от того, что ты пытаешься сделать. Но мы работаем практически с каждым инструментом, который используем, и затем, давая всем доступ ко всему этому контексту и новому MCP-серверу WorkIQ — который, кстати, весьма крут, если ты живёшь в мире M365 — я могу задавать ему все эти вопросы, обращённые назад, и для наших команд, работающих удалённо, это невероятно важно. Очень многое упускаешь, когда ты не в офисе, а мы разбросаны по всему миру. Так что большая часть этого — взгляд назад. А потом мы постим — либо автоматически в GitHub Issues или Discussions — такие находки или наши отраслевые отчёты. Что происходит сегодня утром, сегодня, вчера. Запускается небольшая автоматизация. Мы можем использовать приложение. Можем использовать GitHub Actions с нашими агентными воркфлоу, просто чтобы прогнать этот ран, а потом запихиваем это в GitHub, и мы продолжаем разговор. Так что обычно для нас это про этот взгляд назад, взгляд вперёд на нетехнической стороне. А для многих из этих людей это ещё и построить приложение, запушить его на GitHub Pages или захостить где-то ещё и так далее. Но это просто наделение каждого этой силой: вот это займёт у меня неделю, чтобы разобраться. Вместо этого мы говорим: «Окей, я построил скилл. Давайте положим его в репо. Мы все будем делиться этим скиллом вместе, а потом будем использовать CLI или теперь приложение — просто чтобы его запустить».
Микро-скиллы против мега-скиллов: как GitHub использует ИИ в работе
Swyx [00:10:26]: Ладно. Думаю, мы прямо переходим к теме управления командой и продуктивности. Мне кажется, у многих людей развиваются разные степени LLM-психоза. Как ты справляешься с разрастанием скиллов? Типа у каждого есть своё, и каждый пытается продвинуть это остальным коллегам в своей орге, верно? И очевидно, кто становится скилл-инфлюенсером внутри, становится этаким ИИ-лидером, верно? Своего рода. Полагаю, у вас такие есть.
Kyle [00:10:50]: типа, думаю, у нас есть...
Swyx [00:10:52]: И полагаю, это бардак, а, да.
Kyle [00:10:54]: там, типа... думаю, реальность в том, что есть две части. Первая — я думаю, что мы заканчиваем эру этих массивных, прекрасных, идеальных скиллов, которые на деле не являются ни одним из этих эпитетов. Потому что какое-то время в каждом твите каждый день было «скачайте скиллы, идеально отлаженную штуку, чтобы сделать вот этот целый воркфлоу». И я думаю, что то, что мы обнаружили — я как раз был со своей командой на этой неделе, и мы говорили про сторону скиллов — мы реально говорим про эти невероятно микро-скиллы, которые делают для нас одну вещь очень хорошо, в противовес скиллу, который сделает вот тот полный отчёт. У нас такого, по сути, больше не существует. Обычно это — как единичный скилл, который выявит самую важную маркетинговую информацию из любого MCP-сервера. Типа: вот самое важное. Меньше про «сшей кучу инструментов вместе и пусть оно выдаст этот мега-результат», потому что проходят недели, проходят месяцы, всё меняется, и ты хочешь подправить...
Swyx [00:11:58]: Это хрупко
Kyle [00:11:58]: Свой мега-скилл, и ты попал? Так нельзя. И поэтому теперь мы реально говорим про детальки Lego, которые мы используем, и просто позволяем инструкции к сборке быть чем-то, что мы все собираем вместе. Тогда как, я думаю, многие ИИ-скиллы какое-то время были в этом стиле мега-инструкции.
Swyx [00:12:15]: Я много думал про закон Постела. Не знаю, говорит ли этот термин что-то людям. Это идея, что нужно быть либеральным в том, что принимаешь, и строгим в том, что выдаёшь, верно? И мне кажется, это хороший принцип-рамка для скиллов. Это мои скиллы, очевидно, на GitHub. Мне кажется, у каждого должно быть... как некоторые репозитории в GitHub являются особыми репозиториями? Мне кажется, мы должны как-то материализовать слэш-скиллы и для каждого дать какое-то особое представление. В общем, да, это одна из тех штук типа «скачай что угодно, транскрибируй что угодно», а потом ты можешь сцепить атомарные скиллы, которые делают одну вещь хорошо, в какой-то оркестрирующий скилл, который вызывает другие скиллы. Полагаю — это совпадает?
Kyle [00:12:56]: Думаю, да. Думаю, что...
Swyx [00:13:00]: Суммаризируй что угодно.
Kyle [00:13:01]: Типа, думаю, для меня... суммаризировать что-то — я занимаюсь коммуникациями, PR, отношениями с аналитиками, маркетингом и работой с клиентами, и поэтому моё «суммаризируй всё» очень разное для каждого из этих контекстов. Потому что если я суммаризирую что-то для аналитика — это совсем другое, чем то, как я, скорее всего, буду суммаризировать что-то для встречи с клиентом или взаимодействия с ним. Вот в чём, думаю, разница, когда мы говорим про инструменты, которые я мог бы использовать в субботу, или скиллы, которые я мог бы использовать в субботу, когда это только для Кайла. Да, там как бы под капотом есть атомарный реальный инструмент или, может, скилл, а потом — Кайла волнует X. Но когда мы говорим про работу и наделение возможностями маркетологов, коммуникаторов, это атомарное «вот что такое хорошая суммаризация», а потом — «вот что меня волнует в маркетинге, в коммуникациях, в чём угодно». И вот это, думаю, та самая интересная матричная задача, когда мы переходим от набора забот разработчика ко всевозможным разным профессиям: то, что это слово значит для меня, отличается от того, что оно значит для тебя, отличается от того, что оно значит для аналитика или продажника, и вот тут, думаю, и есть тот матричный бардак, который мы только начинаем... всё ещё начинаем нащупывать. Это про эти мега-скиллы, но все они — лишь лёгкие пермутации, и эти пермутации реально важны. Это разница между тем, как кто-то читает это и думает «Это сделал ИИ?», и тем, «Это полностью имеет смысл, и я бы этого ожидал, когда даю брифинг Gartner» или что угодно ещё.
Swyx [00:14:37]: Думаю, прелесть этого, возможно, в том, что тебе не надо быть таким уж аккуратным с тем, что туда кладёшь. Оно не обязано идеально подходить, лишь бы примерно укладывалось туда. Я раньше жаловался на ад плагинов, по сути. Типа когда у тебя есть фреймворк, а потом сотня вещей, которые надо интегрировать, и каждый делает... GitHub раньше был раздут всеми этими штуками. А теперь они нам больше не нужны, потому что теперь ты просто используешь скиллы.
Бывшие разработчики в руководстве: ИИ как мультипликатор созидания
Kyle [00:15:00]: И, типа, думаю, самое волшебное — это просто то, что я могу ещё и просто взять и вскрыть это. Типа да, я мог бы пойти и изменить, как закодирован плагин, или мог бы сделать это теперь с ИИ, но, думаю, есть что-то более волшебное в том, чтобы получить ответ и сказать «Это неправильно», а потом ты просто вскрываешь скилл, просто печатаешь слова на английском — и оно другое. Этот строительный блок просто, думаю, очень уникален. Как только я заставлю всех более-менее понять, как лучше всего вносить эти изменения, чтобы выжать из них максимум силы.
Swyx [00:15:36]: Есть ли... у тебя есть круг равных тебе людей. Есть ли общая рамка для... Кое-что я чувствую, и это правда, — это золотой ли это век для бывших разработчиков, которые теперь в руководстве? Потому что ты можешь владеть инструментами, ты знаешь правильные слова, ты, может, не слишком погружён в детали. Неважно. Но ты эффективнее того, у кого нет такого бэкграунда.
Kyle [00:15:59]: Думаю, что секрет всегда был в твоей способности выявлять паттерны и решать проблемы, и я думаю, что для людей вроде меня, которые больше не пишут код день за днём, это сделало меня успешным как разработчика, сделало успешным как COO, а теперь и CMO. И вот теперь, когда у меня есть доступ получать и писать код, я применяю этот навык выявления паттернов и решения проблем, и я ещё достаточно знаю о том, как затем пойти и сказать: «О, я хочу сделать приложение, но я не хочу взломать систему или создать что-то, что не сможет работать, развернуться в масштабе или что угодно». Эта способность применить все эти дополнительные бизнес-знания и при этом писать код — вот что делает это для меня таким интересным. Слегка иначе, чем, думаю, у некоторых других технических лидеров, которые стали бизнес-лидерами и теперь возвращаются к своим приложениям и обновляют их. Молодцы они? Но, думаю, гораздо интереснее вот что: ну вот, теперь у меня есть целый новый набор экспертизы за десять с лишним лет. Почему бы не взять это и не использовать как разработчику с этими ИИ-инструментами? Так что я точно думаю, что это делает меня сильнее, но думаю, это верно и для каждого разработчика тоже. У большинства моих друзей-разработчиков, которые у меня ещё есть, тоже есть какой-то другой подспудный навык и страсть. Есть реально талантливые, очень такие линейные специалисты по computer science. Просто я обнаруживаю, что люди, пришедшие из другой карьеры, отучившиеся на что-то другое, ушедшие и поделавшие какую-то случайную штуку, а потом ставшие разработчиками — или были разработчиками, поделали случайную штуку, вернулись. Освоить этот дополнительный набор информации, освоить эти дополнительные навыки, и теперь иметь силу ИИ, где я могу раскрутить пятнадцать агентов в субботу, пока мои дети играют в лакросс — это реально мощно. И, думаю, это возвращает меня к тому чувству созидания, и это очень трудно воспроизвести в большинстве других смыслов? Тот первый раз, когда ты строишь приложение, кликаешь по нему и показываешь кому-то — это волшебно. И возможность делать это не только в коде, но и в самых разных активах — это, это огромно. Мы как раз делали... мы делаем наше ежегодное планирование выручки. Мы обсуждаем: окей, как это будет выглядеть в следующем году? И, как ты понимаешь, повсюду слайды о том, о чём мы будем говорить, какой нарратив и так далее. И вот, как ты сказал, я думаю: «Окей, ну я, наверное, могу просто построить что-то, что построит это, и тогда мне не придётся строить всю таблицу или передавать это команде». Так что мы прошли через этот процесс, я собрал всю информацию и использовал те скиллы, что упомянул. Я построил маленькое приложение просто чтобы можно было легче смотреть на часть информации в базе SQLite. И в итоге я построил всю эту презентацию, не касаясь её руками, и я такой: «Окей, я просто представлю это нашему CRO, CFO, их командам» — не упоминая, что построил это с ИИ. Я построил скилл, чтобы оно выглядело очень даже не ИИ-шным. Просто не красивым.
ИИ-генерированные презентации, человеческий вкус и меняющаяся роль chief of staff
Swyx [00:19:03]: Типа дизайн. Да.
Kyle [00:19:03]: Не красивым. Но просто очень явно не ИИ-шным. Типа не делать ничего интересного.
Swyx [00:19:08]: Это, да, это ценно.
Kyle [00:19:08]: Просто давай — именно. Мы сделали всё это насквозь. Оно использовало мои заметки из Obsidian, использовало весь контекст, который я упоминал ранее, планы, и ни разу не всплыло, что это сгенерировано ИИ.
Swyx [00:19:20]: Это не имело значения.
Kyle [00:19:20]: Ни разу. Это не имело значения. И вот теперь я беру...
Swyx [00:19:23]: Это инструмент
Kyle [00:19:23]: Я могу взять этот инструмент и сказать: «Слушайте, я не хочу, чтобы вы шли и строили слайды». Они просто помогают нам делиться информацией друг с другом. Если эта штука может это сделать — с небольшой огранкой от тебя, а потом мы можем вместе на это посмотреть — отлично. Нет смысла во всей этой лишней работе. Думаю, способность сделать так, чтобы оно выглядело по-человечески плохо, и построить маленькое приложение, чтобы манипулировать данными — это часть того преимущества для разработчиков, которые теперь на руководящих ролях. Потому что та штука, о которой я говорил раньше — это всё проблема людей. Я понимаю, использовал ты коллегу для постройки слайд-дека или нет, если только ты не потратил кучу времени, чтобы этого не делать.
Swyx [00:20:07]: Знаю, но это было так... думаю, есть определённое обаяние в том, чтобы быть откровенно ИИ-шным. Потому что думаю, что ты... ну, ты просто честен в том, что здесь могут быть ошибки, за которые я не могу поручиться. Так какова ценность? Но в любом случае, думаю, реальный вопрос, который я хочу задать: ты был chief of staff у Thomas. И в до-ИИ мире эта работа была бы работой chief of staff типа «можешь подготовить мне эти слайды и всё такое?». А теперь ты делаешь это сам.
Kyle [00:20:35]: У меня всё ещё, у меня всё ещё есть chief of staff. Потому что разница в том, что это, по сути, тот разговор, который у нас бывает каждый раз при какой-то технологической эволюции: дело не в том, что роли все исчезают, они просто меняются. И да, у меня нет человека, который тратит всё своё время на построение слайдов и презентаций для меня, потому что мне это больше не нужно. Но теперь мне нужен тот человек, который способен пойти и найти все разные связи между людьми в этих обсуждениях, чтобы помочь мне выяснить: окей, мне стоит встретиться с этой группой и этой командой, у них есть возможность, и я сегодня буду в Сан-Франциско, завтра буду в Сиэтле. Эти аспекты человеческих связей по-прежнему невероятно ценны и всегда были большой частью роли chief of staff. Но теперь, как и chiefs of staff больше не вскрывают письма, чтобы их обработать, они работают с email. Это то же самое. И теперь они не строят так много этих презентаций, потому что у них есть возможность дать ИИ взять это на себя, поделиться этим со мной, и отлично. Давайте двигаться дальше, потому что это позволяет нам двигаться быстрее и принимать лучшие решения быстрее.
Swyx [00:21:45]: Класс. Так вот, мы можем погружаться в более продуктивностные инсайты по ходу. Я хотел немного пройтись по краткой истории GitHub. Потому что мы начали отсюда. А ещё ты был причастен к приобретению npm. Я хочу этого коснуться. А потом, уже ближе к настоящему дню, я просто хочу поднять тему, где у нас проблемы с аптаймом — которые, если честно, мы уже публично решили, но обсудим в подкасте. Я ничего не упустил? Типа, какие-то ещё крупные хайлайты? Очевидно, это очень много лет, чтобы охватить.
Краткая история GitHub: webhooks, Actions, приобретения и эволюция платформы
Kyle [00:22:15]: Нет, думаю, один из хайлайтов был прямо перед закрытием сделки в 2018-м — мне довелось запустить первую версию Actions
Swyx [00:22:27]: О
Kyle [00:22:27]: На GitHub Universe. Так что это было...
Swyx [00:22:29]: Они настолько молодые?
Kyle [00:22:30]: Это был октябрь 2018-го, кажется. Да. Да.
Swyx [00:22:33]: Боже, Господи.
Kyle [00:22:34]: Мне довелось... я был инженерным руководителем на том проекте и мне довелось его запустить. А потом, да, мы сделали приобретения npm, как ты сказал, Semmle, Dependabot, Pull Panda — кучу всего. Это было крупно
Swyx [00:22:47]: Pull Panda.
Kyle [00:22:48]: Abi отлично справляется.
Swyx [00:22:51]: DX. С ума сойти.
Kyle [00:22:52]: Хорошо справился с DX. И, типа, это был тот большой сдвиг после приобретения. Мне пришлось присоединиться к бизнес-стороне.
Swyx [00:23:00]: Так мне нужно зацепить тебя по нескольким из этих вещей, потому что ты был там. Верно? И как часто мне удаётся поговорить с кем-то, кто был там? Но да, Actions. Это источник проблем с безопасностью номер один на GitHub?
Kyle [00:23:11]: О, чё... думаю, источник проблем с безопасностью номер один — это, наверное, весь буквальный код в подлежащих репозиториях у всех. Сказал бы, ещё дальше назад — если помнишь, я показывал на этом графике, это, я этого не сказал раньше, это в итоге webhooks.
Swyx [00:23:30]: Ты, да.
Kyle [00:23:31]: Типа примерно тогда, когда бы это ни было.
Swyx [00:23:32]: Там написано Hookshot.
Kyle [00:23:32]: Я забыл. Да. Да, Hookshot там есть. И, типа, тогда там написано GitHub Services. Видишь, написано Hookshot FE — front end, а потом написано GitHub Services. GitHub Services в старые добрые времена, верно? У нас был репозиторий с кодом на Ruby, и ты мог написать там любой Ruby-код, а мы потом исполняли этот код от твоего имени как сервис, и таким образом, если ты пытался с чем-то интегрироваться, мы запускали это за тебя.
Swyx [00:23:57]: И, конечно, без контейнеров, потому что...
Kyle [00:23:58]: Нет, потому что это был...
Swyx [00:23:59]: Ну, без контейнеров
Kyle [00:24:00]: 2014 год. И поэтому какая-то изоляция, очевидно, была, но в основном разделение было на уровне сервера. Это как пример... как очень старая версия Pages, которая работала на собственной контейнеризационной инфраструктуре, не на Actions.
Swyx [00:24:15]: Что, типа, продукт всех времён.
Kyle [00:24:16]: Pages в какой-то степени питают интернет на данный момент. Это были места, где, типа, явно не было проблем, насколько мне известно. Но это были те вещи, где я смотрю и думаю: «Окей, ну мы не можем исполнять произвольный Ruby-код» от имени всех. Потом контейнеризировать всё это в Actions, где, да, контейнеризация реально хорошая. Пиннинг — большинство людей не пиннят его к конкретному...
Swyx [00:24:48]: Образу
Kyle [00:24:48]: SHA и так далее в своих воркфлоу, и вот это большое место боли для людей, если они просто делают, как и при любом управлении зависимостями, просто V1, или newest, или latest, думаю. Но этот путь от того дня — «Окей, мы просто будем запускать весь этот произвольный код, и в целом будет нормально» — к нынешнему «нет, у нас есть реально хорошая контейнеризация». У нас есть новый подлежащий контейнеризационный сервис для агентов. Мы используем его под капотом. Он через Azure. Они недавно его анонсировали. Azure Dev Compute — это очень быстрые, очень быстрые вычисления, чтобы можно было раскручивать собственные облачные агенты и тому подобное. Мы используем это под капотом для некоторых частей нового...
Swyx [00:25:36]: Microsoft Dev Box?
Kyle [00:25:37]: Нет. Dev Compute, да.
Swyx [00:25:41]: Хм. Пока не нахожу.
Kyle [00:25:44]: О, оно где-то там есть.
Swyx [00:25:46]: Ладно. Ну, мы это вырежем.
Kyle [00:25:47]: Извини. Но с Dev Compute ты можешь очень быстро раскручивать очень маленькие VM, так что ты делаешь tool call...
Swyx [00:25:58]: Та же концепция
Kyle [00:25:58]: Просто делаешь это контейнеризированно — именно. Так что мы это используем, так что точно движемся в этом направлении, чтобы защитить нас от каждого куска кода, который мы в итоге запускаем.
Swyx [00:26:07]: Слушай, это перерастает в полный SDLC. Хостинг кода был лишь началом, а потом всё выросло за его пределы. Давай поговорим про npm, может, потому что, думаю, это тоже очень крупная веха в индустрии. Я думаю, оно искало дом. Оно как бы испытывало трудности как бизнес, верно? Не знаю, не знаю, как бы ты охарактеризовал всё это приобретение и как оно...
npm, безопасность пакетов и поддержание работы интернета
Kyle [00:26:33]: когда мы разговаривали с командой, думаю, главным для нас обоих было найти способ сохранить npm — который тогда, по сути, питал интернет, а сейчас в какой-то степени ещё больше — работающим. Поддержать его, продолжить масштабировать. У него были проблемы с масштабированием, если я правильно помню, в то время. Они делали какие-то переписывания. Это...
Swyx [00:27:00]: это мило по сравнению с тем, что сейчас.
Kyle [00:27:01]: Ну, в этом и дело — когда я сейчас разговариваю с людьми, есть гораздо больше подлежащих применений npm, чем было тогда, когда они присоединились к GitHub. Но это и было конечной целью. Это было: окей, у нас раньше был Pages. У нас есть код всего мира. Давайте убедимся, что мы можем сохранить npm хорошо работающим для всего мира. И мы вложили кучу времени и инвестиций в починку части подлежащего бэкенда, изменений — часть из которых мы обсуждали, часть работы над манифестом и так далее. А теперь реально пытаемся подтянуть посадку безопасности npm. Но это уникальный вызов в том, что каждое наше движение, чтобы сделать его безопаснее, сломает кучу людей. И безопасность первостепенна. И ещё мы относимся к этому очень серьёзно. Каждый раз, когда у нас проблема с GitHub или мы делаем изменение, которое делает нас безопаснее, но вредит — это снежный день для разработчиков или реально серьёзный пожар, который им приходится тушить. И поэтому мы изменили политику 2FA. Мы изменили то, как работают токены. Когда мы находим токены, которые были скомпрометированы или потенциально скомпрометированы, мы их инвалидируем, и...
Swyx [00:28:22]: Обожаю эту фичу в GitHub. Да, она классная
Kyle [00:28:23]: Это создаёт проблемы, но в этом и дело — мы пытаемся двигать сообщество вперёд, не делая обязательно что-то, что сломает контракт, который держался 15 лет или около того, или какое-то количество лет на npm.
Slop-форки, вендоринг и будущее цепочек поставок open-source
Swyx [00:28:43]: Думаю... так вот теперь мы говорим про open-source и публикацию. И думаю, тут есть что-то с тем, что люди называют slop-форками, которыми, кажется, занимается Malta из Vercel. И часть меня думает: ну, способ обойти любые уязвимости — давай просто избавимся от концепции npm. И мы публикуем только исходный код. И каждый раз, когда хочешь его импортировать, ты заставляешь своего кодинг-агента посмотреть на него, а потом адаптировать любое подмножество, которое собираешься использовать, в свой вендоринг. Но ИИ это вендорит. Это реалистично? Не знаю. Решит ли это все наши проблемы с безопасностью? Не знаю.
Kyle [00:29:24]: Не думаю, что это решит... Так вот, Mitchell как раз об этом говорил — Mitchell Hashimoto как раз об этом сегодня говорил, и я думаю, что в каком-то смысле это всё «старое или новое снова»? Да, абсолютно, вендорить всё. Я-то помню 2013, 2014 годы.
Swyx [00:29:42]: Это да. Давай, мы должны вернуться к...
Kyle [00:29:43]: Вот это... мы вендорили всё. У нас были реальные обсуждения вокруг — ну, по крайней мере, я помню, мы — «Должны ли мы взять эту целую штуку?» «Почему это так велико? Нам нужен только этот один файл». И поэтому я думаю, что тут есть что-то верное: брать только то, что тебе нужно, или зависимости просто становятся невероятно маленькими со временем — думаю, это в какой-то степени поможет, но это не решит фундаментальную проблему, не думаю, потому что уязвимости — агент, смотрящий на них... раз за разом, есть миллион разных способов, которыми мы можем убедить агента, что эта штука безопасна или нет, и подтянуть её. Или мы можем делать статический анализ кода или ран-тайм-тестирование, чтобы сказать, работает код или нет. Вот это, думаю, тот шаг, в который нужно продолжать инвестировать. Вопрос лишь в том, какой охват. Должно ли это быть вот этим огромным проектом, который я скачиваю, или это должен быть вот этот кусочек? В любом случае, большинство компаний прогоняют какое-то количество проверок безопасности по пакетам, которые подтягивают или вендорят. Это, думаю, не изменится. Это типа того, что в какой-то степени делает advanced security, что в какой-то степени делает Socket. Типа все делают кусочек этого. То, как каждый из нас это делает — особенно когда мы говорим с корпоративными клиентами — просто очень разное. Никто не хочет один-единственный способ это делать. И думаю, это всегда было уникальной позицией GitHub в мире. Я много общаюсь с мейнтейнерами, много общаюсь с людьми об этом. Это... мы редко начинаем процесс и практику и проталкиваем её на сообщество. Мы обычно ждём этакого процесса RFC — социального или буквального — все соглашаются, а потом мы что-то цементируем. Потому что иначе мы...
Мейнтейнеры, RFC, поручительство и социальный слой доверия
Swyx [00:31:35]: Это соответствует твоей роли в экосистеме, да
Kyle [00:31:36]: Мы — GitHub. Да, мы не хотим формировать всё целиком. Мы хотим, чтобы это было осмыслено. Но как сбалансировать эту роль в индустрии, чтобы держать всё настолько безопасным, насколько возможно, и при этом убедиться, что ты не будешь скомпрометирован как человек — потому что обычно именно так всё и происходит. И не создать процесс или не запереть нас во флоу, которому ты не будешь следовать, или Mitchell не будет, или другие open-source-проекты не будут. Это всегда был хитрый баланс для нас, и думаю, мы недостаточно об этом говорили: мы не сможем починить всё для всех так, чтобы всем это понравилось. Так что скажите, помогите нам, скажите нам, что работает. Когда Mitchell говорил про upvote, про ап...
Swyx [00:32:22]: Я как раз собирался поднять его штуку. Да.
Kyle [00:32:23]: Я забыл, как это... Да. Когда он с нами говорил, я с ним переписывался и говорил про это, я выложил это в Twitter, и мы говорили, ещё и в личке: «Мы продолжим работать». Но, думаю, важно, что я реально хочу услышать, что у тебя не работает. И быть как можно конкретнее и яснее для своего проекта. И, отдавая всё должное за все эти годы, что мы знакомы по индустрии, он всегда это делал, и я это ценю, потому что есть места, которые нам нужно подлатать, и мы слышим от него, и мы подлатаем — так же, как делаем для всех остальных мейнтейнеров. Но этот процесс между внесением таких улучшений, повышением безопасности и созданием — я забыл, как он это называет, это не proof-процесс, не claims-процесс. Понимаешь, о чём я? У него есть... его проекты имеют способ как бы...
Swyx [00:33:13]: Поручиться (vouch)
Kyle [00:33:13]: Vouch. Спасибо. Да. У него есть система поручительства, чтобы сказать: «Эй, тебе стоит принимать мои PR». Это было...
Swyx [00:33:20]: Я только что встроил это в GitHub. Ну не знаю.
Kyle [00:33:22]: Ну вот, в этом и дело — ты это говоришь, и, типа, ему и его сообществу это реально нравится, а потом я пойду поговорю с другими мейнтейнерами по всему миру, и они скажут: «Нет, мне это не подходит». И вот в этом напряжение, но ещё и своего рода прелесть GitHub, в зависимости от того, как смотреть: мы хотим помочь мейнтейнерам, поэтому создаём все эти инструменты, чтобы дать тебе больше контроля над тем, сколько ты принимаешь от ИИ и PR. Но ты можешь и просто использовать это. Можешь пойти и использовать этот проект, и если он взлетит и станет более-менее стандартом, тогда да, мы, вероятно, не будем это навязывать, но мы добавим это, потому что таков флоу, к которому мы склоняемся.
Swyx [00:34:02]: Я слышу, что многие люди не знают историю pull request'а. И типа того, как GitHub, по сути, его стандартизировал.
Kyle [00:34:08]: Да. До этого это был очень грязный процесс, а теперь у нас есть преимущество, что это и есть процесс. И теперь нам надо пойти и придумать следующий лучший процесс, или какие адаптации меняются, или как выглядит pull request, когда восемьдесят процентов твоих PR просто приходят от твоих агентов, а не от других разработчиков?
Swyx [00:34:31]: Тебе нравится идея prompt request от Peter?
Kyle [00:34:34]: типа, думаю, каждая идея имеет свои достоинства. Я не пытаюсь не сказать ничего хорошего или плохого, но мне кажется, я уже видел версию... у нас есть... у нас есть целый магазин Thomas. Возьми все активы того, что ты построил, и положи туда. Думаю, там отличные идеи. Есть все эти разные пермутации флоу PR, но думаю, причина, по которой нет единого ответа — в конечном счёте мы пытаемся кодифицировать доверие. Мы пытаемся сказать: «Окей, если Sean это отревьюил, я этому доверюсь, потому что ты — Sean, или ты — старший разработчик, или ты — кто угодно». А прямо сейчас, когда мы работаем во флоу, где агент пишет код, а другой агент ревьюит код, и потом Кайл идёт и смотрит — доверие как бы размыто. И большинство инструментов, о которых мы говорим, говорят скорее про флоу верификации. У нас больше активов, на которые можно посмотреть, так что я, вероятно, могу сказать, хороший это PR или нет. Но это всё равно не решает, думаю, человеческую проблему: я смотрю на PR и хочу знать, могу ли я ему доверять. И мы всё ещё, мы всё ещё склонны использовать для этого человеческие сигналы? Mitchell его одобряет, или Кайл его одобряет, или что угодно. И поэтому, думаю, именно поэтому большинство этих опций реально его не решили — потому что это в конечном счёте социальная проблема. Это человеческая проблема — отревьюить его и согласиться. Или ты полностью доверяешь инструменту и наделяешь этот инструмент полным доверием — что, думаю, в некоторых случаях абсолютно существует.
ИИ-генерированные PR, доверие и аналогия с Waymo
Swyx [00:36:08]: И вот, типа того же, как в обществе наступит переломная точка, когда мы больше не позволим людям водить, потому что машины измеримо лучше людей. Я ищу эту переломную точку, верно? Типа Mythos смехотворно дорогой. Когда-нибудь у нас будет Mythos на десктопе. Не знаю. Изменит ли это уравнение?
Kyle [00:36:30]: Думаю, это скорее... я приехал сюда на Waymo, и я сидел в телефоне и вообще не смотрел по сторонам. Есть другие беспилотные машины, которым я бы не доверял, глядя при этом на дорогу. И думаю, что это доверие — это что-то, что...
Swyx [00:36:48]: Это что-то от Zoox? Что это
Kyle [00:36:50]: Думаю, это и то, и другое. Думаю, и то, и другое. Типа...
Swyx [00:36:53]: Тут есть Zoox среди этих робо-такси. Вот оно. Это...
Kyle [00:36:56]: Ну, в зависимости от того, какой уровень беспилотности. Но моя мысль примерно в том, что, думаю, часть этого — я твёрдо верю, что это смесь верифицируемого доказательства. Типа сколько аварий, сколько данных и так далее, и человеческого аспекта того, как я себя чувствую, сидя в этой машине, что она мне говорит и так далее. И вот почему я думаю, что некоторые из наших ИИ-инструментов склонны наделять меня бóльшим чувством доверия, даже если данные говорят, что это на 100% точно. У меня ощущение, что мне нужно больше времени, чтобы сказать: «Доверять этому или нет?» И это в мягком смысле — стартапы с высокой агентностью, проекты на выходных, open-source. А потом есть предприятия, регулируемые отрасли и всё остальное, и это ещё более трудная проблема для решения, потому что даже когда это полностью верифицировано, тебе нужно не только доверие от людей в команде, тебе, вероятно, нужно доверие от многонациональных...
Swyx [00:37:55]: О боже
Kyle [00:37:55]: Множества правительств по всему миру и регулирующих агентств. И вот тут я чувствую, что пока мы не перевалим — к твоей мысли — на эту сторону человеческого EQ. Я чувствую, окей, это ощущается нормально, мне достаточно доказали. Тогда мяч покатится гораздо быстрее, где мы в итоге дойдём до «Окей, мы можем этому доверять» и почувствуем себя хорошо в самых трудных случаях.
Репутация, спонсоры, звёзды и активность ботов на GitHub
Swyx [00:38:18]: Если человеческое доверие — это та штука, которая важна, мне кажется, GitHub как социальная сеть разработчиков мог бы тут сделать больше. Типа поручительство — одна система, но у нас есть счётчики звёзд, а потом у нас есть права контрибьютора, и всё. И мне кажется, в этом пространстве должно быть больше. Не знаю, есть ли там какие-то другие дизайн-решения.
Kyle [00:38:37]: Думаю, одно из мест, которое мы сейчас реально не выставляем в таком виде — это какое-то «жёсткое» доверие и поддержка, которое, для меня, например — sponsors хороший пример этого.
Swyx [00:38:49]: А.
Kyle [00:38:49]: Это что-то тебе стоит. Чтобы доказать, что я верю в твой проект и в какой-то степени тебе доверяю, или, как минимум, хочу тебя поддержать.
Swyx [00:38:56]: Реши платежи для open-source. Почему нет?
Kyle [00:38:58]: Думаю, что по мере движения вперёд всё больше и больше проектов, куда я лично добавляю всё больше долларов в sponsors, потому что я хочу их поддержать, но я также, типа, знаю о... я, вероятно, никогда не встречал их лично, но я достаточно знаю об их работе, чтобы хотеть их поддержать. Думаю, то, что мне не нравится в звёздах, счётчиках коммитов или чём угодно ещё — это что в конечном счёте, даже со всей работой по борьбе со злоупотреблениями, дедупликацией и анти-абьюзом, которую мы делаем, это всё неактивные социальные сигналы. Это пассивные сигналы, которые в конечном счёте поддаются накрутке. И ты можешь мне доверять, а другой open-source-мейнтейнер — нет. И по какой эвристике тебе стоит мне доверять? Вот тут, думаю, и находится часть наших размышлений прямо сейчас. Какой сигнал от меня важнее всего для тебя? Если ты можешь это определить, потенциально, честно говоря, в агентном воркфлоу — вот что мы видим, как делают некоторые из этих open-source-проектов, где у тебя есть GitHub Actions, а потом у тебя есть агентный воркфлоу, который вызывает ИИ, и ты задаёшь эти правила. Типа: если Кайл подавал и у него принимали PR по любому проекту и у него есть социальный хэндл, привязанный к аккаунту в GitHub, и этот социальный аккаунт старше определённого срока. Реально сложные меры, которые важны для тебя, потому что у большинства open-source-проектов эта эвристика встроена в голову, если не записана в гайдлайнах по контрибуции. Ты можешь взять это и затем пойти применить, и просто сказать: «О, мы не будем принимать этот PR». Построить что-то, что, думаю, подстраивается под нужды каждого — немного лучше, чем идти «Хм, этот аккаунт слишком молодой». Потому что что происходит? Атакующие просто идут и создают множество аккаунтов, и ждут, пока те состарятся. Нужно определённое количество звёзд. Вот так и происходит инфляция звёзд. Нужно определённое количество репозиториев
Swyx [00:40:46]: О боже. Да
Kyle [00:40:47]: с PR. Они все просто создают репозитории и подают PR друг другу, а потом приходят и делают что-то злонамеренное. И поэтому это трудно. Трудно найти меру. Так что думаю, мы скорее смотрим на то, как мы можем дать тебе инструменты, чтобы ты мог сам выбирать, что лучше для тебя. И, конечно, мы дадим тебе какие-то стандарты. Но вектор доверия в итоге сводится к, не знаю, какой-то версии человеческого цифрового ID, о котором все говорят. Типа как мне доказать, что это я...
Swyx [00:41:13]: Дай мне свои глазные яблоки
Kyle [00:41:14]: в интернете. Дай мне свои глазные яблоки. Именно.
Swyx [00:41:18]: Мне надо двигаться дальше по темам, но, очевидно, я могу говорить об этом весь день, потому что я был причастен к GitHub и open-source всю свою профессиональную карьеру. Звёзды. Очень поверхностно. Все это знают. Но, думаю, время до ста тысяч звёзд — самое быстрое, что я когда-либо видел. Типа люди просто достигают этого за, не знаю, месяцы. И при этом я этому не доверяю, верно? Типа сколько из них настоящие, или боты, или что угодно. Не знаю, как спросить, но типа — что мы можем с этим сделать? Типа...
Kyle [00:41:49]: Просто...
Swyx [00:41:49]: Звёзды сломаны? Звёзды в порядке?
Kyle [00:41:51]: Думаю, тут как бы две части. Очевидно, мы постоянно пытаемся находить способы, которыми твои пользователи производят спам, к чему я бы отнёс и накрутку звёзд. Когда мы их находим, мы их выдёргиваем и...
Swyx [00:42:08]: Но это типа «убей крота»
Kyle [00:42:10]: Это на сто процентов типа «убей крота»
Swyx [00:42:11]: Никак
Kyle [00:42:11]: Теперь с помощью ИИ, чтобы быть полезнее. Но скорее то, что я вижу — большая часть этих «самое быстрое время до X» обычно потому, что мы теперь приглашаем гораздо больше людей в разработку софта на GitHub, так что дух времени просто роится? И это...
Swyx [00:42:32]: Это уже не только разработчики
Kyle [00:42:33]: И это не ты и я. Типа как бы ты ни хотел сказать, что такое разработчик — это не только люди, которые кодят очень давно. Это люди, которые, может, начали кодить или присоединились только с эры ИИ. И теперь...
Swyx [00:42:44]: какой последний показатель Octoverse? Я помню, восемьдесят миллионов был последним, что я помню — число разработчиков на GitHub
Kyle [00:42:50]: О, мы теперь за 200 миллионов.
Swyx [00:42:53]: Окей. Ну вот, видишь?
Kyle [00:42:55]: Типа сейчас более 200 миллионов разработчиков.
Swyx [00:42:56]: Но это не разработчики, верно? Это люди с аккаунтом на GitHub.
Кто считается разработчиком в эпоху ИИ?
Kyle [00:43:00]: Так вот, это, это самый большой спор, который, я бы сказал, все обожают вести в GitHub на данный момент. С моей точки зрения, я думаю, что есть явная разница между профессиональным корпоративным разработчиком и просто разработчиками. Но я думаю, что идея, что нам стоит, не знаю, цепляться к мелочам или сегментировать разработчиков в раннюю эру разработки софта, не стоит нашего времени. Так что...
Swyx [00:43:29]: Когда впадаешь в гейткипинг
Kyle [00:43:31]: На 100%
Swyx [00:43:31]: Что такое разработчик?
Kyle [00:43:31]: На 100%. Потому что я не был разработчиком, когда начал писать код? Я собирался...
Swyx [00:43:36]: О нет. Я... я склонировал штуку за семь лет до того, как научился кодить. А потом я написал про свой путь обучения коду, и люди просто называли меня самозванцем, потому что у меня был аккаунт на GitHub. А я такой: «Ну нет, я просто использую GitHub, но я не знаю...» «Я не знал, что делаю».
Kyle [00:43:49]: Я помню это. Я помню те посты, и это, это чушь. Так что я очень чётко стою на линии, что если ты создаёшь код, если у тебя есть идея и ты воплощаешь её в какой-то форме, типа «я сейчас запущу и буду использовать приложение» — ты при этом всё ещё можешь использовать ИИ в этот момент, но это нормально. В какой-то момент ты сделаешь следующую вещь. Ты создашь большую... тебе придётся узнать про эту базу данных. Ты починишь баг, что угодно. Мы все на одном и том же пути, и эти люди тоже слышат про крутой новый пакет агент-скиллов, или новый CLI-инструмент, или новое что угодно. И эти проекты идут в гору, потому что ты хочешь быть частью этого момента — так же как я хотел быть частью сообщества Ruby, когда Ruby выстреливал, когда я начал становиться разработчиком, и теперь я могу просто кликнуть кнопку звезды. И поэтому, думаю, что да, есть явно какое-то количество спама и накрутки, с которыми мы боремся, но я реально думаю, что мы просто видим целую новую когорту людей, которые перемещаются от технологии к технологии, потому что они не работают над 20-летним софтовым приложением. Они работают над приложением на выходных, которое построили для своих друзей, или для новой идеи, или что угодно. И вот так ты видишь эти огромные графики, идущие вверх и вправо со звёздами.
Swyx [00:44:59]: Думаю, что-то примечательное — это постоянство, или то, что GitHub распространяет на этих людей. Обычно, когда я вижу, как платформы заходят в новую аудиторию, им обычно приходится иметь вторую платформу с другим названием, которая оборачивает основную платформу. Но GitHub каким-то образом смог как бы сохраниться и расшириться, и он дружелюбный и всё такое? Так что это, это приятно.
Spark, low-code и всегда показывать код
Kyle [00:45:19]: Думаю, отчасти поэтому, когда мы попытались зайти, не знаю, в более low-code-овые штуки. Мы начали работать над Spark как способом построить приложение и запустить его. Думаю, реальность в том, что каждый раз, когда мы пытаемся накинуть хотя бы вуаль поверх... когда мы накидываем вуаль поверх чего-то, мы всё равно всегда показываем тебе код. Это как бы принцип. Мы никогда не будем прятать от тебя код, никогда, потому что...
Swyx [00:45:52]: Зачем бы тебе?
Kyle [00:45:52]: В этом, да, в этом весь смысл? Однако, думаю, то, что мы узнали на таких штуках, как Spark — что реально ценность Spark для большинства разработчиков в лёгком ран-тайме. И у тебя может быть ран-тайм или хост, который ты собираешься для этого использовать, или ты просто строишь что-то и запускаешь, но упаковка, делающая это ещё проще, реально не нужна людям, которые пытаются строить софт, а не просто строить приложение — что слегка иное, слегка иная цель. Так что я хочу тебя завести, хочу, чтобы тебе было комфортно. Думаю, лучшее для меня как для человека, который традиционно не пришёл в разработку софта давным-давно — я хочу, чтобы каждый мог преодолеть эту пропасть и не быть в... не знаю, мне кажется, мы всё ещё в эре STEM. У меня есть 12-летний и 8-летний, и это «Нам надо их в STEM»? Снова и снова. И я, типа, делаю то, что делают хорошие родители. Я такой: «О, ты хочешь заниматься кодингом?» «Да, я хочу заниматься кодингом». Занятия по кодингу. Но теперь они просто не боятся заниматься софтом. И вот это, думаю, та штука, которая, честно говоря, удерживала меня в GitHub так долго. Каждый должен иметь возможность пойти и построить штуку, так же как я могу пойти и поменять выключатель света у себя дома. Я не полезу в распределительный щиток, потому что, наверное, убью себя? Но я могу пойти поменять тот выключатель. Каждый должен иметь возможность пойти и сказать: «Это чёртово приложение не делает того, что я хочу. Я хочу, чтобы оно работало вот так». И вот это, думаю, и есть то, что как бы держало нас всех связанными с GitHub все эти годы — и в лёгкие времена, и в трудные — из-за этой возможности: была идея, я её создал, и, чёрт возьми, вот она.
Swyx [00:47:37]: Вот она. Ладно, я попробую задавать более острые вопросы.
Самый трудный момент масштабирования GitHub: рост, агенты и аптайм
Kyle [00:47:42]: Отлично.
Swyx [00:47:42]: Сейчас лёгкое время или трудное?
Kyle [00:47:45]: О, в GitHub? Это трудное время. Типа это трудное время, и при этом я как раз был со своей командой и сказал: «Это ещё и лучшее и самое захватывающее время, какое я могу припомнить в GitHub». Потому что...
Swyx [00:47:57]: Лучшее из времён, худшее из времён. Никогда не бывает одно
Kyle [00:47:59]: потому что мы... мы говорили про отчёты Octoverse, и обычно мы делаем отчёт Octoverse раз в год, смотрим на цифры и говорим: «О боже». Я был на Universe в октябре и говорил: «Это был самый быстрый год роста, что у нас когда-либо был», верно? А теперь мы делаем за месяц больше, чем сделали за год в прошлом году.
Swyx [00:48:20]: Ты про PR.
Kyle [00:48:21]: Коммиты.
Swyx [00:48:21]: Коммиты, да.
Kyle [00:48:22]: PR. Типа как ни назови — практически по каждому показателю, на который мы смотрим, есть какой-то рост, который гораздо больше, и это ломает нашу систему новыми способами, не старыми. Типа webhooks всегда были печально известно ненадёжными все эти годы?
Swyx [00:48:38]: Чья это вина?
Kyle [00:48:39]: уже не моя, но какое-то время — я уверен, ты мог бы вытащить твит, где было «Это был я. Извините». Но теперь это было переписано на уровне масштаба, который всё ещё работает и не испытывает проблем сегодня. Теперь то, что мы обнаруживаем — это не просто... не та простая штука, на которую люди иногда в Twitter или интернете жалуются «Эй, почему это вот так?». Конечно. Есть абсолютно глупые проблемы, которых не должно существовать. Но теперь мы говорим про уникальные, новые проблемы с правами доступа, которые случаются только на масштабе по всем разным объектам или что угодно, и теперь нам надо пойти переписать эту подлежащую систему. И поэтому есть проблемы, которые, да, застали нас врасплох — что, думаю, я уже сказал. Типа рост астрономический, но при этом мы делаем такой существенный прогресс, что я в восторге — как только мы как бы переосмыслим подлежащий фундаментальный слой, или хотя бы его части, что станет возможным, когда это не просто все мы, и все новые люди, становящиеся разработчиками, и все их агенты, и все инструменты работают вместе. Потому что это всё ещё будет происходить в этом инструменте GitHub, в этом сообществе GitHub. Но это трудный день каждый раз, когда мы не можем дать тебе то, что ты ищешь. У нас та же проблема внутри. Мы работаем через github.com. Конечно, у нас есть бэкапы, когда что-то падает, для наших собственных операций, но мы это тоже чувствуем. Если не работает — оно не работает для нас, и это как бы обещание dogfooding для GitHub. Это всегда было правдой. Мы используем тот же инструмент, что и ты. Мы не используем какую-то супер-секретную версию. И поэтому нам тоже нужно, чтобы оно было отличным — для нас, для наших клиентов, конечно, для open-source. А теперь и экспоненциальный рост агентов, делающих это тоже.
Swyx [00:50:32]: Я хотел загрузить для слушателей аудио, которые, может, не видели твоих твитов и прочего. Так что один миллиард коммитов в 25-м. Теперь это 275 миллионов в неделю, на темпе к 14 миллиардам в этом году, если рост останется линейным. Это всё ещё тот темп? Не знаю. Прошло какое-то...
Kyle [00:50:48]: оно, оно ускоряется
Swyx [00:50:50]: Примерно.
Kyle [00:50:50]: Оно всё ещё ускоряется.
Swyx [00:50:51]: Сейчас апрель, так что да.
Kyle [00:50:51]: Именно. Это было в апреле.
Swyx [00:50:53]: Ладно. То есть, по сути, у вас 14-кратный рост, верно? Год за годом за годом. И, думаю, это проблема масштабирования. Думаю, я попробую реально стилман этой штуки. Люди переживали 14-кратный рост. У них не было твоего даунтайма. И это типа... можем мы в это копнуть? Почему? Типа что — что сломалось? Что мы делаем, чтобы это починить? Типа хоть что-нибудь, чтобы успокоить сообщество.
Почему надёжность GitHub ломается новыми способами
Kyle [00:51:18]: так вот, есть... как я говорил, есть пара разных мест, где мы видели проблемы роста. Часть проблем роста — вот почему мы давим сильнее на больше CPU — в Actions в частности. Больше инструментов, больше агентов, больше PR означают больше сборок, больше сборок означают больше CPU. И поэтому мы расширяемся не только в нашем дата-центре, но, очевидно, мы говорили про переход в Azure и добавление дополнительных облачных вычислений, потому что нам просто нужно больше CPU. Не столько GPU. Нам определённо нужны и GPU тоже, но теперь CPU становятся фактором.
Swyx [00:51:53]: Это очень CPU-ёмко.
Kyle [00:51:54]: Под капотом, когда дело доходит до некоторых подлежащих сервисов, мы все эти годы разбивали нашу инфраструктуру баз данных, чтобы иметь больше когнитивного разделения между разными сервисами. Место, где у нас продолжается боль — это права доступа. И вот прямо сейчас многие наши слои прав доступа сидят в базе данных, которую мы внутри называем MySQL One, и старые «хабберы» поймут, о чём я. И поэтому мы много лет вытаскивали вещи из MySQL One, потому что... и мы используем Vitess и другие технологии, чтобы шардировать, и мы делаем это как одну большую...
Swyx [00:52:31]: Знаменитая штука, PlanetScale родился из этого и...
Kyle [00:52:32]: На сто процентов. Sam — старый «хаббер» и друг. И вот поиск этих возможностей разбить это, а потом сделать это глобально. Другая вещь, которая, думаю, интересна и одновременно уникальная возможность, и хитра — мы ещё и запускаем всё, о чём я только что говорил, в чёрном ящике-контейнере с GitHub Enterprise Server для людей, работающих on-prem. Так что мы берём всё, что я сказал, и делаем это ещё и on-prem, и делаем всё это в схеме резидентности данных для клиентов, которым нужно держать свои данные в одном месте. У каждого из этих вариантов своя уникальная характеристика того, как мы храним эти данные в MySQL или в схеме прав доступа. Вот тут и происходили некоторые из этих сбоев, где ты видишь это скорее повсеместно, а не просто как один кусок...
Swyx [00:53:17]: Забивающий базу данных
Kyle [00:53:17]: Не совсем работает. Именно. И поэтому отчасти дело в этом. Думаю, были и другие места, где агенты гораздо... больше проектов, похоже, движутся к монорепо, тогда как мы много лет в индустрии шли в другом направлении. Репозитории были меньше, но их было больше, а теперь мы видим обратное. Репозитории больше, и их не меньше как таковых, потому что есть новый рост, но мы просто видим гораздо больше больших репозиториев. Большие репозитории, большие монорепо всегда имели уникальную проблему производительности. Потому что каждый из них слегка иной, особенно если подлежащие blob'ы невероятно велики внутри репозиториев. И поэтому мы проделали кучу работы, которую большинство людей, наверное, не ощутили, если только ты не в случае монорепо. Но это улучшение слоя инфраструктуры Git помогает всей системе, потому что многие из улучшений, делающих монорепо лучше работающими, делают всю репозиторную инфраструктуру лучше работающей. И поэтому я мог бы продолжать дальше по списку, где это ещё одна вещь, где мы уходим... мы меняем то, как мы делаем — назову это очередями задач за неимением лучшего объяснения — меняем подлежащие технологии там.
Swyx [00:54:32]: Я два года был парнем по очередям задач, так что.
Kyle [00:54:34]: И поэтому это как бы по кусочкам, и в основном потому, что когда оно строилось, мы построили всё так, что предполагалось, наверное, в каком-то смысле, что размер трубы работы останется тем же. Просто через каждую из этих труб будет проходить больше людей. Но вместо этого теперь в местах, где git push был, как правило, определённого размера, например, это больше не так.
Swyx [00:55:03]: О, да.
Kyle [00:55:03]: Или...
Swyx [00:55:05]: Я пушу тысячу
Kyle [00:55:06]: В среднем. На 100%
Swyx [00:55:06]: Тысячестрочные коммиты, типа ежедневно
Kyle [00:55:07]: То же самое с PR. Типа PR то же самое. И, типа, мы говорили про оптимизацию этого и внесение изменений, где... и там были технологические выборы, которые не сработали? И оно стало медленным, и оно не... Оно было не быстрым. Оно не делало того, что хотели пользователи. И поэтому мы всё это сматываем назад и говорим: «Окей, это просто неправильно. Давайте перестанем бросать хорошие деньги вслед плохим и сделаем это правильно или правильно по нынешним меркам». Так что это куча вещей — не совсем как когда я переживал масштаб в GitHub исторически, это почти всегда было два варианта, которые мы использовали. Мы идём в вертикальное масштабирование, особенно с базами данных, верно? И мы идём в горизонтальное масштабирование. О, просто больше людей используют этот сервис. Отлично. Мы добавим больше серверов, и мы зарэкаем их в нашем дата-центре, или используем в облаке. А теперь мы как бы в диагональном, где вертикальное реально больше не работает. Горизонтальное тоже не работает, потому что у всех нас теперь есть какие-то ограничения по CPU или GPU в мире, и теперь нам надо пойти и вскрыть сервисы, которые работали 10 или 15 лет, и сказать: «Окей, правила этого сервиса легитимно изменились, и теперь нам надо их переписать». Ничто из этого не оправдание. Это типа — нам надо делать работу. Нам надо сделать лучше.
Swyx [00:56:22]: на самом деле как инфраструктурщик я думаю: «Это один из самых увлекательных вызовов масштабирования, что я когда-либо видел».
Kyle [00:56:26]: Вот это, вот это та штука, которая трудна... типа когда мы об этом публично не говорили, и я как бы вышел и сказал: «Эй, я просто хочу объяснить, что происходит». Часть этого идёт от очень старого этоса GitHub, который в том, что это наш аптайм. Оно упало. Я знаю, ты разработчик, так что ты склонен хотеть лучше понять, что происходит. Но при этом когда мы говорим «Эй, этот сервис не отработал так, как мы ожидали, и теперь нам надо его поменять» — мы не пытались ничего от тебя скрыть в этом. Просто это наша проблема, потому что ты ожидаешь, что мы будем работать, и думаю, это реально запечено в самые корни, истоки GitHub. И поэтому теперь то, что мы пытаемся делать как команда — делать всю эту работу и просто больше об этом говорить, делиться большим количеством технических деталей, писать эти блоги, писать посты, привлекать инженеров, которые это построили, после того как они закончат работу, просто рассказать тебе: «Окей, вот что мы сделали». Думаю, это тот контракт, который мы хотим вернуть сообществу и сказать: «Эй, мы всё ещё очень серьёзно относимся к тому, что делаем. Мы не рассказывали тебе про каждый кусок. Так давайте это делать, и мы продолжим это строить и масштабировать так, чтобы поддержать — если не 14, то 30, или 50, или каким бы ни был следующий экспоненциальный рост».
Swyx [00:57:40]: Прежде всего, фантастический ответ. Думаю
Kyle [00:57:44]: И я заранее извиняюсь, если что-то из этого...
Swyx [00:57:47]: Думаю, всё это славно
Kyle [00:57:47]: Слегка некорректно просто потому, что...
Swyx [00:57:49]: Нет
Kyle [00:57:49]: Я не тот... я всё ещё в гуще этого, но это не моя повседневка. Но это та штука — мы все смотрим на это на таком уровне.
Swyx [00:57:58]: И, очевидно, если люди хотят помочь, они могут присоединиться.
Kyle [00:58:00]: Абсолютно
Swyx [00:58:01]: Так что, думаю, это хорошо. Думаю, люди также просто хотели бы знать, когда вы пройдёте через самую гущу, верно? Типа — мы выявили все проблемы? Это просто бесконечно? Git сломан? Нам надо менять протокол Git? Типа сколько ломается, верно? Прошло уже какое-то время. И поэтому думаю, люди реально хотят знать — какой путь назад к той надёжности, которую все ожидают от GitHub.
Дорожная карта надёжности: базы данных, вычисления и нагрузочное тестирование
Kyle [00:58:30]: Так вот, наша доступность за последние несколько недель была гораздо лучше, чем за три недели до этого, или три недели до этого, и так далее. И поэтому многие из этих улучшений всё ещё очень хорошо для нас окупаются. Думаю, мы всё ещё работаем над тем куском с базой данных, что я упомянул, и это просто немного физика, немного времени, чтобы привести его в порядок. Потому что нам надо...
Swyx [00:58:59]: Ответ, который был у меня в голове — позвонить в YouTube.
Kyle [00:59:03]: Так YouTube в итоге...
Swyx [00:59:04]: Потому что они тоже используют Vitess.
Kyle [00:59:05]: Они тоже используют Vitess. Но...
Swyx [00:59:09]: Типа кто бы ни был тем парнем, парнем по масштабированию в YouTube?
Kyle [00:59:11]: Типа это... он, кажется, ушёл в PlanetScale и был частью PlanetScale тоже. Но типа...
Swyx [00:59:16]: О, ты про Sugu?
Kyle [00:59:17]: Кажется, да. Да. И вот, и вот типа...
Swyx [00:59:19]: Он теперь в Supabase.
Kyle [00:59:20]: А.
Swyx [00:59:21]: Там целая Postgres-драма, верно?
Kyle [00:59:25]: Так что отчасти дело в этом. Думаю, другой кусок в том, что наш переход на получение дополнительных вычислений облегчит изрядную часть этого, особенно на стороне Actions, потому что многие из подлежащих сбоев на самом деле связаны с...
Swyx [00:59:39]: Скажу тебе, Actions — это корень всего зла.
Kyle [00:59:42]: это всё... у него есть свои плюсы
Swyx [00:59:47]: В какой-то степени
Kyle [00:59:47]: В том, что это ядро... это ядро вычислительного слоя — для CI, сайд-проектов и так далее.
Swyx [00:59:52]: Это основной источник денег? Типа это...
Kyle [00:59:54]: Actions?
Swyx [00:59:55]: Нет? Не знаю.
Kyle [00:59:56]: типа Actions
Swyx [00:59:57]: Я много плачу за вычисления, верно?
Kyle [00:59:58]: типа Actions определённо кусок общего бизнеса, но я бы сказал, что мы в итоге также...
Swyx [01:00:06]: Хранилище
Kyle [01:00:07]: Раздаём так много минут как часть наших entitlements. Но вот что я говорил. Все его используют. Мы говорим о нём как о CI/CD, но реальность в том, что люди используют его и для CI/CD, и для...
Swyx [01:00:17]: Автоматизации
Kyle [01:00:17]: Различной обработки и автоматизации, именно. И поэтому отчасти дело в том куске вычислений, который также облегчает часть нашей доступности.
Swyx [01:00:26]: Это моё злоупотребление Actions. Я...
Kyle [01:00:29]: О, да
Swyx [01:00:29]: Я скрейпил каждый день и просто, типа, говорю людям...
Kyle [01:00:34]: Спасибо за службу
Swyx [01:00:35]: Идти на хрен, потому что я... Но это ещё и то, как я отслеживаю actions всё время. Так что в общем,
Kyle [01:00:41]: Так что отчасти дело будет в этом. Я бы сказал, что каждый месяц я ожидаю, что в ближайшие три месяца ты будешь видеть всё меньше и меньше моментов, когда у нас проблема с доступностью, когда что-то падает, и это не просто «оно прекратилось». Это в том, что мы всё ещё переживаем более быстрый рост, чем когда-либо раньше. Просто те подлежащие улучшения, над которыми мы усердно работали, наконец окупаются. Просто улучшения требуют... это меньше про эти инкрементальные улучшения, где ты делаешь маленькое изменение и получаешь этот большой выхлоп. Это теперь материальное изменение, которое требует некоторого времени, а потом ты видишь скачкообразное изменение в нашей доступности.
Swyx [01:01:14]: Есть штука, которую мы раньше делали в Amazon, не знаю, общепринято ли это, но автоматизированная верификация софта или симуляция нагрузочного тестирования и всё такое. Я просто, типа, на данном этапе у тебя есть целая карта GitHub. И, пока ты можешь предполагать любые темпы роста по любым измерениям, которые тебя волнуют, и просто прогнать это через систему, верно? Мне кажется, есть способ, не знаю, иметь системную модель GitHub и посмотреть, что ломается. Но очевидно, я... я не настолько близок к проблеме, так что.
Kyle [01:01:39]: Но да, так что да, абсолютно. И я бы сказал, что это была та работа, которая происходила, я бы сказал, с ноября по сейчас. Потому что октябрь, верно, был тем временем, когда мы даже сказали: «О, посмотрите на рост», и потом начинаешь видеть, как график...
Swyx [01:01:53]: Это не
Kyle [01:01:53]: Реально взлетает. И это «о, мы протестировали это на N-ном масштабе, а теперь это на N в кубе, может, в некоторых векторах». И поэтому теперь нам надо пойти и построить это так, чтобы оно могло выдержать весь этот масштаб.
Swyx [01:02:08]: Давай поговорим про Copilot. Так сколько изначальных создателей Copilot существует?
Состояние Copilot: от автодополнения кода к агентам
Kyle [01:02:15]: О, боже.
Swyx [01:02:18]: Потому что я насчитал, типа, двенадцать заверенных.
Kyle [01:02:19]: Мы не... Да, я забыл, без шуток, я забыл число людей, которые были в изначальной команде GitHub Copilot. Но была группа побольше.
Swyx [01:02:30]: Я слышал, это Alex, там, там трое людей
Kyle [01:02:32]: Alex над этим работал. Udo над этим работал. Там была куча людей, которые были в команде.
Swyx [01:02:35]: И потом вся их управленческая линия. Окей. Так что чудовищно успешен в свои дни. Думаю, последняя цифра — кажется, Mario приходил на мою конференцию и говорил про отметку в сто миллионов долларов. Думаю, совсем недавно триста. Я тоже могу быть не в курсе тут.
Kyle [01:02:53]: Не думаю, что мы делились долларовыми суммами.
Swyx [01:02:54]: Ладно, окей. Просто — каково состояние Copilot? Он, очевидно, как концепция занесён в бóльшую часть Microsoft. Но именно в GitHub.
Kyle [01:03:03]: так вот, думаю, один из вызовов, который у нас был с Copilot, верно — в том, что мы вышли на старте с автодополнением кода, и оно было супер-классным, мощным и так далее. А потом то, над чем мы изначально работали после того первого полутора лет — это файн-тюнинг, потому что наши клиенты, индустрия в целом реально говорили: окей, ну как нам получить больше корректности или производительности из этого? И поэтому мы работали над кучей усилий по файн-тюнингу на всё бóльших и бóльших автодополнениях кода, или next edit suggestions с файн-тюнингом и так далее.
Swyx [01:03:43]: И позволь уточнить. Это файн-тюнинг одной модели или одна файн-тюненная модель на клиента для...
Kyle [01:03:48]: На клиен— ну, и то, и другое. Но файн-тюнинг одной модели для общего использования, а потом файн-тюнинг на клиента, который хочет это как услугу, по сути. И примерно в то время пришло следующее поколение моделей, и это примерно то же время, когда появились все эти другие ИИ-инструменты для кодинга, потому что модели реально ускорились. И поэтому все как бы спрашивают: «Ну, что случилось с GitHub Copilot?», всё это время, и я бы сказал, что мы были в эре, когда шли «окей, мы хотим улучшить результаты всем, так что давайте сфокусируемся на файн-тюнинге, потому что это даст нам эти лучшие результаты». А потом модели стали лучше. И поэтому с тех пор мы реально были в таком путешествии: окей, конечно, у нас есть это отличное автодополнение кода, и мы вложили кучу инвестиций в лучшие подлежащие модели, которые мы лучше пост-обучили, следующий набор suggestions с пост-обученными языко-специфичными моделями. Всё это, что как бы сидит в эфире GitHub Copilot — это автодополнение кода, но теперь у нас ещё и есть единый подлежащий SDK и harness для нашего кодинг-агента Copilot, в конечном счёте. Новый CLI, новое десктоп-приложение, облачные агенты, которые используют тот же SDK. И поэтому был этот момент: и реально пытаться выяснить, что хотят наши клиенты, модели нас немного «шерлокнули», а потом пойти и сказать: «Окей, что в итоге нужно всем?» И мы считаем, что это не исключительно про генерацию кода. Это реально про возможность использовать эти harness'ы или ран-таймы с мозгами кодинг-агента не только в опыте кодинга, где я отправлю кучу задач, или использую Fleet, чтобы разбить одну задачу, или autopilot, похожий на Goal — всё это. Но и как мне делать это для всей моей remediation безопасности? Как мне делать это для каждого GitHub issue, который приходит — просто прицепить к нему кодинг-агента, просто чтобы посмотреть, возможно ли это? Как пройтись по моему репозиторию и увидеть всю мою документацию и извлечь — окей, это на самом деле не совпадает? Вот это количество ИИ-кодинг-агентной автоматизации, думаю, большая часть того, что мы видим, когда смотрим: окей, мы всё ещё как бы проходим похожий, но очень иной флоу. Просто всё это происходит одновременно. Уже нет того самого «я создам issue, чтобы отследить мою идею построить это». Ты, вероятно, просто пойдёшь и сделаешь это.
Swyx [01:06:22]: Просто сделаешь.
Kyle [01:06:22]: Ты скажешь: «Эй, просто построй это», верно? И есть всё ещё тонны открытых issue и проектов и так далее, которые используют issue, как Peter и OpenClaw, чтобы можно было натравить всех его агентов на это. Тот вид инфраструктурного слоя и реально отличный опыт кодинга, который позволяет тебе справляться с мультиплексированием — вот что мы построили, всё ещё строим с GitHub Copilot. И поэтому для людей, которые реально не использовали GitHub Copilot с тех пор, как та штука, что зацепила их в этом — что я понимаю — я реально призываю тебя посмотреть, особенно на приложение GitHub Copilot. Это мой новый daily driver. Я, очевидно, если ты предпочитаешь CLI, то ещё и CLI, возможность использовать все модели, сторона bring your own key. Мы всё ещё улучшаем наши собственные модели и используем их тоже. И это просто очень иной опыт, но, думаю, тот более широкий смысл — про разработку софта и про то, как кодинг-агенты могут помочь на всём протяжении, не только в написании кода, или даже в его верификации, или развёртывании — вот где у нас этот уникальный угол. Другая сторона — кусок про контекст. Типа...
Будущее Copilot: контекст, вкус и персональные воркфлоу разработчика
Swyx [01:07:44]: О, боже
Kyle [01:07:44]: мы всё ещё... это одна из тех вещей, где, думаю, финальная штука, которая позволит мне в итоге почувствовать себя завершённым в GitHub — это когда у нас будет эта возможность, чтобы GitHub вёл себя так, как хочет Кайл, или Shawn, или кто угодно. И мы все кодифицируем это в правилах, в памяти и во всём остальном, но...
Swyx [01:08:03]: Ну, это открытая исследовательская проблема, верно? Типа это...
Kyle [01:08:05]: На сто процентов. На сто процентов
Swyx [01:08:07]: AGI, когда его получишь. Да.
Kyle [01:08:07]: На сто процентов. Но если бы мы могли хотя бы сделать так, чтобы моя команда — без того, чтобы мне приходилось кодифицировать всё, и по мере того как наши методы намеренно сдвигаются — могла иметь этот полный опыт и всё понимание того, что происходит в моих зависимостях или open-source, это ощущается как большое место, где мы можем продолжать давать что-то реально уникальное и ценное с GitHub Copilot.
Swyx [01:08:29]: Есть ли форм-фактор, который мы не исследовали? Думаю, типа мы сделали автодополнение кода, потом мы сделали — назовём это широко агентной IDE — которую Cursor знаменито популяризировал, а теперь это, теперь это всё про этакую оркестрацию агентов, фоновый агент, что угодно. И потом есть ревью безопасности. Мне кажется, все просто кидают агентов на всё. Весь SDLC просто покрыт агентами. Мы типа в конце истории тут, по сути? Типа это просто доработки с этого момента?
Kyle [01:09:04]: Думаю, что мы все всё ещё в такой гипермиопичной эре ИИ, где реальность в том, что по разным скучным причинам безопасности и управления — по крайней мере для большинства людских работ — почему мой кодинг-агент, даже если это все фоновые агенты, фоново работающие, не теряет весь контекст, доступный ему по всему, что я делаю за пределами кодинга? Думаю, самая интересная штука для меня в ИИ — это реальный ambient AI, не «вставь сюда имя ассистента», или... я перепробовал почти каждый pin-инструмент и что угодно, и они не работают так, как я хочу, чтобы они работали, потому что они просто пытаются захватить, а потом пытаются кодифицировать и затем вспомнить. И думаю, штука, которую я ищу — возвращаясь к самому началу — я хочу строить следующую версию webhooks или внедрять новую фичу, и чтобы оно знало каждый спек-документ, каждое письмо, разговоры, которые у меня были онлайн, всё про то, как это могло бы быть внедрено, и могло бы использовать это как часть своего принятия решений — и ни один из этих инструментов в итоге этого не делает. Так что, думаю, это как если бы работа по разработке софта была однополосной задачей, типа ей нужен только разработчик. Как только я напишу идеальный код, мы тут закончим — но это просто никогда не было правдой. Это весь контекст других членов команды, что делает бизнес, что сейчас популярно, и думаю, это огромная возможность для нас пойти гораздо шире, чем реально отличные кодинг-агенты? И вот почему, честно говоря, OpenClaw был так интересен — что да, он подключается ко всем источникам данных, которые волнуют Кайла-человека, и теперь мой вопрос: «Окей, как мне взять всё это и использовать это каждый день как разработчику софта, связанным воедино, а не просто иметь новый способ запустить кодинг-агента?» И вот где мы находимся. Мы говорим: «Окей, я пойду использую этот CLI под капотом, или этот SDK», но это не то, о чём я говорю. Я говорю про то, что я веду с тобой разговор, оно скачивает подкаст и осознаёт: «О, Кайл, похоже, Кайлу нужно это приложение, или эта штука, или это...» Тот уровень...
Swyx [01:11:16]: Просто рекомендует это.
Kyle [01:11:16]: Тот уровень, тот уровень связности, думаю, это то, где у нас всё ещё куча путей впереди в софте, потому что тогда, когда у нас есть та красная нить, которую мы хотим потянуть, та идея, оно может не только использовать идеальный способ написать тот код, но вместо этого весь тот вкус и суждения, и экспертизу, которую я заработал или которую мы заработали как группа, и использовать это как часть реального внедрения.
Swyx [01:11:42]: Крайность этого — ИИ управляет твоей жизнью, верно? И думаю, есть пугающая инверсия контроля, в том смысле, что я буквально делаю это так, как разработчики имеют в виду в терминах фреймворков. Типа голливудский принцип: «Не звоните нам, мы вам позвоним». Типа в какой-то момент есть инверсия контроля, где ты перестаёшь говорить ИИ, что делать. ИИ говорит тебе, что делать. И это немного пугающе, но также, может быть, лучше.
Kyle [01:12:10]: типа Nat, думаю, Nat Friedman делился этим на этаком Stripe-ивенте, рассказывая про свой OpenClaw — он подключил OpenClaw к своим камерам, и оно наблюдало за ним.
Swyx [01:12:20]: Оно перенаправило его Uber. И оно...
Kyle [01:12:23]: есть степень этого, где я бы реально хотел, чтобы OpenClaw говорил мне пить воду. Не знаю, хочу ли я, чтобы оно меняло, куда едет моя машина, но я реально думаю, что это как бы то, о чём я говорю, а именно: ему нужно иметь гораздо больше информации в своём распоряжении, чтобы быть мне полезным, и я всё ещё не думаю, что мы где-то близко к разговору про AGI. Я просто говорю про то, что каждый раз, когда мне приходится сказать тебе что-то, что меня волнует, что я когда-либо говорил, или говорил дюжину раз, оно должно мочь это знать, кодифицировать это или получить к этому доступ. Типа dreaming ideas — это попытка сделать какую-то версию этого, но думаю, есть гораздо более проактивный угол, который поможет разработчикам софта, если мы сможем это немного протестировать.
OpenClaw, ambient AI и инверсия контроля
Swyx [01:13:05]: Да. Ну, другая штука про OpenClaw, которая мне напомнила — у Microsoft есть CVP, посвящённый OpenClaw. Почему?
Kyle [01:13:16]: Потому что ты думаешь, что не должно быть?
Swyx [01:13:17]: Я не, я не знаю. Думаю, CVP — высокий титул. Что, почему это так важно? Типа Microsoft даже не владеет OpenClaw. В чём, в чём...
Kyle [01:13:29]: так вот я... мы про это гораздо больше говорим на Microsoft Build в этом году тоже. Думаю, главное в том, что OpenClaw сделал — он создал эту связь, чтобы люди могли иметь доступ к ресурсам, к которым у тебя есть доступ, и мочь делать вещи за тебя так, как раньше люди пытались кодифицировать в собственных агентах. И поэтому когда ты думаешь об этом в рабочем контексте — разве не было бы здорово иметь Claw-подобный объект, который я мог бы реально запустить на своём рабочем устройстве, или который имел бы доступ к моим рабочим активам, хорошо работал на Windows — как бы это выглядело. И поэтому думаю, что OpenClaw стал персонификацией ценного агента, который понимает меня, потому что у него есть доступ ко всей моей информации, и он может использовать компьютер. И поэтому он может делать гораздо больше, чем просто задаче-ориентированный процесс, или чат-инструмент и так далее. И это типа куча цели Build, верно? Мы на Build в этом году пытаемся взять очень иной подход — это без извинений нацелено на разработчиков. Мы пытаемся показать бóльшую инвестицию, чтобы не просто сказать «Эй», как ты сказал, «почему у вас CVP по OpenClaw?». Ну, потому что одна из проблем, которая у нас есть, верно — в том, что наши агенты, если ты устанавливаешь их не на Mac Mini или не на хостируемое устройство, ты устанавливаешь их на персональное устройство или рабочее устройство, нам нужна лучшая песочница на уровне ОС. Мне надо мочь использовать этот Claw и не быть уволенным. И поэтому Microsoft такой: «Окей, отлично, давайте сделаем это тоже». А потом это: окей, ну, где я должен мочь говорить с этим агентом? Должен ли у каждого из нас просто быть Claw, доступный нам на работе? Вероятно. И вот, пожалуйста. И продолжая вносить тонну в open-source-проект тоже. Microsoft, думаю, по мере того как я получаю всё больше и больше информации — там столько инвестиций в сами open-source-проекты, что по какой-то причине, думаю, есть это... они не хотят выглядеть... те команды не хотят выглядеть так, будто берут какую-то заслугу или получают какое-то признание. Но столько из этих ключевых контрибьюторов или команд работают фул-тайм, просто пушат в open-source-проекты. И думаю, это как бы показывает разницу между, ну, почему мы так пристально смотрим на что-то вроде Claw? Почему мы смотрим на песочницу на Windows? Почему мы смотрим на облачные версии песочниц? Почему мы смотрим — потому что в итоге нам нужно больше компонентов платформы. Нам не нужно, чтобы все строили один и тот же топ-лайн-продукт. И поэтому если мы строим для билдеров, это требует от нас дать тебе все эти компоненты и рассказать, что они такое, как они работают и почему они должны тебя заинтересовать, вместо того чтобы доставлять только тот единственный вертикальный продукт снова, и снова, и снова.
Microsoft, песочница в Windows и компоненты платформы для агентов
Swyx [01:16:23]: Думаю, мой, может, один способ это сформулировать — что Microsoft это изначальная компания операционных систем. И вот новая операционная система для ИИ.
Kyle [01:16:35]: типа, думаю, мы также в эре, где мы — нам надо помочь построить этот мост? Без шуток, операционные системы должны выглядеть иначе, чем они выглядели пять лет назад, потому что это уже не только ты их используешь. И это изменило всю идею. Это не «Окей, мой Claw создаст пользовательский аккаунт». Так не работает? И поэтому, прямо как все мы, нам всем надо смотреть гораздо глубже в стек, вплоть до кремниевого слоя в Azure, чтобы сказать «Окей, ну, что нам нужно теперь?». Потому что нагрузки иные. Это не просто «Окей, нам нужно больше инференса». Это «Окей, ну, какой тип инференса нам нужен? Какой тип вычислений нам нужен, чтобы запускать этих агентов или запускать эти агентные флоу?». Это реально интересная этакая многослойная проблема, в отличие от — я бы сказал, софт в последние пять или шесть лет — мы все ходили на наши ивенты, и мы как бы говорили версию одного и того же. SaaS-продукт со новой SaaS-штукой. Это лучшая SaaS-штука на свете.
Swyx [01:17:42]: Какое-то время было скучно.
Kyle [01:17:43]: И поэтому теперь это типа — о боже, мы на физике.
Swyx [01:17:47]: Это здорово.
Kyle [01:17:48]: Мы на проблемах физики. И это захватывающе.
Swyx [01:17:50]: Мы — мы теперь пытаемся сделать полупровод— сверхпроводники при комнатной температуре. Всё ещё. Это, это, это никогда не уйдёт. Нет, думаю, это реально хороший обзор всего. Думаю, мы оставили что-то несказанным, что ты реально хотел донести, что нам стоит охватить?
Анонсы Build, корпоративное внедрение и ИИ на работе
Kyle [01:18:07]: Я реально в восторге от того, чтобы люди посмотрели анонсы, которые у нас есть на Build — можешь пойти посмотреть их онлайн, взгляни. Думаю, я надеюсь, что это вызывает какую-то степень любопытства и интереса, потому что есть такой большой сдвиг, который мы делаем в Microsoft для разработчиков, где если ты daily driver Mac-устройства или Linux-устройства и ты такой «Окей, я не использую Windows» — есть улучшения, которые делаются, которые, думаю, удивят людей просто тем, чтобы быть «О, они реально хотят это сделать?», а не... И я говорю про разработчиков. Я не говорю про «я играю в видеоигры на выходных на своём Windows-компьютере». Я говорю про мой daily driver. От этого до — окей, ну, каково это построить агента или построить приложение и развернуть его и запустить на работе, в частности? Думаю, это большой кусок, где я всё время говорю с командой о том, как я строю на выходных, так и должно быть, как я строю на работе. Но если ты работаешь в Fortune 100 или Fortune 500, ты, вероятно, не вайб-кодишь приложение и потом не отгружаешь его на какой-то сервис. Тебе надо пройти через безопасность и комплаенс. Как нам двигаться так же быстро на работе? И вот это, думаю, что-то, для чего у нас есть куча разных предложений, чтобы дать тебе ту же гибкость и силу, но в рабочем контексте. И ещё я скажу тебе — я упоминал это пару раз, и это чертовски круто. Если ты в M365-земле хоть как-то, посмотри на WorkIQ, посмотри на FoundryIQ. Эти маленькие — упрощая это — контекстные движки дико хороши. И мы дали их нашим разработчикам в GitHub, мы дали их сотрудникам в GitHub, используя эти инструменты, чтобы можно было просто задавать вопросы про всё, что у тебя есть в рабочем контексте. И с FoundryIQ можно делать ровно то же самое по всем твоим существующим хранилищам. Не переходить на новые инструменты, просто подключить их. Это удивительно мощно, и твой босс всё ещё не будет уволен, и IT не отключит это, потому что оно сливает всю эту приватную информацию. Это тот трюк, который, думаю, иногда теряется, когда мы говорим про все эти все эти отличные новые платформы. Потому что я могу их использовать, я такой «О, это супер-мощно. О, и я не могу — я не могу это использовать». И это не потому, что я на работе в GitHub. Это бе...
Swyx [01:20:34]: Потому что мне не разрешено, да
Kyle [01:20:35]: Это потому, что мне не разрешено, потому что они не могут делать все те вещи, которые нужны большим, сложным компаниям. И поэтому, будь то, как я сказал, просто этакое интересное любопытство daily driver, вплоть до «О боже, я могу пойти использовать это на работе завтра, потенциально» и иметь тот контекстный слой, иметь тот интеллект — это огромный, это огромный сдвиг. И поэтому посмотрите. Я бы с радостью услышал — я не стеснителен в соцсетях. Я бы с радостью услышал фидбек. Что работает, что нет. Но, надеюсь, немного удивим людей.
Swyx [01:21:07]: Что я слышу — прежде всего, думаю, это отличный питч. Что я слышу на самом деле — это что тебе стоит посадить людей из WorkIQ рядом с людьми из Copilot. Потому что та самая проблема контекста, которую ты назвал — они решают её достаточно, чтобы ты мог делать свою работу, что безумно.
Kyle [01:21:23]: Так вот, та штука, которую мы бук— это буквально то, что происходило последние несколько месяцев.
Swyx [01:21:29]: Я уже предсказал, что ты туда идёшь.
Kyle [01:21:30]: Это совершенно потому, что ты совершенно прав. Проблема кода, кода и кодовых активов немного уникальна. Но в остальном...
Swyx [01:21:36]: Вот и всё
Kyle [01:21:37]: Мы все работаем
Swyx [01:21:37]: Это контекст
Kyle [01:21:37]: Друг с другом теперь. Это всё просто контекст, именно.
Swyx [01:21:40]: Потрясающе. Отлично. Я там буду. Я буду делать
Kyle [01:21:43]: Отлично
Swyx [01:21:43]: Пару сессий там. Я буду брать интервью у Satya.
Kyle [01:21:46]: Я знаю.
WorkIQ, контекст Copilot и о чём спросить Сатью
Swyx [01:21:47]: Когда я только начинал подкаст, у меня был Jeff Dean. Jeff типа... это типа зал славы людей, с которыми я хочу когда-нибудь встретиться. Satya в этом списке. Так что — о чём мне спросить Satya?
Kyle [01:21:57]: Думаю, думаю, лучший вопрос — спросить, что он считает истиной через два или три года от сейчас. Это кажется таким проходным вопросом. Но в конечном счёте то, как он смотрит на эту ИИ-проблему, проблему инференса, проблему токенов, и то, как мы на самом деле будем работать — думаю, можно увидеть некоторые из недавних сдвигов, которые происходили внутри Microsoft, чтобы как бы привести нас к месту, где это не четыре, пять, шесть, семь, восемь разных вещей. Это не нехватка контекста повсюду. Но почему этот этакий подход через два года окупится? Потому что это, думаю...
Swyx [01:22:41]: Ух ты, это смело. Окей. Я спрошу это. Я скажу, что ты — я скажу, что меня подтолкнул ты, но
Kyle [01:22:45]: Абсолютно
Swyx [01:22:45]: Это смелый вопрос, потому что там, думаю, есть много сомнений, честно говоря, снаружи. И поэтому, да, я хочу прямой ответ от него на это — думаю, это успокоило бы многих людей, и, честно говоря, дало бы мне много пищи для письма. Так что огромное спасибо, что уделил своё время. Спасибо, что делаешь то, что делаешь. Думаю, как CEO, тебе не обязательно быть внешним лицом. Но поскольку ты авторитетен, поскольку у тебя столько бэкграунда с GitHub, и это так аутентично, мы снаружи это чувствуем. Так что спасибо за это.
Kyle [01:23:16]: Конечно. Ценю это. Спасибо тебе огромное, Sean.
Обсуждение этого эпизода