O que é um agente de IA? Há várias respostas para essa pergunta. Isso não é surpresa, visto que ainda estamos nos estágios iniciais de definição dessa tecnologia complexa. A Wikipédia enfatiza a natureza autônoma dos agentes de IA: "uma classe de inteligência artificial que se concentra em sistemas autônomos que podem tomar decisões e executar tarefas sem intervenção humana".
A McKinsey observou que a IA está agora "saindo da idéia para a ação" em seu relatório que explicou a diferença entre IA generativa e IA de agentes. "Estamos iniciando uma evolução de ferramentas baseadas em conhecimento e alimentadas por agentes de IA — por exemplo, chatbots que respondem a perguntas e geram conteúdo — que usam modelos básicos para executar fluxos de trabalho complexos e de várias etapas. … Agentes de IA eventualmente poderão atuar como colegas de trabalho virtuais, trabalhando com humanos de forma integrada e natural."
Da mesma forma, a IBM responde à pergunta "O que é um Agente de IA?" "Os sistemas de agentes oferecem a flexibilidade dos LLMs, que podem gerar respostas ou ações com base em uma compreensão diferenciada e dependente do contexto, com os recursos estruturados, determinísticos e confiáveis da programação tradicional. Essa abordagem permite que os agentes pensem e ajam de forma mais humana."
Há décadas, desenvolvemos aplicações utilizando plataformas de programação cada vez mais sofisticadas e linguagens de alto nível. No início, os computadores eram relativamente lentos e tinham pouca memória principal, então geralmente usávamos linguagens de Assemby, que tinham uma correspondência muito forte entre uma instrução na linguagem e as instruções individuais da arquitetura da máquina. Foi assim que a programação, como a conhecemos hoje comçou, no início da década de 1960. Uma das partes mais difíceis da programação era a depuração, ou seja, o processo de descobrir por que o programa travava ou não funcionava, corrigir o bug e reenviá-lo ao computador. Depurar um programa naquela época frequentemente exigia um dump de memória, que envolvia registrar o estado da memória do computador quando o programa travava e revisá-lo instrução por instrução até que o problema fosse encontrado e corrigido.
A programação tornou-se consideravelmente menos trabalhosa com o desenvolvimento de linguagens de alto nível, específicas para domínios, e de compiladores que traduziam a linguagem de alto nível para código de máquina. Exemplos incluem Fortran — uma linguagem para aplicações científicas de engenharia e outras aplicações numéricas; Cobol — destinado a aplicações empresariais; PL/1 — uma linguagem de propósito mais geral, utilizada em programação de sistemas; e Java — uma linguagem de alto nível orientada a objetos que podia ser executada em múltiplas plataformas sem a necessidade de recompilação.
A IA de agentes está elevando o desenvolvimento de aplicações a um nivel totalmente novo. Em vez de especificar cada etapa da aplicação, como em linguagens determinísticas que cumprem a função para a qual foram programadas, os agentes de IA são projetados para tomar decisões e executar tarefas, trabalhando de forma autônoma ao lado de humanos como colegas de trabalho virtuais, a menos que um agente precise de orientação humana adicional.
No mundo emergente dos sistemas baseado em agentes, os programadores de aplicações estão se tornando mais próximo aos engenheiros de sistemas, cujo trabalho é projetar e especificar o sistema que estão construindo, incluindo os diversos agentes ou assistentes necessários para desenvolver os diversos componentes. A função do ser humano é definir os objetivos e ações que os agentes devem seguir sob uma variedade de condições, usando LLMs e outras ferramentas, bem como coordenar a execução do sistema geral para garantir que ele esteja funcionando conforme o esperado.
O artigo do executivo de tecnologia Eric Broda em sua plataforma Medium, relata bem esse novo cenário: “Bilhões de dólares em investimentos de algumas das maiores empresas do planeta estão fluindo para ferramentas que facilitarão a construção de agentes autônomos”, escreveu Broda. “E se esse enorme investimentos tiverem breve retorno, teremos muitos, muitos agentes autônomos colaborando em um ecossistema dinâmico.”
As questões-chave não serão "como construir agentes autônomos", acrescentou, "mas sim como gerenciarmos esses ecossistemas. Como encontrar o agente autônomo que faça o que queremos? Como interagir com um agente autônomo? E se quisermos transacionar com um agente autônomo, como isso acontecera com segurança?"
Broda ainda levantou outra questão importante em "Agent Explainability: The Foundation for Trust in the Agent Ecosystem ", um artigo publicado na Medium. Dado que os agentes de IA são projetados para tomar decisões e executar tarefas com intervenção humana limitada, garantir que eles façam o que queremos que façam provavelmente será mais difícil do que tem sido com o desenvolvimento tradicional de aplicativos determinísticos nas últimas décadas.
“A adoção de agentes só ocorrerá quando confiarmos neles.“Mas o que significa confiar em um agente? No sentido mais simples, confiança significa acreditar que um agente fará o que deve fazer.”
A confiança, nos relacionamentos humanos, é construída ao longo do tempo por meio de comportamento observável, ações consistentes e entendimento compartilhado. Confiamos nas pessoas não apenas pelo que elas fazem, mas porque entendemos por que o fazem — geralmente conseguimos inferir motivos, julgar a consistência e formar expectativas. E quando essa confiança é quebrada, buscamos explicações.
Mas os agentes não têm a nossa compreensão humana intuitiva e compartilhada. Assim, à medida que os agentes se tornam mais inseridos nas operações comerciais e industriais e delegamos responsabilidades cada vez mais importantes aos agentes, a oportunidade de erros graves aumenta.
Ao contrário de programas determinísticos, os agentes são orientados por LLMs baseados em IA, que são puramente estatísticos. Ou seja, se um agente de IA gera saídas não confiáveis e propensas a erros, pode ser bastante difícil descobrir o que ele fez e por que o fez. Embora depurar uma aplicação determinística e complexa também possa ser muito difícil de analisar, temos décadas de experiência e uma ampla variedade de ferramentas para nos ajudar a fazê-lo, ao contrário dos LLMs e sistemas de agentes de IA.
Isso é muito desafiador, disse Broda, porque, para confiar nos agentes, "precisamos abrir a caixa preta do LLM. A explicabilidade torna os planos de um agente transparentes, compreensíveis, rastreáveis — e confiáveis".
Em seu artigo no Medium , Broda propôs um modelo para explicabilidade do agente.
Primeiro, ele nos lembra que, ao longo dos anos, desenvolvemos todos os tipos de métodos para nos ajudar a determinar as causas de falhas de máquinas no mundo físico. Por exemplo, aviões comerciais são todos equipados com dados de voo e gravadores de voz na cabine, que funcionam silenciosamente em segundo plano. Quando ocorre um acidente, os investigadores usam esses dados para determinar as causas raiz do acidente e recomendar ações corretivas. Da mesma forma, as fábricas modernas estão repletas de sensores incorporados que monitoram as operações para detectar sinais precoces de uma possível falha e tomar medidas corretivas.
Ambos são exemplos de sistemas de explicabilidade que “literalmente criam um rastro de evidências de comportamento operacional que pode ser inspecionado, verificado e explicado. É isso que devemos esperar dos agentes. Se quisermos confiar a eles tarefas cada vez mais complexas, os agentes precisam fazer mais do que apenas produzir resultados. Precisamos de agentes que, deixem um rastro de dados de evidências — um registro explicável do que pretendiam fazer, como fizeram e por que as coisas aconteceram daquela forma.”
Hoje, um sistema baseado em AI depende de LLMs para conduzir um processo de ponta a ponta: “ele cria um plano, usa uma lógica oculta para aceitar prompts e entradas, usa recursos de execução e, finalmente, descarta o plano quando a tarefa é concluída. Esses planos são todos temporários.”
A explicabilidade do agente requer a captura de vários elementos: o planos de tarefas, etapas detalhadas que o agente pretende realizar, suas interações com outros agentes, a justificativa de seleção, com quem o agente pretende interagir e quais ferramentas o agente espera usar, as instruções usadas e os parâmetros que foram fornecidos aos agentes.
“Um ecossistema de agentes deve incluir a explicabilidade, mas não como um recurso opcional ou uma reflexão tardia, mas sim como um princípio fundamental de design”, concluiu Broda. “No entanto, para isso, a explicabilidade deve ser projetada desde o início: os agentes devem ser construídos com planejamento de tarefas transparente, execução rastreável e métricas observáveis desde o início. O desafio é claro: os agentes inevitavelmente minarão a confiança. A solução é igualmente clara: precisamos projetar agentes que se expliquem sozinhos.”