Refinamento em laço
O mesmo agente passa três vezes pelo texto, melhorando a cada rodada, e só então um segundo agente apresenta o resultado.
Atualizado em 01 de set. de 2026
Pedir "melhore este texto" uma vez dá uma melhora. Pedir três vezes, cada uma sobre a versão anterior, dá outra coisa — é o mesmo truque de quem reescreve um parágrafo até ele ficar bom.
O card Laço While repete um trecho do fluxo enquanto a condição for verdadeira, com um teto de segurança (max_iterations) para nenhum agente ficar rodando para sempre.
Como importar
Na plataforma: Agents → Importar, escolha o arquivo baixado. Ele entra como um rascunho novo (nada existente é alterado), com ids de observabilidade renovados. Depois preencha o que é do seu ambiente — credenciais, URLs e bases de conhecimento — e publique.
{
"format": "hinow.agent",
"version": 1,
"exported_at": "2026-09-01T00:00:00Z",
"credentials_included": false,
"agent": {
"name": "Refinamento em laço",
"description": "O texto passa três vezes pelo mesmo agente, melhorando a cada rodada, e só depois é apresentado.",
"avatar": null,
"model": "hinow/hicode",
"system_prompt": null,
"config": {},
"tools": null,
"workflow": {
"nodes": [
{
"id": "start",
"type": "start",
"position": {
"x": 300,
"y": 0
},
"data": {
"label": "Início",
"variables": []
}
},
{
"id": "loop-1",
"type": "while",
"position": {
"x": 285,
"y": 150
},
"data": {
"name": "3 rodadas",
"loop_condition": "{{round}} <= 3",
"max_iterations": 4
}
},
{
"id": "agent-melhora",
"type": "agent",
"position": {
"x": 560,
"y": 150
},
"data": {
"name": "lapidador",
"model": "hinow/hicode",
"system_prompt": "Melhore o texto mais recente da conversa (o do usuário na 1ª vez; depois, a sua última versão): mais claro, mais forte, mais conciso. Responda SÓ com a nova versão, prefixada por 'v{{round}}: '.",
"config": {}
}
},
{
"id": "agent-final",
"type": "agent",
"position": {
"x": 275,
"y": 340
},
"data": {
"name": "apresentador",
"model": "hinow/hicode",
"system_prompt": "Apresente a versão final do texto lapidado e, em 1 frase, o que evoluiu desde o original.",
"config": {}
}
},
{
"id": "end-1",
"type": "end",
"position": {
"x": 305,
"y": 500
},
"data": {
"label": "Fim"
}
}
],
"edges": [
{
"id": "e-start-loop-1-d",
"source": "start",
"target": "loop-1"
},
{
"id": "e-loop-1-agent-melhora-loop",
"source": "loop-1",
"target": "agent-melhora",
"sourceHandle": "loop"
},
{
"id": "e-agent-melhora-loop-1-d",
"source": "agent-melhora",
"target": "loop-1"
},
{
"id": "e-loop-1-agent-final-exit",
"source": "loop-1",
"target": "agent-final",
"sourceHandle": "exit"
},
{
"id": "e-agent-final-end-1-d",
"source": "agent-final",
"target": "end-1"
}
]
}
}
}| Card | Por que está aqui | O que faz |
|---|---|---|
| **Laço While** | Repetição controlada. | Condição {{round}} <= 3 e max_iterations: 4. Duas saídas: LOOP (repete) e EXIT (segue). |
**Agent lapidador** | O trabalho que se repete. | Melhora a última versão e prefixa com v{{round}} — dá para ver a evolução rodada a rodada. |
| **A volta ao laço** | É ela que fecha o ciclo. | A ligação do agente **de volta** para o While é o que faz a rodada seguinte acontecer. Sem ela, o laço roda uma vez só. |
**Agent apresentador** | Separar iterar de entregar. | Sai pela EXIT e apresenta a versão final, dizendo em uma frase o que evoluiu. |
Sempre com teto
max_iterations é o cinto de segurança: se a condição nunca virar falsa (variável que não incrementa, condição mal escrita), é ele que encerra o laço. Um laço sem teto é a forma mais rápida de queimar tokens.
- Até passar no critério, não até contar 3: troque a condição por uma variável que um agente avaliador define (
{{aprovado}} == false) — o laço para quando a qualidade chega, não quando o contador estoura. - Reprocessar uma fila: o laço consome uma coleção declarada no Início, um item por rodada.
- Tentar de novo com backoff: um laço em volta de um Webhook que às vezes falha, com o agente decidindo se vale insistir.
Todos os fluxos prontos
Outros agents completos para importar e adaptar.

