Transcription
Привет, меня зовут Лекс, и ты на канале IT Борода. Давно не виделись в таком формате, где я рассказываю про то, что происходит в мире вокруг разработки. Неудивительно, что в мире вокруг разработки происходит AI. Долго думал, про что же вам рассказать в новом видосе. С одной стороны, канал у нас про программирование, поэтому, наверное, надо было бы рассказать [музыка] про адешки, про подходы к разработке. С другой стороны, в разработке сегодня много шуму наделали силиа и кодовые агенты, которые работают по одному промту вообще практически не требуя никакого вмешательства в код. В итоге мы имеем две крайности. С одной стороны код и же с ними, которые требуют всего лишь промпта и чётко поставленной задачи. С другой стороны, мы имеем integrated development environment, в которых есть куча инструментов. И это здоровенные комбайны, которые позволяют работать с кодом и в хвост, простите, и в гриву. И вопрос в том, есть ли что-то посередине? Я думаю, самые зоркие из вас уже обратили внимание на этот логотип Warp. Agentic Development Environment. Новое словосочетание. Что же это такое? В принципе, из названия понятно, что это такое. Это среда. разработки, которая строится вокруг агентов. Многие из вас уже слышали про Вар. Я неоднократно прорп вспоминал на IT бороде и в своих других каналах, и в Телеграме. И когда ВАP только появился, это было несколько лет назад, то это по факту был терминал прокачанный Яем. Это один из первых качественных терминалов, в котором появился качественный AIC compete, а потом и куча всего остального. И так уж получилось, что долгое время ORP считали исключительной и терминалом. Но если вы давно за ним не следили, я спешу вас удивить. VARP превратился в полноценный entic development Environment. Чем же это отличается от обычного терминала либо от обычной айдэшки? Если говорить просто, то это что-то среднее между клод-ходом и курсором, между инструментом, в котором всё элегантно и аскетично и в котором не требуется никаких дополнительных инструментов, написал и получил результат. И инструментом комбайном, типа любой дшки, в которой мы с вами работаем. ВARP попытался впитать всё самое лучшее с обоих крайностей и предоставляет это нам с вами как пользователям. Проще говоря, Agentic Development Environment Warp - это инструмент, который позволяет довести ваш проект от первого промпта через Review, через установки, через написание кода доплоймента в Production. И всё это через аентный подход Agent First с удобными настройками, с удобным терминалом и даже с большой частью элементов, которые вы встречали только в IDE. Таким образом, если вы видели Вар полгода назад, то я советую вам посмотреть на него ещё раз. Сегодня вместе со мной будем разбираться, что же в Арпе появилось нового, и попробуем написать целый проект. Попробуем написать небольшого Telegram-бота, параллельно посмотрев на что способен. И да, это тот редкий видос, где я буду показывать вам, как программировать сегодня с варпом. Так что погнали. Айтишечка надо. >> [музыка] >>
Давайте, перед тем, как посмотреть на сам VARP, я вам быстренько расскажу, какие основные фишки в нём есть, основные понятия из мира warp, потому что, опять же таки многие из вас наверняка думают, что warp - это только терминал, в котором есть автокомплит, но это не одна Одна из основных фишек на сегодняшний день, да, там есть автоete, это называется Universal Input, и в нём появились слш-команды. На это мы посмотрим. Теперь в кроме автокомплита можно ещё через слш-команды всяческие штуки делать. Кроме этого, несколько недель назад warp э выкатил новую функциональность, которая делает его немножко, не немножко, а множко конкурентом ID. Называется это warpcд. По факту это лёгкий редактор и панель кодрев с дифами, где можно посмотреть, что вы накодили в удобном виде. Есть вкладки, наконец-то, с файлами, то есть можно посмотреть всё дерево проектов. По факту у вас в арпе такая будет мини минивигатор по проекту, в котором можно и код поправить удобно, и дифы посмотреть, и даже можно задать правила по тому, как этот код в проекте будет обрабатываться. Делается это через warp.mdфайл. на него мы сегодня тоже посмотрим. Завезли агенты и профили для агентов. Можно создавать разных агентов, по-разному их настраивать. Мы сегодня одного такого создадим. И это тоже улучшает работу именно с проектами, а не просто с варпом, как с консолью. Кроме того, у варпа есть warpdrive- это пространство для блоко для блоков, для workflow, для environment variablлов, для промтов. Всё это можно хранить в варпе и переиспользовать. Кроме того, большая часть фарбрайва - это, э, Teams, командная работа. Вы можете делать командные драйвы, командные папки, в которых будете шарить с командой свои ноутбуки, environment variabлы, промпты и всё остальное. И это можно между командой шарить. Это супедобно, когда вы работаете в рамках проекта с командой. Ну, и, конечно же, приватность и контроль. У Варпа имеются все необходимые сертификации, которые показывают, насколько он безопасный. это и сок 2 Type 2, то есть прохождение проверок на качество и приватность хранения данных. Причём это длительный процесс. Я рассказывал много где уже, что такое SOC 2 Type 2. Это сложная сертификация. В том числе VARP поддерживает Zero Data Retention, то, что очень важно для Европы и не только для Европы, когда данные практически не хранятся на серверах Варпа. Ну, и для Enterprise подписок у них есть bring your own LLM. даже не K, а lm. Это значит, что на enterprise подписке вы сможете использовать приватные лмки, а не облачные, что суперкруто. При этом bring API уpaпа тоже есть. Начиная с самого первого платного тарифа под названием build, вы можете использовать свои ключики от Open AI API, Antropic API и Google API прямо в варпе и напрямую ходить через warp в API, именно сервера компании. Для кого-то это может быть важным. И последний плюс, который хочется отметить перед тем, как мы пойдём смотреть war - это его кроссплатформенность. Он запускается буквально на Линуксе, Макоси и Винде без проблем. Есть сборки, всё это можно устанавливать и использовать. Ну, а теперь давайте переходить в сам warp. Попробуем сразу же написать через него бота. Посмотрим, какие фишки можно в нём использовать для написания кода, написания бота, в том числе.
Открываем наш warp. Зайдя в warp, впервые либо давно в него не заходив, вы увидите большое количество изменений в самом интерфейсе. Теперь по умолчанию тут открывается не просто консоль, тут открывается, собственно, здоровенный инструмент с кучей разнообразных настроек. Во-первых, вы сразу по центру увидите кучу инструментов для того, чтобы сразу начать работать с проектом. Это его родниц с IDшками. Внизу вы увидите тот самый universal input, который родинит его с терминальными ассистентами, в котором можно очень удобно работать с терминалом. Вот тут справа вверху можно посмотреть свой профиль, посмотреть свои подписки. У меня, кстати, используется проподписка. Она практически не отличается от бесплатной, кроме как тут повышены лимиты. Можно создать сразу несколько терминальных окон. Каждая из них инициирует свою сессию терминальную. Это мы с вами прекрасно знаем. Слева у нас появились элементы работы именно с проектом. Когда warp видит, что мы находимся в Gitрепозитории, он автоматически позволяет нам посмотреть файлы в этом репозитории, в красивом древовидном виде, посмотреть код. Ну, вы сегодня увидите, как это выглядит. Вот тут можно открыть менюшку Варбрайва. Она откроется слева сайдбаром. И в варпрайве куча всяких прикольных возможностей. Как я и говорил вам, warpдrive является таким местом, где можно хранить всяческие артефакты. ускоряющая вашу работу. В частности, тут есть Personal Space и Team Space. В них хранятся сущности одного и того же порядка, но в Teamзе они доступны всей команде. Сюда можно добавить ваших однокома однокомандчан. В персональном спейсе хранятся персонально ваши сущности. Ну, и что тут можно добавить? Можно создать папку, можно добавить workflow. Это несколько команд, которые будут выполняться одна за одной. Причём workкфлоу могут быть параметризированы. Э тут можно, видите, добавить аргументы. аргументы, собственно, и будут являться параметрами, которые можно будет ставить при при вставке этого workflow в терминал. Можно добавлять промпты, можно добавлять ноутбуки с описаниями, environment variable и всё это дело импортировать. Что-то из этих вещей мы сегодня с вами посмотрим. У меня тут уже некоторые вещи предзаданные есть. Я вам позже расскажу, что за ним.
Внизу у нас находится universal input. Тот самый инp, с которой в котором через который мы и работаем с варпом. Здесь сразу же несколько главных настроек. Во-первых, здесь есть два режима: терминальный и агентный. Если выключить вообще оба режима, топ автоматически будет решать в зависимости от того, что вы вводите сюда, какой режим нужно выбрать. Можно по коand Аю ээ быстро переключаться между этими режимами. Если мы работаем в режиме обычного терминала, то когда мы будем вводить команду, нам автоматически будет подставляться автокомплит этой команды, и мы можем просто стрелочкой этот автокомплит применить и выполнить команду. Например, давайте перейдём сразу в папку, где у меня хранятся все проекты программерские. Перешли вот наши проектики. Очень удобный автокомплит, но с этим мы все знакомы. Если же включить агентный режим и ввести слэш, то у нас появится слш-команда. И как вы видите, их тут много. И вообще агентный режим гораздо более широкий, чем обычная консоль. Он позволяет буквально делать целые проекты за один прогон, за одну команду натуральным языком. Тут можно добавить MCP сервера. Warp поддерживает абсолютно любые тулы, которые подключаются через MCP сервера. Тут же можно либо добавить новый темплейт для промта, либо использовать уже существующий. Например, у меня есть промт для апдейта Redmi. Выбираю его. И просто вставляется сюда темплейт промта. Причём этот темплейт тоже может быть параметризирован, что удобно. И есть здесь такие вещи, как рулы. Это одна из фишек Вардрайва. Мы в варпрайве можем описывать рулы, по которым будет писаться наш проект. С рулами более-менее, я думаю, все из вас знакомы. Посмотреть можно статус MCP и можно попросить агента составить план перед тем, как работать. Также здесь можно выбрать модель, с которой мы будем работать. По умолчанию модель выбирается автоматически. Можно самому выбрать нужную модель. Здесь есть абсолютно все самые последние модели. Модели у Варпа очень быстро появляются, буквально в день в день, когда выходит модель у провайдера. В арпе она тоже появляется. Лимиты на использование моделей посмотрим чуть позже в прайсинге, но в целом они достаточно большие, их хватает, и я бы сказал, что на уровне конкурентов даже больше. Из интересного ещё здесь есть, ну, понятно, через собаку можно отачить файлы из компьютера. Кроме этого, можно отачить определённые блоки, можно отачить workркфловы, которые у вас созданы, и ноутбуки и рулы. Можно добавлять изображения, но и можно делать voice input. Voice инпутом мы сегодня будем с вами пользоваться. Я последнее время часто голосом пользуюсь. В warпе у меня voice input настроен на стандартную клавишу FN. Нажимаю FN, начинаю говорить: "Привет, привет, как дела?" Отпускаю FN. И вот, пожалуйста. Таким образом мы будем общаться. Это тупо быстрее, чем набирать клавиатуру. Я сейчас приучаю себя. Кроме того, тут есть визуальное дерево файлов. Можно не через l переключаться, через визуальное дерево. Тут есть окно с историей ваших старых чатов. И, кстати, уже вы видите, что такое блоки в варпе, что такое блокс. Каждая команда является блоком. Когда я навожу на блок, у него появляются собственные контролы для управления. Блок можно сохранить как workflow, потом вызывать его и перевызывать. Можно его скопировать, можно с ним там его пошерить даже со знакомыми, с командой и можно приочить блок к контексту. Берём, приотачиваем, и вот наш блок добавился к контексту нашего нашей аентной сессии. В общем, можно сказать, что аентная сессия - это, наверное, одна из самых крутых фишек Варпа. Как только она появилась, если вы помните, она раньше была смешана с терминальной сессией, автоматически определялась, включалась. Я её уже тогда использовал. Сейчас она стала ещё лучше и круче. И она достаточно широко настраиваемая, мы сегодня увидим, потому что, согласитесь, в терминале использовать AI, ну, опасненько, потому что терминал имеет доступ практически ко всей вашей операционной системе. И хотелось бы гибко иметь возможность настраивать команды, к которым терминал в агентном режиме может доступаться. Разнообразные уровни доступа, privacy. И, слава богу, всё это Вар предоставляет. Они прекрасно понимают, что их софт используется в критических инфраструктурах и владеет доступом к операционной системе достаточно большим, большим, чем практически любой другой инструмент. И да, если вы пройдёте по ссылке в описании, то сможете получить 2.500 кредитов Варпа в подарок.
Теперь давайте переходить к проекту. Э, значит, я уже подготовил кое-какие вещи. Промт у меня исключительно сегодня один для апдейта Redmi, просто чтобы посмотреть, как он работает. У меня уже подготовлены несколько вариаблов, так как мы будем делать Telegram бота, которому будем слать сообщение на английском, и он будет это сообщение исправлять, исправлять в нём ошибки до уровня B2 английского языка, присылаясь нам исправленный вариант и перечень ошибок. Вот такой у нас будет простой бот. Этот бот будет работать в Телеграме. Соответственно, нам нужны Telegram IP API key, Telegram Bot username и API для работы с Open AI либо антропиком. Поскольку мы будем слать в бота сообщения с ошибками, бот будет идти в Open AI app, там эти сообщения обрабатывать, выслать нам ответ, и мы будем видеть ответ. Соответственно, нам нужны некоторые ключики, я их уже добавил. Они сохраняются в environment variabлах warпа. Что такое environment variable? Вы можете добавить новый environment variable. И это по факту пачка переменных окружения, которые можно использовать в рамках терминальной сессии работы в варпе. Например, мы берём Telegram Bot Variable, нажимаем на них, и нам просто экспортируется в двух переменных, которые тут забиты. Telegram bot ke и Telegram Bot Name. Если я зараню этот эту команду, то в рамках терминальной сессии в этом окне эти варийблы будут доступны для нашей программы. То же самое с API key для Open AI. Ещё из подготовки я создал GitHub репозиторий. И сейчас ссылочку на этот GitHub репозиторий мы скормим в агентный режим Варпа и попросим, собственно, скопировать, склонировать этот репозиторий и создать в нём файл warp.mp. Ну вот такая ссылка на репозитории. Я её, наверное, прикреплю к этому видео, чтобы вы могли потом посмотреть код, если вдруг вам будет интересно. Ну, давайте перед тем, как начать работу, создадим своего агента. Тут вот можно менять агентов, которые у вас созданы. У нас сейчас дефолтовый стоит. Давайте сделаем нового. Для того, чтобы создать нового агента, надо перейти в настройки и в профиль Settings. AI profiles. Add new profile. Давайте смотреть, что в этих профилях есть. Ну, назовём его демокодер. Что-нибудь такое. Что тут есть? Во-первых, можно выбрать по умолчанию, какие модели будут использоваться вашим агентом. для обычных запросов, которые не требуют ризанинга, и для, э, точнее не ризанинга, а планирования. И модель, которая будет использоваться для планирования. Давайте и в том, и том случае выберем Sonet 4,5. Меня Sonet 4,5 для обоих задач полностью устраивает. Дальше мы настраиваем пермишены для нашего агента. Сможет ли наш агент применять кодовые изменения? По умолчанию стоит по по решению агента. Можно постоянно включить либо постоянно, чтобы он у нас спрашивал. Для сегодняшних целей поставим always allow. Ну, а дальше вы сами смотрите. Чтение файлов я обычно всегда разрешаю. Это совершенно безобидная команда. Создание планов по умолчанию стоит никогда не создавать планы, но давайте сегодня поставим по решению агента. Вдруг он захочет для задачи составить план. Реши, что она какая-то сложная. Execute commands. Вот тут настраиваются, собственно, команды, которые разрешено использовать агенту и которое не разрешено. Я бы тут вам рекомендовал, конечно, использовать always ask, не использовать always allow, если вы никогда не работали с этими ассистентами. Да, и в целом Always allow стремновато. Агент не будет выполнять только те команды, которые у вас есть в бллисте. Он ниже настраивается. Давайте на сегодня выберем GT decided. То есть если агент увидит, что у нас потенциально опасная команда, он эту команду не будет выполнять без нашего опроса. Дальше можно настроить, какие MCP сервера будут доступны для нашего агента. Я MC сервера сегодня не устанавливал, но в целом вы можете сюда всё, что угодно ставить. GitHub, не GitHub, что что захотите. И сразу же естьлист для MCP серверов. Всё, наш профиль создан. Можем закрывать вкладку и начинать работу. IT. [музыка] >>
Я перехожу в папку со всеми проектами для программирования. Автокомпт срабатывает. И теперь я могу сделать gitклонon. Кстати, мне автокомплиIT сразу подсказывает по моим предпочтениям, что, наверное, я хочу создать здесь репозиторий. Но давайте уже сразу начнём работать через голос, через агентный режим. Врубаем агента и говорим ему, что надо сделать. Склонируй репозиторий по ссылке, перейди в него и создай warp.mфайл с базовой инициирующей инициирующей информацией. Отпускаем. Так, склалонируй репозиторий по ссылке. всегда вычитываем, что пишет warp. Ссылочку ему вставляем. Перейди в него и создай файл warp.m. Вот так. С базовой инициирующей информацией. Ну, вроде всё правильно. Давайте запускать, смотреть, что будет происходить. Пошёл работать агент. И вот он нам сразу пишет, что он делает. Я выполню ваш ваш запрос, склалонирую репозиторий, перейду в него. Спрашивает, хотим ли мы, чтобы он выполнил эту команду. Можно ему сказать: "Авторув", и он больше не будет для такой команды спрашивать у вас разрешение. Можно это настроить в самом профиле. Мы это с вами видели. ВARP всегда старается безопасно выполнять код. Давайте авторуф ему сделаем. Вот он склонировал репозиторий. Замечательно. Дальше он в него перешёл. Шикарно. И сейчас сгенерит нам файл parpmd. Отлично. Всё. Смотрите, репозиторий создан. Мы в репозитории. Сразу же мы увидим, увидим, сколько кредитов было использовано. Три кредита. Забегая вперёд, скажу, что подписки меряются в арпе количеством кредитов. Можно посмотреть детали, за что, сколько кредитов ушло, можно посмотреть чейнджи. Так как у нас создался первый файл, то вот он у нас и отображается. И внимание, так как мы сейчас находимся в папке с репозиторием, и в этом репозитории уже есть два файла Redmi и WarpmD, то мы можем воспользоваться деревом файлов, так как уже автоматически определил, что мы находимся в репозитории, и он нам даёт возможность использовать инструменты для работы с проектом. Поэтому нажимаем Open Project Explorer. И, пожалуйста, вот у нас warp лёгким движением руки превращается в, ну, такой уже хороший конкурент любой. Тут мы можем открывать файлы и, собственно, с этими файлами в удобном формате работать. И давайте теперь попросим закоммитать и запушить его изменения в гиIT. Закомиты и запуш изменения в гиIT. Он добавил изменения в СТШ. Ну, и, собственно, вот он их сделал. Можно это всё немножко упростить, сделать чуть более контролируемым через warpdrive, например, добавив workflow. Давайте сделаем workflow commit changes. Можно добавить description. И тут мы прописываем команды gitd - a git commit - m и в m мы добавим аргумент. Environment variable нам тут не нужны. Третья команда push. Отлично, создали. И теперь мы этот workflow можем вызывать прямо у нас в работе с варпом. Давайте попросим его обновить Redmi. Я вам напоминаю, что здесь есть слш-команды. У меня уже есть в промтах небольшой шаблон для промта, который содержит в себе вот такую команду. Проверь последние изменения ээ в проекте и запdдей Redmi File в соответствии с этими изменениями. Запускаем и вуаля. Warp пошёл, посмотрел у нас по истории GTA, какие были изменения, увидел, что мы добавляли warp MD и обновил этот warp MD. Можем посмотреть изменения. Вот, пожалуйста, в Redmi добавился добавилось описание. О'кей, нас изменения устраивают. Мы можем посмотреть, кстати говоря, здесь сразу же отрендерины, как будет выглядеть. Всего диалог занял семь кредитов плюс два кредита. Теперь мы можем заюзать наш workflow. Мы видим, что у нас ассистент сразу просит ввести commit message, потому что у нас там есть аргумент параметризированный. Вводим наш message, что-нибудь типа second commit. И, пожалуйста, наш workflow выполняется. Да, я его немножко подредактировал, чтобы всё выглядело как положено. Вот наш workflow. Кстати, я забыл сказать, тут есть кнопка автофил, которая заполняет полностью все недостающие поля. Достаточно удобно. И теперь мы можем его заранить. [музыка]
После того, как мы разобрались, как работать с базовыми фишками, давайте переходить к самой задаче. И давайте, перед тем, как начать работу, ещё заполним файлик, точнее, немножко перепишем файл warp.md, так как это тот файл, на который агенты будут у нас ориентироваться. Он у меня уже предподготовлен, поэтому я просто вставлю его. Тут буквально базовые конструкции, базовые инструкции по тому, как будет работать приложение. Бот, который будет исправлять англоязычное сообщение на уровень B2. Семиal American. Не обращайте внимания на ошибки, я и поймёт. И будет отвечать нам с правильным вариантом сообщения с листом ошибок, со списком ошибок. использоваться. Ну, должен go. Я сразу указываю библиотеки для работы с Telegram AP и с Open AI app. И немножко добавляю про поведение самого агента, чтобы он не пушил ни в коем случае без моего подтверждения. Не люблю я, когда бот пушит. Делал, держал код чистым. Ну, короче, тут можно, на самом деле, много чего писать. Любые ваши прихоти проекту. Все мы знаем, как с рулами работать. Это вот примерно то же самое. Всё. Теперь, я думаю, можно запускать нашего бота. Единственное, давайте ещё добавим warp.md переменное окружение. Так как мы будем использовать Open AI AP, то нам достаточно только эту переменную окружения добавить. И добавим две переменных окружения ему в контекст из Телеграма. Ну, я думаю, сам разберётся, что тут. К чему всё? Сохраняем warpmd. Посмотрим div. Так, только один файл у нас изменён. И закоммитаем изменения. Напоминаю, можно через workflow это сделать. Просто открываем наш workflow, нажимаем на него, и вот он уже вставился. Надо только ввести essдж. Полетело. Ну, в данном случае workflлоow нет смысла использовать. Команда маленькая. Но если workркфловы большие, либо не хочется команды запоминать, то, пожалуйста, юзайте. Теперь запустим генерацию нашего приложения. Проанализируй файл warp.md и выполни задание в соответствии с тем, что там написано. Достаточно простая команда. Проанализируй файл warp.md и выполни задание в см, что написано. Сразу у нас агент мод включился. Понеслась. Можно сразу div окно открыть. Что у нас происходит? пошёл анализировать warpmd наш агент и составляет план. Говорит, что надо попробовал найти гомо файлы, не нашёл их. И, собственно, предлагает проинициализировать Go проект. Составил небольшой план. Создать main bot structure, заимплементировать Open AI интеграцию, заимплементировать message и добавить error handling. Всё, всё. Так, давайте ему дадим автоproof. И вот уже гомо файл создался. Вот, пожалуйста, у нас первый див. Дальше он пошёл качать библиотеки. Сразу можно смотреть, какие дифы. Что у нас добавляется? Open AI. Gadot версии 2. Open AI, правда, почему-то версия 1. Я обычно версию 2 использую. Ну, ладно. Версия Go 1.23. Прекрасно. Я просил выше 1.21. Ну, и всё, агент работает. В принципе, можно расслабиться, просто смотреть, что он делает. Если вам вдруг что-то не нравится, да, можно остановить его выполнение, можно выключить. А ко, если вдруг что-то не так. Но в целом, смотрите, он уже нам Main Go создал. Давайте-ка посмотрим, что там в Main Go. Так, краем глаза. М, load config. Вот, пожалуйста, наши переменные. Бот токена взял. Bot name взял. English improver bot. задал базовый промт. Вот он, который будет отправляться в Open AI. Ну, в принципе, я даже вчитываться не буду. Это не суперкритичный сейчас код. Нам главное посмотреть, как работает warp. Но вообще, конечно, когда вы пишете продакш код, надо вычитывать код. Это у нас происходит дальше. Дальше он создал э- агаnoreфайл, что тоже приятно, причём стандартный для Go, и попробовал запустить проект, но выдалась ошибка. Вот такая ошибка. Undefined, неправильная работа с OpenI API. Пошёл исправлять, собственно, эту функцию. Для того, чтобы её исправить, пошёл смотреть документацию. Ну, короче, всё, как положено. серьёзным агентом. Зафиксил Open. A снова ошибка. Всё ещё не может понять, как с ним работать. Ну, давайте просто подождём, я думаю, итеративно он должен сам себя улучшить. И вуаля, build сработал. Сколько у нас прошло? 2 или 3 минуты. Плюс к тому же он нам создал ещё environment файлик для того, чтобы было проще деплоить, и выдал полную инструкцию того, как это работает. Давайте почитаем. Загрузка конфигурации с переменных окружения. Интеграция с Open AI GPT4O он выбрал, но это можно поменять. Интеграция с Telegram апе HTML форматирование. Для запуска нам нужно несколько переменных в сессию, чат чат-сессию запихнуть. Но что-то он тут их мало прописал. По-моему, там должно быть три переменных. Ещё должен быть должно быть имя бота. Давайте проверим. Demo bot key. Demo bot name. Да, ну ничего, простим ему это. Давайте изпдрайва заинициализируем переменные. Закидываем переменные для работы с open. А, закидываем переменные с для работы с Telegramботом. Всё очень быстро, вообще круто. И теперь просим его запустить приложение. Запусти приложение. То есть я даже команду не буду прописывать запуска. Та, скорее всего, go runmain. Что-нибудь такое, я уже не помню, что он нам сделает. Сначала он установит переменное окружение. Ну, кстати, не надо, он их проверит. Он проверяет, есть ли эти переменные окружения, но они есть, мы их только что проинициализировали. И сделает какой-нибудь
go build. Отлично. Всё, наш бот стартанул прямо вот в этой терминальной сессии, он сейчас работает. Чтобы его остановить, надо нажать Ctrl C. Стоп.
Ну, давайте проверим, работает ли он вообще. Это, конечно, всегда лотерея, но попробуем. Сейчас я вам покажу мой Telegram с ботом. Итак, открываем телегу, ищем два арп демо бота. Вот он. Нажимаем старт. Юху! Смотрите-ка, он работает. Welcome to warp demo bots. Send me any English text.
Просто проверим, что это действительно наш бот. Логирование я не добавлял, поэтому тут логов никаких нет, но мы можем в main go поискать через Ctrl F эту строчку файла. Да, вот она есть. Кстати, обратите внимание, в редакторе текста удобно можно искать файлы, можно прямо отсюда добавлять в контекст чата, всё, что угодно через контекстное меню. Ну, короче, достаточно лайдненькая среда для редактирования кода.
Ну что, теперь момент истины. Отправим ему что-нибудь на английском. The Landon are the capтали of Great Britain. Я думаю, что я много ошибок сделал. Отправляем. И сейчас, по идее, бот уходит на OpenA апе по ключику. И да, всё сработало. И даже, кстати, он отправил сообщение, что он набирает текст. Смотрите-ка, London is the capital of the United Kingdom. Не Great Britain. Всё правильно. И сразу нам выдала список ошибок. Всё, мы бота построили с варпом за 3 минуты. Реально, я не буду в коде разбираться. Вы этот код сами посмотрите. Вот он наш бот лежит. Никаких переменных окружения внутри нет с хорошим Redmi, так что ссылочку эту можете брать и сами смотреть. Но я говорю, смысл этой демки не в том, что в коде, а в том, что варп это всё сделал.
[музыка]
Вот такие чудеса творит. никаких свистоплясок с кучей настроек, айдешек и в то же время куча инструментов таких как удобный редактор кода, удобный div, удобный терминальный ассистент, пожалуй, самая удобная консоль именно в варпе. Они прямо под рукой. Я бы сказал, что это где-то удобнее, чем клодкод и где-то удобнее, чем тот же курсор. В общем, попробуйте и вы, я думаю, зайдёт. Вар расцвёл.
Давайте в конце немножко ещё пробежимся по его настройкам. Просто посмотрим, может, мы что-то упустили. У нас есть, аэ, настройки самого аккаунта. Соответственно, здесь можно включить либо выключить син. Тогда ваши настройки будут синкаться с облаком, и можно будет между разными терминалами эти настройки, между разными операционными системами держать консистентными, что достаточно удобно.
Во вкладке A настраиваются все AI возможности. Тут и Nextны, и просто autплиete, настройка всех профилей агентов. Тут по дефолту у вас один агент будет настроен, в том числе подключение и настройка MCP серверов. Всё это здесь есть настройка рулов. Можно, кстати, глобальные рулы задавать, не только те, которые вот здесь будут храниться для вашего личного пользования.
Теперь давайте посмотрим на то, какие тарифные планы есть у Варпа. Они в основном все отличаются количеством кредитов. Мы с вами написали наше приложение. Кстати, за сколько это кредитов? Там Usage History. Удобная Usage History. Буквально 30 кредитов, что немного. Но на фри-тарифе тут явно не сказано, но в статейке про новые тарифные планы сказано, что на фри тарифе первые 2 месяца вы будете получать 150 кредитов, а потом 75 кредитов, что, в принципе, позволяет написать нам несколько таких маленьких ботов. Но вообще для полноценной работы, конечно же, этого не хватит.
Давайте посмотрим на тарифные планы. Сразу скажу, что тарифные планы, если вы раньше их видели, они сильно упростились. Буквально в начале ноября ВАP сменил свою тарификацию и значительно её упростил, убрав несколько уровней, убрав кучу всего и сделав четыре основных тарифа. Это фри, build для индивидуальных пользователей, бизнес для бизнеса и enterprise для кастомных бизнес-подписок, которым нужно больше непосредственно прямого взаимодействия с командой Вар.
На фри подписке, как я и сказал, мы получаем самый минимальный пакет кредитов, лимитированное количество репозиториев, с которыми ВARP может работать, которые он может проиндексировать, это три репозитория. Что интересно, тут включён Zero Data Retention. Это очень круто, что он включён сразу же на фри тарифе.
На тарифе для обычных подписчиков, который теперь называется Build и стоит ровно 20 долларов в месяц, мы получаем намного больше всяческих фишек. Во-первых, это уже 1.500 кредитов. Во-вторых, на билд подписке мы получаем возможность индеровать аж до 40 репозиториев. И каждый репозиторий может быть до 100.000 файлов вместимостью. На фри подписке это три репозитории, по-моему, 5.000, да, 5.000 файлов на один репозиторий. Вот тут есть такая графика, где описаны полностью все разницы по основным критериям между подписками.
Соответственно, в бизнес-подписке, в entтерпрайз подписке у нас есть всё, что мы получаем в билде за той лишь разницей, что впрат быть сильно больше со0ка проиндексированных репозиториев и большее количество файлов на репозитории. Ну, потому что это кастомная подписка, там мы можем напрямую поговорить с варпами, да, для для того, чтобы они предоставили нам кастомные условия.
Однако это не вся разница между индивидуальной и бизнес-подпиской. Стартуя с уровня бизнес, мы получаем доступ, во-первых, к SOC 2 комплайнсу. Тут надо сказать, что ORARP, в принципе, получил SOC 2 Type 2 уже давным-давно, и, скорее всего, он распространяется на все уровни подписки. Но для бизнес-подписки это особо важно, потому что многие компании требуют прохождения этого аудита для того, чтобы инструмент использовался внутри. И у Варпа он есть, поэтому можно смело протаскивать в компанию. Кроме этого, вы получаете гарантированны Zero Data Retion, что важно для Европы. Вы получаете возможность SSO доступа и что на билде, что на бизнесе, что на энтерпрайсе.
Теперь у нас есть возможность подключать свои ключики. Как вы видите, есть bring your own API key. Пока что он не поддерживает работу с локальными моделями, он поддерживает работу с Open AI API, Antropic API и Google API. Функция полезная, если вы не хотите, чтобы ваши данные ходили через сервера Варпа. Это бывает очень актуально, особенно в рамках компании, когда компании доверяют только корневым провайдерам API.
У кастом же подписки появляется ещё одна интересная штука под названием Bring your own LLM. Это как раз-таки работа с любыми моделями, я думаю, в том числе и с локальными. Если вы подписываетесь на Enterprise подписку, то вы можете договориться с варпом, запускать его на мощностях своих моделек, в том числе он премиis моделек. Крутая штука. Если у вас суперсекюрная компания, ORP вам очень нравится, то вам нужен entтеise.
Все тарифные планы стоят понятных денег, фиксированные суммы за месяц перюзера. Нету годовых подписок, больше нету pay as you go. Это тоже важно. Спросите вы: "А что делать? Pays youug go полезная штука". Теперь у Варпа есть Reload credit discounts. Вы можете просто довносить денежку для того, чтобы получить дополнительные кредиты. И эта денежка, она универсальная для всех подписок. За 10, 20, 50 и 100 долларов можно получить 250, 500, 1.250 и 2.500 кредитов дополнительно сверху. Посмотрите, изучите эту графику. Тут подробнее рассказана экономика всех этих кредитов, чтобы лучше понимать. Кажется, будто бы это даже выгоднее, чем тот PSU Go, который был раньше.
Ну а теперь поехали дальше по настройкам. Usage history достаточно удобная. Сразу можно посмотреть, сколько было Тулзов использовано, какая модель была использована, контекст Windows. Ну, короче, хорошо, прямо хорошо. И не так сложно, как у курсора, у которого постоянно меняются то, как они билят токены. Тот, кто пытался разобраться, как с нас деньги билит курсор, тот понимает, что это дичайшая боль.
Дальше у нас идёт настройка индексации проектов. Можно её включить, выключить, можно посмотреть, какие папки уже и проекта проиндексированы, какие-то добавить, какие-то убрать.
Настройка Teams подписки. Тут тоже кучу всего интересного. Есть рестрикшены по домену, инвайты по имейлу. Ну и тут можно управлять ролями меберов.
Настройки внешнего вида, светлая и тёмная тема. Можно изменять значки в трее размер шрифтов и так далее.
Отдельный раздел с фичами. Просто посмотрите, тут достаточно много чего интересного есть. В том числе здесь же можно немножко поднастроить кейбидинги.
Ну а следующий пункт меню настраивает кейбидинги очень гибко. Собственно, он весь пройбиндинги.
Интересная вкладка platform буквально недавно сделал cй. 13 октября они презентовали c. Так как у нас все сейчас делают C, поскольку это удобный способ использовать на бэкэнде инструмент, который вам нравится. И у курсора есть сей, и у клод-кода есть сей. У Варпа теперь тоже есть селяй. Вы можете использовать вашу подписку warp и его инструменты в своих приложениях через удобный Command Language ээ interface. И для того, чтобы его подключить, вам достаточно вот тут создать API ключик, который потом вы будете через SDK варповски использовать у себя в приложении.
Дальше идёт меню со специфичными настройками для терминала, меню ваших рефералов. Аж 125 человек через меня к Варпу подключились. Спасибо вам большое. Я получил все бонусы, которые ВARP даёт. И вот теперь даже могу с вами делиться ссылками, которые аж три раза дешевле делают подписку на VARP. Напоминаю, ссылка в описании. за 5 долларов можете получить первый месяц использования варпа в три, а то и даже в четыре раза дешевле, чем обычно.
Следующее пункт меню показывает, какие блоки кода вы шарили. Я напоминаю, что блоки кода практически любые можно шарить по ссылке с вашими знакомыми, друзьями. Тут они все будут отображаться.
И, конечно же, настройки privacy. В настройках privacy стандартно есть э настроечка, которая на фри аккаунтах включена по дефолту, которая отправляет данные для обучения моделей, но это не значит, что ваши данные сливаются. Они всего лишь используются для обучения моде моделей. Также тут можно включить отправку кш-репортов.
И интересная настройка Secret Reductions. Если вы её включите, то тут можно будет задавать по рекспам буквально те вещи, которые будет запрещено вам вводить в ноутбуках, в workкфловах, в variaэйблах, в общем, во всём, что лежит в вардрайве. Например, если включить этот restrictк, тут по умолчанию есть reg на Open AI ke open AI апе подобные ключи. А это значит, что с включённым этим рестрикшеном, если я захочу вставить ключики от OpenI либо любые похожие, мне скажут, что извини, чувак, но нельзя. И не даст сохранить такой, например, environment variable. Удобная штука, чтобы и себя контролить, и не давать лишних поводов терминалу использовать то, что использовать не нужно.
Такой вот вышел обзор на warp. Думаю, теперь вам понятно, что - это далеко не я и терминал, но в то же время это не IDE, это что-то между этими двумя подходами. И, честно говоря, хочется видеть, как Warp будет развиваться дальше, потому что мне кажется, что будущее в том числе закevelopment environment.
Лично я долгое время использую warp, уже, наверное, года два являюсь их давним поклонником и долгое время использовал его как терминал. В последнее же время я не выхожу из агентного режима. Я использую его для установки зависимостей, для работы с проектами. И всё чаще и чаще мне становится влом открывать моюшку, потому что всё можно сделать быстренько, с варпом, буквально вот не отходя от терминала, которым я буквально там минуту назад пользовался, чтобы, не знаю, запушить коit в GitHub. Так что и вам тоже советую попробовать. Очень интересный experience. Плюс один, э, интересный подход к разработке вы узнаете, а может быть подсядете на warp, так же, как сделал это я, и будете счастливы.
Не забывайте проходить по ссылке в описании. По ней вы получите 2.500 кредитов варпа бесплатно на 7 дней. И это намного лучше, чем если бы вы это делали без канала IT Бороды. Устанавливайте Warp, пробуйте Development Environment, пишите свои комментарии, пишите, как вам warp, что интересного в нём вы используете. Также пишите, про что вам рассказать в следующих видосах. С вами был Lex IT Борода. Услышанемся и увидимся в следующих видосах. Пока-пока.