0Pricing
AI Agents · Aula

Pilhas de objetivos e retrocesso

Empilhe subobjetivos, retire-os da pilha ao concluí-los e retroceda em becos sem saída — planejamento clássico de IA.

Pilhas de objetivos e retrocesso é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 2 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.

Uma pilha de objetivos

O planejamento clássico de IA usa uma pilha de objetivos: use push para inserir subobjetivos à medida que os encontra e pop para removê-los quando forem concluídos. Os agentes podem usar a mesma estrutura de dados:

goal_stack = []

def push(goal):
    goal_stack.append(goal)

def pop():
    return goal_stack.pop() if goal_stack else None

def current():
    return goal_stack[-1] if goal_stack else None

# --- demo ---
push('write the report')
push('collect the data')
print(f'Current goal: {current()}')
print(f'Popped: {pop()}')
print(f'Current goal after pop: {current()}')

Example: Refactoring Workflow

push('Refactor auth')
while current():
    g = current()
    if g == 'Refactor auth':
        if not done('add_oauth_dep'):
            push('Add OAuth dependency')
        elif not done('replace_login'):
            push('Replace login endpoint')
        else:
            pop()   # done
    elif g == 'Add OAuth dependency':
        # ...actually do the work...
        mark_done('add_oauth_dep')
        pop()

Retrocesso

Quando um objetivo falhar:

  1. Marque-o como falho
  2. Use pop para retornar ao pai
  3. Tente uma abordagem diferente (subobjetivos diferentes)

Backtracking Example

def attempt(goal):
    for approach in [oauth, saml, custom_token]:
        try:
            return run_with(goal, approach)
        except FailedException:
            continue
    raise NoApproachWorked(goal)

Acompanhe as abordagens tentadas

Evite tentar novamente a mesma abordagem que falhou. Acompanhe o que foi tentado para cada objetivo:

{
    'goal_id': 'refactor-auth',
    'tried': ['oauth', 'saml'],
    'remaining_options': ['custom_token']
}

LLM como selecionador de objetivos

Use o LLM para decidir o que inserir com push em seguida:

next_goal = llm.invoke(f'Current goal: {current()}. Done so far: {done_list}. What sub-goal next?').content
push(next_goal)

Pré-condições e efeitos

Recorra ao planejamento STRIPS: cada ação tem pré-condições (o que deve ser verdadeiro) e efeitos (o que se torna verdadeiro):

action = {
    'name': 'replace_login',
    'preconditions': ['oauth_dep_installed'],
    'effects': ['login_endpoint_replaced']
}

Ciclo de planejamento e ação

Abordagem em duas fases:

  1. Planejar — o planejador simbólico cria a pilha de objetivos
  2. Agir — o agente executa o elemento no topo da pilha, atualiza o estado do mundo e replaneja se necessário

Simbólico híbrido + LLM

Para tarefas com pré-condições bem definidas (operações em arquivos, implantações), use um planejador simbólico. Para partes imprecisas, use o LLM. Combine os dois para obter robustez.

Becos sem saída

Às vezes, o agente chega a um estado em que nenhuma ação ajuda. Reconheça os becos sem saída e faça um retrocesso maior:

if no_progress_in_n_steps(5):
    pop_to_parent()
    try_different_approach()

Limite a profundidade do retrocesso

Um retrocesso sem limites pode entrar em um ciclo infinito. Defina limites para a profundidade e o total de iterações:

MAX_BACKTRACKS = 10
if backtrack_count >= MAX_BACKTRACKS:
    escalate_to_human()

Mostre os retrocessos aos usuários

Quando o agente fizer um retrocesso, informe ao usuário: "OAuth não funcionou, tentando SAML." Isso mantém a confiança e permite que ele intervenha antecipadamente.

Gatilho de retrocesso

Quando o agente deve fazer um retrocesso a partir de um subobjetivo?

Recapitulação

A pilha de objetivos acompanha o "onde estou?" do agente. Insira subobjetivos com push, remova os concluídos com pop e faça retrocessos em becos sem saída. Combine planejamento simbólico com o julgamento do LLM.

Perguntas Frequentes

A aula “Pilhas de objetivos e retrocesso” é grátis?

Sim — o texto completo de “Pilhas de objetivos e retrocesso” é 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 “Pilhas de objetivos e retrocesso”?

Empilhe subobjetivos, retire-os da pilha ao concluí-los e retroceda em becos sem saída — planejamento clássico de IA. 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 2 de 4.

Quanto tempo leva a aula “Pilhas de objetivos e retrocesso”?

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