Desvendando a Anatomia dos Agentes de Inteligência Artificial

Desvendando a Anatomia dos Agentes de Inteligência Artificial

Agentes e fluxos de trabalho agênticos são as últimas palavras da moda no ecossistema de IA generativa. Mas, como qualquer tecnologia emergente, a terminologia e a definição de agentes são diversas e muitas vezes confusas para os desenvolvedores. Para ajudar a desmistificar os agentes, neste artigo oferecemos um recurso abrangente para desenvolvedores que já estão familiarizados com os fundamentos de grandes modelos de linguagem e engenharia de prompt.

Ajudaremos você a dissecar cada aspecto da anatomia de um agente e mapeá-lo para a implementação técnica. Em postagens de acompanhamento, aplicaremos esses conceitos a algumas das estruturas agênticas populares, como AutoGen e CrewAI.

Uma observação sobre frameworks agênticos: embora possam ajudar você a começar, eles geralmente são abstratos e escondem os conceitos principais dos desenvolvedores. A maneira mais eficaz de aprender agentes de IA é projetá-los e construí-los do zero. Então, neste post, compararemos e contrastaremos um agente de IA com uma função de agente tradicional — como em um contact center. Ao fazer isso, você será capaz de conceituar e entender o quão próximos os agentes de IA imitam suas contrapartes humanas.

A anatomia de um agente de IA

A melhor maneira de pensar em um agente de IA é como um gêmeo digital de um funcionário com uma função clara. Quando qualquer indivíduo assume um novo emprego, há um contrato bem definido que estabelece os elementos essenciais — como definição de cargo, métricas de sucesso, hierarquia de relatórios, acesso a informações organizacionais e se a função inclui gerenciar outras pessoas. Esses aspectos garantem que o funcionário seja mais eficaz em seu trabalho e contribua para o sucesso geral de uma organização. A anatomia central de um agente de IA.

Um agente de IA, tecnicamente falando, não é diferente de um funcionário. Assim como sua contraparte humana, há um conjunto de atributos-chave que são essenciais para que um agente funcione efetivamente. Nos bastidores, esses atributos são implementados como pilhas de tecnologia, alavancando os blocos de construção emergentes da IA ​​generativa — como prompts de sistema, técnicas de design de prompt, bancos de dados de vetores , ferramentas e muito mais.

Grandes modelos de linguagem, incluindo modelos multimodais , são a base dos agentes de IA. Cada aspecto de um agente de IA é controlado e roteado por meio do LLM. É o cérebro e a força motriz que define o caminho de execução não apenas de um agente, mas de um fluxo de trabalho inteiro que consiste em vários agentes. Cada atributo de um agente de IA tem uma correlação direta com um ou mais parâmetros de um LLM.

O diagrama acima ilustra a anatomia central de um agente de IA. Ele também mapeia os principais atributos para os elementos de um trabalho tradicional que se espera que seja feito por humanos.

Vamos analisar mais detalhadamente esses atributos.

Persona

A persona de um agente de IA é o aspecto mais crucial que estabelece a característica-chave de um agente. É o equivalente a um título ou uma função de trabalho no ambiente tradicional. Por exemplo, um engenheiro de suporte ao cliente qualificado em lidar com reclamações de clientes é uma função de trabalho. É também a persona de um indivíduo que executa esse trabalho. Você pode facilmente estender isso a um agente de IA.

A função do sistema se traduz na persona de um agente e é persistente durante toda a sessão.

Tecnicamente, a persona é mapeada para o prompt do sistema no contexto de um LLM. A maioria das APIs de inferência permite que você defina a coleta de mensagens com a função do sistema, função de assistente e função do usuário. A função do sistema se traduz na persona de um agente e é persistente durante toda a sessão. A função do sistema persiste durante toda a sessão e molda as respostas do agente ao impor a persona.

Por exemplo, a função do sistema abaixo define a persona ou a função de trabalho de um agente:

Você é um engenheiro de suporte ao cliente com tecnologia de IA em uma empresa de tecnologia especializada em produtos de software. Sua função principal é auxiliar os clientes na solução de problemas, resolver problemas e responder a perguntas relacionadas aos produtos da empresa. Você deve responder de maneira calma, profissional e empática, sempre garantindo que o cliente se sinta ouvido e compreendido. Se o cliente estiver frustrado ou chateado, você deve reconhecer seus sentimentos e oferecer garantias, além de fornecer soluções claras e práticas. Seu tom deve ser amigável, de apoio e paciente, garantindo que cada interação faça com que o cliente se sinta valorizado e satisfeito.

Instrução

A instrução de um agente de IA representa a definição de tarefa necessária para atingir o resultado desejado. É uma diretriz ampla que abrange uma variedade de tarefas que o agente deve executar, garantindo flexibilidade em diferentes cenários. Em vez de focar em uma única tarefa restrita, a instrução fornece uma estrutura generalizada para lidar com várias solicitações dentro do escopo do agente. Isso garante que o agente possa entregar um resultado bem-sucedido em diversas interações do usuário.

No mundo real, esse conceito é semelhante à definição de uma descrição de cargo para um engenheiro de suporte. Por exemplo, um engenheiro de suporte responsável por auxiliar clientes com software de contabilidade lidará com qualquer chamada relacionada a esse produto. No entanto, se um cliente entrar em contato com eles sobre um problema não relacionado, como suporte técnico para hardware, espera-se que o engenheiro transfira educadamente a chamada para o departamento correto. A descrição do cargo fornece a orientação necessária para que o funcionário gerencie uma ampla gama de tarefas, ao mesmo tempo em que sabe quando delegar a outros.

Para um agente de IA, isso pode ser representado dentro da função de usuário da coleção de mensagens de prompt. Por exemplo, a instrução de prompt pode ser:

Você é um agente de suporte de IA especializado em resolver problemas relacionados a software de contabilidade. Se um cliente perguntar sobre solução de problemas ou orientação relacionada ao software, ofereça etapas claras e concisas para resolver o problema. Se a consulta estiver fora do seu domínio, direcione o usuário para o departamento apropriado para obter mais assistência.

Esta instrução expande a persona do sistema ao fornecer diretrizes específicas para atingir o resultado desejado, mantendo a flexibilidade para gerenciar diferentes cenários.

Tarefa

Uma tarefa é uma extensão da instrução que foca em um item específico e acionável dentro do escopo mais amplo das responsabilidades do agente. Enquanto a instrução fornece uma estrutura geral que abrange múltiplas ações potenciais, uma tarefa é uma ação direta e concreta que o agente deve tomar em resposta a uma entrada específica do usuário. As tarefas são granulares e situacionais, garantindo que o agente atenda às necessidades individuais de forma precisa e eficiente, guiando assim o agente a executar uma etapa específica alinhada com a instrução geral.

Cada tarefa é um passo concreto dado em resposta a um problema específico do cliente.

No mundo real, isso é semelhante a como um funcionário executa tarefas específicas com base em sua descrição de cargo. Por exemplo, o engenheiro de suporte responsável pelo software de contabilidade pode receber uma chamada sobre um erro na geração de relatórios financeiros. A instrução orienta o engenheiro a ajudar com problemas relacionados ao software, mas a tarefa neste caso é solucionar problemas e resolver o erro específico que o usuário está enfrentando. Cada tarefa é uma etapa concreta tomada em resposta a um problema exclusivo do cliente, impulsionada pela instrução mais ampla, mas adaptada à situação em questão.

No contexto de um agente de IA, uma tarefa pode ser solicitada como uma resposta direta à entrada do usuário que restringe a instrução a uma ação específica.

Por exemplo, após receber a instrução geral para dar suporte a problemas de software de contabilidade, um prompt de tarefa específico pode ser:

O usuário informa que o relatório financeiro não está sendo gerado corretamente. Ajude-o a identificar as possíveis causas, como entradas de dados incorretas ou problemas com a versão do software, e oriente-o nas etapas para solucionar o erro.

Essa tarefa restringe a instrução mais ampla em uma resposta acionável e específica ao item que aborda diretamente a necessidade do usuário.

Planejamento

O componente de planejamento é parte integrante da estratégia de solicitação, que é uma extensão da instrução geral. Ele é projetado para orientar o agente de IA por meio de processos de raciocínio específicos ou ajustes de comportamento em resposta a situações mais complexas ou em evolução. Enquanto a instrução e a tarefa fornecem uma estrutura ampla para lidar com tarefas diversas, uma estratégia de solicitação se concentra em aprimorar a capacidade do agente de raciocinar, adaptar-se e refletir com base nas entradas do usuário.

Essas estratégias são situacionais e ajudam o agente a executar o raciocínio passo a passo ou a autocorreção, garantindo que a tarefa seja executada de forma ponderada e eficaz. Tecnicamente, aplicamos algumas das técnicas de engenharia de solicitação — como React, Chain-of-Thought e Reflection — para ajudar o agente a raciocinar e planejar a tarefa.

No mundo real, isso é semelhante a como um profissional aborda a resolução de problemas usando técnicas estruturadas. Por exemplo, um engenheiro de suporte ao cliente pode seguir um processo em que primeiro divide o problema de um cliente em partes menores, reflete sobre experiências passadas para melhores soluções e ajusta sua abordagem com base no feedback do cliente. Essas estratégias — seja análise passo a passo, reflexão sobre resultados ou adaptação dinâmica de ações — ajudam os profissionais a abordar problemas específicos de forma mais eficaz, assim como estratégias de solicitação ajudam os agentes de IA a fazer o mesmo em um contexto de conversação.

No contexto de um agente de IA, uma estratégia de estímulo pode ser incorporada a uma tarefa, orientando o processo de raciocínio do agente.

Por exemplo, um prompt de Cadeia de Pensamento pode instruir:

Liste as etapas envolvidas na resolução do problema do usuário, explicando o raciocínio por trás de cada ação.

Memória

A memória em um agente de IA funciona de forma muito parecida com a forma como um engenheiro de suporte acessa dados históricos para fornecer um serviço melhor. No mundo real, quando um engenheiro de suporte recebe uma consulta de um cliente, ele pode procurar interações anteriores com base no ID do cliente e acessar dados específicos do incidente usando um ID de tíquete.

Esse contexto histórico ajuda o engenheiro a entender problemas anteriores, resoluções e preferências do cliente, permitindo que ele forneça suporte mais informado e personalizado. Da mesma forma, um agente de IA depende da memória para relembrar interações anteriores e informações relevantes para responder com precisão e eficiência, especialmente durante conversas em andamento ou de acompanhamento.

Tecnologias como bancos de dados vetoriais facilitam a memória ao armazenar e recuperar pontos de dados relevantes em tempo real, usando incorporações para corresponder informações contextualmente semelhantes.

Em um ecossistema de agentes de IA, a memória é dividida em funções de curto e longo prazo. A memória de curto prazo permite que um agente mantenha o contexto dentro de uma sessão, como relembrar detalhes de partes anteriores de uma conversa. Tecnologias como bancos de dados vetoriais facilitam isso armazenando e recuperando pontos de dados relevantes em tempo real, usando embeddings para corresponder a informações contextualmente semelhantes. Para memória de longo prazo, bancos de dados tradicionais armazenam dados históricos que o agente pode referenciar em várias sessões, garantindo a continuidade do serviço ao longo do tempo.

Assim como um engenheiro de suporte consultaria os tickets anteriores de um cliente, a memória de longo prazo em IA ajuda a manter o conhecimento de interações e resultados anteriores.

Por exemplo, na prática, quando um agente de suporte de IA lida com uma consulta de cliente, ele pode usar um banco de dados vetorial para lembrar detalhes de momentos anteriores da conversa, como problemas específicos de produtos mencionados. Ao mesmo tempo, o agente pode acessar a memória de longo prazo, usando um banco de dados tradicional para recuperar registros históricos com base na ID do cliente, mostrando compras anteriores ou problemas técnicos.

Uma implementação específica pode ser assim: "O cliente relatou anteriormente um problema semelhante com o produto há dois meses no Ticket nº 12345. Aqui está um resumo dessa resolução, e agora posso desenvolver isso para resolver o problema atual." Essa combinação de memória de curto e longo prazo permite que o agente ofereça um suporte mais integrado e personalizado.

Ferramentas

Assim como um engenheiro de suporte usa suas habilidades para interagir com vários sistemas como CRM, ERP ou qualquer aplicativo de linha de negócios interna para concluir tarefas, os agentes de IA contam com ferramentas para aprimorar sua funcionalidade e resolver problemas de forma mais eficaz.

Um engenheiro de suporte pode acessar o sistema de CRM para recuperar detalhes do cliente ou usar o sistema de ERP para verificar a disponibilidade do produto ou gerenciar pedidos. Essas ferramentas são essenciais para concluir suas tarefas, fornecendo ao engenheiro os recursos necessários para atender às solicitações do cliente. Da mesma forma, os agentes de IA precisam da capacidade de acessar ferramentas ou funções específicas para lidar com tarefas complexas que vão além de simples interações baseadas em texto.

Assim como um engenheiro de suporte deve ser habilidoso na navegação de vários sistemas, um agente de IA pode ser definido com acesso a ferramentas de forma declarativa.

No contexto da IA, isso é alcançado por meio de chamada de função e chamada de ferramenta, onde o agente pode invocar sistemas externos ou APIs para executar tarefas específicas. Assim como um engenheiro de suporte deve ser habilidoso em navegar em vários sistemas, um agente de IA pode ser definido com acesso a ferramentas declarativamente — permitindo que ele execute tarefas como recuperar dados de uma fonte externa, executar um comando ou interagir com serviços de terceiros.

Essas ferramentas são fornecidas no momento da definição do agente, garantindo que o agente tenha a capacidade de ir além das respostas predefinidas. A chamada de ferramenta é crucial porque permite que o agente estenda sua funcionalidade, dando a ele o poder de interagir com sistemas externos dinamicamente para gerar respostas contextuais mais precisas.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.