Inteligência artificial
OpenAgents: uma plataforma aberta para agentes linguísticos em atividade

Desenvolvimentos recentes demonstraram que os agentes linguísticos, particularmente aqueles construídos em grandes modelos de linguagem (LLMs), têm o potencial para realizar uma ampla gama de tarefas complexas em diversos ambientes usando linguagem natural. No entanto, o foco principal da maioria das estruturas de agentes linguísticos atualmente é facilitar a construção de agentes linguísticos de prova de conceito. Esse foco geralmente vem com pouca ou nenhuma atenção aos designs em nível de aplicação e frequentemente negligencia a acessibilidade desses agentes para usuários não especialistas.
Para superar as limitações atuais enfrentadas pelos agentes de linguagem, os desenvolvedores criaram o Estrutura OpenAgents, uma plataforma aberta para hospedar e implantar agentes linguísticos na natureza e em uma série de tarefas diárias. A estrutura OpenAgents é construída em torno de três agentes
- Agente de dados: Ajuda na análise de dados usando ferramentas de dados e linguagens de consulta como SQL ou linguagens de programação como Python.
- Agentes de plug-in: Ajuda fornecendo acesso a mais de 200 ferramentas de API úteis para tarefas diárias.
- Agentes da Web: Ajuda a navegar na web mantendo o anonimato.
A estrutura OpenAgents usa uma interface de usuário web otimizada para falhas comuns e respostas rápidas na tentativa de permitir que usuários em geral interajam com as funcionalidades do agente, ao mesmo tempo que oferece aos pesquisadores e desenvolvedores uma experiência de implantação perfeita em suas configurações locais. Seria seguro dizer que a estrutura OpenAgents é uma tentativa de fornecer uma base sólida para facilitar avaliações do mundo real e criar agentes linguísticos inovadores, eficazes e avançados.
No artigo de hoje, iremos nos aprofundar na estrutura OpenAgents e falar sobre ela com mais detalhes. Falaremos sobre o funcionamento e a arquitetura da estrutura, ao mesmo tempo que discutiremos os desafios comuns enfrentados e os resultados. Então vamos começar.
OpenAgents e agentes de idiomas: uma introdução
Os agentes de linguagem, em sua essência, são derivados de agentes inteligentes. Esses agentes inteligentes são conceituados como possuindo capacidades autônomas de resolução de problemas, juntamente com a capacidade de sentir seu ambiente, tomar decisões e agir de acordo. Com os avanços em grandes modelos linguísticos, a comunidade de desenvolvimento global alavancou o conceito de agentes inteligentes e LLMs para criar agentes linguísticos. Esses agentes utilizam programação em linguagem natural (PNL) para executar uma ampla gama de tarefas complexas em diversos ambientes e recentemente demonstraram um potencial notável.
As estruturas atuais de agentes de linguagem, como Gravitas e Chase, fornecem principalmente uma interface de console adaptada para desenvolvedores, juntamente com implementações de prova de conceito. No entanto, muitas vezes restringem a acessibilidade a um público mais vasto, especialmente àqueles que não são proficientes em codificação. Além disso, os benchmarks atuais dos agentes são construídos por desenvolvedores com requisitos específicos para avaliação determinística, especialmente em cenários que exigem navegação na web, codificação, utilização de ferramentas ou uma combinação destes.
Em um esforço para desenvolver agentes inteligentes e de linguagem baseados em LLM para uma base de usuários mais ampla, players estabelecidos como OpenAI e Microsoft implantaram uma gama de produtos bem projetados, incluindo Análise Avançada de Dados, também conhecida como Interpretador de Código, e plug-ins de navegador. Embora estes agentes sejam eficazes nas suas funções, oferecem ajuda limitada à comunidade de desenvolvimento. Esta limitação surge porque o código da lógica de negócios e as implementações do modelo não foram de código aberto, dificultando as oportunidades para desenvolvedores e pesquisadores explorá-los ainda mais, bem como limitando o acesso gratuito para os usuários.
Na tentativa de resolver esse problema, os desenvolvedores criaram Agentes Abertos, uma plataforma de código aberto para hospedagem e uso de agentes, e atualmente é construída com base em três agentes internos
- Agente de dados: Ajuda na análise de dados usando ferramentas de dados e linguagens de consulta como SQL ou linguagens de programação como Python.
- Agentes de plug-in: Ajuda fornecendo acesso a mais de 200 ferramentas de API úteis para tarefas diárias.
- Agentes da Web: Ajuda a navegar na web mantendo o anonimato.
A figura a seguir demonstra a plataforma OpenAgents para usuários em geral, desenvolvedores e pesquisadores.

