Claude Code + Multica = Идеальный сетап для AI-агентов

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Итак, Multicore заявляет, что это инструмент, способный превратить ваших агентов в настоящих коллег,
00:00:05поэтому Claude Code, OpenCode, Codex CLI, Hermes и другие могут быть настроены с их собственной системой
00:00:11промптов и навыков, им можно назначать задачи со статусами обновлений, они могут предупредить вас,
00:00:16если им нужна ваша помощь, планировать повторяющиеся задачи, и вы можете общаться с агентом напрямую.
00:00:21Но стоит ли эта open-source версия рутин Claude и управляемых агентов вашего времени?
00:00:27Жмите подписаться, и давайте выясним.
00:00:32Итак, предполагаемый способ использования Multicore — это установка на рабочую машину, где идеально
00:00:37имеется терминальный агент для кодинга, такой как Claude Code или OpenCode, а затем подключение его к
00:00:42облачному интерфейсу Multicore.
00:00:44Но мы так делать не будем, мы пойдем полностью путем self-hosted.
00:00:48Поэтому мы установим Multicore на VPS, и позже я объясню, почему.
00:00:52На самом деле, я обычно пропускаю этап настройки, но при self-hosting с Multicore есть
00:00:58несколько моментов, которые мне пришлось выяснить самостоятельно, их не было в документации.
00:01:01Так что мы пройдемся по ним сначала, прежде чем разобрать несколько примеров использования.
00:01:05Итак, я уже настроил Multicore на чистом Hetzner VPS, запустив эту команду, и это
00:01:10использует Docker для установки Multicore.
00:01:12Так что убедитесь, что у вас на VPS установлен Docker.
00:01:15И когда вы запустите все, у вас будут работать три контейнера: бэкенд Multicore,
00:01:19который, как я полагаю, написан на Go, фронтенд Multicore на TypeScript и Next.js,
00:01:24и база данных Postgres, используемая для хранения информации о сессиях.
00:01:27Далее нужно запустить "Multicore setup self-host".
00:01:30Но у меня возникли с этим некоторые проблемы.
00:01:31Поэтому, если запустить "Multicore self-host", и если я сброшу текущую конфигурацию и
00:01:35свое рабочее пространство, вы увидите, что он просит меня авторизоваться по этому URL, который переведет
00:01:39вас на этот экран.
00:01:40И если вы добавите свой адрес электронной почты и нажмете "продолжить", вам нужно будет ввести код подтверждения.
00:01:45У меня было много проблем с этим разделом.
00:01:48Поэтому я бы порекомендовал вам вовсе избежать всей этой части с кодом подтверждения, зайдя в
00:01:53директорию .multicore server, открыв файл env, убедившись, что переменная среды приложения установлена
00:01:58в значение "development", а также убедившись, что значение для API-ключа Resend пустое.
00:02:02Это сделает код таким значением.
00:02:04После того как вы это сделаете, оставайтесь в этой директории и выполните эту команду, чтобы перезапустить контейнеры
00:02:09с обновленным файлом переменных окружения.
00:02:11И после этого вы должны быть в состоянии войти в систему с шестью восьмерками.
00:02:15Но мы еще не совсем закончили.
00:02:17Отсюда перейдите в "runtimes", и вы увидите, что у меня установлены два разных рантайма,
00:02:21но у вас их быть не должно, так как это еще не было настроено.
00:02:24Если вы запустите "Multicore Daemon Status", вы увидите, что мой сейчас запущен и использует эти
00:02:28агенты с одним рабочим пространством, но у вас должна быть ошибка.
00:02:32И это потому, что сначала на вашем VPS вам нужно установить терминальный инструмент для кодинга.
00:02:36У меня установлены Claude Code и Open Code.
00:02:39И чтобы подключить этот рантайм к вашему экземпляру Multicore, вам нужно зайти в настройки,
00:02:44и в API-токены, затем создать новый API-токен, затем запустить "Multicore login" с флагом токена
00:02:50и вставить свой токен сюда.
00:02:52Затем, если у вас запущен демон Multicore, остановите его перед тем, как запустить снова.
00:02:56Демон в Multicore проверяет установленные бинарные файлы harness, опрашивает Multicore на предмет задач,
00:03:01которые нужно передать агентам, и запускает нескольких агентов, используя рабочие деревья для выполнения этих задач.
00:03:07и готово.
00:03:08Так что, как только вы это сделаете, демон должен отображать ваши доступные рантаймы.
00:03:11И прелесть такого подключения в том, что вы можете добавить несколько машин к вашему
00:03:15экземпляру Multicore.
00:03:16Поэтому, если у вас есть несколько VPS, вы можете установить Multicore на всех из них и подключить их
00:03:20к единому интерфейсу, используя разные API-токены.
00:03:23Хорошо, когда настройка позади, давайте пройдемся по нескольким простым задачам с Multicore.
00:03:28И я не буду рассматривать весь потенциал.
00:03:30То есть наличие нескольких агентов с несколькими проектами и добавление множества задач, я просто хочу показать
00:03:35вам отдельные функции, чтобы вы могли представить, насколько мощным является Multicore, если это тот способ
00:03:39работы, который вам нравится.
00:03:40Прежде чем что-либо делать в Multicore, вам нужно создать агента.
00:03:43И я уже создал одного здесь, назвав его "Medibot", но вы можете сделать это, нажав на эту кнопку "плюс"
00:03:48и следуя инструкциям.
00:03:50Итак, этот медицинский бот похож или имеет системный промпт, аналогичный тому, который я сделал в видео
00:03:56про управляемых агентов Claude, который просто получает мою медицинскую информацию из частного репозитория GitHub, и
00:04:02я могу общаться с ним через Slack.
00:04:04Теперь, поскольку у меня чуть больше свободы с Multicore в том смысле, что у меня есть свой VPS
00:04:08и я могу управлять им напрямую, вместо того чтобы заставлять этого агента клонировать тот репозиторий с
00:04:12GitHub, я сам заранее клонировал его в эту директорию.
00:04:16Теперь, помимо системных промптов, вы можете дать своему агенту пользовательские навыки.
00:04:19Заметьте, у агента будет доступ к навыкам, которые вы установили в своем CLI, но вы можете
00:04:24добавить навыки напрямую в интерфейсе, если хотите, что я и сделал в качестве тестового навыка, но
00:04:29я не буду добавлять его агенту.
00:04:30Также есть среды и пользовательские аргументы.
00:04:33Поскольку агенты используют CLI-инструмент, в данном случае это "open code run", я могу
00:04:37добавить пользовательские флаги, если хочу, чтобы этот агент использовал только определенную модель и так далее.
00:04:42Но по умолчанию агент будет использовать модель, которая у вас в CLI.
00:04:46Так что, если я запущу "open code" прямо сейчас, вы увидите, что он использует "big pickle" модель от OpenCodeZen.
00:04:50Теперь я могу создать задачу или вопрос, нажав здесь, и я назову этот выпуск "medical question" с промптом
00:04:54"можешь проверить мою медицинскую информацию и сказать, можно ли мне
00:04:59есть кальмары".
00:05:00Если вы когда-либо использовали какой-либо инструмент для отслеживания задач, это покажется очень знакомым.
00:05:04Вы можете установить приоритеты, назначить людей, добавить сроки выполнения и так далее.
00:05:08Но я настоятельно рекомендую всегда создавать задачу до назначения кого-либо, потому что
00:05:13как только вы назначаете бота на эту задачу, он сразу начинает над ней работать.
00:05:17Убедитесь, что вы довольны всем написанным, перепроверьте.
00:05:21И как только закончите, назначьте задачу боту.
00:05:23Так что я назначу её "Medibot" и создам задачу.
00:05:26И с этого момента бот начнет работу над ней.
00:05:28Я могу отслеживать это внутри "issues" здесь.
00:05:30И если мы нажмем на задачу, мы увидим, что Medibot работает прямо сейчас.
00:05:34Теперь, пока это происходит, я нажму на "autopilot".
00:05:36Это open-source версия "Claude Routines".
00:05:39Мы можем нажать "start from scratch", выбрать агента и установить, как часто мы
00:05:44хотим, чтобы эта задача выполнялась.
00:05:45В отличие от Claude Routines, здесь нет опции для API-триггеров или триггеров событий GitHub.
00:05:51Возможно, это появится в будущем.
00:05:53Но я дам этому похожий промпт из видео про Claude Routines, чтобы получать последние
00:05:57выпуски этих трех новостных рассылок через RSS.
00:06:00И как только вы получите эти выпуски, найдите 10 лучших статей, которые можно использовать в YouTube-видео.
00:06:05Это будет происходить ежедневно в 9 утра по лондонскому времени.
00:06:08И в идеале вам нужен исследовательский агент, который хорошо подбирает темы для YouTube.
00:06:14Но пока мы оставим Medibot и нажмем "создать".
00:06:17Затем мы можем нажать на этот "autopilot" и нажать "run now", просто чтобы увидеть его в действии.
00:06:21Он создаст новую задачу в "todo".
00:06:23Мы оставим это выполняться на несколько минут и вернемся к нашей другой задаче, которая
00:06:28уже была перемещена в "in review" агентом.
00:06:30Итак, здесь говорится, что согласно моим медицинским записям, у меня аллергия на моллюсков, что правда,
00:06:35и что мне не следует есть кальмары, а затем дается больше информации об аллергии.
00:06:40И мы также можем нажать здесь, чтобы увидеть, что именно сделал агент.
00:06:43Мы можем развернуть историю выполнения и увидеть, что он сделал несколько вызовов bash-инструмента.
00:06:48Фактически, много вызовов bash, чтобы найти директорию с медицинской информацией, позволив ему обыскать
00:06:53всю домашнюю директорию перед тем, как найти её и проверить мою медицинскую информацию, чтобы дать агенту
00:06:59нужную информацию.
00:07:00Отлично.
00:07:01И отсюда я могу даже ответить: "Спасибо за информацию".
00:07:04Почему вы поместили это в "in review" вместо перемещения в "done"?
00:07:07Так что мы оставим это агенту.
00:07:09И если вы не хотите вручную отслеживать, что говорит агент, вы также можете получать
00:07:12уведомления от него.
00:07:14Вот ответ от медицинского агента.
00:07:16И я также получил обновление от нашего "autopilot".
00:07:19Вот один, который сработал автоматически час назад, но вот тот, который мы только что запустили, и он
00:07:22только что закончил.
00:07:23Мы видим здесь промпт, который я дал, он прошел по нему и
00:07:27дает мне ответ.
00:07:28Итак, вот топ-10 подборок с "barn", temporal API и так далее.
00:07:33Теперь интересно то, что агент не переместит задачу обратно, когда она в "in review",
00:07:37в "in progress", но вы, как человек, конечно, могли бы сделать это автоматически.
00:07:41Так что я могу переместить это в "in progress" или в "blocked", если хочу.
00:07:45Но даже несмотря на то, что я задал медицинскому агенту вопрос, он не вернулся в "in progress",
00:07:49пока отвечал на вопрос.
00:07:51Он просто остается в "in review", поэтому мне нужно нажать на него, чтобы узнать, когда он закончит, и мы видим,
00:07:55почему он переместил задачу в "in review", так как это стандартный шаг рабочего процесса вместо перемещения
00:08:00в "done".
00:08:01Так что он ждет меня, человека, чтобы я переместил её в "done", что в некотором роде имеет смысл.
00:08:05Отсюда я могу продолжать общаться с агентом, оставляя ответы, комментарии, прикрепляя
00:08:09файлы и эмодзи, или если я хотел просто задать один вопрос, не проходя через
00:08:14весь процесс отслеживания задач, я мог бы нажать здесь и поговорить с агентом напрямую.
00:08:18Честно говоря, я не самый большой поклонник общения с агентами путем назначения
00:08:22задач и наблюдения за их продвижением по Kanban-доске.
00:08:25Вот почему я не пробовал такие проекты, как Paperclip или Vibe Kanban.
00:08:29Меня не очень волнуют приоритеты или сроки, я склонен работать над одним или, может, двумя проектами
00:08:34за раз с агентами, и я люблю иметь диалог со своими агентами, видя, что они делают,
00:08:39инструменты, которые они используют, и проблемы, с которыми они сталкиваются, чтобы я мог помочь им отладить.
00:08:45Но это не значит, что мне не нравится идея Multicore, на самом деле, мне нравится функция запланированных
00:08:50задач, мне нравится, что можно полностью self-hostить его, и также я думаю, что это очень солидный
00:08:55инструмент, который намного дешевле, если вы используете другую модель, чем использование некоторых из управляемых
00:08:59агентов Claude или Claude Routines.
00:09:02Но я скажу, что процесс его настройки довольно технический, нужно понимать, что
00:09:06вы делаете, особенно если хотите сохранить безопасность, и это преимущество управляемых
00:09:11агентов или Routines, которые берут на себя все эти вещи, размещая всё на
00:09:16инфраструктуре, и тот факт, что вы можете использовать коннекторы для общения с
00:09:20агентом, делает вещи немного проще, потому что если бы вы хотели сделать то же самое в Multicore,
00:09:24окей, вы могли бы использовать адаптивный сайт на своем телефоне, но вам пришлось бы вручную собирать всё
00:09:29вместе, если хотите использовать Slack, Telegram или Discord.
00:09:33И вот почему я пошел по пути self-hosted, чисто из соображений безопасности, если что-то
00:09:37подключено к интернету, значит это определенно взламываемо, я имею в виду, вы могли бы использовать Multicore полностью
00:09:41локально, то есть установить его на локальную машину и запустить интерфейс локально, чтобы он не был подключен
00:09:46к интернету, но если вы хотите подключить его к сети, я рекомендую идти по
00:09:50пути self-hosted, используя Tailscale, чтобы ваш сервер не был полностью открыт, и убедиться, что вы
00:09:55всегда обновляетесь до последних версий.

