{"content_id":"oswgmcvvui","slug":"loop-engineering-concept-components","locale":"pt","schema_type":"TechArticle","category":"ai_data","category_name":"Dados de IA","title":"Conceito e componentes essenciais da engenharia de loop","summary":"A engenharia de loop é uma abordagem de design em que, quando humanos definem objetivos e restrições, agentes de IA repetem processos de planejamento, execução, teste e correção para melhorar os resultados. Seus componentes centrais podem ser organizados em automação, árvore de trabalho, habilidades, plugins e conectores, subagentes e memória.","author":{"name":"injoys","url":"https://injoys.com/ko/about"},"key_points":["A engenharia de loop não é uma simples redação de prompts, mas uma abordagem para projetar um sistema de trabalho em que a IA possa executar repetidamente até atingir um objetivo.","Se a engenharia de harness cria um ambiente de trabalho seguro e regras, a engenharia de loop faz o motor de execução repetitiva funcionar dentro desse ambiente.","Um loop seguro precisa de um espaço de trabalho isolado, instruções claras, conexão com ferramentas, divisão de papéis, armazenamento de estado e condições de interrupção.","Na automação do desenvolvimento com IA, o loop reúne escrita de código, execução de testes, análise de erros, novas tentativas e solicitação de revisão em um único ciclo fechado de feedback.","A engenharia de loop pode aumentar a produtividade, mas pode se tornar arriscada sem gestão de permissões, controle de custos, verificação de qualidade e mecanismos para evitar repetições infinitas."],"content_markdown":"## Visão geral\n\nA engenharia de loops é um método para projetar uma **estrutura iterativa em que agentes de IA planejam, executam, verificam os resultados, refletem sobre as causas de falha e tentam novamente** em direção a um único objetivo. Ela se torna especialmente importante em tarefas cujos resultados podem ser verificados, como desenvolvimento de software, processamento de dados, geração de documentos e automação de testes.\n\nEsse termo ainda não é usado como termo acadêmico fixo em todos os documentos padrão. No entanto, na prática, ele pode ser explicado como um conceito posterior à engenharia de prompts, à engenharia de contexto e à engenharia de harness. O ponto central não é “dar uma boa instrução à IA uma vez”, mas “criar um sistema em que a IA possa iterar até atingir o objetivo dentro de um ambiente seguro”.\n\n## A evolução da engenharia de IA: do prompt ao loop\n\n| Etapa | Pergunta central | Papel do humano | Papel da IA | Resultado representativo |\n|---|---|---|---|---|\n| Engenharia de prompts | Como perguntar? | Escrever instruções e verificar resultados | Gerar uma única resposta | Resposta, rascunho, trecho de código |\n| Engenharia de contexto | Quais informações de fundo fornecer? | Fornecer documentos, exemplos, políticas e dados | Raciocinar dentro do contexto dado | Respostas mais consistentes, resultados personalizados |\n| Engenharia de harness | Em que ambiente e regras ela deve trabalhar? | Projetar permissões, ferramentas, procedimentos e regras de segurança | Usar ferramentas dentro de um ambiente definido | Fluxo de trabalho controlado de agentes |\n| Engenharia de loops | Como fazê-la iterar até atingir o objetivo? | Definir objetivo, restrições, critérios de avaliação e condições de parada | Repetir execução, verificação, correção e nova tentativa | Loop de trabalho com melhoria automática |\n\n### Engenharia de prompts\n\nA engenharia de prompts é a forma de escrever cuidadosamente perguntas, comandos, exemplos e formatos de saída para obter da IA o resultado desejado. É a interação mais básica e se aproxima de uma estrutura em que o humano altera as instruções a cada vez e verifica o resultado.\n\n### Engenharia de contexto\n\nA engenharia de contexto é a forma de fornecer junto documentos, políticas, informações da base de código, preferências do usuário, estilo de saída, conversas anteriores etc. para que o modelo obtenha resultados mais precisos. Janelas de contexto longas, geração aumentada por busca, anexos de arquivos e indexação de bases de código estão relacionados a essa etapa.\n\n### Engenharia de harness\n\nA engenharia de harness projeta **dentro de quais procedimentos e restrições a IA deve agir** quando usa ferramentas e executa várias etapas. Por exemplo, incorpora ao ambiente regras como “leia os arquivos relacionados antes de modificar o código”, “não faça merge se os testes não passarem” e “não acesse arquivos que contenham informações sensíveis”.\n\n### Engenharia de loops\n\nA engenharia de loops é a forma de colocar um **motor de execução iterativa** sobre o ambiente de trabalho controlado criado pelo harness. O agente de IA escolhe por conta própria a próxima ação em direção ao objetivo, usa ferramentas, avalia resultados e, se falhar, modifica a estratégia e executa novamente.\n\n## Definição central da engenharia de loops\n\nA engenharia de loops pode ser definida como o projeto de um sistema de trabalho de IA que satisfaz as seguintes condições.\n\n- O humano define o objetivo final, o escopo permitido, os critérios de avaliação e as condições de parada.\n- O agente de IA elabora um plano de trabalho para atingir o objetivo.\n- O agente usa as ferramentas necessárias, como execução de código, testes, busca, modificação de arquivos e chamadas de API.\n- Se o resultado da execução falhar ou for insuficiente, ele analisa a causa da falha e gera a próxima tentativa.\n- O loop para quando uma condição de parada é satisfeita, como atingir o objetivo, exceder o orçamento, exceder o número de iterações, surgir um sinal de risco ou ser necessária aprovação humana.\n\nOu seja, a essência da engenharia de loops é um **ciclo de feedback automatizado**.\n\n## Por que a engenharia de loops é necessária\n\nNos métodos tradicionais de uso de IA, o humano tende a se tornar o gargalo. Isso porque o humano precisa escrever o prompt, verificar o resultado, solicitar correções novamente, executar testes e copiar mensagens de erro para inserir de novo.\n\nA engenharia de loops sistematiza esse processo repetitivo. Por exemplo, em uma tarefa de desenvolvimento, a IA pode repetir automaticamente o fluxo a seguir.\n\n1. Ler os requisitos e elaborar um plano de trabalho.\n2. Modificar o código em um espaço de trabalho separado.\n3. Executar testes e linter.\n4. Analisar logs de erro.\n5. Criar por conta própria um prompt de correção ou a próxima ação.\n6. Modificar novamente o código.\n7. Quando os critérios de aprovação forem satisfeitos, organizar o resultado e solicitar revisão.\n\nNessa estrutura, o humano não precisa instruir diretamente todas as etapas intermediárias. Em vez disso, o humano se concentra na definição do objetivo, aprovação, tratamento de exceções e julgamento final de qualidade.\n\n## Os 6 componentes essenciais da engenharia de loops\n\n### 1. Automação: o motor que realmente faz o loop girar\n\nA automação é a base que faz o loop ser executado sem entrada manual de uma pessoa. Isso inclui filas de trabalho, schedulers, pipelines CI/CD, runtime de agentes, gatilhos de eventos e políticas de nova tentativa.\n\nAs funções pelas quais a automação é responsável são as seguintes.\n\n- Detectar condições de início da tarefa\n- Executar o agente\n- Chamar ferramentas e coletar resultados\n- Executar etapas de teste ou verificação\n- Tentar novamente em caso de falha\n- Armazenar logs\n- Transicionar para uma etapa de aprovação humana\n- Limitar custo, tempo e número de iterações\n\nA automação não é uma simples “execução automática”, mas um dispositivo de controle que gerencia o ciclo de vida do loop.\n\n### 2. Worktree: espaço de trabalho seguro\n\nO worktree é um espaço de trabalho isolado fornecido para que a IA não danifique diretamente o código principal ou dados reais de operação. Um exemplo representativo é a forma de criar um diretório de trabalho separado no mesmo repositório, como a função `worktree` do Git, para modificar e testar de maneira independente.\n\nO worktree é importante pelos seguintes motivos.\n\n- Protege a branch principal ou o ambiente de produção.\n- Permite que vários agentes executem tarefas diferentes em paralelo.\n- Permite descartar facilmente tentativas malsucedidas.\n- Permite revisar alterações como diff.\n- Permite considerar para merge apenas alterações que passaram nos testes.\n\nNa engenharia de loops, o worktree é o espaço de experimentação da IA. Mesmo que o agente faça modificações ousadas, o isolamento do espaço de trabalho é necessário para que todo o sistema permaneça seguro.\n\n### 3. Skills: guias que servem de padrão de trabalho\n\nSkills são instruções, procedimentos, checklists, regras de codificação, princípios de design e conjuntos de exemplos que a IA deve seguir ao executar uma tarefa específica. Assim como uma pessoa fornece documentos de onboarding a um novo membro da equipe, o agente também precisa de padrões para executar o trabalho.\n\nUm documento de skills pode conter as seguintes informações.\n\n- Explicação da estrutura do projeto e dos módulos principais\n- Estilo de código e regras de nomenclatura\n- Forma de escrever testes\n- Princípios de design de API\n- Itens proibidos de segurança\n- Checklist antes da implantação\n- Local dos logs que devem ser verificados em caso de falha\n- Formato de relatório de resultados\n\nSem skills, o agente passa a depender sempre de raciocínio genérico. Por outro lado, skills bem escritas transmitem à IA a forma de trabalho da organização em um formato reutilizável.\n\n### 4. Plugins e conectores: acesso às ferramentas necessárias\n\nPlugins e conectores permitem que a IA acesse ferramentas e sistemas necessários durante o trabalho. Por exemplo, repositórios de código, rastreadores de issues, sistemas de busca, bancos de dados, repositórios de documentos, executores de teste, navegadores, ferramentas de implantação e sistemas de notificação podem ser alvos de conexão.\n\nO motivo pelo qual a conexão com ferramentas é necessária é claro. Se o agente concluir que “precisa executar testes”, mas não tiver permissão para executá-los, o loop para. Se concluir que “precisa verificar a documentação relacionada”, mas não tiver caminho de acesso aos documentos, a probabilidade de responder por suposição aumenta.\n\nUm bom projeto de conectores precisa dos seguintes princípios.\n\n- Aplicar o princípio do menor privilégio.\n- Separar permissões de leitura e permissões de escrita.\n- Inserir uma etapa de aprovação para trabalhos perigosos.\n- Registrar todas as chamadas de ferramentas em logs.\n- Restringir o acesso a informações sensíveis por meio de uma política separada.\n- Registrar também chamadas de ferramentas malsucedidas no estado do loop.\n\n### 5. Subagentes: trabalhadores de IA com papéis divididos\n\nSubagentes são uma estrutura que faz com que agentes por função colaborem, em vez de um único agente principal cuidar de tudo. Como em uma equipe humana de desenvolvimento, é possível separar papéis de design, backend, frontend, QA, revisão de segurança e documentação.\n\n| Papel | Principais responsabilidades | Exemplo de saída |\n|---|---|---|\n| Agente planejador | Análise de requisitos, decomposição do trabalho, definição de prioridades | Plano de implementação, lista de tarefas |\n| Agente backend | Implementação de API, modelo de dados, lógica de servidor | Alterações de código, testes |\n| Agente frontend | Melhoria de UI, gerenciamento de estado, acessibilidade | Correção de componentes, testes de tela |\n| Agente QA | Execução de testes, reprodução de bugs, verificação de regressão | Logs de falha, procedimento de reprodução |\n| Agente revisor | Verificação de qualidade de código, segurança e estilo | Comentários de revisão, lista de riscos |\n| Agente de documentação | Explicação das alterações, escrita de uso | Notas de release, guia de uso |\n\nA vantagem da estrutura de subagentes é permitir dividir especializações. No entanto, também podem surgir conflitos entre agentes, trabalho duplicado e falta de clareza de responsabilidade, por isso é necessário um papel de coordenador e contratos de trabalho claros.\n\n### 6. Memória: armazenamento de estado que permite interromper e retomar\n\nMemória é a função que armazena o estado atual do loop, tentativas anteriores, causas de falha, razões das decisões, alterações de arquivos, resultados de testes e plano da próxima ação. Quanto mais longo o loop, mais a memória se torna praticamente essencial.\n\nA memória pode ser dividida em dois grandes tipos.\n\n- Memória de curto prazo: plano da sessão de trabalho atual, logs, resultados de chamadas de ferramentas, mensagens de erro\n- Memória de longo prazo: regras do projeto, formas de resolução anteriores, padrões recorrentes de bugs, preferências do usuário, padrões da equipe\n\nSem memória, o agente pode repetir os mesmos erros ou reiniciar do zero uma tarefa que parou no meio. Por outro lado, uma memória bem projetada mantém o loop de forma estável e reduz custos.\n\n## Arquitetura básica da engenharia de loops\n\nUm sistema de engenharia de loops geralmente tem a seguinte estrutura.\n\n1. Entrada do objetivo: o humano fornece o problema a resolver e os critérios de conclusão.\n2. Coleta de contexto: lê código, documentos, issues, logs e políticas.\n3. Elaboração do plano: o agente divide o trabalho em etapas pequenas.\n4. Execução: realiza modificação de código, criação de arquivos, processamento de dados e chamadas de ferramentas.\n5. Verificação: executa testes, lint, verificação de tipos, verificação de políticas e revisão.\n6. Avaliação: julga se os critérios do objetivo foram satisfeitos.\n7. Iteração: se falhar, analisa a causa e retorna com um novo plano.\n8. Encerramento: para por sucesso, excesso de limite, detecção de risco ou necessidade de aprovação humana.\n9. Relatório: resume alterações, resultados de verificação, riscos restantes e próximas ações recomendadas.\n\nEsse fluxo pressupõe não uma “IA que apenas repete pensamentos”, mas uma “IA que age em um ambiente real e verifica resultados”.\n\n## Diferença entre engenharia de harness e engenharia de loops\n\n| Categoria | Engenharia de harness | Engenharia de loops |\n|---|---|---|\n| Objetivo | Criar um ambiente para a IA trabalhar com segurança | Fazer a IA iterar até atingir o objetivo |\n| Elementos centrais | Regras, permissões, ferramentas, procedimentos, limites | Execução iterativa, feedback, nova tentativa, armazenamento de estado |\n| Resposta a falhas | Impedir ações perigosas ou solicitar aprovação | Gerar a próxima tentativa refletindo a causa da falha |\n| Intervenção humana | Foco no projeto de políticas e ambiente | Foco na definição de objetivos, tratamento de exceções e aprovação final |\n| Analogia | Local de trabalho e equipamentos de segurança | Linha de produção que mantém o local de trabalho em movimento |\n\nSe um loop for criado sem harness, o agente pode realizar ações perigosas com permissões excessivas. Se houver apenas harness sem loop, existe um ambiente seguro, mas a produtividade fica limitada. Na prática, as duas abordagens são necessárias em conjunto.\n\n## Exemplo de aplicação: loop de um agente de codificação de IA\n\nNo desenvolvimento de software, a engenharia de loops é relativamente fácil de entender. Por exemplo, suponha que o objetivo dado seja “corrigir um erro de login”.\n\n### Entrada\n\n- Objetivo: corrigir bug em que ocorre falha de login em condições específicas\n- Critérios de conclusão: testes relacionados aprovados, sem regressão na função de login existente, envio de resumo das alterações\n- Restrições: não alterar o método de armazenamento de tokens de autenticação, não modificar diretamente o banco de dados de usuários\n\n### Execução do loop\n\n1. O agente lê a descrição da issue e os arquivos relacionados.\n2. Cria uma branch separada ou diretório de trabalho no worktree.\n3. Reproduz o teste que falha.\n4. Analisa logs de erro e código relacionado.\n5. Aplica uma proposta de correção.\n6. Executa os testes.\n7. Se falhar, resume a causa e tenta outra proposta de correção.\n8. Se tiver sucesso, organiza diff, resultados de testes e fatores de risco.\n9. Solicita aprovação de merge a um revisor humano.\n\nNesse exemplo, o humano não copia logs de erro a cada vez para escrever um novo prompt. Em vez disso, o loop executa o trabalho repetitivo, e o humano intervém nas etapas que exigem julgamento final e responsabilidade.\n\n## Variáveis de controle que devem ser definidas ao projetar\n\nA engenharia de loops às vezes é explicada pressupondo iteração infinita, mas, em sistemas reais, “infinito” é perigoso. Um loop seguro precisa de limites claros.\n\n| Variável de controle | Descrição | Exemplo |\n|---|---|---|\n| Número máximo de iterações | Limitar quantas vezes a mesma tarefa será tentada novamente | Máximo de 5 novas tentativas |\n| Orçamento de tempo | Limitar o tempo de execução do loop | Interromper se exceder 30 minutos |\n| Orçamento de custo | Limitar chamadas ao modelo, uso de ferramentas e custos de infraestrutura | Até 10 dólares por tarefa |\n| Escopo de permissões | Separar permissões de leitura, escrita, execução e implantação | Proibir escrita no DB de produção |\n| Pontos de aprovação | Definir momentos que exigem revisão humana | Aprovação antes de implantação, exclusão, pagamento, envio externo |\n| Critérios de sucesso | Condições objetivas para julgar conclusão | Testes aprovados, critério de precisão satisfeito |\n| Critérios de falha | Sinais de risco que exigem interrupção | Mesmo erro repetido 3 vezes, alerta de segurança ocorrido |\n\nUm bom loop não é um loop que gira muito, mas um **loop que sabe parar no momento adequado**.\n\n## Critérios de avaliação de qualidade\n\nAo avaliar um sistema de engenharia de loops, não se deve olhar apenas se “a IA deu uma resposta”, mas também os seguintes indicadores.\n\n- Taxa de atingimento do objetivo: proporção de tarefas dadas concluídas com sucesso\n- Número de iterações até o primeiro sucesso: se houve novas tentativas desnecessárias\n- Taxa de aprovação em testes: se os critérios de verificação automática foram satisfeitos\n- Taxa de regressão: proporção em que funcionalidades existentes foram quebradas\n- Número de intervenções humanas: se a automação reduziu de fato o gargalo\n- Custo-benefício: desempenho em relação ao custo de chamadas ao modelo e custo de infraestrutura\n- Auditabilidade: se é possível rastrear quais ferramentas foram chamadas e por quê\n- Taxa de violação de segurança: se arquivos, API ou dados proibidos foram acessados\n- Reprodutibilidade: se resultados semelhantes surgem sob as mesmas condições\n\nEspecialmente no desenvolvimento de software, apenas passar nos testes pode não ser suficiente. Segurança, desempenho, manutenibilidade e experiência do usuário também devem ser revisados em conjunto.\n\n## Padrões comuns de falha\n\n### 1. Quando os critérios de sucesso são ambíguos\n\nSe os critérios de conclusão forem pouco claros, como “deixe bom”, o loop terá dificuldade para encontrar uma base para parar. São necessários critérios verificáveis, como “adicionar 3 testes unitários, todos os testes existentes aprovados, manter tempo de resposta abaixo de 200ms”.\n\n### 2. Quando as permissões das ferramentas são excessivas\n\nSe permissões como escrita no banco de dados de produção, implantação e envio de e-mails externos forem dadas ao agente sem limite, um pequeno erro de julgamento pode levar a um grande incidente. Ferramentas perigosas devem ser separadas com base em aprovação.\n\n### 3. Quando a memória não existe ou está contaminada\n\nSem armazenamento de estado, a mesma falha é repetida. Por outro lado, se memória incorreta se acumular, premissas erradas podem continuar sendo reutilizadas. É recomendável armazenar na memória distinguindo fatos verificados, suposições e registros de falha.\n\n### 4. Quando as responsabilidades entre subagentes se sobrepõem\n\nSe vários agentes modificarem o mesmo arquivo ao mesmo tempo, podem ocorrer conflitos. É preciso definir escopo de trabalho, propriedade de arquivos, ordem de revisão e regras de merge.\n\n### 5. Quando não há limite de custos\n\nComo o loop é uma estrutura iterativa, os custos de chamadas ao modelo e execução de ferramentas podem aumentar rapidamente. É preciso limitar número de iterações, uso de tokens, número de chamadas a API externas e tempo de execução.\n\n## Checklist de implementação\n\nAo aplicar engenharia de loops a um projeto real, é recomendável verificar na seguinte ordem.\n\n### Objetivo e critérios de avaliação\n\n- O problema a resolver foi definido em uma frase?\n- Os critérios de conclusão podem ser verificados automaticamente?\n- Os critérios que exigem aprovação humana foram separados?\n- Há condições de parada em caso de falha?\n\n### Ambiente de trabalho\n\n- Existe um worktree separado do código principal?\n- O ambiente de execução de testes é reprodutível?\n- O acesso a chaves secretas e informações sensíveis foi limitado?\n- As alterações podem ser rastreadas por diff?\n\n### Instruções e contexto\n\n- Existe uma explicação da estrutura do projeto?\n- As regras de codificação e de teste estão documentadas?\n- As ações proibidas e regras de segurança estão claras?\n- Os documentos que o agente deve consultar estão atualizados?\n\n### Ferramentas e permissões\n\n- As ferramentas necessárias estão conectadas com antecedência?\n- As permissões por ferramenta foram minimizadas?\n- Há uma etapa de aprovação para chamadas de ferramentas perigosas?\n- Logs de todas as chamadas de ferramentas são mantidos?\n\n### Controle do loop\n\n- Há número máximo de iterações e limite de tempo?\n- Há limite de custos?\n- Erros repetidos iguais são detectados?\n- O estado intermediário pode ser salvo e retomado?\n\n## Tarefas adequadas e inadequadas para engenharia de loops\n\n| Tipo de tarefa | Adequação | Motivo |\n|---|---:|---|\n| Correção de código com testes | Alta | É fácil julgar o sucesso pelo resultado da execução |\n| Lint, formatação, migração | Alta | É repetitiva e tem critérios de verificação claros |\n| Geração e revisão de rascunhos de documentos | Média | Pode ser automatizada, mas exige verificação factual |\n| Limpeza de dados | Média~alta | É eficaz se houver regras e verificação por amostras |\n| Patch de segurança | Média | Pode ser automatizado, mas exige revisão de especialistas |\n| Julgamento jurídico, diagnóstico médico, aconselhamento de investimento | Baixa | Responsabilidade, especialização e riscos regulatórios são grandes |\n| Alteração direta de sistemas operacionais | Baixa | Um loop automático sem aprovação tem alto risco de incidentes |\n\nA engenharia de loops é mais forte em “tarefas verificáveis”. Quando os critérios de verificação são pouco claros ou a decisão envolve grande responsabilidade, o controle de especialistas humanos é essencial.\n\n## Roadmap de aplicação prática\n\n### Etapa 1: criar um loop de tarefa única\n\nPrimeiro, comece com uma pequena tarefa. Por exemplo, restrinja o escopo a um loop que corrige uma falha de teste, um loop que corrige erros de links em documentos ou um loop que resolve erros de tipo.\n\n### Etapa 2: fixar o harness\n\nDocumente verificações antes do trabalho, arquivos que podem ser modificados, comandos executáveis, ações proibidas e condições de aprovação. Se essa etapa for fraca, o risco também aumentará conforme o loop crescer.\n\n### Etapa 3: criar sistema de worktree e logs\n\nTodas as alterações devem ser realizadas em um espaço isolado, e chamadas de ferramentas e resultados de testes devem ser registrados. Tentativas malsucedidas também são dados importantes.\n\n### Etapa 4: documentar skills\n\nTransforme conhecimentos necessários de forma recorrente em skills. Documentos como “como adicionar testes neste projeto”, “checklist ao alterar API” e “critérios de acessibilidade frontend” são úteis.\n\n### Etapa 5: separar subagentes\n\nQuando o trabalho se torna complexo, separe planejador, implementador, QA e revisor. Em vez de criar agentes demais desde o início, é melhor dividir primeiro os papéis em que gargalos foram identificados.\n\n### Etapa 6: melhorar memória e métricas de avaliação\n\nRegistre causas de falhas repetidas, padrões de sucesso, custos e número de intervenções humanas. Com base nesses dados, melhore a eficiência e a segurança do loop.\n\n## Conclusão\n\nA engenharia de loops é uma abordagem de projeto que transforma agentes de IA de simples geradores de respostas em **sistemas de execução de trabalho orientados a objetivos**. O ponto central não é dar autonomia à IA de forma indiscriminada, mas criar um ambiente controlado por meio da engenharia de harness e, dentro dele, combinar automação, worktree, skills, plugins e conectores, subagentes e memória para criar uma estrutura iterativa segura.\n\nUm loop bem projetado reduz a carga de instruções repetitivas dos humanos e aumenta a velocidade do trabalho. No entanto, um loop sem salvaguardas pode gerar aumento de custos, queda de qualidade, abuso ou uso indevido de permissões e problemas de iteração infinita. Portanto, o princípio central da engenharia de loops é “automatizar, mas tornar verificável e fazer parar obrigatoriamente nos momentos necessários”.","content_html":"\u003ch2\u003e\n\u003ca href=\"#vis%C3%A3o-geral\" class=\"anchor\" id=\"visão-geral\"\u003e\u003c/a\u003eVisão geral\u003c/h2\u003e\n\u003cp\u003eA engenharia de loops é um método para projetar uma \u003cstrong\u003eestrutura iterativa em que agentes de IA planejam, executam, verificam os resultados, refletem sobre as causas de falha e tentam novamente\u003c/strong\u003e em direção a um único objetivo. Ela se torna especialmente importante em tarefas cujos resultados podem ser verificados, como desenvolvimento de software, processamento de dados, geração de documentos e automação de testes.\u003c/p\u003e\n\u003cp\u003eEsse termo ainda não é usado como termo acadêmico fixo em todos os documentos padrão. No entanto, na prática, ele pode ser explicado como um conceito posterior à engenharia de prompts, à engenharia de contexto e à engenharia de harness. O ponto central não é “dar uma boa instrução à IA uma vez”, mas “criar um sistema em que a IA possa iterar até atingir o objetivo dentro de um ambiente seguro”.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#a-evolu%C3%A7%C3%A3o-da-engenharia-de-ia-do-prompt-ao-loop\" class=\"anchor\" id=\"a-evolução-da-engenharia-de-ia-do-prompt-ao-loop\"\u003e\u003c/a\u003eA evolução da engenharia de IA: do prompt ao loop\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eEtapa\u003c/th\u003e\n\u003cth\u003ePergunta central\u003c/th\u003e\n\u003cth\u003ePapel do humano\u003c/th\u003e\n\u003cth\u003ePapel da IA\u003c/th\u003e\n\u003cth\u003eResultado representativo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Etapa\"\u003eEngenharia de prompts\u003c/td\u003e\n\u003ctd data-label=\"Pergunta central\"\u003eComo perguntar?\u003c/td\u003e\n\u003ctd data-label=\"Papel do humano\"\u003eEscrever instruções e verificar resultados\u003c/td\u003e\n\u003ctd data-label=\"Papel da IA\"\u003eGerar uma única resposta\u003c/td\u003e\n\u003ctd data-label=\"Resultado representativo\"\u003eResposta, rascunho, trecho de código\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Etapa\"\u003eEngenharia de contexto\u003c/td\u003e\n\u003ctd data-label=\"Pergunta central\"\u003eQuais informações de fundo fornecer?\u003c/td\u003e\n\u003ctd data-label=\"Papel do humano\"\u003eFornecer documentos, exemplos, políticas e dados\u003c/td\u003e\n\u003ctd data-label=\"Papel da IA\"\u003eRaciocinar dentro do contexto dado\u003c/td\u003e\n\u003ctd data-label=\"Resultado representativo\"\u003eRespostas mais consistentes, resultados personalizados\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Etapa\"\u003eEngenharia de harness\u003c/td\u003e\n\u003ctd data-label=\"Pergunta central\"\u003eEm que ambiente e regras ela deve trabalhar?\u003c/td\u003e\n\u003ctd data-label=\"Papel do humano\"\u003eProjetar permissões, ferramentas, procedimentos e regras de segurança\u003c/td\u003e\n\u003ctd data-label=\"Papel da IA\"\u003eUsar ferramentas dentro de um ambiente definido\u003c/td\u003e\n\u003ctd data-label=\"Resultado representativo\"\u003eFluxo de trabalho controlado de agentes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Etapa\"\u003eEngenharia de loops\u003c/td\u003e\n\u003ctd data-label=\"Pergunta central\"\u003eComo fazê-la iterar até atingir o objetivo?\u003c/td\u003e\n\u003ctd data-label=\"Papel do humano\"\u003eDefinir objetivo, restrições, critérios de avaliação e condições de parada\u003c/td\u003e\n\u003ctd data-label=\"Papel da IA\"\u003eRepetir execução, verificação, correção e nova tentativa\u003c/td\u003e\n\u003ctd data-label=\"Resultado representativo\"\u003eLoop de trabalho com melhoria automática\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch3\u003e\n\u003ca href=\"#engenharia-de-prompts\" class=\"anchor\" id=\"engenharia-de-prompts\"\u003e\u003c/a\u003eEngenharia de prompts\u003c/h3\u003e\n\u003cp\u003eA engenharia de prompts é a forma de escrever cuidadosamente perguntas, comandos, exemplos e formatos de saída para obter da IA o resultado desejado. É a interação mais básica e se aproxima de uma estrutura em que o humano altera as instruções a cada vez e verifica o resultado.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#engenharia-de-contexto\" class=\"anchor\" id=\"engenharia-de-contexto\"\u003e\u003c/a\u003eEngenharia de contexto\u003c/h3\u003e\n\u003cp\u003eA engenharia de contexto é a forma de fornecer junto documentos, políticas, informações da base de código, preferências do usuário, estilo de saída, conversas anteriores etc. para que o modelo obtenha resultados mais precisos. Janelas de contexto longas, geração aumentada por busca, anexos de arquivos e indexação de bases de código estão relacionados a essa etapa.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#engenharia-de-harness\" class=\"anchor\" id=\"engenharia-de-harness\"\u003e\u003c/a\u003eEngenharia de harness\u003c/h3\u003e\n\u003cp\u003eA engenharia de harness projeta \u003cstrong\u003edentro de quais procedimentos e restrições a IA deve agir\u003c/strong\u003e quando usa ferramentas e executa várias etapas. Por exemplo, incorpora ao ambiente regras como “leia os arquivos relacionados antes de modificar o código”, “não faça merge se os testes não passarem” e “não acesse arquivos que contenham informações sensíveis”.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#engenharia-de-loops\" class=\"anchor\" id=\"engenharia-de-loops\"\u003e\u003c/a\u003eEngenharia de loops\u003c/h3\u003e\n\u003cp\u003eA engenharia de loops é a forma de colocar um \u003cstrong\u003emotor de execução iterativa\u003c/strong\u003e sobre o ambiente de trabalho controlado criado pelo harness. O agente de IA escolhe por conta própria a próxima ação em direção ao objetivo, usa ferramentas, avalia resultados e, se falhar, modifica a estratégia e executa novamente.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#defini%C3%A7%C3%A3o-central-da-engenharia-de-loops\" class=\"anchor\" id=\"definição-central-da-engenharia-de-loops\"\u003e\u003c/a\u003eDefinição central da engenharia de loops\u003c/h2\u003e\n\u003cp\u003eA engenharia de loops pode ser definida como o projeto de um sistema de trabalho de IA que satisfaz as seguintes condições.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eO humano define o objetivo final, o escopo permitido, os critérios de avaliação e as condições de parada.\u003c/li\u003e\n\u003cli\u003eO agente de IA elabora um plano de trabalho para atingir o objetivo.\u003c/li\u003e\n\u003cli\u003eO agente usa as ferramentas necessárias, como execução de código, testes, busca, modificação de arquivos e chamadas de API.\u003c/li\u003e\n\u003cli\u003eSe o resultado da execução falhar ou for insuficiente, ele analisa a causa da falha e gera a próxima tentativa.\u003c/li\u003e\n\u003cli\u003eO loop para quando uma condição de parada é satisfeita, como atingir o objetivo, exceder o orçamento, exceder o número de iterações, surgir um sinal de risco ou ser necessária aprovação humana.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOu seja, a essência da engenharia de loops é um \u003cstrong\u003eciclo de feedback automatizado\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#por-que-a-engenharia-de-loops-%C3%A9-necess%C3%A1ria\" class=\"anchor\" id=\"por-que-a-engenharia-de-loops-é-necessária\"\u003e\u003c/a\u003ePor que a engenharia de loops é necessária\u003c/h2\u003e\n\u003cp\u003eNos métodos tradicionais de uso de IA, o humano tende a se tornar o gargalo. Isso porque o humano precisa escrever o prompt, verificar o resultado, solicitar correções novamente, executar testes e copiar mensagens de erro para inserir de novo.\u003c/p\u003e\n\u003cp\u003eA engenharia de loops sistematiza esse processo repetitivo. Por exemplo, em uma tarefa de desenvolvimento, a IA pode repetir automaticamente o fluxo a seguir.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eLer os requisitos e elaborar um plano de trabalho.\u003c/li\u003e\n\u003cli\u003eModificar o código em um espaço de trabalho separado.\u003c/li\u003e\n\u003cli\u003eExecutar testes e linter.\u003c/li\u003e\n\u003cli\u003eAnalisar logs de erro.\u003c/li\u003e\n\u003cli\u003eCriar por conta própria um prompt de correção ou a próxima ação.\u003c/li\u003e\n\u003cli\u003eModificar novamente o código.\u003c/li\u003e\n\u003cli\u003eQuando os critérios de aprovação forem satisfeitos, organizar o resultado e solicitar revisão.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eNessa estrutura, o humano não precisa instruir diretamente todas as etapas intermediárias. Em vez disso, o humano se concentra na definição do objetivo, aprovação, tratamento de exceções e julgamento final de qualidade.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#os-6-componentes-essenciais-da-engenharia-de-loops\" class=\"anchor\" id=\"os-6-componentes-essenciais-da-engenharia-de-loops\"\u003e\u003c/a\u003eOs 6 componentes essenciais da engenharia de loops\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-automa%C3%A7%C3%A3o-o-motor-que-realmente-faz-o-loop-girar\" class=\"anchor\" id=\"1-automação-o-motor-que-realmente-faz-o-loop-girar\"\u003e\u003c/a\u003e1. Automação: o motor que realmente faz o loop girar\u003c/h3\u003e\n\u003cp\u003eA automação é a base que faz o loop ser executado sem entrada manual de uma pessoa. Isso inclui filas de trabalho, schedulers, pipelines CI/CD, runtime de agentes, gatilhos de eventos e políticas de nova tentativa.\u003c/p\u003e\n\u003cp\u003eAs funções pelas quais a automação é responsável são as seguintes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDetectar condições de início da tarefa\u003c/li\u003e\n\u003cli\u003eExecutar o agente\u003c/li\u003e\n\u003cli\u003eChamar ferramentas e coletar resultados\u003c/li\u003e\n\u003cli\u003eExecutar etapas de teste ou verificação\u003c/li\u003e\n\u003cli\u003eTentar novamente em caso de falha\u003c/li\u003e\n\u003cli\u003eArmazenar logs\u003c/li\u003e\n\u003cli\u003eTransicionar para uma etapa de aprovação humana\u003c/li\u003e\n\u003cli\u003eLimitar custo, tempo e número de iterações\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA automação não é uma simples “execução automática”, mas um dispositivo de controle que gerencia o ciclo de vida do loop.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-worktree-espa%C3%A7o-de-trabalho-seguro\" class=\"anchor\" id=\"2-worktree-espaço-de-trabalho-seguro\"\u003e\u003c/a\u003e2. Worktree: espaço de trabalho seguro\u003c/h3\u003e\n\u003cp\u003eO worktree é um espaço de trabalho isolado fornecido para que a IA não danifique diretamente o código principal ou dados reais de operação. Um exemplo representativo é a forma de criar um diretório de trabalho separado no mesmo repositório, como a função \u003ccode\u003eworktree\u003c/code\u003e do Git, para modificar e testar de maneira independente.\u003c/p\u003e\n\u003cp\u003eO worktree é importante pelos seguintes motivos.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProtege a branch principal ou o ambiente de produção.\u003c/li\u003e\n\u003cli\u003ePermite que vários agentes executem tarefas diferentes em paralelo.\u003c/li\u003e\n\u003cli\u003ePermite descartar facilmente tentativas malsucedidas.\u003c/li\u003e\n\u003cli\u003ePermite revisar alterações como diff.\u003c/li\u003e\n\u003cli\u003ePermite considerar para merge apenas alterações que passaram nos testes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNa engenharia de loops, o worktree é o espaço de experimentação da IA. Mesmo que o agente faça modificações ousadas, o isolamento do espaço de trabalho é necessário para que todo o sistema permaneça seguro.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-skills-guias-que-servem-de-padr%C3%A3o-de-trabalho\" class=\"anchor\" id=\"3-skills-guias-que-servem-de-padrão-de-trabalho\"\u003e\u003c/a\u003e3. Skills: guias que servem de padrão de trabalho\u003c/h3\u003e\n\u003cp\u003eSkills são instruções, procedimentos, checklists, regras de codificação, princípios de design e conjuntos de exemplos que a IA deve seguir ao executar uma tarefa específica. Assim como uma pessoa fornece documentos de onboarding a um novo membro da equipe, o agente também precisa de padrões para executar o trabalho.\u003c/p\u003e\n\u003cp\u003eUm documento de skills pode conter as seguintes informações.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExplicação da estrutura do projeto e dos módulos principais\u003c/li\u003e\n\u003cli\u003eEstilo de código e regras de nomenclatura\u003c/li\u003e\n\u003cli\u003eForma de escrever testes\u003c/li\u003e\n\u003cli\u003ePrincípios de design de API\u003c/li\u003e\n\u003cli\u003eItens proibidos de segurança\u003c/li\u003e\n\u003cli\u003eChecklist antes da implantação\u003c/li\u003e\n\u003cli\u003eLocal dos logs que devem ser verificados em caso de falha\u003c/li\u003e\n\u003cli\u003eFormato de relatório de resultados\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSem skills, o agente passa a depender sempre de raciocínio genérico. Por outro lado, skills bem escritas transmitem à IA a forma de trabalho da organização em um formato reutilizável.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-plugins-e-conectores-acesso-%C3%A0s-ferramentas-necess%C3%A1rias\" class=\"anchor\" id=\"4-plugins-e-conectores-acesso-às-ferramentas-necessárias\"\u003e\u003c/a\u003e4. Plugins e conectores: acesso às ferramentas necessárias\u003c/h3\u003e\n\u003cp\u003ePlugins e conectores permitem que a IA acesse ferramentas e sistemas necessários durante o trabalho. Por exemplo, repositórios de código, rastreadores de issues, sistemas de busca, bancos de dados, repositórios de documentos, executores de teste, navegadores, ferramentas de implantação e sistemas de notificação podem ser alvos de conexão.\u003c/p\u003e\n\u003cp\u003eO motivo pelo qual a conexão com ferramentas é necessária é claro. Se o agente concluir que “precisa executar testes”, mas não tiver permissão para executá-los, o loop para. Se concluir que “precisa verificar a documentação relacionada”, mas não tiver caminho de acesso aos documentos, a probabilidade de responder por suposição aumenta.\u003c/p\u003e\n\u003cp\u003eUm bom projeto de conectores precisa dos seguintes princípios.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAplicar o princípio do menor privilégio.\u003c/li\u003e\n\u003cli\u003eSeparar permissões de leitura e permissões de escrita.\u003c/li\u003e\n\u003cli\u003eInserir uma etapa de aprovação para trabalhos perigosos.\u003c/li\u003e\n\u003cli\u003eRegistrar todas as chamadas de ferramentas em logs.\u003c/li\u003e\n\u003cli\u003eRestringir o acesso a informações sensíveis por meio de uma política separada.\u003c/li\u003e\n\u003cli\u003eRegistrar também chamadas de ferramentas malsucedidas no estado do loop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-subagentes-trabalhadores-de-ia-com-pap%C3%A9is-divididos\" class=\"anchor\" id=\"5-subagentes-trabalhadores-de-ia-com-papéis-divididos\"\u003e\u003c/a\u003e5. Subagentes: trabalhadores de IA com papéis divididos\u003c/h3\u003e\n\u003cp\u003eSubagentes são uma estrutura que faz com que agentes por função colaborem, em vez de um único agente principal cuidar de tudo. Como em uma equipe humana de desenvolvimento, é possível separar papéis de design, backend, frontend, QA, revisão de segurança e documentação.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ePapel\u003c/th\u003e\n\u003cth\u003ePrincipais responsabilidades\u003c/th\u003e\n\u003cth\u003eExemplo de saída\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Papel\"\u003eAgente planejador\u003c/td\u003e\n\u003ctd data-label=\"Principais responsabilidades\"\u003eAnálise de requisitos, decomposição do trabalho, definição de prioridades\u003c/td\u003e\n\u003ctd data-label=\"Exemplo de saída\"\u003ePlano de implementação, lista de tarefas\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Papel\"\u003eAgente backend\u003c/td\u003e\n\u003ctd data-label=\"Principais responsabilidades\"\u003eImplementação de API, modelo de dados, lógica de servidor\u003c/td\u003e\n\u003ctd data-label=\"Exemplo de saída\"\u003eAlterações de código, testes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Papel\"\u003eAgente frontend\u003c/td\u003e\n\u003ctd data-label=\"Principais responsabilidades\"\u003eMelhoria de UI, gerenciamento de estado, acessibilidade\u003c/td\u003e\n\u003ctd data-label=\"Exemplo de saída\"\u003eCorreção de componentes, testes de tela\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Papel\"\u003eAgente QA\u003c/td\u003e\n\u003ctd data-label=\"Principais responsabilidades\"\u003eExecução de testes, reprodução de bugs, verificação de regressão\u003c/td\u003e\n\u003ctd data-label=\"Exemplo de saída\"\u003eLogs de falha, procedimento de reprodução\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Papel\"\u003eAgente revisor\u003c/td\u003e\n\u003ctd data-label=\"Principais responsabilidades\"\u003eVerificação de qualidade de código, segurança e estilo\u003c/td\u003e\n\u003ctd data-label=\"Exemplo de saída\"\u003eComentários de revisão, lista de riscos\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Papel\"\u003eAgente de documentação\u003c/td\u003e\n\u003ctd data-label=\"Principais responsabilidades\"\u003eExplicação das alterações, escrita de uso\u003c/td\u003e\n\u003ctd data-label=\"Exemplo de saída\"\u003eNotas de release, guia de uso\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eA vantagem da estrutura de subagentes é permitir dividir especializações. No entanto, também podem surgir conflitos entre agentes, trabalho duplicado e falta de clareza de responsabilidade, por isso é necessário um papel de coordenador e contratos de trabalho claros.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#6-mem%C3%B3ria-armazenamento-de-estado-que-permite-interromper-e-retomar\" class=\"anchor\" id=\"6-memória-armazenamento-de-estado-que-permite-interromper-e-retomar\"\u003e\u003c/a\u003e6. Memória: armazenamento de estado que permite interromper e retomar\u003c/h3\u003e\n\u003cp\u003eMemória é a função que armazena o estado atual do loop, tentativas anteriores, causas de falha, razões das decisões, alterações de arquivos, resultados de testes e plano da próxima ação. Quanto mais longo o loop, mais a memória se torna praticamente essencial.\u003c/p\u003e\n\u003cp\u003eA memória pode ser dividida em dois grandes tipos.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMemória de curto prazo: plano da sessão de trabalho atual, logs, resultados de chamadas de ferramentas, mensagens de erro\u003c/li\u003e\n\u003cli\u003eMemória de longo prazo: regras do projeto, formas de resolução anteriores, padrões recorrentes de bugs, preferências do usuário, padrões da equipe\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSem memória, o agente pode repetir os mesmos erros ou reiniciar do zero uma tarefa que parou no meio. Por outro lado, uma memória bem projetada mantém o loop de forma estável e reduz custos.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#arquitetura-b%C3%A1sica-da-engenharia-de-loops\" class=\"anchor\" id=\"arquitetura-básica-da-engenharia-de-loops\"\u003e\u003c/a\u003eArquitetura básica da engenharia de loops\u003c/h2\u003e\n\u003cp\u003eUm sistema de engenharia de loops geralmente tem a seguinte estrutura.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eEntrada do objetivo: o humano fornece o problema a resolver e os critérios de conclusão.\u003c/li\u003e\n\u003cli\u003eColeta de contexto: lê código, documentos, issues, logs e políticas.\u003c/li\u003e\n\u003cli\u003eElaboração do plano: o agente divide o trabalho em etapas pequenas.\u003c/li\u003e\n\u003cli\u003eExecução: realiza modificação de código, criação de arquivos, processamento de dados e chamadas de ferramentas.\u003c/li\u003e\n\u003cli\u003eVerificação: executa testes, lint, verificação de tipos, verificação de políticas e revisão.\u003c/li\u003e\n\u003cli\u003eAvaliação: julga se os critérios do objetivo foram satisfeitos.\u003c/li\u003e\n\u003cli\u003eIteração: se falhar, analisa a causa e retorna com um novo plano.\u003c/li\u003e\n\u003cli\u003eEncerramento: para por sucesso, excesso de limite, detecção de risco ou necessidade de aprovação humana.\u003c/li\u003e\n\u003cli\u003eRelatório: resume alterações, resultados de verificação, riscos restantes e próximas ações recomendadas.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eEsse fluxo pressupõe não uma “IA que apenas repete pensamentos”, mas uma “IA que age em um ambiente real e verifica resultados”.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#diferen%C3%A7a-entre-engenharia-de-harness-e-engenharia-de-loops\" class=\"anchor\" id=\"diferença-entre-engenharia-de-harness-e-engenharia-de-loops\"\u003e\u003c/a\u003eDiferença entre engenharia de harness e engenharia de loops\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCategoria\u003c/th\u003e\n\u003cth\u003eEngenharia de harness\u003c/th\u003e\n\u003cth\u003eEngenharia de loops\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eObjetivo\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de harness\"\u003eCriar um ambiente para a IA trabalhar com segurança\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de loops\"\u003eFazer a IA iterar até atingir o objetivo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eElementos centrais\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de harness\"\u003eRegras, permissões, ferramentas, procedimentos, limites\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de loops\"\u003eExecução iterativa, feedback, nova tentativa, armazenamento de estado\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eResposta a falhas\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de harness\"\u003eImpedir ações perigosas ou solicitar aprovação\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de loops\"\u003eGerar a próxima tentativa refletindo a causa da falha\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eIntervenção humana\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de harness\"\u003eFoco no projeto de políticas e ambiente\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de loops\"\u003eFoco na definição de objetivos, tratamento de exceções e aprovação final\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Categoria\"\u003eAnalogia\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de harness\"\u003eLocal de trabalho e equipamentos de segurança\u003c/td\u003e\n\u003ctd data-label=\"Engenharia de loops\"\u003eLinha de produção que mantém o local de trabalho em movimento\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eSe um loop for criado sem harness, o agente pode realizar ações perigosas com permissões excessivas. Se houver apenas harness sem loop, existe um ambiente seguro, mas a produtividade fica limitada. Na prática, as duas abordagens são necessárias em conjunto.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#exemplo-de-aplica%C3%A7%C3%A3o-loop-de-um-agente-de-codifica%C3%A7%C3%A3o-de-ia\" class=\"anchor\" id=\"exemplo-de-aplicação-loop-de-um-agente-de-codificação-de-ia\"\u003e\u003c/a\u003eExemplo de aplicação: loop de um agente de codificação de IA\u003c/h2\u003e\n\u003cp\u003eNo desenvolvimento de software, a engenharia de loops é relativamente fácil de entender. Por exemplo, suponha que o objetivo dado seja “corrigir um erro de login”.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#entrada\" class=\"anchor\" id=\"entrada\"\u003e\u003c/a\u003eEntrada\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eObjetivo: corrigir bug em que ocorre falha de login em condições específicas\u003c/li\u003e\n\u003cli\u003eCritérios de conclusão: testes relacionados aprovados, sem regressão na função de login existente, envio de resumo das alterações\u003c/li\u003e\n\u003cli\u003eRestrições: não alterar o método de armazenamento de tokens de autenticação, não modificar diretamente o banco de dados de usuários\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#execu%C3%A7%C3%A3o-do-loop\" class=\"anchor\" id=\"execução-do-loop\"\u003e\u003c/a\u003eExecução do loop\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eO agente lê a descrição da issue e os arquivos relacionados.\u003c/li\u003e\n\u003cli\u003eCria uma branch separada ou diretório de trabalho no worktree.\u003c/li\u003e\n\u003cli\u003eReproduz o teste que falha.\u003c/li\u003e\n\u003cli\u003eAnalisa logs de erro e código relacionado.\u003c/li\u003e\n\u003cli\u003eAplica uma proposta de correção.\u003c/li\u003e\n\u003cli\u003eExecuta os testes.\u003c/li\u003e\n\u003cli\u003eSe falhar, resume a causa e tenta outra proposta de correção.\u003c/li\u003e\n\u003cli\u003eSe tiver sucesso, organiza diff, resultados de testes e fatores de risco.\u003c/li\u003e\n\u003cli\u003eSolicita aprovação de merge a um revisor humano.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eNesse exemplo, o humano não copia logs de erro a cada vez para escrever um novo prompt. Em vez disso, o loop executa o trabalho repetitivo, e o humano intervém nas etapas que exigem julgamento final e responsabilidade.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#vari%C3%A1veis-de-controle-que-devem-ser-definidas-ao-projetar\" class=\"anchor\" id=\"variáveis-de-controle-que-devem-ser-definidas-ao-projetar\"\u003e\u003c/a\u003eVariáveis de controle que devem ser definidas ao projetar\u003c/h2\u003e\n\u003cp\u003eA engenharia de loops às vezes é explicada pressupondo iteração infinita, mas, em sistemas reais, “infinito” é perigoso. Um loop seguro precisa de limites claros.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eVariável de controle\u003c/th\u003e\n\u003cth\u003eDescrição\u003c/th\u003e\n\u003cth\u003eExemplo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Variável de controle\"\u003eNúmero máximo de iterações\u003c/td\u003e\n\u003ctd data-label=\"Descrição\"\u003eLimitar quantas vezes a mesma tarefa será tentada novamente\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eMáximo de 5 novas tentativas\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Variável de controle\"\u003eOrçamento de tempo\u003c/td\u003e\n\u003ctd data-label=\"Descrição\"\u003eLimitar o tempo de execução do loop\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eInterromper se exceder 30 minutos\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Variável de controle\"\u003eOrçamento de custo\u003c/td\u003e\n\u003ctd data-label=\"Descrição\"\u003eLimitar chamadas ao modelo, uso de ferramentas e custos de infraestrutura\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eAté 10 dólares por tarefa\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Variável de controle\"\u003eEscopo de permissões\u003c/td\u003e\n\u003ctd data-label=\"Descrição\"\u003eSeparar permissões de leitura, escrita, execução e implantação\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eProibir escrita no DB de produção\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Variável de controle\"\u003ePontos de aprovação\u003c/td\u003e\n\u003ctd data-label=\"Descrição\"\u003eDefinir momentos que exigem revisão humana\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eAprovação antes de implantação, exclusão, pagamento, envio externo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Variável de controle\"\u003eCritérios de sucesso\u003c/td\u003e\n\u003ctd data-label=\"Descrição\"\u003eCondições objetivas para julgar conclusão\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eTestes aprovados, critério de precisão satisfeito\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Variável de controle\"\u003eCritérios de falha\u003c/td\u003e\n\u003ctd data-label=\"Descrição\"\u003eSinais de risco que exigem interrupção\u003c/td\u003e\n\u003ctd data-label=\"Exemplo\"\u003eMesmo erro repetido 3 vezes, alerta de segurança ocorrido\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eUm bom loop não é um loop que gira muito, mas um \u003cstrong\u003eloop que sabe parar no momento adequado\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#crit%C3%A9rios-de-avalia%C3%A7%C3%A3o-de-qualidade\" class=\"anchor\" id=\"critérios-de-avaliação-de-qualidade\"\u003e\u003c/a\u003eCritérios de avaliação de qualidade\u003c/h2\u003e\n\u003cp\u003eAo avaliar um sistema de engenharia de loops, não se deve olhar apenas se “a IA deu uma resposta”, mas também os seguintes indicadores.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTaxa de atingimento do objetivo: proporção de tarefas dadas concluídas com sucesso\u003c/li\u003e\n\u003cli\u003eNúmero de iterações até o primeiro sucesso: se houve novas tentativas desnecessárias\u003c/li\u003e\n\u003cli\u003eTaxa de aprovação em testes: se os critérios de verificação automática foram satisfeitos\u003c/li\u003e\n\u003cli\u003eTaxa de regressão: proporção em que funcionalidades existentes foram quebradas\u003c/li\u003e\n\u003cli\u003eNúmero de intervenções humanas: se a automação reduziu de fato o gargalo\u003c/li\u003e\n\u003cli\u003eCusto-benefício: desempenho em relação ao custo de chamadas ao modelo e custo de infraestrutura\u003c/li\u003e\n\u003cli\u003eAuditabilidade: se é possível rastrear quais ferramentas foram chamadas e por quê\u003c/li\u003e\n\u003cli\u003eTaxa de violação de segurança: se arquivos, API ou dados proibidos foram acessados\u003c/li\u003e\n\u003cli\u003eReprodutibilidade: se resultados semelhantes surgem sob as mesmas condições\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEspecialmente no desenvolvimento de software, apenas passar nos testes pode não ser suficiente. Segurança, desempenho, manutenibilidade e experiência do usuário também devem ser revisados em conjunto.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#padr%C3%B5es-comuns-de-falha\" class=\"anchor\" id=\"padrões-comuns-de-falha\"\u003e\u003c/a\u003ePadrões comuns de falha\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-quando-os-crit%C3%A9rios-de-sucesso-s%C3%A3o-amb%C3%ADguos\" class=\"anchor\" id=\"1-quando-os-critérios-de-sucesso-são-ambíguos\"\u003e\u003c/a\u003e1. Quando os critérios de sucesso são ambíguos\u003c/h3\u003e\n\u003cp\u003eSe os critérios de conclusão forem pouco claros, como “deixe bom”, o loop terá dificuldade para encontrar uma base para parar. São necessários critérios verificáveis, como “adicionar 3 testes unitários, todos os testes existentes aprovados, manter tempo de resposta abaixo de 200ms”.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-quando-as-permiss%C3%B5es-das-ferramentas-s%C3%A3o-excessivas\" class=\"anchor\" id=\"2-quando-as-permissões-das-ferramentas-são-excessivas\"\u003e\u003c/a\u003e2. Quando as permissões das ferramentas são excessivas\u003c/h3\u003e\n\u003cp\u003eSe permissões como escrita no banco de dados de produção, implantação e envio de e-mails externos forem dadas ao agente sem limite, um pequeno erro de julgamento pode levar a um grande incidente. Ferramentas perigosas devem ser separadas com base em aprovação.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-quando-a-mem%C3%B3ria-n%C3%A3o-existe-ou-est%C3%A1-contaminada\" class=\"anchor\" id=\"3-quando-a-memória-não-existe-ou-está-contaminada\"\u003e\u003c/a\u003e3. Quando a memória não existe ou está contaminada\u003c/h3\u003e\n\u003cp\u003eSem armazenamento de estado, a mesma falha é repetida. Por outro lado, se memória incorreta se acumular, premissas erradas podem continuar sendo reutilizadas. É recomendável armazenar na memória distinguindo fatos verificados, suposições e registros de falha.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-quando-as-responsabilidades-entre-subagentes-se-sobrep%C3%B5em\" class=\"anchor\" id=\"4-quando-as-responsabilidades-entre-subagentes-se-sobrepõem\"\u003e\u003c/a\u003e4. Quando as responsabilidades entre subagentes se sobrepõem\u003c/h3\u003e\n\u003cp\u003eSe vários agentes modificarem o mesmo arquivo ao mesmo tempo, podem ocorrer conflitos. É preciso definir escopo de trabalho, propriedade de arquivos, ordem de revisão e regras de merge.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-quando-n%C3%A3o-h%C3%A1-limite-de-custos\" class=\"anchor\" id=\"5-quando-não-há-limite-de-custos\"\u003e\u003c/a\u003e5. Quando não há limite de custos\u003c/h3\u003e\n\u003cp\u003eComo o loop é uma estrutura iterativa, os custos de chamadas ao modelo e execução de ferramentas podem aumentar rapidamente. É preciso limitar número de iterações, uso de tokens, número de chamadas a API externas e tempo de execução.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#checklist-de-implementa%C3%A7%C3%A3o\" class=\"anchor\" id=\"checklist-de-implementação\"\u003e\u003c/a\u003eChecklist de implementação\u003c/h2\u003e\n\u003cp\u003eAo aplicar engenharia de loops a um projeto real, é recomendável verificar na seguinte ordem.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#objetivo-e-crit%C3%A9rios-de-avalia%C3%A7%C3%A3o\" class=\"anchor\" id=\"objetivo-e-critérios-de-avaliação\"\u003e\u003c/a\u003eObjetivo e critérios de avaliação\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eO problema a resolver foi definido em uma frase?\u003c/li\u003e\n\u003cli\u003eOs critérios de conclusão podem ser verificados automaticamente?\u003c/li\u003e\n\u003cli\u003eOs critérios que exigem aprovação humana foram separados?\u003c/li\u003e\n\u003cli\u003eHá condições de parada em caso de falha?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#ambiente-de-trabalho\" class=\"anchor\" id=\"ambiente-de-trabalho\"\u003e\u003c/a\u003eAmbiente de trabalho\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExiste um worktree separado do código principal?\u003c/li\u003e\n\u003cli\u003eO ambiente de execução de testes é reprodutível?\u003c/li\u003e\n\u003cli\u003eO acesso a chaves secretas e informações sensíveis foi limitado?\u003c/li\u003e\n\u003cli\u003eAs alterações podem ser rastreadas por diff?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#instru%C3%A7%C3%B5es-e-contexto\" class=\"anchor\" id=\"instruções-e-contexto\"\u003e\u003c/a\u003eInstruções e contexto\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExiste uma explicação da estrutura do projeto?\u003c/li\u003e\n\u003cli\u003eAs regras de codificação e de teste estão documentadas?\u003c/li\u003e\n\u003cli\u003eAs ações proibidas e regras de segurança estão claras?\u003c/li\u003e\n\u003cli\u003eOs documentos que o agente deve consultar estão atualizados?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#ferramentas-e-permiss%C3%B5es\" class=\"anchor\" id=\"ferramentas-e-permissões\"\u003e\u003c/a\u003eFerramentas e permissões\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAs ferramentas necessárias estão conectadas com antecedência?\u003c/li\u003e\n\u003cli\u003eAs permissões por ferramenta foram minimizadas?\u003c/li\u003e\n\u003cli\u003eHá uma etapa de aprovação para chamadas de ferramentas perigosas?\u003c/li\u003e\n\u003cli\u003eLogs de todas as chamadas de ferramentas são mantidos?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#controle-do-loop\" class=\"anchor\" id=\"controle-do-loop\"\u003e\u003c/a\u003eControle do loop\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHá número máximo de iterações e limite de tempo?\u003c/li\u003e\n\u003cli\u003eHá limite de custos?\u003c/li\u003e\n\u003cli\u003eErros repetidos iguais são detectados?\u003c/li\u003e\n\u003cli\u003eO estado intermediário pode ser salvo e retomado?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#tarefas-adequadas-e-inadequadas-para-engenharia-de-loops\" class=\"anchor\" id=\"tarefas-adequadas-e-inadequadas-para-engenharia-de-loops\"\u003e\u003c/a\u003eTarefas adequadas e inadequadas para engenharia de loops\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eTipo de tarefa\u003c/th\u003e\n\u003cth\u003eAdequação\u003c/th\u003e\n\u003cth\u003eMotivo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Tipo de tarefa\"\u003eCorreção de código com testes\u003c/td\u003e\n\u003ctd data-label=\"Adequação\"\u003eAlta\u003c/td\u003e\n\u003ctd data-label=\"Motivo\"\u003eÉ fácil julgar o sucesso pelo resultado da execução\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Tipo de tarefa\"\u003eLint, formatação, migração\u003c/td\u003e\n\u003ctd data-label=\"Adequação\"\u003eAlta\u003c/td\u003e\n\u003ctd data-label=\"Motivo\"\u003eÉ repetitiva e tem critérios de verificação claros\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Tipo de tarefa\"\u003eGeração e revisão de rascunhos de documentos\u003c/td\u003e\n\u003ctd data-label=\"Adequação\"\u003eMédia\u003c/td\u003e\n\u003ctd data-label=\"Motivo\"\u003ePode ser automatizada, mas exige verificação factual\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Tipo de tarefa\"\u003eLimpeza de dados\u003c/td\u003e\n\u003ctd data-label=\"Adequação\"\u003eMédia~alta\u003c/td\u003e\n\u003ctd data-label=\"Motivo\"\u003eÉ eficaz se houver regras e verificação por amostras\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Tipo de tarefa\"\u003ePatch de segurança\u003c/td\u003e\n\u003ctd data-label=\"Adequação\"\u003eMédia\u003c/td\u003e\n\u003ctd data-label=\"Motivo\"\u003ePode ser automatizado, mas exige revisão de especialistas\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Tipo de tarefa\"\u003eJulgamento jurídico, diagnóstico médico, aconselhamento de investimento\u003c/td\u003e\n\u003ctd data-label=\"Adequação\"\u003eBaixa\u003c/td\u003e\n\u003ctd data-label=\"Motivo\"\u003eResponsabilidade, especialização e riscos regulatórios são grandes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Tipo de tarefa\"\u003eAlteração direta de sistemas operacionais\u003c/td\u003e\n\u003ctd data-label=\"Adequação\"\u003eBaixa\u003c/td\u003e\n\u003ctd data-label=\"Motivo\"\u003eUm loop automático sem aprovação tem alto risco de incidentes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eA engenharia de loops é mais forte em “tarefas verificáveis”. Quando os critérios de verificação são pouco claros ou a decisão envolve grande responsabilidade, o controle de especialistas humanos é essencial.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#roadmap-de-aplica%C3%A7%C3%A3o-pr%C3%A1tica\" class=\"anchor\" id=\"roadmap-de-aplicação-prática\"\u003e\u003c/a\u003eRoadmap de aplicação prática\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#etapa-1-criar-um-loop-de-tarefa-%C3%BAnica\" class=\"anchor\" id=\"etapa-1-criar-um-loop-de-tarefa-única\"\u003e\u003c/a\u003eEtapa 1: criar um loop de tarefa única\u003c/h3\u003e\n\u003cp\u003ePrimeiro, comece com uma pequena tarefa. Por exemplo, restrinja o escopo a um loop que corrige uma falha de teste, um loop que corrige erros de links em documentos ou um loop que resolve erros de tipo.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#etapa-2-fixar-o-harness\" class=\"anchor\" id=\"etapa-2-fixar-o-harness\"\u003e\u003c/a\u003eEtapa 2: fixar o harness\u003c/h3\u003e\n\u003cp\u003eDocumente verificações antes do trabalho, arquivos que podem ser modificados, comandos executáveis, ações proibidas e condições de aprovação. Se essa etapa for fraca, o risco também aumentará conforme o loop crescer.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#etapa-3-criar-sistema-de-worktree-e-logs\" class=\"anchor\" id=\"etapa-3-criar-sistema-de-worktree-e-logs\"\u003e\u003c/a\u003eEtapa 3: criar sistema de worktree e logs\u003c/h3\u003e\n\u003cp\u003eTodas as alterações devem ser realizadas em um espaço isolado, e chamadas de ferramentas e resultados de testes devem ser registrados. Tentativas malsucedidas também são dados importantes.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#etapa-4-documentar-skills\" class=\"anchor\" id=\"etapa-4-documentar-skills\"\u003e\u003c/a\u003eEtapa 4: documentar skills\u003c/h3\u003e\n\u003cp\u003eTransforme conhecimentos necessários de forma recorrente em skills. Documentos como “como adicionar testes neste projeto”, “checklist ao alterar API” e “critérios de acessibilidade frontend” são úteis.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#etapa-5-separar-subagentes\" class=\"anchor\" id=\"etapa-5-separar-subagentes\"\u003e\u003c/a\u003eEtapa 5: separar subagentes\u003c/h3\u003e\n\u003cp\u003eQuando o trabalho se torna complexo, separe planejador, implementador, QA e revisor. Em vez de criar agentes demais desde o início, é melhor dividir primeiro os papéis em que gargalos foram identificados.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#etapa-6-melhorar-mem%C3%B3ria-e-m%C3%A9tricas-de-avalia%C3%A7%C3%A3o\" class=\"anchor\" id=\"etapa-6-melhorar-memória-e-métricas-de-avaliação\"\u003e\u003c/a\u003eEtapa 6: melhorar memória e métricas de avaliação\u003c/h3\u003e\n\u003cp\u003eRegistre causas de falhas repetidas, padrões de sucesso, custos e número de intervenções humanas. Com base nesses dados, melhore a eficiência e a segurança do loop.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#conclus%C3%A3o\" class=\"anchor\" id=\"conclusão\"\u003e\u003c/a\u003eConclusão\u003c/h2\u003e\n\u003cp\u003eA engenharia de loops é uma abordagem de projeto que transforma agentes de IA de simples geradores de respostas em \u003cstrong\u003esistemas de execução de trabalho orientados a objetivos\u003c/strong\u003e. O ponto central não é dar autonomia à IA de forma indiscriminada, mas criar um ambiente controlado por meio da engenharia de harness e, dentro dele, combinar automação, worktree, skills, plugins e conectores, subagentes e memória para criar uma estrutura iterativa segura.\u003c/p\u003e\n\u003cp\u003eUm loop bem projetado reduz a carga de instruções repetitivas dos humanos e aumenta a velocidade do trabalho. No entanto, um loop sem salvaguardas pode gerar aumento de custos, queda de qualidade, abuso ou uso indevido de permissões e problemas de iteração infinita. Portanto, o princípio central da engenharia de loops é “automatizar, mas tornar verificável e fazer parar obrigatoriamente nos momentos necessários”.\u003c/p\u003e\n","tags":["Agentes de IA","Engenharia de loops","Automação","Fluxo de desenvolvimento","LLMOps"],"faqs":[{"question":"O que é engenharia de loop?","answer":"Engenharia de loop é um método de projetar sistemas de trabalho para que agentes de IA repitam planejamento, execução, verificação, correção e novas tentativas até atingir o objetivo. Não se trata apenas de escrever um bom prompt, mas inclui repetição automática, uso de ferramentas, armazenamento de estado e condições de interrupção."},{"question":"Qual é a diferença entre engenharia de loop e engenharia de prompt?","answer":"A engenharia de prompt se concentra em transmitir bem uma instrução única à IA. A engenharia de loop é uma abordagem mais sistêmica, pois projeta uma estrutura de feedback fechada em que a IA verifica o resultado, reflete as causas da falha e executa novamente."},{"question":"Como a engenharia de harness e a engenharia de loop são diferentes?","answer":"A engenharia de harness consiste em criar regras, permissões, ferramentas e ambientes para que a IA trabalhe com segurança. A engenharia de loop consiste em fazer a IA executar repetidamente dentro desse ambiente controlado até atingir o objetivo."},{"question":"Por que uma worktree é necessária na engenharia de loop?","answer":"A worktree fornece um espaço de trabalho isolado onde a IA pode experimentar sem danificar o código principal ou o ambiente operacional. Isso aumenta a segurança do loop de codificação com IA, pois permite descartar alterações malsucedidas e revisar apenas as alterações bem-sucedidas."},{"question":"O que significa skill na engenharia de loop?","answer":"Skills são critérios de trabalho documentados que a IA consulta ao trabalhar, como guias, checklists, regras de codificação, regras de teste e políticas de segurança. Quanto mais claras forem as skills, maior a probabilidade de o agente trabalhar de acordo com a forma da organização."},{"question":"Por que plugins e conectores são importantes?","answer":"Plugins e conectores permitem que a IA acesse ferramentas como repositórios, documentos, executores de testes, rastreadores de issues e bancos de dados. Se as ferramentas necessárias não estiverem conectadas, o loop pode parar no meio ou depender de suposições."},{"question":"Quando subagentes são necessários?","answer":"Subagentes são úteis quando o trabalho é dividido em várias funções especializadas, como design, back-end, front-end, QA e revisão. No entanto, se as funções e os limites de responsabilidade não forem claros, podem surgir conflitos, portanto são necessárias regras de coordenação."},{"question":"Qual é o papel da memória na engenharia de loop?","answer":"A memória armazena o estado atual do trabalho, tentativas anteriores, causas de falha, resultados de testes e o próximo plano. Com isso, mesmo que o loop seja interrompido, ele pode ser retomado, e a possibilidade de repetir os mesmos erros pode ser reduzida."},{"question":"Engenharia de loop significa repetição infinita?","answer":"Conceitualmente, significa repetir até atingir o objetivo, mas em sistemas reais a repetição ilimitada é perigosa. É indispensável definir número máximo de iterações, limite de tempo, limite de custo, detecção de falhas e condições de aprovação humana."},{"question":"Quais tarefas são mais adequadas para a engenharia de loop?","answer":"Ela é adequada para tarefas repetitivas com critérios de verificação claros, como correções de código com testes, lint e formatação, limpeza de dados e verificação de documentos. Áreas de grande responsabilidade, como julgamento jurídico, diagnóstico médico e decisões de investimento, não devem ser tratadas apenas por loops automáticos."},{"question":"Qual é o maior risco da engenharia de loop?","answer":"Os principais riscos são permissões excessivas, novas tentativas infinitas, explosão de custos, acúmulo de memória incorreta, implantação automática sem verificação e acesso a informações sensíveis. Portanto, minimização de permissões, registro de logs, etapas de aprovação e condições de interrupção são essenciais."},{"question":"Qual é a melhor forma de começar a adotar a engenharia de loop?","answer":"No início, é melhor começar com uma única tarefa pequena e verificável, como corrigir testes que falham, verificar links de documentos ou corrigir erros de tipo. Depois, é mais seguro adicionar gradualmente worktree, documentos de skills, conexão de ferramentas, memória e subagentes."}],"sources":[{"url":"https://git-scm.com/docs/git-worktree","title":"Documentação do Git: git-worktree","type":"source"},{"url":"https://docs.github.com/en/actions","title":"GitHub Docs: documentação do GitHub Actions","type":"source"},{"url":"https://platform.openai.com/docs/guides/function-calling","title":"Documentação da OpenAI Platform: chamada de função","type":"source"},{"url":"https://modelcontextprotocol.io/introduction","title":"Model Context Protocol: Introdução","type":"source"},{"url":"https://langchain-ai.github.io/langgraph/concepts/persistence/","title":"Documentação do LangGraph: Persistência","type":"source"},{"url":"https://arxiv.org/abs/2210.03629","title":"ReAct: Sinergizando raciocínio e ação em modelos de linguagem","type":"source"},{"url":"https://arxiv.org/abs/2303.11366","title":"Reflexion: Agentes de linguagem com aprendizado por reforço verbal","type":"source"}],"images":[{"id":234,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjMwMSwicHVyIjoiYmxvYl9pZCJ9fQ==--e2cc0e235018c6d93b44f9fe5cf3889bea5aa10a/ai-cccc7ad2.webp","is_representative":true,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"중앙 AI 로봇과 순환 화살표, 자동화·문서·검증·데이터 아이콘이 둘러싼 다이어그램","caption":"AI 시스템을 반복적으로 설계, 실행, 검증하는 루프 엔지니어링 흐름을 보여준다.","description":null},"en":{"alt":"Central AI bot surrounded by circular workflow arrows and icons for automation, documents, validation, and data","caption":"The diagram illustrates a loop engineering workflow around an AI system.","description":null},"ja":{"alt":"中央のAIロボットを囲む循環矢印と自動化、文書、検証、データのアイコン","caption":"AIシステムを中心に設計、実行、検証を繰り返す流れを示している。","description":null},"es":{"alt":"Bot de IA central rodeado de flechas circulares e iconos de automatización, documentos, validación y datos","caption":"El diagrama muestra un flujo de ingeniería en bucle alrededor de un sistema de IA.","description":null},"id":{"alt":"Bot AI di tengah dikelilingi panah alur melingkar dan ikon otomasi, dokumen, validasi, serta data","caption":"Diagram ini menunjukkan alur rekayasa loop yang berulang di sekitar sistem AI.","description":null},"pt":{"alt":"Bot de IA central cercado por setas de fluxo circular e ícones de automação, documentos, validação e dados","caption":"O diagrama mostra um fluxo de engenharia em loop em torno de um sistema de IA.","description":null},"zh-hant":{"alt":"中央 AI 機器人周圍有循環箭頭，以及自動化、文件、驗證與資料圖示","caption":"此圖呈現圍繞 AI 系統反覆設計、執行與驗證的迴圈工程流程。","description":null}}},{"id":235,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjMwNywicHVyIjoiYmxvYl9pZCJ9fQ==--6e96b4db0ce479ff3ba8d0cefc6dafb74a3e9ce0/ai-20876eb8.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"로봇과 연결된 작업대가 순환 파이프라인으로 이어진 자동화 검증 시스템","caption":"보안, 테스트, 피드백이 연결된 루프 엔지니어링 흐름을 시각화합니다.","description":null},"en":{"alt":"Automated validation system with robots, connected stations, and a looping pipeline","caption":"The illustration shows a loop engineering workflow linking security, testing, and feedback.","description":null},"ja":{"alt":"ロボットと接続された端末が循環パイプラインでつながる自動検証システム","caption":"セキュリティ、テスト、フィードバックを結ぶループエンジニアリングの流れを示しています。","description":null},"es":{"alt":"Sistema de validación automatizada con robots, estaciones conectadas y canalización en bucle","caption":"La ilustración muestra un flujo de ingeniería en bucle que conecta seguridad, pruebas y retroalimentación.","description":null},"id":{"alt":"Sistem validasi otomatis dengan robot, stasiun terhubung, dan alur pipa berulang","caption":"Ilustrasi ini menampilkan alur rekayasa loop yang menghubungkan keamanan, pengujian, dan umpan balik.","description":null},"pt":{"alt":"Sistema de validação automatizada com robôs, estações conectadas e pipeline em ciclo","caption":"A ilustração mostra um fluxo de engenharia em loop que conecta segurança, testes e feedback.","description":null},"zh-hant":{"alt":"機器人與連接工作站透過循環管線組成的自動化驗證系統","caption":"這張插圖呈現連結安全、測試與回饋的迴圈工程流程。","description":null}}}],"published_at":"2026-07-20T15:26:45+09:00","updated_at":"2026-07-20T15:26:45+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant"],"url":"https://injoys.com/en/articles/loop-engineering-concept-components"}