- Em vez de usar um pacote ou consoles orientados ao programador, os usuários em geral podem interagir com os três agentes na estrutura OpenAgents usando uma interface web online.
- Os desenvolvedores podem fazer uso da lógica de negócios e dos códigos de pesquisa fornecidos pela estrutura OpenAgents para implantar back-end e front-end perfeitamente para desenvolvimentos futuros.
- Os pesquisadores têm a flexibilidade de construir novos agentes de linguagem do zero ou implementar métodos relacionados ao agente usando componentes e exemplos compartilhados e avaliar seu desempenho usando a interface da web.
Resumindo, a estrutura OpenAgents foi originalmente concebida para ser uma plataforma holística e realista para avaliação humana de agentes linguísticos, que permite aos usuários interagir com esses agentes para completar uma ampla gama de tarefas, e essas pessoas as interações do agente junto com o feedback do usuário são armazenadas e analisadas para posterior desenvolvimento e avaliação.
Para quem não sabe, Solicitação de LLM é um processo que permite aos desenvolvedores criar instruções que protegem contra entradas adversárias ou erradas, aprimoram a estética da saída e atendem à lógica de back-end. Durante a fase de desenvolvimento, os desenvolvedores que trabalham na estrutura OpenAgents usam a técnica de prompt LLM para enfatizar a importância de especificar os requisitos do aplicativo de maneira eficaz. No entanto, os desenvolvedores logo observaram que o acúmulo dessas instruções ou prompts LLM pode ser substancial às vezes, o que pode afetar as habilidades de manipulação de contexto das estruturas LLM, juntamente com as limitações de token. Os desenvolvedores também observaram que, para implantar esses agentes de forma eficaz no mundo real, os modelos de agentes não deveriam apenas exibir um desempenho excepcional, mas também deveriam ser capazes de lidar com uma ampla gama de cenários interativos em tempo real. Embora estruturas de agentes atuais têm o desempenho coberto, eles muitas vezes ignoram as considerações do mundo real, especialmente em tempo real, que muitas vezes ofuscam o verdadeiro potencial das estruturas LLM ao negociar a capacidade de resposta ou a precisão.
Na figura a seguir, estamos comparando a estrutura OpenAgents diretamente com trabalhos existentes sobre benchmarks de conceito de agente e construção de protótipos.

OpenAgents: design e implementação de plataforma
O design sistemático ou arquitetura da plataforma OpenAgents pode ser dividido em dois componentes principais: Interface de Usuário, incluindo back-end e front-end, e ferrolhos de sobrepor podem ser usados para proteger uma porta de embutir pelo lado de fora. Alguns kits de corrente de segurança também permitem travamento externo com chave ou botão giratório. Agente de idiomas, compreendendo ferramentas, modelos de linguagem e ambientes. A estrutura OpenAgents fornece uma interface para comunicação entre os usuários e os agentes. O fluxo de interação na estrutura é o seguinte.
Os agentes utilizam as ferramentas à sua disposição para planejar e executar as ações necessárias nos ambientes, uma vez recebidos os insumos dos usuários. A arquitetura ou design sistemático da estrutura é demonstrado na imagem a seguir.