Key Takeaway

Multicore превращает терминальные инструменты кодинга в управляемую систему агентов, обеспечивая полный контроль над инфраструктурой и безопасностью через self-hosted развертывание на VPS.

Highlights

Multicore позволяет запускать терминальные агенты, такие как Claude Code и OpenCode, с собственной системой промптов и задач в режиме self-hosted.

Самостоятельная установка Multicore на VPS требует предварительной настройки Docker, API-токенов для авторизации и корректного файла конфигурации .env.

Функция Autopilot в Multicore автоматизирует выполнение повторяющихся задач, таких как ежедневный сбор RSS-новостей в 9 утра.

Интерфейс Multicore предоставляет Kanban-доску для управления статусами задач, их приоритетами и сроками выполнения.

Безопасная работа с Multicore требует использования Tailscale для ограничения доступа к серверу вместо открытия его для всего интернета.

Timeline

Настройка self-hosted окружения Multicore

  • Установка Multicore на VPS через Docker требует работы с бэкендом на Go, фронтендом на Next.js и базой данных Postgres.
  • Обход стандартного процесса авторизации осуществляется через настройку файла .env с переменной окружения development.
  • Подключение терминальных инструментов кодинга происходит через API-токены, создаваемые в настройках интерфейса.

Развертывание Multicore на собственном VPS исключает зависимость от внешних облачных интерфейсов и позволяет лучше контролировать безопасность. Установка включает запуск трех контейнеров Docker. Технические нюансы настройки, такие как пропуск кода подтверждения при авторизации, обеспечивают стабильную работу системы.

