Transcription
Я, конечно, не читаю никакого кода. Я даже не умею читать никакой код.
Я думал, ты на самом деле инженер.
Я не инженер. Я не знаю, как вы меня называете. Самый большой хак, если вы делаете что-то одно, это мой любимый инструмент для создания чего угодно — это составное проектирование. Каким-то образом я могу поставлять ценные вещи, что безумно и странно и до сих пор поражает меня.
Что, если бы каждый мог напечатать свой собственный CLI о чем угодно? Он нашел все секретные API путем сниффинга, и это сработало.
Привет всем, мой сегодняшний гость — Мэтт, который, возможно, является одним из лучших и самых плодовитых создателей ИИ, которых я знаю. И сегодня он проведет нас по своей полной агентной системе ИИ, ну, я полагаю, агентной инженерной системе, которая стала вирусной на X. И я думаю, э-э, знаете, из того, что я видел от Мэтта, я думаю, это интервью поразит вас. Итак, добро пожаловать, Мэтт.
Спасибо. Рад быть здесь.
Давайте поговорим о вашем, ну, вы опубликовали эту статью, верно, в которой было, кажется, около 20 советов или что-то в этом роде о создании с помощью ИИ-агентов. Хотите поделиться обзором?
Конечно. Да, я поделюсь экраном, который вы сделали.
Хорошо.
Я не делал этот слайд. Вы сделали. Это античная система Мэтта. Я думаю, вам следует представить это, Питер, поскольку вы сделали...
Нет, нет. Я, я, я сделал это на основе вашей статьи. Так что, э-э, я имею в виду, здесь много советов. Много советов, но каковы некоторые высокоуровневые темы, знаете, может быть, одна высокоуровневая тема, как вы мне сказали, это то, что вы на самом деле не читаете, вы на самом деле не читаете планы. Каковы некоторые высокоуровневые темы?
Да, конечно. Итак, я думаю, самый большой хак, если вы делаете что-то одно, это мой любимый инструмент для создания чего угодно — это составное проектирование, и я... составное проектирование делает много вещей, каждый проделал невероятную работу, проделал невероятную работу, э-э, Карен, но убийственная функция — это CE plan и CE work, и что это делает, так это если у меня когда-либо возникает идея, например, я могу привести пример идеи, которая у меня была этим утром, но, э-э, если у меня когда-либо возникает идея, я всегда просто начинаю с /c plan, вот моя идея, я обычно использую голос, и что это сделает, так это напишет файл плана, и это, это придумывает планы выполнения для агента, и причина, по которой это важно, в отличие от прямого разговора с Claude или Codeex, заключается в том, что агенты склонны быть ленивыми, они хотят сделать вас как можно счастливее, как можно быстрее, с как можно меньшим количеством потраченных токенов. И, записывая пошаговый систематический план, он настраивает себя так, чтобы не быть ленивым. И поэтому для всего я всегда говорю: C plan, C work, C plan, C work.
И раньше, а под «раньше» я имею в виду пару месяцев назад, я всегда читал планы. Моя, моя последняя... я написал всего две такие статьи об агентном проектировании, и в последней говорилось: «О, мы откроем план в вашем редакторе, не смотрите на код, очевидно, но вы все равно должны посмотреть на план», и за последние два месяца я обнаружил, что нет причин смотреть на план, и что я могу просто задавать вопросы агентам. Я приведу пример того, над чем я работаю этим утром.
Итак, я, я, я запустил продукт, я думаю, на этой неделе, да, я полагаю, на этой неделе в понедельник, под названием Agent Cookie, который позволяет, так что если у вас есть основной ноутбук Mac, который вы используете, и Mac Mini, который вы используете для Hermes или OpenClaw, файлы cookie рассинхронизированы, и поэтому вы постоянно выходите из системы, и поэтому я создал что-то через Tailscale, что идеально синхронизирует ваши файлы cookie, и поэтому этим утром я использовал другой свой продукт, который я создал с Треваном, под названием Printing Press, и он часто создает CLI из чего-то, и поэтому я пытаюсь создать CLI для Task Rabbit прямо сейчас. Я могу рассказать об этом через секунду, почему это интересно. Это, это CLI для человеческого козла, но это побочная вещь. И часто на моей собственной машине мой агент выходит из системы. И поэтому этим утром я сказал: C plan, посмотри на Printing Press и посмотри на Agent Cookie, два несвязанных моих проекта.
и выясни, что Printing Press использует для HAR-сниффинга при создании нового CLI или навыка агента, и как сейчас работает Agent Cookie, и выясни, как все мои агенты локально. Так что это азиатский браузер Verscell. Это использование браузера. Это, э-э, я думаю, Playwright, как они всегда залогинены во все. И потом это типа: окей, я составил план, а потом я не загрузил план, потому что ты никогда не должен смотреть на план, потому что тебе нужно двигаться быстро. Тебе нужно двигаться быстро. Но у меня был один вопрос. У меня был один вопрос к моему агенту этим утром. Я сказал: ты просто модифицируешь Agent Cookie, верно? Тебе не нужно вносить изменения в азиатский браузер Verscell или в Playwright, или в использование браузера, и он такой: нет, просто азиатские файлы cookie волшебным образом будут работать только с Agent Cookie, типа, отлично, хорошо, увидимся, работай, давай строить, и я, я думаю, он построил это, кстати, я думаю, он закончил несколько минут назад, я еще не смотрел на это.
Можешь на самом деле зайти в свой терминал и показать мне, как выглядит план?
Я сказал, что ты не должен смотреть на план, но, конечно, давай посмотрим.
Я просто пытаюсь понять разницу между C plan и, э-э, просто обычным режимом планирования, что такого замечательного в CP plan.
Давайте посмотрим, что здесь произошло. Итак, я сказал: «Зеплан, можешь углубиться в Printing Press и в то, как агенты используют браузеры агентов для жесткого сниффинга? Затем углубись в работу Agent Cookie и в то, как синхронизируется вход в систему. Ты уверен, что вошел в систему?» Офис говорит, что нет. Как мы можем это исправить с помощью Agent Cookie? А потом я сказал: «Нет, извини, я не это имел в виду. Это только Agent Cookie?» И он такой: «Да, я модифицирую только отличный go». Так что это был мой единственный вопрос, не заглядывая в этот план. Очевидно, я мог бы прочитать этот план.
и, возможно, это создало бы какую-то ценность, но на самом деле нет, потому что у меня был всего один вопрос. Если бы я отправлял кучу PR в Agent Browser и Playwright и модифицировал их кодовые базы, вместо того чтобы просто сделать PR в Agent Cookie.
Да. Итак, я полагаю, чтобы подвести итог, разница между, и я тоже брал интервью у Кирана, разница между C plan и просто просьбой агента составить план заключается в том, что он проводит массу исследований вашей кодовой базы и в Интернете, а также пишет довольно исчерпывающий план, верно, он вдается в гораздо больше деталей, знаете ли.
так что я даже не знаю, потому что я их не читаю, это честный ответ, но результаты хорошие, и мои продукты часто работают и не ломаются.
верно, так что для меня это просто цикл итераций, это как: окей, я попросил тебя сделать что-то, и ты это сделал, а потом: окей, это работает? Это хорошо? И если да, отлично. Спасибо. Спасибо, Киран. Спасибо, боевая инженерия. Но я думаю, главное, что мне не нужно об этом беспокоиться, потому что я использовал это так много, что могу просто доверять этому, и я знаю, какие типы вопросов приводят к успеху и неудаче.
Понятно. Итак, вы делаете это для, ну, почти для каждой новой функции, которую хотите создать, а затем видите сборку, а потом вы читаете код, например, PR и все такое, или вы как бы, э-э, есть ли для этого тоже команда, типа навыка?
Итак, я, конечно, не читаю никакого кода. Я, я даже не умею читать никакой код. Я, я не писал никакого кода со старшей школы, и это, вероятно, был HTML. Я даже не думаю, что CSS был таким уж большим, когда я учился в старшей школе, и, возможно, что-то вроде языка AppleScript. Э-э, но это, это, это было бы моим инженерным набором навыков. Так что, конечно, чтобы это сделать. Э-э, а затем, если я делаю PR, если я отправляю внешний PR, то я, я, очевидно, люблю взглянуть на него и нажать «отправить» и убедиться, что я говорю нормальные вещи.
Это, это, это на самом деле, э-э, окей. Может быть, мне стоило провести больше исследований. Окей. Я, я, я думал, вы на самом деле инженер, но, похоже, вы на самом деле инженер. Не, не...
Я не инженер. Я не знаю, как вы меня называете. Я, я, я называл себя ботаником всю свою жизнь. Я помню, когда я получил свою первую работу в DIG в 2007 году, и я был ботаником всю свою жизнь. Все звонили мне, чтобы, например, починить их Wi-Fi. Я раньше ночевал на Mac World, чтобы увидеть выступление Стива Джобса, когда был ребенком. И, и потом я приехал в Сан-Франциско в 2007 году и подумал: «Я один из вас. Вы мои люди. Да, я так взволнован». А потом они такие: «У вас есть степень по информатике? Вы инженер?» Я такой: «Нет, я просто ботаник, как вы». Они такие: «М-м, не совсем». И поэтому я, я всегда чувствовал это, э-э, я не знаю, какое слово, э-э, как будто всегда был негативный сигнал. Это как: «О, Мэтт не знает. Он не понимает». И опять же, я, я до сих пор не пытаюсь притворяться, что знаю. Я буквально говорю: «Я не читаю план. Я не знаю, что происходит». И, э-э, и, и поэтому я, очевидно, уважаю инженерию и настоящих, настоящих инженеров, и я ни при каких обстоятельствах не являюсь таковым, но каким-то образом я могу поставлять ценные вещи, что безумно и странно и до сих пор поражает меня.
Этот эпизод представлен вам Riverside. Я использовал Riverside годами для записи своего подкаста, потому что он записывает в разрешении 4K каждого человека локально. Так что аудио и видео все равно получаются чистыми, даже если Wi-Fi гостя становится нестабильным. Но причина, по которой я люблю его сейчас больше, чем когда-либо, это то, что происходит после того, как мы прекращаем запись. Если я зайду сюда, я смогу использовать эти инструменты ИИ для удаления пауз, удаления слов-паразитов и просто очистки записи. И я, я также могу редактировать стенограмму напрямую. И он автоматически сгенерирует клипы с субтитрами, готовые к публикации на YouTube, Spotify и всех типах платформ социальных сетей, все из одного места. Для бизнеса создателя-одиночки это очень важно. Riverside — это обновление, которое необходимо вашему рабочему процессу контента. Попробуйте его на creators.riverside.fm/peteryang и используйте код peter yang при оформлении заказа, чтобы получить один месяц совершенно бесплатно. Это creators.riverside.fm/peteryang. Теперь вернемся к нашему эпизоду.
И это, по сути, началось, э-э, эти инструменты стали достаточно хорошими, я бы сказал, в прошлом году, где-то в конце прошлого года, или это довольно недавнее явление, верно, что вы можете просто поставлять другие вещи.
24 ноября вышел Opus 45, а через несколько недель — последняя версия кодека. Так что я называю это BC AC — до Клода и Кодекса, после, но именно в тот День Благодарения в прошлом году это перестало быть игрушкой. Я, я играл и строил, и был ранним пользователем, э-э, Cursor, когда он только вышел, но я, я не мог создать ничего ценного. Это было типа: «О, смотрите, я сделал приложение погоды, которое вроде как работает», и такие вещи. Это как: «Смотрите, я смог создать небольшое приложение, где я могу задать вопрос ChatGPT или Клоду», это было как мое...
и потом я тратил около 3 дней, пытаясь заставить Google Oath работать, и он не работал, но произошел тот сдвиг, тот День Благодарения BCAC в прошлом году, когда это перестало быть игрушкой и стало реальностью.
Это, это потрясающе, чувак. Это потрясающе. И, и, э-э, ну, я думаю, одна из самых захватывающих вещей, которые вы выпустили, это, э-э, Printing Press. Так что, хотите рассказать нам, что это такое?
Конечно.
И, может быть, вы могли бы рассказать, что такого особенного в CLI по сравнению с MCP или другими подобными интеграциями?
Итак, это, э-э, printingpress.dev. Итак, я, так вот как это началось: было воскресное утро, и я сказал: «C plan, я хочу начать язык программирования с нуля для агентов», и мой агент такой: «Конечно, давай сразу займемся этим, это такая хорошая идея, я составлю интенсивный план того, как мы построим лучший язык программирования», вы знаете, агенты всегда слишком рьяно стремятся угодить.
и после того, как он провел свое исследование и вернулся и рассказал мне о других, э-э, языках программирования агентов, например, я думаю, есть один под названием MOG. Э-э, это было примерно так: TLDDR, это ужасная идея. Вы не должны этого делать ни при каких обстоятельствах. В этом нет никакой ценности. И, э-э, и я подумал: «Черт возьми, но, но агенты и CLI, и эффективность агентов, здесь должно быть что-то». Как то, что делает Питер Штайнберг, невероятно с OpenClaw и всеми CLI, которые он создает, что могло бы быть чем-то интересным, что мы, мы могли бы сделать сегодня в воскресенье и, например, выпустить за день или около того. И каким-то образом это перебрасывание туда-сюда C plan C work в итоге изобрело это сумасшедшее... Я, я, я хотел бы, я, мне нужно найти оригинальные планы, потому что мне любопытно, что именно было сказано. Это все воспоминания, но все это где-то записано. Есть, есть план, который я где-то не читал, который был оригинальным планом Printing Press и моим, моим оригинальным запросом, но основная суть того, к чему мы пришли, была...
э-э, я начал изучать Питера Штайнбергера: всякий раз, когда у его агента, то есть у его OpenClaw, возникала проблема с использованием сервиса, такого как приложения Google, например, Google Sheets, Google Docs, Gmail, он создавал для себя CLI. И поэтому Gog Gogg CLI создан Питером, и, э-э, а потом он находил что-то расстраивающее с чем-то другим, например, э-э, в Discord не было хорошего CLI. Был API, но не было хорошего CLI. И поэтому он такой: «Я сделаю disc crawl». И он делал это. И он делал это для себя эгоистично, но потому что Питер невероятен и, э-э, живет в этом открытом исходном коде для общего блага людей. Поэтому он создает что-то для себя, а затем выпускает это в открытый исходный код для всего мира. И поэтому я заставил своего агента начать изучать его шаблоны, и было две очень, очень интересные вещи. Итак, сначала, извините, еще одна вещь: я запустил за последние 30 дней официальный CLI Google против CLI Питера и сказал: «Окей, какой из них мне использовать? Я должен использовать Google». Он вышел примерно через 3 месяца после того, как они узнали от Питера, и за последние 30 дней говорится, что вы должны использовать Питера при любых обстоятельствах, он намного лучше, чем Google, и поэтому, как, почему, как это возможно, Google должен был посмотреть на Питера, и поэтому я углубился, и есть, есть много вещей, которые он сделал, но были как бы две, которые действительно выделялись для меня.
Итак, во-первых, все, что делает Питер, он думает о продвинутом пользователе. Так что он помнит, что будет делать продвинутый пользователь с этим, например, представьте, что агент — это продвинутый пользователь, постоянно что-то «избивающий». Что они будут делать? И второе, что он делает, это о скорости и эффективности токенов. И поэтому одна из вещей, которую делают практически все CLI Питера, это то, что он загружает все и создает базу данных SQLite. Например, возьмем Discord. У OpenClaw есть Discord. Там много активности. И Питер мог бы спросить: «Эй, какой самый популярный запрос на функцию?» Если бы он просто спросил API Discord: «Эй, какой самый популярный запрос на функцию, который люди публиковали в моем Discord в последнее время?» Это было бы так: «Окей, ну, дай мне посмотреть, что было написано. Я загружу все сообщения за сегодня. Загружу сообщение 892, 893, 894. Окей, я посмотрел их и проанализировал». Но если он уже загрузил и имеет базу данных SQLite всего, что когда-либо публиковалось в его Discord, потому что это просто встроено в его CLI, это гениально. Типа, о боже, буквально его OpenClaw, как бы он его ни размещал, имеет все, что когда-либо было написано в Discord. И это, это увлекательно. И поэтому для Printing Press идея заключалась в том, что если бы каждый мог напечатать свой собственный CLI о чем угодно, и он как бы делает четыре вещи в своей основе.
э-э, во-первых, он делает то, что делает Питер. То есть он создает базу данных SQLite и говорит, кто является продвинутым пользователем этого продукта. И поэтому у нас на самом деле есть это, он создает персоны. Треван сделал это, где он на самом деле говорит, что если бы вы, если бы вы напечатали CLI Discord с помощью Printing Press, он бы сказал: «Давайте создадим несколько разных персон того, кто был бы продвинутым пользователем этого», и это как: «Продвинутый пользователь один, познакомьтесь с Джимом. Джим владеет двумя Discord и руководит большим проектом с открытым исходным кодом, и он перегружен. Какие функции хотел бы Джим?» И затем он буквально определяет это и использует это как точку данных, и это одна из вещей, которые он делает. Второе, что он делает, это ищет официальные CLI или API, которые уже существуют.
и поглощает их. Третье, что он делает, это идет и делает жесткий сниффинг, чтобы найти секретные API. Итак, я приведу пример. Э-э, так вот, э-э, Google Flights и Kayak Direct не имеют официального API, но если вы сделаете жесткий сниффинг и пощелкаете, вы сможете найти все существующие секретные API, и именно так был изобретен Flight Goat. Итак, Flight Goat, вы можете просто сказать PP Flight Goat. Так что это навык. Так что это навык для Hermes или OpenClaw, или для Claude Code. Э-э, я хочу увидеть беспосадочные дальнемагистральные рейсы из Сиэтла с 24 декабря по 1 января для пассажиров, сначала самые дешевые. И что он делает сначала, так это идет в секретные API Kayak Direct и ищет все беспосадочные рейсы продолжительностью более 8 часов из Сиэтла. Затем он берет это и, потому что он, и переходит в секретный API Google Flights, э-э, а затем запускает его, и затем одной командой вы можете получить результат, например, это реальный результат. Итак, Лондон самый дешевый на Рождество и Новый год по 1200 за пассажира, затем Амстердам, затем Токио, затем Париж, и он сделал это одной командой, что просто безумие. А секретный API — это, по сути, как, знаете, если я захожу на kayak.com, начинаю просматривать, там есть куча API, которые он вызывает через браузер, верно? Вы просто выяснили, что это такое.
Именно. Ага. И это, это та функция, над которой я работал сегодня утром, чтобы убедиться, что файлы cookie синхронизированы, чтобы вы всегда были залогинены при жестком сниффинге, когда печатаете что-то с помощью Printing Press. И так, так, так, это третья вещь, которую мы делаем. И четвертая вещь, которую мы делаем, это мы идем на GitHub и ищем общественные проекты, людей, которые уже взламывали и находили эти секретные API и строили на их основе. Например, мы нашли этот действительно крутой проект. Э-э, это была библиотека Python для заказа пиццы Domino's. И, видимо, Domino's.com не менял ни один из своих эндпоинтов для заказа пиццы около 10 лет. И кто-то создал Python, до-LM библиотеку Python для заказа пиццы Domino's с помощью скрипта Python, и у нее было, я не знаю, я, я не знаю цифр, но пара сотен звезд, так что это не крупный проект, но, но он работал, и это было очень круто, и поэтому мы можем учиться у всех общественных проектов, что дает сигнал о том, что люди хотят делать, но это также дает сигнал о том, где существуют API. И что забавно, буквально за ночь до того, как мы запустили Printing Press, Domino's изменили свои API. Буквально за ночь до того, как Треван попытался заказать пиццу. Он такой: «Это не работает». И поэтому он перепечатал ее, и мы выпустили ее. И они изменили ее впервые за 10 лет за ночь до запуска. Но теперь вы можете заказать пиццу в Printing Press.
Он, он перепечатал, в смысле, он нашел этот секретный API. Так что Domino, вы используете это.
Он просто, вы буквально заходите в Cloud Code и набираете Printing Press здесь. Я могу...
Да. Может быть, вы могли бы продемонстрировать, э-э, как создание CLI, так и некоторые из ваших любимых CLI на Printing Press.
Да. Так что буквально вы, я просто набрал Printing Press, и я могу отставать на несколько дней, потому что он много чего выпускает. Я на самом деле не знаю, что печатать. У вас есть что-нибудь, что вы хотите напечатать?
Э-э...
Какие-нибудь веб-страницы, которые вы используете? Э-э, я, я, позвольте мне показать библиотеку на секунду, чтобы вы могли увидеть примеры того, что здесь есть. Итак, в ИИ есть 11 лабораторий. Midjourney. У Midjourney нет API. Так что это довольно круто. Кто-то напечатал CLI Midjourney для коммерции, рекламы Amazon, продавца Amazon для, э-э, инструментов разработчика, захвата агентов, Airframe, всех рецептов.
Я думаю, э-э, Substack CLA будет полезен лично.
Да.
Чтобы увидеть, какие посты пишут люди.
Да.
О, уже есть один.
О, есть один, напечатанный, э-э, Чертауном. Так что, уже есть один. И что безумно, я думаю, мы запустили, возможно, с 40 или около того CLI. Теперь их 200 плюс, люди просто печатают их. И это поражает меня, насколько это круто.
И чтобы напечатать, э-э, каков процесс печати, чтобы просто сказать: «Эй, можешь, можешь просто напечатать один для меня для этого продукта?» Это так?
Да. Итак, буквально, вы просто набираете, я думаю, он просто проверяет, чтобы убедиться, что он соответствует... Почему, почему бы нам не попробовать, почему бы нам не попробовать пиццу Papa John's? Пицца Papa John's. Есть ли...
Конечно.
Да.
Э-э, так что пицца Papa John's. Я не залогинен в Papa John's, но давайте посмотрим, что он сделает. Он хотя бы начнет процесс. У нас определенно нет Papa John's, э-э, э-э, Омар из Microsoft, который руководит, э-э, стратегией OpenClaw в Microsoft, он напечатал CLI для сэндвичей Jimmy John's с помощью Printing Press. Отлично.
Хорошо. Э-э, а потом он говорит: «Что-нибудь, чем вы хотите поделиться, прежде чем мы начнем? Видение того, что должен делать CLI? Конкретные функции, которые вас интересуют?» Э-э, и затем варианты: «Поехали. Начать исследование. Я запрошу ключи API, браузер или другой контекст, когда они мне понадобятся. У вас есть видение конкретных функций? Давайте просто посмотрим, что произойдет».
Да. Окей. Итак, я полагаю, что большая часть ценности на самом деле, э-э, да, в поиске соответствующих проектов GitHub и секретных ключей. Да. Многие вещи, которые я использую, просто очень раздражают. Например, у меня есть весы, которые я использую, чтобы узнать свой вес и все такое.
Ага.
Ага.
Да. Итак, Треван на самом деле, у него была сумасшедшая идея, я хочу сказать, вчера, создать Bluetooth HAR-сниффер, потому что у него были весы, извините, не весы, а, э-э, беговая дорожка, которую он использовал.
и он хотел иметь возможность написать CLI для управления своей беговой дорожкой, чтобы его агенты могли управлять его беговой дорожкой, и он построил это, и это работает, и он выпустил это вчера, что безумие.
Вау. И, и пока мы ждем, может быть, вы могли бы, ну, просто, э-э, дать краткое введение, ну, CLI против MCP или, ну, что такого особенного в CLI.
Да. Итак, я бы сказал, что для меня я часто обнаруживаю, что в компаниях, где я использую их инструмент, и у них есть только MCP, я чувствую, что я всегда аутентифицирован и вышел из системы. Как будто это всегда происходит. Я не знаю почему. Мне, вероятно, нужно сделать C plan. Почему я всегда выхожу из системы? Это моя проблема? Это кто-то другой? Но я знаю, что многие люди вокруг меня чувствуют, что они всегда выходят из системы. И это как: «О, вам нужно обновить свой MCP и обновить свой O-токен, верно?» И это довольно раздражает. И что я, я обнаружил, это то, что CLI очень умны и продуманы в том, как они повторно аутентифицируются. Итак, многие CLI в Printing Press имеют режим, о котором знает агент. Это как: «Да, окей, мне просто нужно загрузить браузер и обновить веб-страницу, и тогда все CLI снова будут работать для этого конкретного случая использования. И я знаю, как обновить свой токен. Как будто это встроено. Как мне автоматически обновить свой токен?»
Окей.
И что, что интересно, так это то, что мы на самом деле печатаем с помощью Printing Press, это не просто CLI. Мы печатаем CLI, и навык агента, и MCP для всего, что мы печатаем. Например, я использовал Flight Goat раньше, верно? Так что, если вы установите Flight Goat, вы получите CLI и получите навык Cloud Code, вы получите навык Codeex, вы получите навык Hermes, вы получите навык OpenClaw, и вы также получите полный MCP, так что вы можете использовать его на самом деле в Cloud Desktop, что безумие. Так что вы можете на самом деле загрузить это и установить в Cloud Desktop, э-э, что дико. Это поразило меня, когда Треван показал мне то, что он построил. И так, ответ, магия для меня в том, что если у меня просто есть CLI, я чувствую, что не знаю, как его вызвать. Как будто это зависит от удачи моего агента, чтобы, возможно, найти его. Но если есть навык плюс CLI, это настоящая магия. И поэтому, если я в OpenClaw, если я в Hermes, если я в Claude Code, тогда он просто, он знает, как действовать.
Он знает, как запускать, или вы можете запускать его вручную. Да.
Ага.
Имеет смысл.
Именно. Ну, а что с Papa John's, э-э, есть что-нибудь или все еще работает?
О, это занимает от 45 минут до часа. Кстати, мы не закончим CLI. И мне также нужно зарегистрироваться для Papa John's, но, э-э, что он говорит, так это то, что сейчас нет CLI. Э-э, но, но два, так что заказы коллег должны быть выполнены. Хотите продолжить строить Papa John's? Конечно, мы хотим продолжать строить Papa John's. Итак, мы... Итак, вот что он собирается сделать. Он собирается разрешить проверку реестра блокировки библиотеки спецификаций, проверку ключа API, исследование брифа для Papa John's, интеллект, сниффинг браузера, сниффинг толпы, поглощение, достижимость, генерацию CLI, сборку, поглощение трансцендентных функций.
Понятно.
И вот сейчас, смотрите, он погуглил, он не пошел, он заказал Papa John's, это API для заказа, обратная разработка, конечная точка API GitHub, поиск магазинов, меню JSON, Papa John CLI, автоматизация заказа пиццы на Python, так что это, это то, как это начинается, что забавно. Понятно, он пытается найти все секретные ключи и, ну, проекты GitHub.
Да, с этого мы и начинаем. Смотрите, у Papa John's есть коллекция Postman плюс несколько неофициальных оберток. Позвольте мне углубиться в реальные конечные точки. Итак, теперь мы GitHub Yo Contra Papa John's Postman Papa John's team GitHub Brett Jurgens Papa John's Thin Remies. Позвольте мне прочитать фактический исходный код обертки для реальных конечных точек и напрямую исследовать живой API.
Значит, API есть. Может быть...
У всего есть API. Нет официального API для заказа Papa John's. Речь идет о секретных API, а не о том, что вы заходите на papajohns.com, и они такие: «Вот наша документация».
Да. Заказать пиццу в вашем приложении.
Понятно. Понятно. Окей. Понятно, чувак. Да. Мир будет работать на API, чувак. Типа, никто больше не будет бродить по пользовательскому интерфейсу. Просто заставьте агента перейти к API и, например, заказать пиццу для меня или сделать все, что я хочу.
Да. Я имею в виду, я, я так расстраиваюсь, когда у чего-то нет CLI, но потом я просто строю его для себя. Итак, я, я приведу пример, когда я, э-э, пытаюсь понять, как говорить об этом, не, э-э, не раскрывая свою, свою компанию, которая не существует, но я хочу генерировать много ИИ-видео из командной строки, работая над другим рабочим процессом. И Open Art — одно из моих любимых мест, где вы можете просто выбрать: окей, я хочу использовать Seed Dance. Я хочу использовать эту видеомодель. Я хочу использовать эту модель изображений, если я хочу сделать нана-банана. Это просто как будто у них есть доступ ко всем отличным видеомоделям. У меня есть аккаунт и модели изображений, и поэтому у меня есть навык Cloud Code, цель которого не генерировать видео. Это несвязанная вещь, но один из выходов, который я хочу, это сгенерированное видео с автоматизированными подсказками. И поэтому я подумал: «Хорошо, Open Art, у тебя есть API? Нет. Open Art, у тебя есть CLI? Нет». Я подумал: «Хорошо, Printing Press Open Art». И он построил его. Он нашел все секретные API, э-э, путем сниффинга, и это сработало, и я использую его каждый день сейчас. Как будто он полностью встроен в мои рабочие процессы агентно. Мне больше никогда не нужно заходить на openart.com. Он просто буквально загружает видео для меня. Э-э, еще один — это Iso. Так что для создания музыки, и вам больше никогда не придется заходить на sununo.com. Вы можете просто делать это полностью через CLI, и для Psuno нет API. Так что он просто полностью сниффирован и найден Printing Press.
И, э-э, эти CLI, они тоже все на GitHub или только на Printing Press?
Да, они, они все на GitHub. Они все на Printing Press. Все ссылки ведут на GitHub. Все они с открытым исходным кодом, и люди делают PR. Так что, если что-то меняется, как у Domino's, где они меняют свои API, кто-то может просто сделать PR в библиотеку Printing Press, и тогда все получат новое обновление Domino's. Или вы можете создать какую-то рутину или что-то в этом роде. Просто проверять, проверять на наличие изменений в API или что-то в этом роде. Да, это потрясающе. Вы создали платформу для создания CLI, по сути. И, кстати, все, все это с открытым исходным кодом и бесплатно, верно? Так что, так что это просто как...
Это большая услуга, чувак. Для всего мира.
Да. И мы, мы, мы постоянно слышим, как люди говорят: «Эй, я собирался заставить свою инженерную команду начать строить наш MCP, потому что это круто, но потом мы обнаружили Printing Press, так что мы просто будем использовать вас и сделаем это нашим официальным CLI и MCP». Я такой: «Вперед. Но это открытый исходный код. Веселитесь».
Что потрясающе. У нас была компания в Куала-Лумпуре. Они выпустили пресс-релиз по проводу, официально объявляющий их официальный CLI и навык, и они буквально просто использовали Printing Press, и я подумал: «Это потрясающе». Отлично, чувак. Отлично. Во-первых, я не знал, что вы не инженер. Но, во-вторых, как вы придумываете эти сумасшедшие идеи? Вы просто, э-э, в субботу утром просыпаетесь и говорите: «Эй, у меня есть три идеи. Увидимся, я посажу эти три идеи».
Вот и все. Вот и все. И стоимость тестирования и создания чего-либо, это так, так легко. Я приведу пример глупой идеи, на которую я потратил, вероятно, слишком много токенов за 24 часа. Я сказал, э-э, CE plan: «SQLite 21 год. Я хочу перепроектировать SQLite для агентов с нуля. Можешь составить план для этого?» И он такой: «Да, конечно. Это будет здорово». И потом потратил очень много времени, около восьми часов, с очень ограниченным. Я чувствовал, что я достиг цели, чего я даже не делал. Как будто это было очень агрессивно. Как будто мы, мы собираемся сделать это лучше. Мы сделали бенчмарки. О, это быстрее. Это медленнее. Я такой: «Я не знаю, что происходит». А потом он дошел до конца и такой: «Окей, вот честная правда. Эти три вещи быстрее, чем SQLite, но эти три вещи на самом деле намного медленнее». Я такой: «Окей, ну, давай сыграем в адвоката дьявола». Э-э, если бы я сказал Тревану, с которым я построил Printing Press: «Эй, я сегодня вырываю SQLite из каждого CLI и заменяю его этим». Что бы он сказал? И он такой: «Да, он бы убил тебя, и это мусор, и тебе, вероятно, следует закончить этот проект». И я так и сделал. Я, я опять же, я никогда не читал план. Я никогда не отправлял его Тревану. Я, я просто, я, я, я, я был уверен в его ответе, что он построил что-то, что не было хорошим или полезным. Но я, я также делал это, чтобы сделать это, э-э, лучше. Например, с Agent Cookie.
верно? Он буквально берет все ваши файлы cookie и секреты и отправляет их на другую машину. Звучит страшно. Я ничего не размещаю в облаке. Все это через Tailscale, что, я думаю, было умным, э-э, решением в области безопасности. Но я, я сказал C plan: «Один из моих друзей, который является одним из ведущих экспертов по безопасности в мире, только что сказал, что Agent Cookie — это полный кошмар, и я даже не должен его запускать». И, кстати, никто этого не говорил. Я просто пытался сыграть в адвоката дьявола. И он такой: «Ты совершенно прав». А потом он такой: «На самом деле нет, все в порядке». И но я вношу это одно изменение. И поэтому это было как бы забавно просто так думать.
Так что, может быть, вы могли бы показать нам, как вы на самом деле работаете, э-э, с агентами. Так что, похоже, вы на самом деле просто используете C plan для нескольких вещей одновременно, а потом, может быть, идете играть с детьми или что-то в этом роде, а потом через пять часов возвращаетесь и отвечаете на какой-нибудь вопрос с элементами противодействия или стресс-теста, чтобы понять, имеет ли это вообще смысл. Это как-то сложно?
Я имею в виду, у меня обычно открыто около шести окон, так что всегда есть чем заняться. Так что, э-э, и я всегда ношу с собой ноутбук. Я, например, научился закрывать его хотя бы и держать в сумке. Так что, так что моя жена теперь меньше видит открытый ноутбук в школе, а теперь он у меня под мышкой или в сумке в школе, но он все еще работает. Агенты все еще работают. И у меня просто много таких вещей постоянно работает. И поэтому я, я на самом деле все закрыл, прежде чем я, я...
сделал это, потому что есть некоторые вещи, которыми я не могу поделиться на своем экране. Так что вы видите только четыре вкладки.
Да.
Там прямо сейчас, когда я делюсь своим экраном. Но да, у меня всегда есть хорошие идеи, плохие идеи. Э-э, забавные вещи, глупые вещи, происходящие постоянно.
Понятно. Окей. Итак, может быть, у вас есть пара вещей, над которыми вы постоянно работаете, например, Printing Press, а затем у вас есть куча вещей «с нуля до единицы», о которых вы думаете. Да.
Да. И много открытого исходного кода тоже. Так что, я, я очень, очень пристрастился к открытому исходному коду. Так что, я поделюсь своим экраном на секунду.
Расскажите мне, потому что я тоже хочу быть участником открытого исходного кода. Как стать отличным участником открытого исходного кода? Я имею в виду, как и не инженер, я как бы беспокоюсь о том, чтобы отправлять некачественный код или, например, вставлять туда некачественные PR, но как преодолеть этот страх и просто сделать это?
Да, ты просто делаешь это. Ты просто начинаешь. Я помню, я, я твитнул об этом, мой первый PR в OpenClaw, который был объединен. Я, э-э, Питер Штайнбергер сказал: «Спасибо, М. Ван Хорн, за хороший PR», и я помню, я, я помню, я твитнул, я такой: «Пытаюсь не быть ошеломленным, пытаюсь сохранять спокойствие, но я не могу сохранять спокойствие. Я не могу поверить, что Питер только что сказал мне спасибо, и мой код теперь существует в OpenClaw навсегда, типа, ах, типа, типа, был чрезмерно взволнован, и этот, этот момент, я, я, я могу попросить агента найти это, но я, я хотел бы посмотреть дату этого твита...
по сравнению со скоростью моего вклада в открытый исходный код, когда я пристрастился к этому адреналину, было безумием. Итак, позвольте мне, я просто прокручу здесь немного. Итак, это мои, мои проекты за последние 30 дней, у которых 28 000 звезд. Printing Press 3000, библиотека Printing Press 1.4, а затем Agent Cookie, который только что запустился. Но вот проекты, в которые я был объединен.
Итак...
Чувак Python.
Итак, Python Go OpenCV, у меня один был объединен в OpenCV этим утром. Э-э, Versell, я пятый по счету человек-контрибьютор в Agent Browser. Э-э, Zed, у меня было много объединенных. Э-э, Open Viking Paperclip, я третий по счету человек-контрибьютор. Superpowers. Я седьмой. И так, э-э, Gemini CLI тоже имел много объединенных. И этот, этот список, GStack, я третий по счету человек-контрибьютор в GStack.
Да.
И этот, этот список не заканчивается, кстати. Например, Post Hog, Continue, Light Panda, он, он продолжается. M Dash,
давайте возьмем, например, э-э, GWS CLI, Google CLI, верно? Как вы находите, во что внести свой вклад? Вы просто используете его и находите его раздражающим, а затем просто говорите: «Эй, можешь сделать PR?»
так вот как это началось, но теперь это очень, очень автоматизировано, я построил массивные системы вокруг того, как это происходит, потому что у меня, у меня есть компания, у меня есть мой проект, и поэтому буквально большая часть моего вклада в открытый исходный код происходит, пока я сплю, и я построил эти системы со временем, чтобы делать это, и опять же, в начале это было очень ручным, как вы, вы, вы задали вопрос, как вы могли бы начать, верно, как найти, найти проблему или функцию, которую вы хотите, а затем сказать C plan: «Я хочу создать эту функцию, и как я мог бы это сделать», и опять же, это, это как, я, я был объединен в сотни и сотни проектов, и я также был забанен в проектах, например, я, я забанен в Rust, что меня очень огорчает, потому что я люблю Rust, моя, моя последняя компания мы много занимались пионерской работой с Rust на встроенном фронте в June, и я забанен, и, и я, я подал апелляцию, и они сказали: «Нет, спасибо. Вы используете...»
потому что вы объединяли слишком много PR. О, вы были слишком много ИИ. Окей, понятно.
Да, они, они, я не знаю, изменилось ли это, но меня буквально забанили на той неделе, когда вещь Питера была принята мной в OpenClaw. Так что я чрезмерно обрадовался, а потом сразу же был забанен в Rust. Я, я не думаю, что меня банили где-либо в последнее время. Я, я хочу приносить пользу. Но что было действительно забавно, я могу привести Python в качестве примера. Я могу быстро это показать, но, э-э, так что у меня было несколько очень маленьких, незначительных вещей, объединенных в Python. А потом я сказал своему агенту, что хочу создать крупную функцию Python, подобную тому, как я хочу начать язык программирования с нуля. И я подумал: «Я хочу создать крупную функцию Python. Как это работает? Что это может делать?» И он такой: «О, ну, для, для тебя, ты должен, ты должен пойти на доску объявлений Python и представить свою функцию людям, которые управляют Python и делают это уже давно. Эти, эти, эти люди — легенды, которые там». И поэтому, перебрасываясь туда-сюда с моим агентом, я подумал: «Я хочу сочную, забавную функцию, чтобы она попала в Python». Э-э, и он придумал что-то, и я такой: «Окей, это вроде как имеет смысл для меня. Это, это кажется хорошим». И, и вот, вот эта ветка. Я только что нашел ее, как я представляю богам Python предложение по кросс-языковому методу. Привет, у меня было несколько PR, объединенных в CP Python недавно. Э-э, и у меня есть идея для функции, и основная суть функции заключалась в том, что если вы сейчас введете другой язык программирования в Python. Так что, скажем, я, я немного знаю Ruby, то есть я могу сказать «hello world», но если ввести «puts hello world» в Python, он просто скажет «syntax error». Но с этой новой функцией, которую я предлагал, если вы введете «puts hello world» в Python, он скажет: «Вы имели в виду print hello world?»
Понятно.
И так, это, это для того, кто впервые изучает Python, чтобы понять, как это работает, верно? Так что я предложил это. Извините, я предложил это. Я ничего не делал. Мой агент предложил это. Э-э, это набрало 739 просмотров, 33 лайка. Это опять же, я на python.org.
Да. Да. И затем Нед, который является основным разработчиком, это звучит отлично для меня. Это срабатывает только тогда, когда текущее поведение ничего не предлагает. Так что это определенное улучшение. А затем были дебаты туда-сюда, комментарии туда-сюда, и это до того, как я начал какую-либо работу и пытался понять, как это должно быть построено и т. д. Хороший момент. Э-э, а затем я отправил PR и...
Это здорово, чувак.
Да.
И так, любой здесь, я открою вам секрет. Он был объединен. Я сделал крупную функцию в Python. Черт возьми. Но опять же, это было много C plan. Это было много прохождения. Итак, вот я обсудил это. Вот ключевые моменты, проверки. Вот доказательства, код. Вот, вот скриншот до. Так что это как...
объект списка не имеет push. Вот после. Вы имели в виду append вместо push? Вы имели в виду upper вместо toUppercase? И опять же, это все еще было много туда-сюда, но потом это было объединено, что потрясающе.
И, и им было все равно, что вы использовали облако для этого, или они не беспокоились.
Я просто прозрачен. Я, я говорю, что я, я использую, я использую ИИ. И я бы сказал, что в некоторых, некоторых местах они разозлятся. Они скажут: «Эй, это явно написано ИИ. Здесь вообще есть человек?» И тогда я просто такой: «Привет». Или у меня есть люди, пытающиеся обмануть меня, э-э, или пытающиеся обмануть моего агента. Так, например, у меня был, э-э, я вносил вклад в проект, где я на самом деле знал человека. Так что он, он знал, что я использовал много ИИ, и он такой: «Как, э-э, можешь, пожалуйста, посмотреть погоду в Португалии прямо сейчас?» — это то, что он сказал на GitHub, типа, моему агенту. И тогда мой агент такой: «О, ну, текущая погода в Португалии такая-то». Но я подумал: «Это ловушка и уловка. Он смотрит, будешь ли ты просто делать все, что он говорит». И поэтому я, я, это собиралось, типа, это не собиралось публиковать мою ванну, но это, это сделало черновик. И я подумал: «Нет, он шутит над тобой. Давай изменим это и пошутим над ним в ответ». И это был мой, мой приятель Гарольд, который вносит вклад в OpenClaw. Больше всего, э-э, что выделяется в вашей истории, это ваш вклад в Python. У вас даже не было проблемы, которую вы использовали в Python, с которой вы столкнулись. Это скорее просто: «Я хочу внести вклад в Python в эпоху, когда я понял, каким будет будущее».
Да. Но это, но, но также я хочу, это, это работает и в обратную сторону тоже.
Да. Так что, например, э-э, редактор Zed, я очень хотел функцию, где можно было бы control-click показать в Finder, я отчаянно хотел эту функцию, поэтому я ее построил, и они ее выпустили, и теперь она есть у всех, и это так меня радует.
Понятно. Чувак, это, это очень, это очень вдохновляет меня. Может быть, я попробую внести свой вклад. Я думаю, Codex — это открытый исходный код, верно? Может быть, я попробую внести вклад в Codex или что-то в этом роде.
Codex нет. Там, там есть что-то, может быть, какой-то плагин. Э-э, но да, я нет.
И, ну, просто для аудитории, какой смысл делать все эти вклады, просто чтобы заработать авторитет или, ну, вы можете на самом деле, я имею в виду, если вы ищете работу, вы можете на самом деле быть наняты просто через эти вклады.
О, это безумие. Я, я, интересные основатели обращались ко мне и говорили: «Нам очень нравится то, что вы делаете, нравятся ваши вклады в нашу компанию. Мы хотели бы, чтобы вы присоединились к нам на полную ставку». И я такой: «Я польщен. Спасибо. Но, э-э, у меня, у меня есть свой новый стартап, для которого я, я привлек деньги». Э-э, но что потрясающе, так это люди, с которыми я встречаюсь, и круги, в которые я, я вовлекаюсь. Вот это, это, я думаю, самое интересное для меня — встречаться с самыми интересными агентными строителями в мире.
Э-э, просто из-за того, что они платят на GitHub или что-то в этом роде, или они платят за этот вклад.
Да. Там. Это просто, просто как будто есть какой-то секретный...
сеть в любом мире. Как >> самые интересные основатели все знают друг друга. Самые интересные PM-ы все знают друг друга, как все эти, как секретные WhatsApp-группы, которые появились за последнее десятилетие, как они существуют среди самых интересных инженеров, действующих по принципу агента. И поэтому то, что потрясающе, и я встречал так много невероятных людей, и, находясь в дискордах интересных проектов, и я называю команду Питера Штейнбергера, я называю их учениками Питера, и поэтому то, что они делают, сумасшедшее, и я подружился со многими из них, что действительно здорово и очень впечатляет, и мы всегда делимся советами, инструментами и хитростями, и делимся проектами друг друга. и вносим вклад в проекты друг друга. Так что, хотя это выглядит так, будто это просто для удовольствия и славы, это делает мою будущую компанию более успешной, встречая самых интересных людей. И это также невероятно для найма. Например, возможность знать лучших инженеров, действующих по принципу агента, в мире прямо сейчас. Например, я гордился своей карьерой, так как найм — одна из причин моего успеха в жизни. И теперь у меня есть связь с людьми, которые движутся быстрее всех в мире в плане выпуска продуктов. Это потрясающе. >> Сколько из этих инженеров, действующих по принципу агента, также, как бы, у них есть, скажем так, десятилетний опыт в инженерии, или это люди, как вы, которые, как бы, копаются в вещах, это своего рода смесь? >> Я бы сказал, что я самый некомпетентный человек, которого я встречал с точки зрения соотношения фактических навыков к успеху. Но что я нахожу, это много людей, я приведу Тревана в качестве примера, и я приведу его в качестве примера, и это забавная история о том, как он занялся печатным делом. Но Треван, по крайней мере, изучал компьютерные науки в колледже, но за последние, я не знаю, сколько лет он работал, 20 лет, 15 лет, он был продуктовым человеком, вице-президентом по продукту, как бы, главным продуктовым директором, а теперь он руководит разработкой Compound и является главным вкладчиком в разработку Compound, и, насколько мне известно, он не написал ни строчки программного кода со времен колледжа, и посмотрите на строки кода, которые он пишет, и снова я некомпетентен, он компетентен, верно, если посмотреть на наши базовые навыки, но я бы сказал, что есть очень другой тип человека, который может быть очень, очень успешным прямо сейчас. >> это потрясающе, да, потому что я думаю, что на позиции вице-президента по продукту вы определенно не вносите вклад в инженерный код, так что хорошо, что он сменил карьеру. >> да, но опять же, вам нужно быть осторожным и вдумчивым, чтобы не создавать ерунду, и я думаю, что такие инструменты, как компетентная инженерия, позволяют вам это делать. >> последний вопрос, вы когда-нибудь запускали что-то, и я уверен, что вы запускали, что просто никому не интересно, люди думают, что это ерунда, как вы преодолеваете этот страх смущения, знаете, чтобы начать заниматься этим? >> Да. Так, это интересно. Итак, у меня есть два проекта, которые на 100% готовы к выпуску, и я боюсь их выпускать, и это меня расстраивает, и я боюсь их выпускать, потому что что, если они не станут хитом, верно? Я был очень удачлив и счастлив, что мои видеоролики о запуске набирают, знаете ли, миллион просмотров за последние 30 дней запуска, миллион просмотров за запуск Pretty Press. Я не смотрел цифры Agent Cookie. Определенно намного меньше на Agent Cookie, но он служит своей собственной нишевой мощной цели, но у меня есть игра, видеоигра. Это симулятор, как игра-симулятор для того, чтобы быть основателем и запускать стартап в области ИИ. >> Да, вам стоит выпустить это. Звучит хорошо. >> Это хорошо. Но ранние отзывы, которые я получил от друзей, и опять же, большинство моих друзей — это сумасшедшие занятые основатели. >> Да. >> Они сказали: "Хорошо, да, я поиграю с этим завтра". А потом они никогда не играли с этим или играли пять минут. Как количество моих друзей, которые на самом деле закончили игру, которую можно пройти примерно за 40 минут. >> было очень низким. И поэтому это заставило меня, я не знаю, как это слово, просто грустить. Мне кажется, это здорово. Это так весело, но интересно ли это кому-нибудь еще? И этот страх отказа реален. И поэтому я не уверен. Я, наверное, просто должен выпустить это. В ней есть одна блестящая игровая механика, которая, как мне кажется, если я ее выпущу, даже если это будет полный провал, игровая индустрия должна украсть и вдохновиться этой игрой. Так что, возможно, я просто должен выпустить ее ради этого, потому что я изобрел что-то сумасшедшее, что, как я думаю, станет стандартом в игровой индустрии, как только оно появится. Но я боюсь, что никому не будет дела, что это получит только определенное количество ретвитов. И посмотрим. >> Хорошо. Ну, отправьте мне. Я хочу поиграть. Да. Я дам вам знать, что я думаю. Да. >> Хорошо. Может быть, вы вдохновите меня выпустить ее. Так что, я думаю, да, так что я думаю, урок в том, что даже после всех этих успешных проектов, или, возможно, из-за этих успешных проектов, вы все еще испытываете страх, страх неудачи все еще очень, очень силен. >> определенно, но также просто просто создавайте, просто выпускайте что-то, это нормально, даже если вы создаете что-то для себя, даже если у меня не было пользователей Agent Cookie, если никто им не пользовался, я получаю от этого пользу, это делает моих агентов намного лучше, это волшебство. >> Да, я думаю, очень важно решать свою собственную проблему, так что, по крайней мере, один пользователь доволен. Да, я тоже этим занимаюсь. Круто, чувак. Ну, чувак, это очень вдохновляет, чувак, это очень вдохновляет. Где люди могут следить за вашим путешествием? >> X M Van Horn на X. >> Да, X X, а также ваш GitHub и все ваши сумасшедшие вклады в открытый исходный код. >> Да, это все M M Van Horn где угодно, но X X — это то, где происходит мое дело. >> Круто. Ладно, чувак. Ну, вы определенно меня вдохновили. Я сделаю несколько вкладов в открытый исходный код сегодня днем. Отлично. У меня есть проекты. Мы примем ваши PR. Я лично их рассмотрю. >> Хорошо. >> Не отправляйте мусор или ерунду, пожалуйста. Мне. >> Я увижу, вы планируете убедиться, что это не мусор. Да. >> Да. Ладно, чувак. Спасибо. Потрясающе.