Transcription
11 месяцев назад Дарио, босс Anthropic, сказал, что через 3-6 месяцев ИИ будет писать 90% кода, за который отвечают разработчики программного обеспечения. Мы уже там? Ну, когда он это сказал, я первым назвал это чушью. Он говорит с позиции. Драма создает новости. И, честно говоря, 11 месяцев — это вечность в темпе развития ИИ. Я не позволял ИИ писать свой код. Помогать, конечно, создавать небольшие управляемые функции. Абсолютно. Но сегодня я не только поставил команду ИИ-инженеров для выполнения сложных задач, но и создал их, включая кучу навыков и других опций в Open Code, лучшем кодирующем агенте из существующих. На канале есть видео, посвященное основам. Но это было 6 месяцев назад. С тех пор Open Code значительно вырос. Теперь вы можете управлять суб-агентами, отслеживать их работу, устанавливать навыки, управлять каждой частью системы жестами, интегрировать ее с GitHub, использовать изображения и даже делать это. Никогда не думал, что буду использовать свой iPad для кодирования. И если этого недостаточно, посмотрите, как AJ просто непринужденно запускает Open Code на своем сайте. Не волнуйтесь, я расскажу обо всем в этом видео, подробно объяснив, как я использую Open Code в 2026 году на работе, поддерживая проекты с открытым исходным кодом и занимаясь побочным проектом. Поехали. Имея более 100 000 звезд, Open Code является де-факто лидером среди кодирующих агентов. Это больше не просто вариант кодирования в терминале, а система, которая может работать как полноценный графический интерфейс, работать в вебе, вашей IDE и, конечно же, в терминале. Но, как и у каждого большого проекта, у него есть начало с небольшой драматической суматохи. Open Code начинался как терминальный ИИ-агент, созданный одним разработчиком в свободное время. Дакс и Адам, популярные разработчики, присоединились к нему, помогая развивать проект и даже получив домен opencode.ai. Charm, известная компания, занимающаяся проектами с открытым исходным кодом для терминалов, проявила интерес и предложила всем троим должности, фактически приглашая их в компанию, при этом первый разработчик согласился, а Дакс и Адам отказались, заявив, что хотят сохранить Open Code таким, какой он есть, открытым, без денег, поддерживаемых венчурным капиталом, что обычно приводит к некоторому типу монетизации и не обязательно с учетом интересов пользователей. Короче говоря, это было в основном из-за названия. Дакс написал этот твит о том, как он видит вещи, упомянув, что он и Адам не заботились о коде и фактически переписали Open Code с нуля. В любом случае, генеральный директор Charm ответил, как они видят вещи. А если вы хотите узнать мнение сообщества, ну, просто прочитайте комментарии. Ссылки ниже. Опять же, если коротко, агент Charm, прекрасный проект, если быть честным, сегодня известен как Crush, все еще хранящий коммиты Дакса и Адама в истории, если копнуть достаточно глубоко. Ладно, драма в сторону, Open Code был побочным проектом под эгидой SSD, а теперь находится под более крупной зонтичной организацией под названием Anomaly, которая включает SSD, Open Code, Openoth и другие проекты, поддерживаемые Y Combinator, Максом Левчиным, одним из основателей PayPal и другими, что, в общем-то, приносит венчурные деньги, возможно, с большим контролем разработчиков, чем быть частью чего-то, за что они не отвечают, и это я могу оценить. Мы здесь, чтобы запачкать руки. Агент с открытым исходным кодом интегрируется с любой моделью, может быть установлен любым удобным для вас способом. Благодаря новым функциям он теперь предлагает один из этих, которые я очень рекомендую, либо westerm, либо ghosty. Вы увидите, почему так приятно видеть растущую популярность miz, которая является еще одним вариантом запуска для Open Code. Мы подробно рассмотрим конфигурацию, но, как и ожидалось от команды, стоящей за ним, он полностью настраивается и конфигурируется через open code JSON, который может быть специфичен для проекта, глобальным и даже переопределен с помощью envir. Я пропущу установку. Как только Open Code будет готов, вы увидите множество интересных опций от ACP, MCP до create, который представляет собой классный маленький мастер, помогающий вам шаг за шагом создавать агента. Также есть возможность запустить сервер Open Code без интерфейса, запустить веб-инстанс, показать статистику всех предыдущих пользователей и множество классных вещей, которые мы скоро увидим. Итак, давайте приступим. Open Code запускает TUI с контекстом текущего пути, чтобы визуально встроить его в ваш терминал. Просто выровняйте темы, и готово. Следующее, что вы, вероятно, захотите сделать, это выбрать модель. У меня есть Claude как через Zen Anthropic, так и другие, но, что более важно, интересная модель под названием Big Pickle, которая является моделью от Open Code, бесплатной для использования в данный момент, и если вы не против ее обучения на ваших данных, я использую ее как моего бота с открытым исходным кодом, я покажу вам, как это сделать чуть позже. Другие заметные бесплатные варианты — Minimax, который, по словам Anthropic, является китайским LLM, который, по сути, потребляет данные из Claude, так что судите сами, и Zen для тех, кто не смотрел мое первое видео, Zen — это маршрутизатор Open Code, позволяющий вам один раз ввести данные своей кредитной карты и получить доступ к списку протестированных и проверенных моделей, по словам команды. Недовольны тем, что Claude потребляет ваши токены? Переключитесь на Codeex или Gemini или десятки других. А если вы достаточно авантюрны, как этот парень? Возможно, даже попробуйте Kimmy. Он на самом деле утверждает, что Opus медленнее Kimmy для большинства вещей, которые он создал. В любом случае, мы отклонились от темы. Выберите свою модель или Zen и двигайтесь дальше. О, важно. Open Code не стремится получить прибыль от Zen. Они взимают плату за кредитную карту по себестоимости и ничего сверх того. Когда у вас на балансе менее 5 долларов, они просто пополнят его еще на 20, что с Claude может произойти каждый час. Боже мой, я бы хотел, чтобы я шутил. После выбора вы можете начать взаимодействовать со своим агентом. Каждая сессия сохраняется для вас, и вы можете использовать /sessions, чтобы найти их в истории. Заметным изменением, сделанным недавно, был переход от JSON, хранящего сессии, к полноценной базе данных, работающей на SQLite, что сделало работу намного быстрее, чем раньше при поиске, фильтрации и возвращении к сессиям. Эта база данных, кстати, доступна вам, запустив open code db. Не уверен, зачем она вам понадобится, если вы не разрабатываете поверх Open Code. База данных, если не указано иное, хранится в local share Open Code. Сессия содержит всю историю, контекстное окно, активную модель и все остальное, как будто вы никогда ее не покидали. Я постоянно использую ее и начинаю новые сессии только тогда, когда работаю над совершенно новой функцией, не связанной с предыдущей работой. Следующий важный и первый основной строительный блок Open Code — это агенты. Open Code имеет два типа: основные и суб-агенты. Два основных, которые вы уже заметили, это plan и build, которые в основном отличаются разрешениями, где plan может только читать и, ну, планировать, но не выполнять, даже если ему сказано. В предыдущем видео и, вероятно, во многих других вы видели, как люди сходят с ума от агентов. У них есть строитель, глубокий строитель, маркетолог, продавец. И если вы думаете, что я шучу, хотя я считаю, что этот твит, как и OpenAI, делает мир лучше, люди на самом деле пытаются построить такие сумасшедшие вещи. И для меня это не имеет никакого смысла. Мало того, что это просто пустые файлы, и хотя я создал что-то небольшое, я думаю, что разделение здесь имеет смысл. Это просто за пределами моего понимания. У меня есть план и сборка, и еще один агент, который решает мои сложные задачи, большие функции и вещи, требующие более надежной системы со структурой. Суб-агенты — это специализированные, которые вы можете вызывать для конкретных задач и которые будут работать в фоновом режиме. У Open Code их два. Общий суб-агент может выполнять и исследовать, в основном для чтения. Ввод по желанию позволит вам вызывать/помечать нужный суб-агент, что можно сделать либо отсюда из подсказки, либо из инструкций основного агента. Пример из документации показывает суб-агент для сборки, планирования и проверки кода, который не может писать, но имеет инструкции для проверки с упором на безопасность и производительность. Ваша конфигурация для их установки находится в doconfig/open code. Вы найдете здесь кучу каталогов, таких как agent command и skills. Но самый простой способ — открыть open code JSON и установить их там. После перезапуска вы увидите нового ревьюера кода, и вы можете вызвать его по своему усмотрению. Чтобы сделать этого суб-агента для проверки кода еще интереснее, я использую инструмент, которым я делился ранее, под названием GH dash для предварительного просмотра PR. У меня есть привязка клавиш, которая открывает новое окно T-Max, создает рабочее дерево с work trunk, еще одно видео на канале, которое вы захотите посмотреть, и открывает Open Code с подсказкой, или мы можем просто запустить его и сказать нашему ревьюеру кода сделать свое дело. Это одна из тех автоматизаций, которые заставляют вас чувствовать, что вы делаете себя устаревшим. Аналогично этому ревьюеру кода, вы можете добавить других, например, инженера по безопасности, с которым вы можете начать общение, поручив вашему ревьюеру кода делегировать задачи по безопасности другому парню. Теперь здесь становится действительно интересно. И, честно говоря, именно поэтому я считаю, что добавление инженера по безопасности имеет еще больший смысл, когда вы сочетаете его с тем, что я собираюсь вам показать. Видите ли, каждому из этих агентов, которых мы создаем, в какой-то момент понадобятся учетные данные, ключи API, токены, пароли баз данных. Вы поняли. И вот что не дает мне спать по ночам. Большинство из нас просто помещают эти ключи в переменные среды или конфигурационные файлы и считают, что это конец. Но это огромная дыра в безопасности, которая может произойти. Подумайте об этом. Если вашу машину украдут, если кто-то найдет этот ключ в общедоступном репозитории, если кто-то с помощью социальной инженерии проникнет в ваш конвейер CI, это конец. Этот статический ключ живет вечно. и так же, как и доступ, который он предоставляет. Вот где вступает в игру Dcope, и почему я интегрирую его в Open Code. Вместо статических ключей вы получаете так называемые JIT, токены "точно в срок". Ваш агент запрашивает доступ. Dope проверяет, кто вы, выдает краткосрочный токен, и этот токен истекает через несколько минут. Это меняет весь разговор о безопасности агентов, создавая все эти удивительные суб-агенты и навыки. Но если они ходят с постоянными ключами, мы просто создаем больше целей. Так что, когда вы добавляете этого суб-агента инженера по безопасности, дайте ему disco. Ваше будущее "я" скажет вам спасибо. Если вы решите создать своего собственного агента, запустите open code agent create. Он покажет мастер, который спросит описание того, для чего предназначен агент. Вы сможете интерактивно установить разрешения, а затем определить его. Основной, суб-агент или — и это новое — или оба, доступные как основной агент, но также и тот, который вы можете пометить позже и делегировать ему задачи. Прелесть сгенерированного результата в том, что он находится в отдельном файле, полноценном плане инструкций с примерами, контекстом необработанных принципов, рекомендациями, крайними случаями и тем, как вы хотели бы видеть вывод. Ладно, давайте не будем уноситься. Да, это не совсем полноценная модель, специально обученная делать то, что ей говорят. Это просто некоторая инъекция подсказок, и ее качество полностью зависит от вас. И даже если она высокого качества с рекомендациями и всем остальным, ничто, кроме набора разрешений, на самом деле не останавливает агента от нарушения скрипта и обхода их, что случалось со мной не раз. Используйте с осторожностью. Так почему бы вообще рассматривать что-то подобное? Я скоро расскажу подробнее, но, по сути, это разделение помогает уменьшить галлюцинации. Чем более конкретна задача, тем меньше ошибок допускает модель и тем лучше она работает. Так что эти суб-агенты — отличный способ разбить задачи и инструкции. И два, это облегчает отслеживание. Вы скоро увидите, как основная нить, которую мы видим как пользователи, — это родительский агент. И это подводит меня к моей последней важной концепции. Нечто относительно новое для кодирующих агентов и конкретно для Open Code — это навыки/skills. Навыки сначала будут пустыми. Я добавил пару. Первый из них — более важный навык, дающий вашему агенту возможность автономно находить и устанавливать навыки. Ваш другой вариант — найти список, такой как skills.sh Sage, и просмотреть десятки тысяч вариантов с открытым исходным кодом, созданных для разных задач. Но будьте осторожны, здесь много хлама. Есть также SkillMP, созданный Manis, который, кажется, является мета-компанией. Он утверждает, что имеет почти полмиллиона доступных навыков. И да, я знаю, что звучу немного антагонистично, но такой уровень экспоненциального роста с навыками ИИ действительно ощущается как, ну, навыки, сгенерированные ИИ. Если вы что-то выбираете, хорошая идея — следовать за надежным источником, таким как Versel. Возьмите команду npx и следуйте мастеру, который спрашивает, относится ли это к конкретной модели или поставщику, является ли это глобальным или специфичным для проекта, и т. д. После установки вы можете вызвать свой новый навык. В нашем случае, поиск и установка. На случай, если это было неясно, навыки, помимо всех сложных модных объяснений, — это просто еще одна форма инъекции подсказок. Идея в том, что они не загружаются в каждое контекстное окно, как подсказка или файл MD агента. Они там, чтобы использоваться по требованию. Нет необходимости в навыке AWS, если я не работаю с платформой. Они помогают направлять, подключать и использовать множество других инструментов и могут поставляться со скриптами и примерами кода. Вот навык DevOps-инженера, который имеет файл skill MD, дающий ему название и, ну, текстовые инструкции. Есть ссылки на другие файлы, такие как GitHub actions или Kubernetes для этого инженера, но все это просто ссылки на код и вещи, которые агент, вероятно, мог бы найти, ища в Интернете. Самое классное, что мне больше всего нравится в этом, — это работа, которую проделали другие люди, создавая рекомендации и специализированные инструкции для различных целей. Так что, если вам нужен навык Jira, он уже имеет конечные точки для методов аутентификации и скрипты для поиска ваших досок и билетов, и это действительно облегчает задачу. Этот так называемый DevOps-инженер проделал хорошую работу, найдя, где я трачу слишком много на свой личный аккаунт. Мы вернемся к этому, когда он закончит. А пока давайте поговорим об одной из моих любимых тем как гордого пользователя Neoim, привязках клавиш. Давайте начнем со знакомой концепции. Вы не видите многого, кроме Vim и Timmax, лидер-клавиши. изменение режима привязки, чтобы он не мешал другим настройкам, которые у вас есть. Я пока изменил его на control O. Это не идеально, но для меня работает, и мне это не так уж часто нужно. Одна из моих любимых вещей, которые я делаю со своими привязками клавиш, — это открытие редактора через Open Code. Поле подсказки хорошее, но разбивать строки, добавлять списки там не очень удобно. Leader E. И вуаля, моя подсказка в neop. Наконец-то я могу редактировать свой текст как человек, с остатками достоинства, прежде чем ИИ заберет и это. После завершения сохраните, и он будет отправлен обратно в поле. Время собирать команду. Но прежде чем я это сделаю, позвольте мне сказать вот что. Это в тестовом режиме. Так я работаю локально, но я постоянно улучшаю это. На самом деле, я думаю, что это единственный реальный способ правильно работать с агентами. Исправляйте их и заставляйте их помнить, что вы только что изменили, корректируя подсказки, навыки и настройки. То, что вы увидите дальше, — это очень наивная реализация группы агентов, которую я настроил для работы над действительно большими функциями моего приложения. Это только первоначальная настройка, и я продвинулся дальше того, что вы видите здесь. Но давайте сначала посмотрим и поговорим о плюсах и минусах позже. Итак, я решил протестировать автономную команду инженеров, которая, я думаю, нужна любой команде. Итак, я создал лидера команды, который оркестрирует и делегирует задачи. Пожалуйста, не просто добавляйте их в длинный JSON, как я, а используйте конструктор агентов Open Code. Это просто демонстрация того, на что он способен. Итак, в своей подсказке лидер команды получает указание, что он здесь для сбора требований и постоянно делегирует задачи. Вот как. Я добавил менеджера продукта, который предназначен только для чтения, исследования и понимания пользовательской истории. Бэкенд-разработчик, потому что, ну, я надеюсь, это само собой разумеется. Тестировщик или QA, если хотите. И, наконец, мы также будем использовать нашего ревьюера кода, чтобы держать его отдельно. В следующий раз, когда я запущу Open Code, лидер команды будет готов к работе. Вы сразу заметите более структурированный подход к запросам. Пока он работает, важно показать еще одну команду агентов с открытым исходным кодом. Эта построена поверх Open Code под названием open agents control. Она претендует на более серьезный подход с конвейером "сначала план" и нулевыми человеческими шлюзами. Я не знаю, я просто хочу сначала увидеть все своими глазами, прежде чем делегировать. Вернемся к нашей команде. Вы можете глубоко погрузиться в суб-агенты с помощью стрелок leader и side, показывающих вещи, которые я раньше не видел, например, пользовательский поток, нарисованный моим менеджером продукта, и изменения кода бэкенд-разработчика. Приятно видеть взаимодействие, когда лидер команды просит менеджера продукта уточнить требования, например, и в реальном времени видеть, как работает ревьюер кода, а тестировщик тестирует вместе с ним. Также часто можно увидеть вопросы, задаваемые одним из агентов. Это пример из другого навыка, который я пытаюсь освоить, помогающего мне с письменным контентом. Он стремится понять, что я ищу, и мои предпочтения, чтобы настроить себя для будущих запросов. Или другой агент, которому поручено создание функции, который возвращается и спрашивает, что я хочу, или убеждается, что это соответствует моим предпочтениям, прежде чем перейти к реализации. Итак, у нас есть команда. Она готова к запуску в LinkedIn. Но стоит ли она чего-нибудь? Ну, честно говоря, структура имеет большой смысл, когда я строю что-то большое. Я использую ее последние пару недель, и она работает на 95% нормально. Это далеко не идеально. Есть ошибки, но мне придется копнуть глубже, чтобы сказать, революционно ли это или нет. Секрет для меня — постоянно настраивать эти суб-агенты в их собственных файлах markdown и убеждаться, что все они соответствуют моим способам. Так почему бы вообще не использовать суб-агенты вместо простого потока из основной точки входа? Обычно это дает лучшую производительность на компонент, что имеет большой смысл. Помимо подсказок и контекста каждого агента, сам факт того, что он разделен, — это большая часть работы. Теперь имейте в виду, что это не всегда здорово. Во-первых, это означает много токенов, гораздо больше инструкций, и я фактически позволяю основному агенту-строителю выполнять большую часть работы, которая не является огромной новой частью моего приложения. Во-вторых, просмотр суб-агентов, чтобы понять, что происходит и куда что пошло, не всегда доставляет удовольствие. Это здорово и все такое, но имейте в виду, что вы, возможно, захотите сохранить простоту в большинстве случаев. Еще один способ сохранить простоту для некоторых — это запустить Open Code там, где он вам подходит. Open Code envim — это популярный плагин, позволяющий вызывать Open Code из работающей сессии mim. И хотя я использовал его в прошлом, и этот парень, с которым вы, вероятно, знакомы, имеет его как часть своей настройки, мне это больше не кажется удобным. Другой способ запустить Open Code — через веб-интерфейс, и это открывает мир новых возможностей. Он работает на локальном порту, который вы затем можете выставить наружу с помощью чего-то вроде engrop и просматривать удаленно с iPad. Есть последние сессии с изменениями кода и всем, что вы можете себе представить. Я могу просматривать историю сессий и даже продолжать работать, не вставая с дивана, с iPad на коленях и просто, ну, работать как бы. О, и поскольку я уже на диване, вместо того, чтобы копаться в мелких технических деталях GitHub, я могу поручить Open Code управлять этим для меня. Интеграция с GitHub доступна через команду установки Open Code GitHub, добавляя действие, которое запускается с самой платформы. После быстрого процесса авторизации вы увидите новое действие, готовое к запуску с помощью / OC или / open code в комментариях. После коммита вы можете просто найти любое обсуждение и попросить Open Code высказать свое мнение, провести обзор или что-либо еще. Он добавит эмодзи, указывающий, что он видит запрос и уже работает над ним. И через несколько мгновений появится обзор с мнениями, проблемами и самой сессией, если вы захотите углубиться в нее. Прежде чем уйти, я не могу игнорировать GUI, полностью нативное приложение, которое, я не уверен, видел ли я в списке доступных опций в документации, все еще в бета-версии, но работает отлично. Откройте сессию и продолжайте, как и в веб-интерфейсе, с несколькими приятными дополнениями, которые уведомляют вас о том, что агент ждет, звуковыми и видимыми уведомлениями ОС и интегрированным в него терминалом, как в IDE. Так что, я думаю, вот где мы находимся. И прежде чем мы закончим, еще одна довольно потрясающая функция, и причина, по которой я изначально просил вас подождать и посмотреть, почему Westerm или Ghosty здесь важны, — это возможность делиться изображениями. Да, вы можете перетащить изображение в Open Code в терминале, и он обработает список требований, тему, стиль, который вы хотите реализовать, или любое визуальное представление. И это делает Open Code фантастическим агентом, который может буквально решить любую проблему где угодно. Так что вопрос не в том, останется ли Open Code или нет. Он глубоко интегрирован во все, что я делаю. Я нахожу его лучше, проще, более гибким в настройке, доступности, что угодно. Я даже не коснулся живой экосистемы, проектов вокруг него и множества других замечательных вещей, чтобы быть кратким. Но, как вы видите, будь то на моем iPad, GitHub или ноутбуке, он везде и делает фантастическую работу. Если вам нравится, как я с ним работаю, особенно как Word Trunk открывает его для PR и проблем, я настоятельно рекомендую ознакомиться с Word Trunk Next, проектом, который делает Word Tree похожим на ветви, идеально подходящим для эпохи современных движков. Спасибо за просмотр, и до встречи в следующем выпуске.