Interface de Usuário
Os desenvolvedores da estrutura OpenAgents pensaram muito e se esforçaram para desenvolver não apenas uma interface de usuário altamente funcional, mas também amigável, depois de lidar com uma carga de agentes de host e lógica de negócios reutilizável. Como resultado, a estrutura OpenAgents se orgulha de fornecer suporte para uma ampla gama de tarefas técnicas, incluindo tratamento de erros, operações de servidor backend, streaming de dados e muito mais, com o objetivo principal de tornar a estrutura OpenAgents fácil de usar, mas altamente eficaz e eficiente. utilizável ao mesmo tempo.
Agente de idiomas
Dentro da estrutura OpenAgents, o agente de linguagem possui três componentes essenciais: uma interface de ferramenta, um modelo de linguagem e o próprio ambiente. O método de prompt implementado na estrutura OpenAgents cria um processo sequencial para os agentes seguirem, que começa com Observação -> Deliberação -> Ação. A estrutura também solicita que o LLM gere texto analisável com eficiência aprimorada, e a interface da ferramenta consiste em analisadores que podem traduzir esses textos analisáveis gerados por LLMs em ações executáveis, como fazer chamadas de API ou gerar código. Estas ações são então executadas pela estrutura dentro dos limites do ambiente correspondente.
Agentes do OpenAgents
No centro do OpenAgents, existem três agentes distintos: Agente de dados que ajuda na análise de dados usando ferramentas de dados e linguagens de consulta como SQL ou linguagens de programação como Python, Agentes de plug-in que. ajuda fornecendo acesso a mais de 200 ferramentas de API úteis para tarefas diárias e Agentes Web que ajuda a navegar na web enquanto mantém seu anonimato. Esses agentes têm experiência de domínio individual semelhante aos plug-ins ChatGPT, no entanto, ao contrário do ChatGPT, a implementação no OpenAgents é baseada puramente em interfaces de programação de aplicativos ou APIs de linguagem aberta.
Agente de dados
O agente de dados na estrutura OpenAgents foi projetado e implantado de forma a lidar com uma ampla gama de tarefas relacionadas a dados que os usuários finais encontram regularmente. Os agentes de dados suportam a geração e execução de código em duas linguagens de programação, nomeadamente SQL e Python, e o agente também tem diversas ferramentas de dados à sua disposição, incluindo Criação de perfil de dados para fornecer informações básicas de dados, Pesquisa de dados Kaggle para pesquisar conjuntos de dados, e Ferramenta de gráficos eletrônicos para traçar ECharts interativos. Além disso, a estrutura OpenAgents solicita que o agente de dados use essas ferramentas de forma proativa para responder de forma eficaz às solicitações dos usuários finais. Além disso, dados os exaustivos requisitos de codificação, a estrutura OpenAgents opta por modelos de linguagem incorporados para o agente de dados e, em vez de o agente gerar o código, são as ferramentas como Python, ECharts e SQL que geram o código. Com essa abordagem, a estrutura é capaz de aproveitar completamente a capacidade de programação dos modelos de linguagem e, assim, reduzir a pressão sobre o agente de dados.
Com a ajuda dessas ferramentas de dados, o agente de dados é capaz de gerenciar inúmeras solicitações centradas em dados e realizar visualização, manipulação e consultas de dados com eficiência, ultrapassando assim os limites da geração de código e texto. A figura a seguir destaca um agente de dados em ação e as ferramentas disponíveis para usuários comuns.

Agente de plug-ins
O agente de plug-ins na estrutura OpenAgents foi projetado meticulosamente por desenvolvedores para atender aos requisitos multifacetados do usuário para tarefas diárias, incluindo pesquisa na Internet, compras on-line, leitura de notícias ou criação de sites e aplicativos, fornecendo acesso a mais de 200 plug-ins, com especial atenção sendo pago pela interface de chamada de função, pings de API e comprimentos de resposta de API. Alguns dos plug-ins proeminentes incluem
- Pesquisa do Google
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Ler agora
- Falar
- Pergunte ao seu PDF
- BizTok
- KlookGenericName
Com base em suas necessidades e requisitos, os usuários podem escolher a quantidade de plugins que desejam que os agentes de plugins usem, e o funcionamento é demonstrado na figura abaixo.

Além disso, para ajudar os usuários em situações em que eles não têm certeza de qual plug-in atenderá melhor às suas necessidades, a estrutura OpenAgents oferece aos usuários um recurso que seleciona automaticamente os plug-ins mais relevantes para suas instruções.
Agentes Web
A estrutura OpenAgents apresenta o agente web como uma ferramenta especializada encarregada de aumentar a eficiência e os recursos do agente de chat. Embora o agente de chat ainda hospede a interface de interação principal, ele incorpora perfeitamente o agente web sempre que necessário. A resposta final é então entregue ao usuário final pelo agente web, e o processo é ilustrado na figura abaixo.

