---
title: Context e tasks
description: Como o Decopilot gerencia memory e como usar subtasks para trabalhos pesados
icon: Layers
---

import Callout from "../../../../../components/ui/Callout.astro";

O Decopilot organiza o trabalho como **tasks** (suas conversas) e **subtasks** (conversas paralelas focadas que se ramificam). Entender como elas compartilham memory ajuda você a fazer mais em uma única sessão.

## O que é uma task?

Uma **task** é sua conversa com o Decopilot — onde você conversa, o Decopilot usa tools e o trabalho é feito. Toda task roda em um escopo (org ou agent — veja [Visão geral](/pt-br/studio/decopilot/overview)) que determina quais instruções e tools são carregadas.

Toda task tem um destes quatro estados:

- **In progress** — o agent está trabalhando ou aguardando sua próxima mensagem
- **Requires action** — pausada, aguardando seu input (uma tool precisa de aprovação ou ele fez uma pergunta)
- **Completed** — o trabalho terminou com sucesso
- **Failed** — algo deu errado ou a task expirou

Tasks expiram após **30 minutos de inatividade**. Se você está trabalhando em algo mais longo, envie uma mensagem periodicamente para mantê-la ativa.

---

## Como a memory se enche

Todo model de IA tem um limite de quanto pode reter em memory ao mesmo tempo — suas instruções, as tools disponíveis e todo o histórico da conversa contam para esse limite. Quanto mais você discutiu, mais memory é ocupada.

Quando uma task começa, o Decopilot carrega:

- Suas instruções e comportamentos centrais
- Diretrizes do seu escopo atual
- As tools disponíveis nesse escopo
- Seu histórico de conversa até o momento

Conforme a conversa cresce, o histórico ocupa mais espaço. Quando fica muito cheio, o Decopilot automaticamente resume as partes mais antigas e mantém o resumo no lugar — liberando espaço sem perder o context importante.

### A regra 40/80

- **Abaixo de 40% cheio** — bastante espaço, nenhuma ação necessária
- **40–80% cheio** — ainda funcionando bem, mas vale a pena encerrar a fase atual
- **Acima de 80% cheio** — o Decopilot compacta automaticamente o histórico da conversa

Você pode acionar isso manualmente com o comando `/compact` — útil antes de iniciar uma nova fase de trabalho complexo.

<Callout type="tip">
Use `/compact` quando estiver terminando uma grande task e iniciando outra. Ele mantém a conversa enxuta sem perder o que importa.
</Callout>

---

## Subtasks

Uma **subtask** é uma conversa separada que se ramifica da sua task principal para lidar com trabalho focado. A diferença-chave: ela começa do zero — sem histórico da sua conversa principal.

A subtask roda, faz o trabalho e retorna apenas um curto resumo para sua task principal. Detalhes completos ficam salvos no histórico da task, caso você precise.

### Main task vs. subtask

| | Main task | Subtask |
|---|---|---|
| Histórico da conversa | Acumula ao longo do tempo | Começa do zero |
| Pode fazer perguntas a você | Sim | Não |
| Pode criar subtasks | Sim | Não |
| Retorno à task pai | N/D | Apenas resumo |

Subtasks não podem fazer perguntas a você nem criar subtasks adicionais — elas rodam de forma autônoma e reportam de volta.

### Quando subtasks ajudam

**Pesquisa e análise** — aprofundar em dados, explorar opções ou investigar um problema. Você recebe a conclusão, não cada passo.

**Cálculos complexos** — qualquer coisa que gera saída verbosa pertence a uma subtask. Você vê o resultado, não os bastidores.

**Verificações de qualidade** — auditorias, validação, revisões. Rode-as separadamente e receba um resumo de volta.

**Trabalho em paralelo** — se dois pedaços de trabalho não dependem um do outro, rode-os como subtasks separadas ao mesmo tempo.

### Usando agents especialistas em subtasks

Você pode rodar uma subtask com um [agent](/pt-br/studio/agents) específico — um configurado para um domínio em particular. O agent traz seu próprio conjunto focado de tools e instruções sem afetar sua conversa principal.

**Exemplo**: sua main task é coordenar fulfillment de pedidos. Você inicia subtasks usando um **Inventory Agent** para checar estoque, um **Shipping Agent** para planejar logística e um **Customer Service Agent** para preparar notas de suporte. Cada um roda de forma independente; sua main task recebe os resumos e coordena o resultado.

---

## Dicas práticas

**Fique de olho no indicador de uso** — quando estiver se aproximando de 40%, pense em encerrar a fase atual ou usar `/compact`.

**Use subtasks para trabalho pesado** — pesquisa, análise de dados, code reviews e qualquer coisa que gere saídas longas deve acontecer em subtasks. Mantenha os resumos na sua conversa principal.

**Seja seletivo com tools** — o Decopilot carrega tools na memory. Não habilite tools que você não precisa para a task atual.

**Rode coisas em paralelo** — se duas subtasks não dependem uma da outra, inicie-as ao mesmo tempo.

**Escreva prompts claros** — "Analisar tendências de demanda de vestuário no Q4" é mais útil do que "Fazer análise" quando revisar o histórico de tasks depois.

---

**A seguir:** veja [Tools](/pt-br/studio/decopilot/tools) para a referência completa de tools, ou [Agents](/pt-br/studio/agents) para agents especialistas que você pode usar em subtasks.
