Os sistemas de IA agêntica reúnem a versatilidade e a flexibilidade dos grandes modelos de linguagem (LLMs) e a precisão dos modelos de programação tradicionais. Os sistemas de IA agêntica são capazes de planejar e executar tarefas de forma autônoma em nome de um usuário ou outro sistema. Os sistemas de IA agêntica resolvem problemas complexos dividindo-os em séries de tarefas menores e usando as ferramentas disponíveis para interagir com sistemas externos ou executar tarefas computacionais.
Esses recursos tornam os sistemas de IA agêntica capazes de lidar com uma gama muito maior de tarefas e tarefas muito mais complexas do que apenas os LLMs. Por exemplo, se você fosse dar um prompt para um LLM recomendar qual carro comprar, o modelo geraria devidamente uma lista de recomendações com base nos dados disponíveis no momento em que o modelo foi treinado. Por outro lado, uma solução de IA agêntica pode solicitar de você detalhes adicionais sobre como você pretende usar o veículo (lazer, deslocamento de/para o trabalho, transporte de cargas pesadas) e informar que há um desconto do fabricante disponível até o final do mês.
Um sistema de IA agêntica é composto pelos seguintes componentes:
Os agentes têm sua própria arquitetura conceitual, ilustrada na figura abaixo.
Os agentes são compostos pelos seguintes componentes principais:
Outros componentes, não mostrados na figura, podem ser adicionados para fornecer gerenciamento de agentes operacionais, monitoramento de desempenho e controles de segurança, como propagação de identidade e prevenção de vazamento de dados.
O diagrama abaixo ilustra o fluxo de controle e informações por meio da arquitetura conceitual.
O diagrama acima ilustra o mapeamento dos produtos da IBM para a arquitetura de IA agêntica.
O watsonx Orchestrate é uma solução de IA agêntica "completa", que combina:
O watsonx.ai Agent Builder é uma ferramenta de pouco código/no-code que permite aos desenvolvedores criar agentes e definir e gerenciar ferramentas usando fluxos criados previamente.
A orquestração de agentes pode ser implementada usando uma variedade de abordagens. Uma abordagem de orquestração centralizada usa um único componente de orquestração mestre para gerenciar as ações de todos os outros agentes no sistema. Ter um único ponto de configuração e gerenciamento torna o sistema geral simples de gerenciar e controlar, fácil de solucionar problemas. A desvantagem é que um único ponto de controle pode se tornar um gargalo e levar a desafios de escalabilidade à medida que os volumes de solicitações e/ou o número de agentes aumentam.
Uma abordagem de orquestração descentralizada implementa uma fila de tarefas na qual os agentes extraem tarefas e publicam os resultados, e roteia tarefas de várias partes entre si; semelhante a um sistema de quadro negro. As soluções de orquestração descentralizada são altamente robustas e tolerantes a falhas, mas são difíceis de projetar e solucionar problemas à medida que os sistemas se tornam maiores e com mais recursos.
Finalmente, uma abordagem de orquestração hierárquica combina elementos das abordagens centralizada e descentralizada. Na orquestração hierárquica, um orquestrador mestre é usado para coordenar as ações de agentes de alto nível que, por sua vez, podem invocar outros agentes para concluir tarefas complexas. Isso mantém grande parte da facilidade de gerenciamento e controle de uma abordagem centralizada, mas reduz o potencial de o componente de controle central se tornar um gargalo em altos volumes de solicitações e/ou grande número de agentes.
A granularidade de um agente de IA refere-se à complexidade das tarefas que o agente pode executar. Um agente de alta granularidade pode ser capaz de executar muitas tarefas ou um pequeno número de tarefas com grande detalhamento, enquanto um agente de baixa granularidade pode ser capaz apenas de realizar um pequeno número ou até mesmo apenas uma única tarefa com um baixo nível de detalhamento. Para tornar isso mais claro, considere um agente de atendimento ao cliente. Um agente de baixa granularidade pode conseguir responder apenas a perguntas simples sobre um produto (por exemplo, "Ele vem em preto?"), enquanto um agente de alta granularidade pode verificar inventários locais e organizar a entrega do produto na casa do cliente.
Os projetistas de soluções agênticas devem decidir o quão granulares tornarão os agentes individuais dentro do sistema, como por exemplo, ter um pequeno número de agentes de alta granularidade ou um número maior de agentes de baixa granularidade. Os amplos recursos do agente de alta granularidade têm o custo de maiores recursos de computação e tempos mais longos de conclusão de tarefas. Embora menos capazes, o foco restrito dos agentes de baixa granularidade significa que eles exigem menos recursos computacionais e geralmente concluirão as tarefas muito mais rápido.
Embora o nível "certo" de granularidade ainda seja desconhecido, experiências iniciais sugerem que a criação de agentes de baixa granularidade alinhados a processos de negócios focados, como por exemplo, Purchase_Order_Processing_Agent, produz um bom equilíbrio entre requisitos de recursos, velocidade de processamento e complexidade da solução. Os agentes de baixa granularidade podem, então, ser incorporados a fluxos de trabalho estáticos ou invocados por agentes de alta granularidade como parte de um processo maior.
Os projetistas de soluções de IA agêntica devem encontrar um equilíbrio entre agentes que seguem processos e fluxos de trabalho estáticos e predefinidos e ter fluxos de trabalho gerados dinamicamente em resposta aos prompts do usuário. Embora não haja uma resposta certa ou errada, os arquitetos são aconselhados a levar em conta as seguintes recomendações e considerações:
Os fluxos de trabalho estáticos devem ser usados para processos de negócios compostos por várias etapas complexas que cruzam domínios de conhecimento (por exemplo, jurídico e contábil) ou que estão sujeitas à supervisão regulatória. O uso de fluxos de trabalho estáticos nessas instâncias oferece vários benefícios aos arquitetos: