Agentes

À medida que as implementações de Large Language Models (LLMs) se expandem em profundidade e largura, surgem alguns requisitos:
- A capacidade de programar LLMs e criar prompts reutilizáveis e incorporar prompts perfeitamente em aplicativos maiores .
- Criando cadeias para sequenciar interações LLM para aplicativos maiores.
- Automatize a solicitação de cadeia de pensamento improvisada por meio de um agente que pode agir de forma autônoma, dado o âmbito das ferramentas.
- Crie pipelines de prompt escaláveis que podem coletar dados relevantes de várias fontes, todos com base na entrada do usuário e constituem um prompt; e envie o prompt para um LLM.
Com as operações relacionadas ao LLM, há uma necessidade óbvia de automação. Atualmente essa automação está na forma do que se chama de agentes .
O encadeamento de prompts é a execução de uma sequência predeterminada e definida de ações.
A atração dos Agentes é que os Agentes não seguem uma sequência predeterminada de eventos. Os agentes podem manter um alto nível de autonomia.
Considerando a imagem abaixo, os Agentes têm acesso a um conjunto de ferramentas e qualquer solicitação que se enquadre no âmbito dessas ferramentas pode ser atendida pelo agente. O pipeline de Execução dá autonomia ao Agente e várias iterações podem ser necessárias até que o Agente chegue à Resposta Final .

As ações que são executadas pelo agente envolvem:
- Usando uma ferramenta
- Observando sua saída
- Alternando para outra ferramenta
- Retornando a saída para o usuário
"Os homens tornaram-se as ferramentas das suas ferramentas."
- Henry David Thoreau
Há uma observação, pensamento e, eventualmente, uma resposta final. O diagrama mostra como outro tipo de ação pode ser invocado nos casos em que a resposta final não é alcançada.
A saída recortada abaixo do diagrama mostra como o agente executa e como a cadeia é criada de forma autônoma.

Tomando a LangChain como referência, os Agentes possuem três conceitos:
Ferramentas
Como foi mostrado anteriormente no artigo, há uma série de ferramentas que podem ser usadas. Uma ferramenta pode ser vista como uma função que executa uma tarefa específica.
As ferramentas incluem Pesquisa do Google, pesquisa de banco de dados, Python REPL ou até mesmo invocar cadeias existentes.
Dentro da estrutura LangChain, a interface de uma ferramenta é uma função que se espera ter:
- String como uma entrada,
- E string como uma saída.
Este é o modelo de linguagem que alimenta o agente. Abaixo está um exemplo de como o LLM é definido dentro do agente:

Tipos de agente
Os agentes usam um LLM para determinar quais ações devem ser executadas e em que ordem. O agente cria uma sequência de pensamento em tempo real, decompondo a solicitação do usuário.
Os agentes envolvem um LLM tomando decisões sobre quais ações tomar, realizando essa ação, vendo uma observação e repetindo isso até que seja feito. — Fonte
Os agentes são eficazes mesmo nos casos em que a questão é ambígua e exige uma abordagem multihop . Isso pode ser considerado como um processo automatizado de decomposição de uma questão ou instrução complexa em um processo de cadeia de pensamento .
A imagem abaixo ilustra bem a decomposição da pergunta e como a pergunta é respondida em um processo de cadeia de pensamento :

Abaixo está uma lista de tipos de agentes dentro do ambiente LangChain. Leia mais aqui para obter uma descrição completa dos tipos de agente.

Considerando a imagem abaixo, a única alteração feita no código foi a AgentType
descrição. A mudança na resposta é claramente visível nesta imagem, com exatamente a mesma configuração usada e apenas um arquivo AgentType
.

Para exemplos completos de código de trabalho dos Agentes LangChain, leia mais aqui .

⭐️ Por favor, siga-me no LinkedIn para atualizações sobre Conversational AI ⭐️

Atualmente sou o Evangelista Chefe @ HumanFirst . Eu exploro e escrevo sobre todas as coisas na interseção de IA e linguagem; variando de LLMs , Chatbots , Voicebots , estruturas de desenvolvimento, espaços latentes centrados em dados e muito mais.



