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:
- Marque-o como falho
- Use pop para retornar ao pai
- 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:
- Planejar — o planejador simbólico cria a pilha de objetivos
- 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
- Decomposição hierárquica de tarefas
- Pilhas de objetivos e retrocesso
- Modelos do mundo e antecipação
- Ciclos de reflexão e autocrítica