00:00:00Ok, o Multicore afirma ser a ferramenta capaz de transformar os seus agentes em verdadeiros colegas de equipa,
00:00:05por isso o Claude Code, OpenCode, Codex CLI, Hermes e outros podem ser configurados com o seu próprio sistema
00:00:11de prompts e as suas próprias competências, e podem ser-lhes atribuídas tarefas com atualizações de estado, eles podem alertá-lo
00:00:16se precisarem da sua ajuda, agendar tarefas recorrentes, e pode falar diretamente com o seu agente.
00:00:21Mas será que esta versão open-source das rotinas do Claude e agentes geridos vale realmente o seu tempo?
00:00:27Clique em subscrever e vamos descobrir.
00:00:32Bem, a forma pretendida de usar o Multicore é instalá-lo na sua máquina de trabalho, que idealmente
00:00:37tem um agente de codificação de terminal como o Claude Code ou OpenCode, e depois ligá-lo à
00:00:42interface de nuvem do Multicore.
00:00:44Mas não vamos fazer isso, vamos seguir pelo caminho totalmente auto-alojado.
00:00:48Portanto, vamos instalar o Multicore num VPS, e explicarei porquê mais tarde.
00:00:52Na verdade, costumo saltar toda a fase de configuração, mas para auto-alojar com o Multicore, há
00:00:58algumas coisas que tive de descobrir e que não estavam na documentação.
00:01:01Por isso, vamos passar por isso primeiro antes de ver alguns exemplos de como o utilizar.
00:01:05Já configurei o Multicore num VPS novo da Hetzner ao executar este comando, e isso
00:01:10usará o Docker para instalar o Multicore.
00:01:12Por isso, certifique-se de que tem o Docker instalado no seu VPS.
00:01:15E quando executa tudo, tem apenas três contentores a correr: o backend do Multicore,
00:01:19que acredito estar escrito em Go, o frontend do Multicore, que é TypeScript e Next.js,
00:01:24e a base de dados Postgres que é utilizada para armazenar informações de sessão.
00:01:27A seguir, precisaria de executar "Multicore setup self-host".
00:01:30Mas tive alguns problemas com isso.
00:01:31Portanto, se executarmos "Multicore self-host", e se eu fosse repor a minha configuração atual e
00:01:35o meu espaço de trabalho, verá que me pede para autenticar com este URL, que o levará
00:01:39a este ecrã.
00:01:40E se adicionar o seu endereço de e-mail e clicar em continuar, terá de inserir um código de reenvio.
00:01:45Ora, tive muitas dificuldades com esta secção.
00:01:48Por isso, recomendo que evite a parte do reenvio completamente ao entrar no
00:01:53diretório .multicore server, abrir o ficheiro env, garantir que o ambiente da aplicação está definido
00:01:58para "development" e também garantir que o valor da chave da API de reenvio esteja vazio.
00:02:02Isto fará com que o código tenha este valor.
00:02:04Assim que o tiver feito, permaneça dentro deste diretório e execute este comando para reiniciar os contentores
00:02:09com o ficheiro de variáveis de ambiente atualizado.
00:02:11E depois de o fazer, deverá conseguir iniciar sessão com seis oitos.
00:02:15Agora, ainda não terminámos.
00:02:17A partir daqui, vá a "runtimes", e pode ver que tenho dois runtimes diferentes instalados,
00:02:21mas deveria ter nada porque isso ainda não foi configurado.
00:02:24Se executar "Multicore Daemon Status", pode ver que neste momento o meu está a correr e a usar estes
00:02:28agentes com um espaço de trabalho, mas o seu deverá ter um erro.
00:02:32E isso é porque primeiro no seu VPS, precisará de ter uma ferramenta de codificação de terminal instalada.
00:02:36Portanto, tenho o Claude Code e o Open Code instalados.
00:02:39E para ligar esse runtime à sua instância Multicore, teria de ir a definições,
00:02:44e tokens de API, depois criar um novo token de API, e então executar "Multicore login" com a flag do token
00:02:50e colar o seu token aqui.
00:02:52Depois, se tiver um Multicore Daemon a correr, pare-o antes de o iniciar novamente.
00:02:56O Daemon no Multicore verifica os binários harness instalados, pesquisa tarefas do Multicore
00:03:01para dar aos agentes e gera múltiplos agentes usando árvores de trabalho para que estas tarefas
00:03:07sejam concluídas.
00:03:08Portanto, assim que o fizer, o Daemon deverá agora mostrar os seus runtimes disponíveis.
00:03:11E a beleza de o ligar desta forma é que pode adicionar múltiplas máquinas à sua
00:03:15instância Multicore.
00:03:16Portanto, se tiver múltiplos VPSs, pode instalar o Multicore em todos eles e ligá-los
00:03:20a uma única interface usando os seus diferentes tokens de API.
00:03:23Ok, com a configuração resolvida, vamos ver algumas tarefas simples com o Multicore.
00:03:28E não vou abordar todo o potencial.
00:03:30Como ter múltiplos agentes com múltiplos projetos e adicionar múltiplas tarefas, só quero mostrar-lhe
00:03:35funcionalidades individuais para que possa imaginar o quão poderoso é o Multicore, se essa for a forma
00:03:39como gostaria de trabalhar.
00:03:40Antes de poder fazer qualquer coisa com o Multicore, teria de criar um agente.
00:03:43E já criei um aqui chamado Medibot, mas pode fazê-lo clicando neste botão de mais
00:03:48e seguindo as instruções.
00:03:50Portanto, este bot médico é semelhante ou tem um prompt de sistema semelhante ao que fiz no vídeo sobre
00:03:56Agentes Geridos pelo Claude, que simplesmente obtém a minha informação médica de um repositório privado do GitHub, e
00:04:02posso falar com ele via Slack.
00:04:04Agora, como tenho um pouco mais de liberdade com o Multicore, no sentido de ter o meu próprio VPS
00:04:08e poder geri-lo diretamente, em vez de pedir a este agente para clonar esse repositório do
00:04:12GitHub, fui eu próprio e clonei-o para este diretório.
00:04:16Agora, além dos prompts de sistema, pode dar ao seu agente competências personalizadas.
00:04:19Repare que o agente terá acesso às competências que instalou no seu CLI, mas pode
00:04:24adicionar competências diretamente na interface se quiser, o que fiz como competência de teste, mas
00:04:29não vou adicioná-la ao agente.
00:04:30Há também ambientes e também argumentos personalizados.
00:04:33Como os agentes usam a ferramenta CLI, neste caso, vai usar "open code run", posso
00:04:37adicionar flags personalizadas caso queira que este agente use apenas um modelo específico e assim por diante.
00:04:42Mas por defeito, o agente usará o modelo que tem no seu CLI.
00:04:46Portanto, se eu executar "open code" agora, pode ver que está a usar o "big pickle model" do OpenCodeZen.
00:04:50Agora posso criar uma tarefa ou problema clicando aqui, e vou chamar a isto "questão médica"
00:04:54com um prompt de "podes verificar a minha informação médica e dizer-me se posso
00:04:59comer lula".
00:05:00Agora, se já alguma vez usou qualquer ferramenta de seguimento de problemas, isto parecerá muito familiar.
00:05:04Pode definir prioridades, atribuir pessoas, adicionar datas de entrega, e assim por diante.
00:05:08Mas eu recomendaria vivamente que criasse sempre o problema antes de atribuir alguém, porque
00:05:13no segundo em que atribui um bot a este problema, ele começa a trabalhar nele imediatamente.
00:05:17Para se certificar de que está confortável com tudo o que escreveu, verifique duas vezes.
00:05:21E assim que terminar, atribua-o a um bot.
00:05:23Portanto, vou atribuí-lo ao Medibot e criar o problema.
00:05:26E a partir daí, o bot começará a trabalhar nele.
00:05:28Posso acompanhar o progresso dentro de "issues" aqui.
00:05:30E se clicarmos no problema, podemos ver o Medibot a trabalhar de imediato.
00:05:34Agora, enquanto isto acontece, vou clicar em "autopilot".
00:05:36E esta é a versão open source das Rotinas do Claude.
00:05:39Podemos clicar em "começar do zero" e podemos selecionar um agente e definir com que frequência
00:05:44queremos que esta tarefa seja executada.
00:05:45Agora, ao contrário das Rotinas do Claude, não há opção para disparadores de API ou de eventos do GitHub.
00:05:51Talvez isso venha no futuro.
00:05:53Mas vou dar a isto um prompt semelhante ao vídeo da rotina do Claude para obter as últimas
00:05:57edições destas três newsletters via RSS.
00:06:00E assim que obtiver estas edições, encontre os 10 melhores artigos que podem ser usados num vídeo do YouTube.
00:06:05Isto acontecerá diariamente às 9h, hora de Londres.
00:06:08E idealmente quereria um agente de investigação específico que seja bom a escolher tópicos para o YouTube.
00:06:14Mas por agora ficaremos com o Medibot e clicaremos em criar.
00:06:17Depois podemos clicar neste "autopilot" e clicar em "executar agora" apenas para o ver em ação.
00:06:21Criará um novo problema em "a fazer".
00:06:23E vamos deixar isso a correr durante alguns minutos e verificar o nosso outro problema, que já
00:06:28foi movido para "em análise" pelo agente.
00:06:30Portanto, aqui diz que, com base nos meus registos médicos, tenho uma alergia a marisco, o que é verdade e
00:06:35não deveria comer lula, e depois dá mais informações aqui sobre a minha alergia.
00:06:40E também podemos clicar aqui para ver exatamente o que o agente fez.
00:06:43Portanto, podemos expandir o histórico de execução e ver que fez algumas chamadas de ferramentas bash.
00:06:48Na verdade, muitas chamadas de ferramentas bash para procurar o diretório de informação médica e deixá-lo pesquisar
00:06:53todo o diretório pessoal antes de o encontrar e verificar a minha informação médica para dar ao agente
00:06:59a informação correta.
00:07:00Incrível.
00:07:01E a partir daqui, posso até responder, "obrigado pela informação".
00:07:04Porque colocaste isto em "em análise" em vez de o mover para "concluído"?
00:07:07Portanto, vamos deixar isso com o agente.
00:07:09E se não quiser acompanhar manualmente o que o agente está a dizer, também pode receber
00:07:12notificações do agente.
00:07:14Portanto, aqui está a resposta do agente médico.
00:07:16E também recebi uma atualização do nosso "autopilot".
00:07:19Aqui está um que foi executado automaticamente há uma hora, mas aqui está um que acabámos de disparar e acaba de
00:07:22terminar.
00:07:23Portanto, podemos ver aqui que este é o prompt que lhe dei, percorreu o prompt e está
00:07:27a dar-me uma resposta.
00:07:28Portanto, aqui estão as 10 principais escolhas com "barn", "temporal API", e assim por diante.
00:07:33Agora, o que é interessante aqui é que um agente não moverá uma tarefa depois de estar em "em análise" de volta
00:07:37para "em progresso" e "a fazer", mas você, como humano, poderia, claro, fazer isso automaticamente.
00:07:41Portanto, posso mover isto para "em progresso" ou mover para "bloqueado" se eu quisesse.
00:07:45Mas, embora eu tenha feito uma pergunta ao agente médico, ele não voltou para "em progresso"
00:07:49enquanto responde à pergunta.
00:07:51Fica apenas em "em análise" e por isso preciso de clicar nele para saber quando está terminado e podemos ver
00:07:55por que o moveu para "em análise", já que é o passo de fluxo de trabalho padrão em vez de o mover
00:08:00para "concluído".
00:08:01Portanto, está à espera de mim, o humano, para o mover para "concluído", o que faz algum sentido.
00:08:05A partir daqui posso continuar a falar com o agente, deixando respostas, deixando comentários, anexando
00:08:09ficheiros e emojis, ou se quisesse apenas fazer uma pergunta única sem passar por todo o
00:08:14processo de seguimento de problemas, poderia clicar aqui e falar diretamente com o meu agente.
00:08:18Agora, para ser sincero, não sou o maior fã de comunicar com agentes atribuindo
00:08:22tarefas e vê-los progredir através de um quadro Kanban.
00:08:25É por isso que não experimentei projetos como Paperclip ou Vibe Kanban.
00:08:29Não me importo muito com prioridades ou datas de entrega, tendo a trabalhar num ou talvez dois projetos
00:08:34de cada vez com agentes e gosto de ter mais um diálogo com os meus agentes, vendo realmente
00:08:39o que eles fazem, as ferramentas que usam e os problemas com que se deparam para que eu possa ajudar a depurar com eles.
00:08:45Mas isto não quer dizer que não gosto da ideia do Multicore, na verdade gosto da funcionalidade de
00:08:50tarefas agendadas, gosto do facto de poder auto-alojá-lo completamente e também penso que é uma ferramenta muito sólida
00:08:55que é muito mais barata se usar um modelo diferente do que usar alguns dos agentes geridos
00:08:59pelo Claude ou as rotinas do Claude.
00:09:02Mas direi que é bastante técnico no seu processo de configuração, tem de saber
00:09:06o que está a fazer, especialmente se quiser manter as coisas seguras, e esse é o benefício dos
00:09:11agentes geridos ou rotinas que tratam de todas estas coisas por si, alojando as coisas
00:09:16numa infraestrutura de tópicos e o facto de poder usar conectores para comunicar com
00:09:20o seu agente torna as coisas um pouco mais fáceis, porque se quisesse fazer a mesma coisa no Multicore,
00:09:24ok, poderia usar o site responsivo no seu telemóvel, mas teria de colocar as coisas manualmente
00:09:29se quisesse usar o Slack, Telegram ou Discord.
00:09:33E é por isso que segui pelo caminho auto-alojado puramente por causa da segurança; se algo
00:09:37está ligado à internet então é definitivamente hackável, quero dizer, poderia usar o Multicore completamente
00:09:41localmente, por isso instale-o na sua máquina local e execute a interface localmente, assim não ficará ligado
00:09:46à internet, mas se quiser ligá-lo à internet, recomendo seguir pelo caminho
00:09:50auto-alojado usando Tailscale para que o seu servidor não fique completamente exposto e certifique-se de que está
00:09:55sempre atualizado com as versões mais recentes.