0Pricing
AI Agents · Aula

Decomposição hierárquica de tarefas

Objetivo de alto nível -> subobjetivos -> sub-subobjetivos — a única maneira de pessoas (e agentes) lidarem com tarefas grandes.

Decomposição hierárquica de tarefas é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Quando as tarefas ficam grandes

"Refatore o módulo de autenticação" é grande demais para um único prompt. O agente precisa dividi-lo em partes menores e gerenciáveis.

A decomposição hierárquica de tarefas (HTD) é a forma como pessoas e agentes lidam com isso.

A hierarquia

  1. Objetivo — o objetivo de alto nível
  2. Subobjetivos — fases principais
  3. Tarefas — etapas concretas
  4. Ações — chamadas individuais de ferramentas

Example Decomposition

Goal: Refactor authentication module to use OAuth.

  Sub-goal 1: Set up OAuth dependencies
    Task: Add dependency to requirements.txt
    Task: Configure OAuth client

  Sub-goal 2: Replace existing auth flow
    Task: Replace login endpoint
    Task: Replace session middleware
    Task: Update tests

  Sub-goal 3: Migration and rollout
    Task: Write migration script
    Task: Update documentation

LLM-Driven Decomposition

DECOMPOSE_PROMPT = '''
Decompose this goal into 3-6 sub-goals. For each sub-goal, list 2-5 concrete tasks.
Return JSON: {sub_goals: [{name, tasks: [str]}]}

Goal: {goal}
'''

Decomposição recursiva

Se uma tarefa ainda for grande demais, decomponha IT ainda mais. Pare quando uma tarefa couber em uma única etapa do LLM (cerca de 3 a 5 chamadas de ferramentas).

Quando parar de decompor

Heurísticas:

  • A descrição da tarefa cabe em uma frase
  • A tarefa tem critérios de aceitação claros
  • A tarefa modifica um número pequeno de arquivos
  • A tarefa pode ser verificada por um teste específico

Estruturas em árvore

Represente a decomposição como uma árvore. Cada nó é uma tarefa com: descrição, status (pendente/em execução/concluído/falhou) e filhos:

@dataclass
class TaskNode:
    description: str
    status: Literal['pending', 'running', 'done', 'failed']
    children: list['TaskNode']
    result: str | None = None

Execute em profundidade

Percorra a árvore em profundidade. Conclua cada folha antes de prosseguir:

def execute(node):
    if node.children:
        for child in node.children:
            execute(child)
    else:
        node.status = 'running'
        try:
            node.result = run_leaf(node)
            node.status = 'done'
        except Exception as e:
            node.status = 'failed'

Agregando resultados

Após a conclusão dos filhos, use aggregate no pai:

def aggregate(parent):
    summaries = [c.result for c in parent.children if c.status == 'done']
    parent.result = llm.invoke(f'Summarise these sub-task results: {summaries}').content

Mostre a árvore aos usuários

Para agentes de longa duração, mostre aos usuários a árvore com atualizações de status em tempo real. Confiança e transparência:

[x] Add OAuth dependency
[x] Configure OAuth client
[~] Replace login endpoint   <-- in progress
[ ] Replace session middleware
[ ] Update tests

Permita editar a árvore

Usuários avançados podem querer ignorar, adicionar ou reordenar tarefas. Ofereça suporte a edições manuais na árvore do plano.

Replaneje após uma falha

Se uma subtarefa falhar repetidamente, retorne ao pai e faça uma nova decomposição:

if failed_count(node) > 2:
    parent = node.parent
    parent.children = llm_replan(parent, failure_context=node.last_error)

Custo da decomposição

Cada decomposição é uma chamada de LLM. O armazenamento em cache ajuda — o mesmo objetivo -> a mesma decomposição inicial.

Quando parar de dividir

Quando o agente deve parar de decompor as tarefas?

Recapitulação

Objetivos -> subobjetivos -> tarefas -> ações. Crie uma árvore, execute em profundidade, agregue os resultados e replaneje após falhas. O padrão consagrado para trabalhos de longo horizonte.

Perguntas Frequentes

A aula “Decomposição hierárquica de tarefas” é grátis?

Sim — o texto completo de “Decomposição hierárquica de tarefas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.

O que vou aprender em “Decomposição hierárquica de tarefas”?

Objetivo de alto nível -> subobjetivos -> sub-subobjetivos — a única maneira de pessoas (e agentes) lidarem com tarefas grandes. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Agents?

Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Decomposição hierárquica de tarefas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Agents?

Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Decomposição hierárquica de tarefas
  2. Pilhas de objetivos e retrocesso
  3. Modelos do mundo e antecipação
  4. Ciclos de reflexão e autocrítica
← Voltar para AI Agents