Aula 20Várias tarefas ao mesmo tempo
Prefere o app? Volte para esta aula na versão do app Claude Desktop
O vídeo desta aula está na versão do app.
Ver o vídeo na versão do appObjetivos
Ao final desta aula você vai saber:
- Abrir duas conversas ao mesmo tempo, na pasta da sua página, cada uma na sua tarefa
- Dividir o trabalho por arquivo, para uma conversa não atropelar a outra
- Pedir um ajudante (subagente) em segundo plano e ver o que está rodando com
/tasks - Por que duas conversas gastam o seu limite duas vezes
- Que existe uma pesquisa grande, feita por vários ajudantes, o
/deep-research, e quando vale usar
Até aqui, você trabalhou com uma conversa por vez: pedia, esperava, conferia. Mas duas tarefas que não têm nada a ver uma com a outra, como escrever os posts da semana e mudar o visual da página, não precisam esperar na fila. Nesta aula, você abre duas conversas ao mesmo tempo, cada uma na sua tarefa, e aprende o cuidado que isso pede.
É uma aula para saber que existe: o trilho principal é curto, e as formas mais poderosas, feitas para quem programa, ficam na parte "Para ir além", no fim.
Do que esta aula precisa: a pasta da sua página (a confeitaria, ou a da sua ideia), com as versões guardadas das Aulas 06 e 10, e a skill post-instagram da Aula 13. Pulou a Aula 13? Dá para pedir os posts sem ela, como você vai ver. A aula não usa o GitHub nem a página no ar: quem pulou a Aula 19 faz tudo igual. Só a pesquisa opcional do fim depende do plano: no Pro, ela pede para ligar uma opção antes.
Duas conversas na mesma pasta
Primeiro, um ponto de volta. Abra o terminal, entre na pasta e abra o Claude Code, como sempre: cd Documents/confeitaria, com o nome da sua pasta, e depois claude. Confira se aparece manual mode on; se não aparecer, aperte Shift + Tab até aparecer. Então peça:
Tem alguma mudança que ainda não foi guardada numa versão? Se tiver, guarde uma versão com uma mensagem em português.
Agora, a segunda conversa:
- Abra o terminal mais uma vez, do mesmo jeito que você abre sempre. No Mac, com o Terminal na frente,
Cmd + Nabre uma janela nova. - Nessa janela nova, faça o mesmo:
cd Documents/confeitaria,claudee omanual mode on. - Ponha as duas janelas lado a lado. Para não confundir, dê um nome a cada conversa, como na Aula 10:
/rename postsna primeira e/rename cabecalhona segunda. O nome aparece junto da caixa de texto.
Na janela posts, peça:
Use a skill post-instagram para escrever três posts da semana: um do bolo de cenoura, um do brigadeiro e um da torta de limão. Salve os três num arquivo novo, posts/semana.md. Não mexa em nenhum outro arquivo.
Não tem a skill? Peça os posts do mesmo jeito e diga o que cada um precisa ter: o preço, o link do WhatsApp e cinco hashtags.
Na janela cabecalho, sem esperar a outra terminar, peça:
Mude o visual do cabeçalho da página: um fundo com a cor principal do decisoes.md e o nome da confeitaria em letras maiores. Não mexa na pasta posts.
No Manual, cada conversa pede licença na janela dela antes de criar ou mudar um arquivo. Responda numa, responda na outra: enquanto uma espera por você, a outra continua trabalhando.
Pronto quando: o arquivo posts/semana.md aparece na pasta, com os três posts, cada um com o preço, o link e as hashtags; e, no navegador, o cabeçalho novo aparece, com o cardápio, o filtro e o botão do WhatsApp funcionando como antes. Clique em Bolos e em Todos para conferir.
Gostou das duas? Agora sim, guarde uma versão, numa das conversas: "guarde uma versão com os posts da semana e o cabeçalho novo". Uma versão só fecha o trabalho das duas.
O cuidado: a mesma pasta para as duas
As duas conversas trabalham na mesma pasta, ao mesmo tempo. Sem uma cópia separada da pasta (o worktree, da parte "Para ir além"), cada conversa mexe nos arquivos da própria pasta do projeto, e nenhuma acompanha o que a outra está fazendo. Daí vêm três cuidados:
- Cada conversa no seu arquivo. Se as duas mexerem no mesmo arquivo ao mesmo tempo, uma pode atropelar a outra: a mudança de uma pode sumir, ou as duas podem sair misturadas. Por isso, os pedidos acima dizem onde cada uma pode mexer.
- Uma versão guardada antes de começar. Se algo der errado, é para ela que você volta.
- Desfazer e guardar, só com as duas terminadas. Desfazer até a última versão guardada (Aula 10) vale para a pasta inteira: pedido numa conversa, joga fora também o que a outra fez e ainda não foi guardado. Não gostou dos posts enquanto o cabeçalho ainda está sendo feito? Peça só o que é daquela conversa, como "apague o arquivo posts/semana.md", ou espere as duas terminarem. Do mesmo jeito, guarde a versão no fim, para ela não levar uma mudança feita pela metade.
Ajudantes em segundo plano
Duas janelas não são o único jeito de o Claude fazer duas coisas ao mesmo tempo. Os ajudantes da Aula 12, os subagentes, já trabalham em segundo plano: o Claude chama um, ele faz a parte dele com a própria memória de trabalho, e você continua conversando. Na janela posts, peça:
Use um ajudante para revisar a ortografia dos três posts e me trazer só a lista do que corrigir, sem mudar nada.
Enquanto ele trabalha, digite /tasks: a lista mostra o que está rodando em segundo plano nesta conversa, e também o que já terminou. Quando o ajudante acaba, a lista de correções aparece na conversa. Se ele precisar de licença para alguma coisa, o pedido aparece na sua conversa, com o nome dele.
O uso: duas conversas, duas vezes
Cada conversa gasta o seu uso, e cada ajudante também. Duas conversas ao mesmo tempo gastam o seu limite mais ou menos duas vezes mais depressa (Aula 08). Abra a segunda quando as tarefas forem mesmo independentes, e confira o uso com /usage de vez em quando.
Opcional: uma pesquisa grande, feita por vários ajudantes
A forma mais forte de trabalho em paralelo são os workflows: roteiros que comandam muitos ajudantes de uma vez. Quase tudo sobre eles fica em "Para ir além", mas um já vem pronto e serve a quem não programa: o /deep-research, para uma pesquisa grande na internet. Vários ajudantes buscam por caminhos diferentes, conferem as fontes uns dos outros e entregam um relatório só, com o link de cada fonte.
⚠️ É a forma mais cara desta aula. Cada ajudante gasta o seu uso, e uma pesquisa pode chamar muitos. Comece por uma pergunta pequena e confira o
/usagedepois.
No plano Pro, os workflows vêm desligados. Digite
/config, procure a linha Dynamic workflows (workflows dinâmicos) e ligue. Nos outros planos, eles já vêm ligados.Digite
/deep-researche a pergunta, trocando a cidade pela sua:/deep-research quanto as confeitarias de Curitiba cobram por um cento de brigadeiros?No Manual, o Claude pergunta se pode rodar o workflow: escolha Yes, run it (sim, rodar). Depois, podem aparecer pedidos de licença para buscar na internet e para abrir os sites. Buscar e ler um site não muda nada na sua pasta. Na busca, dá para escolher não ser perguntado de novo nesta pasta; cada site novo pede uma vez.
A pesquisa roda em segundo plano, e a conversa fica livre. Para acompanhar, digite
/workflows: aparecem as fases e quantos ajudantes trabalham em cada uma.
Pronto quando: o relatório aparece na conversa, com o link de cada fonte. Os preços mudam, então abra dois ou três links antes de usar um número.
Na prática
Use a pasta da sua página (a confeitaria, ou a da sua ideia).
- Abra o Claude Code na pasta, confira o
manual mode one peça: "tem alguma mudança que ainda não foi guardada numa versão?". Se tiver, guarde uma versão. - Abra uma segunda janela do terminal, com
cd Documents/confeitariaeclaude, e confira omanual mode onnela também. Dê os nomes:/rename postsna primeira e/rename cabecalhona segunda. - Na
posts, peça os três posts num arquivo novo,posts/semana.md, com a skillpost-instagram. Nacabecalho, ao mesmo tempo, peça o cabeçalho novo, sem mexer na pastaposts. Responda aos pedidos de licença nas duas. - Confira: o
posts/semana.mdcom os três posts, e o cabeçalho novo no navegador, com o filtro funcionando. - Na
posts, peça um ajudante para revisar a ortografia dos posts, sem mudar nada, e digite/tasksenquanto ele trabalha. - Com as duas terminadas, guarde uma versão: "guarde uma versão com os posts da semana e o cabeçalho novo". Depois, feche a janela
cabecalhocom/exit. - (Opcional) Rode o
/deep-researchcom uma pergunta pequena sobre preços na sua cidade e acompanhe em/workflows.
Resumo
- Duas tarefas independentes não precisam esperar na fila: abra duas conversas na mesma pasta, uma em cada janela do terminal, com o
manual mode onnas duas. - As duas mexem na mesma pasta: divida o trabalho por arquivo, guarde uma versão antes de começar e outra no fim, com as duas terminadas.
- Desfazer até a última versão guardada vale para a pasta inteira, com o que a outra conversa fez junto.
- Os ajudantes da Aula 12 trabalham em segundo plano dentro da conversa, e o
/tasksmostra o que está rodando. - Duas conversas gastam o limite duas vezes: escolha sempre a forma mais leve que resolve.
- O
/deep-researchfaz uma pesquisa grande, com vários ajudantes, e entrega um relatório com os links. É a forma mais cara: comece pequeno.
Na próxima aula: plugins, pacotes prontos, com receitas e outros recursos, para instalar de uma vez.
Quer ir mais fundo? Veja a página que compara as formas de rodar agentes em paralelo na documentação oficial (em inglês).
Para ir além (opcional): cópias separadas, a tela de agentes e os workflows
Para quem já programa; pode pular. Daqui em diante, a aula usa os nomes técnicos: sessão para conversa, worktree para cópia separada e commit para versão guardada.
Qual forma usar
| Forma | Quem coordena | Use quando |
|---|---|---|
| Subagentes (Aula 12) | O Claude, dentro da sua conversa | Uma busca lateral encheria a conversa de resultados que você não vai reler |
| Duas sessões na mesma pasta (o trilho principal) | Você | As tarefas são independentes e mexem em arquivos diferentes |
Worktrees (claude --worktree) |
Você | As sessões podem mexer nos mesmos arquivos |
Agent view (claude agents) |
Você: despacha as tarefas e confere depois | Você tem várias tarefas independentes e quer só acompanhar quem precisa de você |
/batch |
O Claude, com um plano que você aprova | Uma mudança grande e repetitiva, como migrar dezenas de arquivos |
| Equipe de agentes | Uma sessão líder, que distribui o trabalho | As partes precisam conversar entre si, como numa revisão com vários pontos de vista |
| Workflow dinâmico | Um script que o Claude escreve | O trabalho é grande demais para uma conversa: uma auditoria do repositório inteiro, centenas de arquivos |
| Projetos (Aula 17) | O Claude, na nuvem | Muitas tarefas ao longo de dias, rodando mesmo com o computador desligado |
A documentação avisa: rodar várias sessões ou subagentes ao mesmo tempo multiplica o uso de tokens.
Cópia separada: claude --worktree
Duas sessões que podem mexer nos mesmos arquivos precisam de uma cópia separada da pasta para cada uma: um worktree, que a Aula 10 apresentou em "Para ir além".
claude --worktree posts # terminal 1
claude --worktree cabecalho # terminal 2Cada sessão trabalha em .claude/worktrees/<nome>/, num branch novo chamado worktree-<nome>, e o que ela faz só chega à pasta principal quando você junta esse branch à main, por um pull request como o da Aula 19 ou com um merge local. Os cuidados da Aula 10 continuam valendo:
- O repositório precisa ter pelo menos um commit, e a pasta precisa ser confiável: rode
claudeuma vez nela antes. - O worktree parte do branch principal do repositório remoto (em geral, o
maindo GitHub, depois da Aula 19), não do branch em que você está. Commits que ainda não foram enviados não aparecem nele, a menos que você configureworktree.baseRefcomo"head". - É uma pasta nova em folha, sem o
.env. Para copiar arquivos ignorados pelo Git, liste-os num.worktreeincludena raiz. - Acrescente
.claude/worktrees/ao.gitignore. - Ao sair, se houver trabalho no worktree, o Claude Code pergunta se você quer manter ou remover. Remover apaga a pasta, o branch e tudo o que foi feito neles.
A tela de agentes: claude agents
A agent view é uma tela só para todas as suas sessões em segundo plano: o que está trabalhando, o que precisa de você e o que já terminou. Ela está em prévia de pesquisa, então a aparência e os atalhos ainda podem mudar.
claude agents- Despache: digite uma tarefa e aperte
Enter. Cada pedido vira uma sessão nova, numa linha da tabela. Digitar outro pedido abre uma segunda sessão, em vez de mandar uma continuação para a primeira. - Acompanhe: o ícone de cada linha mostra o estado: trabalhando, precisa de você, concluída ou com erro.
- Espie e responda: escolha a linha com as setas e aperte
Espaço. Aparece a última saída, ou a pergunta que ela está esperando, e você responde ali mesmo. - Entre na conversa:
Enter(ou→) abre a sessão inteira.←com o prompt vazio volta para a tabela.
As sessões da agent view continuam rodando com a tela fechada, e até com o terminal fechado: quem cuida delas é um processo separado. Elas sobrevivem ao computador dormir, mas param se ele desligar. É a diferença para as duas janelas do trilho principal: uma sessão aberta com claude direto termina quando o terminal dela fecha, a menos que você a mande para o segundo plano com /bg (ou /background). Ela então vira mais uma linha na tabela.
💡 Um worktree para cada sessão, e commits sem perguntar. Antes de editar, cada sessão que você despacha entra num worktree próprio, em
.claude/worktrees/. A exceção é a conversa que você mandou com/bg: ela continua editando a pasta onde já estava. Para o trabalho não se perder, a sessão em segundo plano faz commit sem perguntar e envia o branch dela para o GitHub quando o repositório tem um remoto, como aconfeitariadepois da Aula 19. Ela nunca envia para amain, nunca força um envio e nunca faz merge, e a regra ask da Aula 10 continua pedindo a sua resposta antes dogit push. Se o pedido ou oCLAUDE.mddisser que você cuida dos commits, ela deixa o Git com você. Apagar a sessão na agent view (Ctrl + Xduas vezes) apaga o worktree junto, com o que não virou commit.
/fork e /subtask: aproveite a conversa
Às vezes a tarefa paralela nasce no meio de uma conversa, quando o Claude já sabe tudo o que precisa. Dois comandos aproveitam esse contexto:
| Comando | O que faz | O resultado vai para |
|---|---|---|
/fork <tarefa> |
Copia a conversa inteira para uma sessão nova em segundo plano, que começa a trabalhar na tarefa enquanto você segue aqui | Uma linha própria no claude agents |
/subtask <tarefa> |
Cria um subagente que herda a conversa inteira e trabalha em segundo plano | Esta conversa, quando ele termina |
/fork abra um PR em rascunho com o que fizemos até agora
/subtask procure outros lugares do código com o mesmo bugDepois do /fork, as duas conversas são independentes: nada do que a cópia faz entra na original. A cópia leva o modelo, o modo de permissão e as permissões "don't ask again" da sessão, e cria um worktree próprio antes de mexer no código.
ℹ️ Se a agent view estiver desligada, o
/forkfaz o papel do/subtask(cria o subagente), e o/subtasknão aparece. E lembre da Aula 10: o/branchtambém copia a conversa, mas para você seguir na cópia.
/batch: uma mudança grande em muitas partes
O /batch é uma skill que já vem com o Claude Code, feita para mudanças grandes e repetitivas:
/batch migre a pasta src/ de JavaScript para TypeScript- O Claude pesquisa o código e divide o trabalho em 5 a 30 partes independentes.
- Ele mostra o plano, e você aprova ou pede ajustes.
- Cada parte vira um subagente em segundo plano, num worktree próprio: ele implementa a parte, roda os testes e publica a sua mudança.
O /batch precisa de um repositório Git, ou de um hook WorktreeCreate que crie as cópias isoladas (fora do Git, a partir da v2.1.281). Como cada parte é um agente, uma mudança dividida em 30 partes gasta como 30 tarefas: comece por uma pasta pequena para medir.
Equipes de agentes (experimental)
Numa equipe de agentes, a sua sessão vira a líder: ela divide o trabalho numa lista de tarefas compartilhada, chama colegas (outras sessões do Claude) e junta os resultados. A diferença para os subagentes é que os colegas conversam entre si, e você pode falar com qualquer um deles diretamente.
É um recurso experimental e vem desligado. Para ligar, coloque no settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}Depois, peça em linguagem natural:
Crie uma equipe de agentes para revisar o PR 142: um colega olha a
segurança, outro o desempenho e outro a cobertura de testes. Eles
devem comparar o que encontraram antes de me entregar.Os colegas aparecem num painel embaixo da caixa de texto: escolha um com as setas e aperte Enter para ver o que ele está fazendo e mandar uma mensagem. Bons hábitos, segundo a documentação:
- Comece com 3 a 5 colegas. Três focados costumam render mais do que cinco espalhados, e cada um gasta como uma sessão inteira.
- Cada colega cuida de arquivos diferentes. A equipe não usa worktrees, e dois colegas editando o mesmo arquivo sobrescrevem o trabalho um do outro.
- Comece por pesquisa e revisão, em que a troca de pontos de vista vale mais, antes de pedir implementação.
Workflows dinâmicos e o Ultracode
Um workflow dinâmico é um script que o próprio Claude escreve para comandar dezenas ou centenas de subagentes. Quem decide o próximo passo é o script, não a conversa, então os resultados intermediários não enchem o seu contexto: você recebe só a resposta final. O script também pode pôr agentes para conferir o trabalho uns dos outros antes de te entregar.
Três jeitos de usar, além do /deep-research do trilho principal:
- Num pedido: escreva a palavra
ultracodeno prompt (ou peça "use um workflow"), e o Claude monta um workflow só para aquela tarefa. Se não queria,Option + Wno Mac ouAlt + Wno Windows e no Linux desliga o destaque daquele prompt. - Na sessão inteira:
/effort ultracodeliga o Ultracode, e o Claude decide sozinho quando cada tarefa merece um workflow. Desligue com/effort ultracode offquando voltar ao trabalho do dia a dia. - Um que deu certo: salve como comando seu, apertando
sna tela do/workflows.
ultracode: em src/routes/, encontre os endpoints que não checam a autenticaçãoAntes de rodar, o Claude mostra as fases planejadas e pede a sua aprovação: Yes, run it, View raw script (ver o script) ou No. No Manual, ele pergunta a cada execução; no modo auto, só na primeira vez. Os agentes do workflow seguem as suas regras de permissão, e a execução só pausa sozinha para um pedido de licença de algum agente ou para esperar o limite de uso. Para uma execução longa sem perguntas, acrescente antes às regras allow as ferramentas de que os agentes vão precisar.
Acompanhe com /workflows: dá para ver cada fase, entrar num agente, pausar e parar.
⚠️ Workflow é a forma mais cara de todas. Um só pode chamar muitos agentes, e com o Ultracode ligado cada pedido pode virar vários workflows. Teste numa pasta pequena antes do repositório inteiro. No plano Pro, os workflows vêm desligados: ligue na linha Dynamic workflows do
/config, que grava oenableWorkflowsnas suas configurações. Para desligar de vez, a mesma linha.
Perguntas de fixação
Três perguntas rápidas para conferir se a ideia principal da aula ficou. Escolha uma opção: a página mostra se você acertou e explica a resposta.
Você abriu duas conversas na pasta da página: uma vai escrever os posts da semana, e a outra vai mudar o cabeçalho. Qual é o jeito mais seguro de dividir o trabalho?
Ver a resposta
Resposta: c) As duas conversas trabalham na mesma pasta e não acompanham o que a outra faz. Se as duas mexerem no mesmo arquivo, uma pode atropelar a outra, então cada uma fica no seu arquivo, e a versão guardada antes é o ponto de volta. O modo auto não resolve: ele só tira os pedidos de licença (Aula 20).
A conversa dos posts terminou, mas a do cabeçalho ainda está trabalhando. Você não gostou dos posts e pensa em pedir, na conversa dos posts, "desfaça as mudanças desde a última versão guardada". O que pode acontecer?
Ver a resposta
Resposta: a) Desfazer até a última versão guardada vale para a pasta inteira, como na Aula 10, e não só para o que aquela conversa fez. Com a outra ainda trabalhando, peça só o que é daquela conversa, como apagar o posts/semana.md, ou espere as duas terminarem (Aula 20).
Você pediu um ajudante (subagente) para revisar a ortografia dos três posts e continuou conversando. Como ver o que está rodando em segundo plano nesta conversa?
Ver a resposta
Resposta: d) Os ajudantes da Aula 12 trabalham em segundo plano enquanto você conversa, e o /tasks mostra o que está rodando na conversa, e também o que já terminou. Quando o ajudante acaba, o resultado aparece na conversa (Aula 20).