Управление задачами и агентами

  • Агентам назначаются системные промпты и пользовательские навыки для доступа к специфическим данным.
  • Задачи в Multicore включают приоритизацию и сроки, при этом назначение агента на задачу немедленно инициирует её выполнение.
  • Функция Autopilot позволяет запускать регулярные процессы без необходимости внешних API-триггеров.

Пользователи создают агентов для выполнения конкретных функций, например, анализа медицинских данных или мониторинга новостных рассылок. Система использует Kanban-доску для отслеживания прогресса, где агенты автоматически переводят задачи в статус in review после завершения работы.

Анализ эффективности и безопасности

  • История выполнения задач показывает детальные вызовы команд bash, что упрощает отладку действий агента.
  • Workflow агентов по умолчанию переводит задачи в статус in review, ожидая подтверждения от человека для закрытия.
  • Self-hosting через Tailscale минимизирует риски несанкционированного доступа к серверу.

Multicore дает возможность видеть внутренние инструменты и команды, которые использует агент, что критично для отладки. Несмотря на удобство автоматизации, ручное взаимодействие с агентом через Kanban-доску остается основным способом контроля. Использование локальной инфраструктуры в сочетании с защищенным сетевым доступом обеспечивает баланс между функциональностью и безопасностью.

Community Posts

View all posts