Antes de escolher uma arquitetura, descreva a tarefa
A primeira decisão não é quantos agentes construir, mas que trabalho se pretende automatizar e como será possível reconhecer um resultado correto. Se o objetivo, as entradas e a sequência de etapas puderem ser descritos com precisão, talvez um programa convencional seja suficiente. Se algumas decisões dependerem do conteúdo de cada caso, pode ser útil delegar parte da seleção ao modelo. Se houver responsabilidades distintas que precisem trabalhar com certo grau de independência, talvez valha a pena avaliar uma composição de agentes. Essas são possibilidades de design, não uma escala em que cada opção seja necessariamente mais avançada ou melhor.
Para comparar as alternativas, redija uma ficha breve da tarefa. Inclua o objetivo, as entradas esperadas, as etapas conhecidas, as variações que ocorrem na prática, o resultado observável e as consequências de um erro. Acrescente também quais ações o sistema pode realizar e quais exigem autorização ou revisão humana. Essa descrição evita confundir uma tarefa com muitas etapas com uma tarefa que exige autonomia: uma sequência longa, mas estável, pode ser perfeitamente programável.
As fontes disponíveis oferecem orientações para decidir entre um agente único e vários agentes, apresentam padrões de design e comparam agentes com fluxos de trabalho. Os trechos disponíveis não fornecem medições comparáveis de desempenho, custo ou taxas de erro para essas três abordagens. Por isso, a matriz e os exemplos deste guia são um referencial prático de análise, não uma afirmação de que um padrão produza resultados melhores de forma geral.
Ficha mínima do problema
- 01Defina o resultado esperado e como ele será verificado, sem depender apenas de a resposta parecer convincente.
- 02Liste as entradas possíveis e separe os casos comuns das exceções.
- 03Descreva quais decisões já podem ser expressas como regras e quais dependem do contexto de cada caso.
- 04Anote as ações permitidas, as consequências de erros, os pontos de revisão humana e os limites operacionais.
- 05Formule que evidências permitiriam concluir que a solução funciona melhor do que o processo atual.
Padrão 1: fluxo determinístico
Em um fluxo determinístico, o programa define a sequência de operações e as condições que fazem cada etapa avançar, repetir ou parar. O fluxo pode incluir chamadas a um modelo — por exemplo, para classificar um texto ou extrair campos — sem que isso transforme o conjunto em um agente autônomo. A distinção útil é quem decide a próxima etapa: no fluxo, essa decisão é especificada principalmente no código ou em uma configuração explícita.
Esse padrão costuma ser adequado quando a tarefa tem entradas conhecidas, regras relativamente estáveis, poucas ramificações relevantes e uma saída que pode ser validada por verificações concretas. Um processo de recebimento de faturas poderia extrair dados, validar campos obrigatórios, conferir valores e encaminhar para revisão os casos que não atendam a uma regra. A sequência pode conter exceções, mas a equipe as representa por condições explícitas, em vez de pedir ao modelo que invente a rota de trabalho a cada execução.
A vantagem desse enfoque, como critério de design, é que a equipe pode inspecionar a ordem prevista e associar cada decisão a uma regra ou etapa. Isso não garante, por si só, que os componentes funcionem corretamente: uma extração pode estar errada e uma regra pode ter sido definida de forma inadequada. A limitação é que variações não previstas exigem alterar as regras, adicionar ramificações ou encaminhar o caso a uma pessoa. Se as exceções se multiplicarem, a manutenção do fluxo pode ficar difícil. Isso não prova automaticamente que seja necessário um agente, mas é um motivo para reavaliar o design.
As ferramentas em um fluxo podem ser limitadas às chamadas previstas pelo código. As permissões e os dados acessíveis dependem de como o sistema é implementado e configurado; não são determinados pelo nome do padrão. A memória persistente tampouco é uma característica necessária do fluxo. É possível conservar o estado necessário para concluir uma execução, mas convém diferenciar esse estado temporário de uma memória reutilizada entre tarefas.
Padrão 2: agente único com ferramentas
Em um padrão de agente único, o modelo participa da escolha das próximas etapas com base no objetivo, no contexto disponível e nas ferramentas oferecidas. O programa continua definindo os limites: qual objetivo é informado, quais ferramentas estão disponíveis, quais restrições se aplicam e quando o sistema deve parar ou pedir ajuda. Autonomia não significa permissão ilimitada; a seleção dinâmica de uma ação deve ocorrer dentro das condições estabelecidas pelo sistema.
Esse padrão pode ser uma opção quando os casos variam de forma relevante e uma sequência rígida não parece natural, mas os recursos necessários cabem em um conjunto limitado de ferramentas. Pense em solicitações internas de suporte: uma pessoa relata um problema que pode exigir consultar a documentação, verificar o status de um serviço e redigir uma resposta. O agente poderia decidir qual dessas consultas é necessária em cada caso. Se a ação tiver consequências importantes, o sistema pode se limitar a preparar uma recomendação para aprovação de uma pessoa.
A flexibilidade traz uma exigência diferente de avaliação. Não basta verificar uma única rota; é preciso observar quais ações o agente escolheu, que informações usou, quando parou e se pediu revisão em casos ambíguos. Uma resposta final correta por acaso não demonstra que a sequência intermediária foi adequada. Convém registrar as decisões relevantes de forma proporcional e revisar tanto os casos resolvidos quanto aqueles que o sistema recusou ou encaminhou para análise.
As ferramentas são parte central dos limites operacionais: descrevem as ações disponíveis, mas seu alcance efetivo depende de sua implementação, autenticação e controles. Não se deve presumir que uma instrução em linguagem natural substitua controles técnicos de acesso. A memória pode ser inexistente, limitada à interação atual ou persistente, conforme o produto e o design. Em uma avaliação inicial, é preferível declarar explicitamente qual contexto será conservado e verificar se isso é necessário, em vez de presumir que mais memória melhora o resultado.
Padrão 3: sistema multiagente
Um sistema multiagente reúne vários componentes com funções distintas que interagem para concluir uma tarefa. A coordenação pode assumir formas diferentes: um componente pode atribuir trabalho, os componentes podem trocar resultados ou o sistema pode organizar uma sequência de funções especializadas. O rótulo, por si só, não esclarece quem decide o fluxo, quais informações são compartilhadas nem como os desacordos são resolvidos. Essas propriedades precisam ser especificadas para que o design possa ser avaliado.
A pergunta para justificar vários agentes não é se o problema parece grande, mas se separar as responsabilidades oferece uma vantagem verificável em relação a uma única unidade de trabalho ou a um fluxo explícito. Essa opção poderia ser investigada se houver tarefas distintas, contextos que seja conveniente manter separados ou atividades que precisem produzir resultados independentes antes de uma síntese. No entanto, a divisão introduz coordenação, transferência de contexto e mais pontos em que podem surgir inconsistências. Sem medições no caso específico, não se deve afirmar que essa separação melhora a qualidade ou reduz o tempo.
Voltemos à fatura. Um design hipotético poderia separar a extração do documento, a verificação das políticas e a preparação de uma revisão para uma pessoa. Antes de construí-lo, seria preciso perguntar se essas responsabilidades são realmente independentes, se cada uma pode ser avaliada separadamente e se o resultado combinado é melhor ou mais fácil de inspecionar do que um fluxo fixo ou um agente único com as mesmas ferramentas. Se a resposta for não, os componentes adicionais podem representar custo sem benefício demonstrado.
A visibilidade das interações é importante: deve ser possível reconstruir quais informações cada componente recebeu, que resultado produziu e como esse resultado foi usado depois. Isso facilita a investigação de falhas, embora não elimine a possibilidade de que elas ocorram. Permissões, ferramentas e memória são atribuídas conforme a implementação; a arquitetura não as resolve automaticamente. Uma separação funcional pode ajudar a delimitar responsabilidades, mas somente se os acessos e as trocas de dados forem projetados e verificados de forma explícita.
Comparação aplicada e matriz de decisão
Para comparar os padrões de forma justa, primeiro fixe a mesma tarefa, o mesmo conjunto de casos e o mesmo critério de sucesso. No exemplo das faturas, isso significa usar documentos representativos, as mesmas regras contábeis e uma definição comum do que conta como extração correta, encaminhamento apropriado e registro aceitável. A comparação não seria útil se um padrão recebesse mais contexto, ferramentas ou intervenção humana do que outro sem que isso fosse documentado.
A tabela a seguir não atribui pontuações universais. Ela resume perguntas que a equipe pode responder com evidências do processo, testes e medições. Por exemplo, “alta variabilidade” deve significar que surgem diferenças observáveis que mudam as etapas necessárias, e não simplesmente que a equipe ainda não conhece o processo. Da mesma forma, “fácil de verificar” exige um teste ou critério de aceitação, não apenas uma impressão subjetiva.
Perguntas para comparar os três padrões
| Critério | Fluxo determinístico | Agente único | Sistema multiagente |
|---|---|---|---|
| Variabilidade dos casos | É adequado se as variações importantes puderem ser expressas como regras e rotas. | Pode ser avaliado se o contexto mudar a ação mais apropriada e as ferramentas forem limitadas. | Pode ser estudado se houver responsabilidades distintas cuja separação possa ser justificada e medida. |
| Quem escolhe a próxima etapa | Principalmente o código ou uma configuração explícita. | O modelo pode escolher entre as ações disponíveis, dentro dos limites definidos. | A coordenação e os componentes podem dividir as decisões; é preciso especificar quem controla cada transição. |
| Verificação | Testes de regras, etapas e resultados esperados; verificar também as saídas do modelo, se ele for usado. | Avaliar as ações escolhidas, os resultados, as interrupções e os encaminhamentos, além da resposta final. | Avaliar cada componente e as transferências, além do resultado combinado. |
| Custo de coordenação | Tende a se concentrar na manutenção de regras e rotas explícitas. | Inclui avaliar a seleção de ações e controlar as ferramentas. | Inclui também a coordenação entre componentes, a troca de contexto e o tratamento de desacordos. |
| Supervisão humana | Pode ser inserida em etapas ou exceções definidas. | Pode revisar ações propostas, casos ambíguos ou decisões de maior impacto. | Pode revisar resultados parciais ou o resultado integrado; os pontos de revisão precisam ser definidos. |
| Consequências de erros | É adequado para aplicar rotas limitadas se o impacto e as regras forem bem controlados. | A amplitude das ações disponíveis deve corresponder ao risco que a equipe aceita. | Mais componentes tornam necessário examinar também erros de coordenação e propagação. |
Ferramentas, permissões, memória e supervisão
Esses elementos não são determinados automaticamente pela escolha de um padrão ou outro. O padrão muda onde as decisões são tomadas e quantos componentes participam; o alcance real depende das ferramentas conectadas, de como o acesso é controlado, dos dados fornecidos e da lógica de revisão. Por isso, uma arquitetura não deve ser descrita como “segura” ou “controlada” apenas por ser um fluxo ou por ser formada por vários agentes.
Para as ferramentas, documente cada ação disponível, seu efeito e quem pode invocá-la. Diferencie operações de leitura daquelas que alteram dados, enviam mensagens ou produzem outros efeitos. Em um fluxo, pode ser o próprio programa que invoque cada ferramenta em um ponto previsto. Em um agente, o modelo pode selecionar uma ferramenta entre as permitidas. Em um sistema multiagente, é preciso esclarecer quais componentes têm acesso a quais ferramentas e como se verifica que uma saída transferida não desencadeie uma ação não autorizada.
Para memória e contexto, especifique o que é conservado durante uma execução e o que, se houver algo, será reutilizado em outra. Registre o motivo dessa conservação e verifique seu efeito com casos de teste. Memória adicional pode ajudar a manter informações necessárias, mas também pode introduzir contexto desatualizado ou irrelevante; essa possibilidade deve ser tratada como um risco de design a ser testado, não como um resultado inevitável.
A supervisão humana deve ter uma função concreta. Ela pode confirmar ações, resolver exceções, verificar resultados ou interromper o processo. Uma revisão que chega tarde demais talvez não evite o efeito que se pretendia controlar; revisar cada etapa pode tornar a automação desnecessária. Defina os pontos de revisão de acordo com o impacto dos erros e meça quantos casos são revisados, quanto trabalho a revisão exige e que divergências aparecem.
Registro de limites por componente
- 01Relacione cada componente às suas ferramentas, aos dados de entrada e às ações possíveis.
- 02Separe as ações de consulta daquelas que produzem alterações ou efeitos externos.
- 03Indique quais decisões exigem aprovação e em que momento uma pessoa pode intervir.
- 04Descreva qual contexto é armazenado, por quanto tempo e para qual etapa do processo.
- 05Teste casos de acesso indevido, informações incompletas, resultados contraditórios e encaminhamento para revisão.
Avaliação inicial: medir antes de aumentar a autonomia
Um piloto útil não começa com uma demonstração preparada para que tudo dê certo. Começa com um conjunto de casos que reflita o uso previsto: casos frequentes, limites conhecidos, documentos incompletos, entradas ambíguas e exceções que exigem interrupção. Mantenha uma referência do processo atual para comparar os resultados e registre as condições de cada teste. Se as instruções, ferramentas ou regras forem alteradas, anote a mudança para não atribuir à arquitetura um efeito que pode ter sido causado por outra modificação.
Avalie separadamente o resultado e o percurso. Entre as perguntas sobre o resultado estão: os dados foram extraídos corretamente? A rota autorizada foi escolhida? A necessidade de revisão foi detectada? Foi evitada a conclusão de uma ação com informações insuficientes? Entre as perguntas sobre o processo estão: que decisões intermediárias ocorreram? Quais ferramentas foram usadas? Foram consultadas informações pertinentes? O sistema parou quando deveria? Para agentes e sistemas multiagente, esses registros ajudam a entender se uma resposta aceitável foi obtida por um percurso adequado.
Defina antecipadamente os critérios para continuar, limitar ou interromper o teste. Se os erros mais graves ocorrerem na escolha de uma ação, talvez seja necessário restringir as ferramentas ou devolver essa decisão ao código. Se os casos não puderem ser avaliados de forma consistente, primeiro é preciso melhorar a definição de sucesso. Se a revisão humana corrigir frequentemente o mesmo tipo de resultado, o sistema pode precisar de uma regra explícita, de entradas melhores ou de uma etapa de validação — não necessariamente de mais agentes.
Evidências úteis para coletar no piloto
| Aspecto | Pergunta de avaliação | Evidência possível |
|---|---|---|
| Resultado | A saída cumpre os requisitos definidos? | Lista de verificação aplicada por uma pessoa ou testes automatizados, quando apropriado. |
| Decisões | O sistema escolheu uma ação permitida e pertinente? | Registro de decisões, ações propostas, ferramentas invocadas e motivos observáveis. |
| Exceções | O sistema parou ou encaminhou o caso diante de entradas ambíguas ou incompletas? | Casos de teste criados para verificar encaminhamentos e limites. |
| Trabalho humano | Quantas intervenções são necessárias e o que elas corrigem? | Revisões contabilizadas por tipo de intervenção, não apenas uma impressão de facilidade. |
| Operação | Que custos surgem na execução e na manutenção da solução? | Medições do caso real; não extrapole números de outros contextos sem evidências comparáveis. |
Quando não usar um agente ou quando reduzir a autonomia
Não usar um agente pode ser a decisão adequada se uma rotina conhecida puder ser resolvida com código convencional, se as regras forem verificáveis e estáveis ou se não houver uma forma confiável de verificar o resultado. Também pode ser preferível manter uma pessoa no processo quando o custo de errar for alto e as ações não puderem ser revertidas com facilidade. Nesses casos, a automação pode se limitar a preparar dados, resumir informações ou propor uma rota sem executá-la.
Volte a um fluxo fixo, ou limite o agente a uma etapa, se a seleção de ações não oferecer uma vantagem mensurável, se o agente usar ferramentas desnecessárias, se agora for possível representar as exceções com regras claras ou se for difícil reconstruir como uma decisão foi tomada. Diante de divergências entre componentes de um sistema multiagente, considere se a separação realmente ajuda: uma rota explícita com validações pode ser mais fácil de testar nesse caso, embora a equipe precise confirmar isso.
Se estiver avaliando uma composição de agentes, comece com funções separadas que tenham entradas, saídas e critérios de aceitação definidos. Não divida uma tarefa em vários papéis abstratos por intuição. Primeiro, teste uma versão simples, observe onde ela falha e amplie somente quando houver um problema identificado que a separação possa resolver. A recomendação de começar pelo padrão mais simples também aparece em uma das fontes secundárias fornecidas; aqui, ela é apresentada como uma heurística de design a ser verificada no caso de uso, não como uma regra universal.
Lista final para documentar a escolha
Uma decisão arquitetônica é mais útil quando pode ser revisada depois que o sistema é observado em condições reais. Documente qual problema se pretende resolver, quais alternativas foram comparadas e que evidências levaram à decisão. Não é necessário presumir que a escolha será permanente: quando mudarem a variabilidade dos casos, as consequências dos erros ou as ferramentas disponíveis, o padrão mais apropriado também poderá mudar.
Para aprofundar a comparação entre agente único e vários agentes, consulte o guia do Microsoft Learn indicado nas fontes. Para comparar agentes e fluxos de trabalho, consulte a documentação da UiPath, lembrando que se trata de documentação de um fornecedor. As páginas de padrões de design do Microsoft Learn e do Google Cloud oferecem orientação arquitetônica; as recomendações devem ser avaliadas à luz das necessidades e restrições da equipe. Essas referências não substituem testes próprios nem demonstram, por si só, resultados de desempenho para uma tarefa específica.
Perguntas antes da implantação
- 01O objetivo e o resultado aceitável estão definidos de modo que outra pessoa possa verificá-los?
- 02Quais variações exigem decisões dinâmicas e quais podem ser expressas como regras?
- 03Que ações o sistema pode executar, com quais dados e sob quais controles?
- 04Quais casos obrigam o sistema a parar ou pedir revisão humana?
- 05Como serão avaliadas as decisões intermediárias, as saídas e as exceções?
- 06Que custos de operação e coordenação serão medidos e com qual referência serão comparados?
- 07Que evidências justificariam manter, ampliar, limitar ou substituir o padrão escolhido?
Questões em aberto
- Os trechos das fontes fornecidas não incluem definições completas e comparáveis de fluxo, agente único e sistema multiagente; as descrições do artigo funcionam como um referencial operacional, não como terminologia universal.
- Não foram fornecidos estudos comparativos nem métricas de desempenho, latência, custo ou taxas de erro para os três padrões. Esses aspectos precisam ser medidos em cada caso.
- Os controles de permissões, memória persistente, auditoria e recuperação dependem da implementação específica; as notas das fontes não permitem atribuí-los automaticamente a uma arquitetura.
- As recomendações de fornecedores e fontes secundárias podem refletir abordagens próprias; devem ser comparadas com os requisitos e os testes da equipe.
Continue a explorar
Fontes consultadas
Correções e transparência
Se encontrar informação incorreta ou desatualizada, envie-nos a página e a fonte que devemos rever.
Propor uma correção