A estratégia de design implementada nestes agentes web revela-se de grande benefício, pois o agente de chat processa parâmetros importantes ou inicia URLs sistematicamente, antes de serem transferidos para o agente web, garantindo assim um melhor alinhamento entre os requisitos do usuário e o resultado gerado, assim resultando em uma comunicação clara. Além disso, a estratégia também permite que os agentes da web acomodem as consultas dos usuários em camadas e adaptáveis, empregando uma navegação dinâmica em várias voltas, juntamente com diálogos de chat. Portanto, ao demarcar distintamente as funções e responsabilidades dos agentes de bate-papo e de navegação múltipla, a estrutura OpenAgents abre caminho para o refinamento e a evolução de cada módulo individual.
OpenAgents: aplicações práticas e implantação no mundo real
Nesta seção, falaremos sobre a trajetória da estrutura OpenAgents, desde a teorização até a implantação no mundo real, juntamente com os desafios encontrados e os aprendizados absorvidos junto com as complexidades de avaliação que os desenvolvedores enfrentaram.
Usando prompts para transformar grandes modelos de linguagem em aplicativos do mundo real
Ao usar prompts LLM para criar aplicativos do mundo real para usuários finais, a estrutura OpenAgents usa instruções de prompt para especificar determinados requisitos. O objetivo de algumas instruções é garantir que a saída esteja alinhada com um formato específico, permitindo assim o processamento da lógica de back-end, enquanto o objetivo de outras instruções é melhorar o apelo estético da saída, enquanto o restante protege a estrutura contra possíveis ataques maliciosos.
Fatores incontroláveis do mundo real
Quando os desenvolvedores implantaram a estrutura OpenAgents no mundo real, eles foram recebidos por uma série de fatores incontroláveis do mundo real, acionados pela infraestrutura da Internet, usuários, lógicas de negócios e muito mais. Estes factores incontroláveis forçaram os programadores a reavaliar e a alterar alguns pressupostos com base em pesquisas anteriores, e poderiam, em última análise, levar a situações em que os utilizadores finais podem não ficar satisfeitos com a resposta que a estrutura gera.
Complexidade de avaliação
Embora os agentes construídos direcionados diretamente às aplicações possam ter uma aplicação mais ampla e facilitar uma melhor avaliação, isso aumenta a complexidade da construção de aplicações baseadas em LLM, o que dificulta a análise do desempenho das aplicações. Além disso, esta abordagem também aumenta a instabilidade e amplia a cadeia do sistema do LLMs isso torna um desafio para a estrutura se adaptar a diferentes componentes. Portanto, faz sentido refinar o projeto do sistema e a lógica operacional desses agentes para simplificar os procedimentos e garantir resultados eficazes.
Considerações Finais
Neste artigo, falamos sobre o framework OpenAgents, uma plataforma aberta para hospedar e implantar agentes de linguagem na natureza e em uma série de tarefas diárias. A estrutura OpenAgents é construída em torno de três agentes: Data Agent, ajuda na análise de dados usando ferramentas de dados e linguagens de consulta como SQL ou linguagens de programação como Python, Plugin Agents, ajuda fornecendo acesso a mais de 200 ferramentas de API úteis para tarefas diárias e Web Agents ajuda a navegar na web enquanto mantém seu anonimato . A estrutura OpenAgents usa uma interface de usuário web otimizada para falhas comuns e respostas rápidas na tentativa de permitir que usuários em geral interajam com as funcionalidades do agente, ao mesmo tempo que oferece aos pesquisadores e desenvolvedores uma experiência de implantação perfeita em suas configurações locais. Ao fornecer uma plataforma transparente, holística e implantável, o OpenAgents visa tornar o potencial dos LLMs acessível a uma gama mais ampla de usuários, não limitado a pesquisadores e desenvolvedores, mas também a usuários finais com conhecimento técnico limitado.










