Inteligência artificial
OpenAgents: Uma Plataforma Aberta para Agentes de Linguagem no Mundo Real

Desenvolvimentos recentes demonstraram que os agentes de linguagem, particularmente aqueles construídos em modelos de linguagem grandes (LLMs), têm o potencial de realizar uma ampla gama de tarefas intricadas em ambientes diversificados usando linguagem natural. No entanto, o foco principal da maioria dos quadros de agentes de linguagem atualmente é facilitar a construção de agentes de linguagem de conceito de prova. Esse foco frequentemente vem com pouca ou nenhuma atenção a designs de nível de aplicação e frequentemente negligencia a acessibilidade desses agentes para usuários não especializados.
Para superar as limitações atuais experimentadas pelos agentes de linguagem, os desenvolvedores criaram o quadro de OpenAgents, uma plataforma aberta para hospedar e implantar agentes de linguagem no mundo real, e em uma variedade de tarefas do dia a dia. O quadro de OpenAgents é construído em torno de três agentes
- Agente de Dados: Ajuda com Análise de Dados usando ferramentas de dados e linguagens de consulta como SQL, ou linguagens de programação como Python.
- Agentes de Plugin: Ajuda fornecendo acesso a mais de 200+ ferramentas de API úteis para tarefas diárias.
- Agentes da Web: Ajuda na navegação na web enquanto mantém sua anonimidade.
O quadro de OpenAgents usa uma interface de usuário da web otimizada para falhas comuns e respostas rápidas em uma tentativa de permitir que os usuários gerais interajam com as funcionalidades dos agentes, enquanto ao mesmo tempo oferece aos pesquisadores e desenvolvedores uma experiência de implantação sem interrupções em seus conjuntos locais. Pode-se dizer que o quadro de OpenAgents é uma tentativa de fornecer uma base sólida para facilitar avaliações do mundo real e criar agentes de linguagem inovadores, eficazes e avançados.
Neste artigo, vamos mergulhar mais profundamente no quadro de OpenAgents e discutir o quadro em maior detalhe. Vamos falar sobre o funcionamento e a arquitetura do quadro, bem como os desafios enfrentados e os resultados. Então, vamos começar.
OpenAgents e Agentes de Linguagem: Uma Introdução
Agentes de linguagem, em sua essência, são derivados de agentes inteligentes. Esses agentes inteligentes são concebidos para possuir capacidades autônomas de resolução de problemas, juntamente com a capacidade de perceber seu ambiente, tomar decisões e agir de acordo. Com os avanços nos modelos de linguagem grandes, a comunidade de desenvolvimento global aproveitou o conceito de agentes inteligentes e LLMs para criar agentes de linguagem. Esses agentes utilizam programação de linguagem natural (NLP) para realizar uma ampla gama de tarefas intricadas em ambientes diversificados e recentemente demonstraram um potencial notável.
Quadros de agentes de linguagem atuais, como Gravitas e Chase, fornecem principalmente uma interface de console adaptada para desenvolvedores, juntamente com implementações de conceito de prova. No entanto, eles frequentemente restringem a acessibilidade a uma audiência mais ampla, particularmente aqueles que não são proficientes em codificação. Além disso, as atuais avaliações de agentes são construídas 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 disso.
Em uma tentativa de desenvolver agentes de linguagem inteligentes e baseados em LLMs para uma base de usuários mais ampla, jogadores estabelecidos como OpenAI e Microsoft implantaram uma variedade de produtos bem projetados, incluindo Análise de Dados Avançada, também conhecida como Interpretador de Código, e plugins de navegador. Embora esses agentes sejam eficazes em suas funções, eles oferecem ajuda limitada à comunidade de desenvolvimento. Essa limitação surge porque o código de lógica de negócios e as implementações de modelo não foram abertas, impedindo as oportunidades para que os desenvolvedores e pesquisadores as explorem mais, bem como limitando o acesso gratuito para os usuários.
Em uma tentativa de resolver esse problema, os desenvolvedores criaram o OpenAgents, uma plataforma de código aberto para hospedar e usar agentes, e atualmente é construída em uma base de três agentes internos
- Agente de Dados: Ajuda com Análise de Dados usando ferramentas de dados e linguagens de consulta como SQL, ou linguagens de programação como Python.
- Agentes de Plugin: Ajuda fornecendo acesso a mais de 200+ ferramentas de API úteis para tarefas diárias.
- Agentes da Web: Ajuda na navegação na web enquanto mantém sua anonimidade.
A figura a seguir demonstra a plataforma OpenAgents para usuários gerais, desenvolvedores e pesquisadores.

- Em vez de usar um pacote orientado a programador ou consoles, os usuários gerais podem interagir com os três agentes no quadro de OpenAgents usando uma interface de usuário da web online.
- Os desenvolvedores podem usar a lógica de negócios e os códigos de pesquisa fornecidos pelo quadro de OpenAgents para implantar backend e frontend para desenvolvimentos adicionais.
- Os pesquisadores têm a flexibilidade de construir novos agentes de linguagem do zero ou implementar métodos relacionados a agentes usando componentes compartilhados e exemplos e avaliar seu desempenho usando a interface de usuário da web.
Para resumir, o quadro de OpenAgents é originalmente destinado a ser uma plataforma holística e realista para avaliação de agentes de linguagem com intervenção humana que permite que os usuários interajam com esses agentes para concluir uma ampla gama de tarefas, e essas interações humano-agente, juntamente com o feedback do usuário, são armazenadas e analisadas para desenvolvimento e avaliação adicionais.
Para aqueles que não estão cientes, LLM prompting é um processo que permite que os desenvolvedores criem instruções que protegem contra entradas adversárias ou erradas, melhoram a estética da saída e atendem à lógica de negócios. Durante a fase de desenvolvimento, os desenvolvedores que trabalham no quadro de OpenAgents usam a técnica de LLM prompting para destacar a importância de especificar requisitos de aplicação de forma eficaz. No entanto, os desenvolvedores logo observaram que a construção dessas instruções ou LLM prompts pode ser substancial às vezes, o que pode afetar as capacidades de manipulação de contexto dos quadros de LLM, juntamente com limitações de token. Os desenvolvedores também observaram que, para implantar esses agentes de forma eficaz no mundo real, os modelos de agente devem não apenas exibir um desempenho excepcional, mas também ser capazes de lidar com uma ampla gama de cenários interativos em tempo real. Embora os quadros de agentes atuais tenham o desempenho coberto, eles frequentemente ignoram considerações do mundo real, especialmente em tempo real, o que pode ofuscar o verdadeiro potencial dos quadros de LLM, negociando a resposta ou a precisão.
Na figura a seguir, estamos comparando o quadro de OpenAgents diretamente com trabalhos existentes em benchmarks de conceito de agente e construção de protótipos.

OpenAgents: Design e Implementação da Plataforma
O design sistemático ou arquitetura da plataforma OpenAgents pode ser dividido em dois componentes principais: Interface de Usuário, incluindo backend e frontend, e Agente de Linguagem, que compreende ferramentas, modelos de linguagem e ambientes. A plataforma OpenAgents fornece uma interface para comunicação entre os usuários e os agentes. O fluxo de interação na plataforma é o seguinte.
Os agentes usam as ferramentas disponíveis para planejar e tomar as ações necessárias nos ambientes uma vez que tenham recebido entradas dos usuários. A arquitetura ou design sistemático da plataforma é demonstrada na imagem a seguir.

Interface de Usuário
Os desenvolvedores da plataforma OpenAgents dedicaram muito tempo e esforço para desenvolver não apenas uma interface de usuário altamente funcional, mas também amigável, após lidar com uma carga de agentes hospedados e lógica de negócios reutilizável. Como resultado, a plataforma OpenAgents se orgulha de fornecer suporte a uma ampla gama de tarefas técnicas, incluindo tratamento de erros, operações de servidor backend, transmissão de dados e muito mais, com o objetivo principal de tornar a plataforma OpenAgents amigável ao usuário, mas altamente eficaz e usável ao mesmo tempo.
Agente de Linguagem
Dentro da plataforma OpenAgents, o agente de linguagem tem três componentes essenciais: uma interface de ferramenta, um modelo de linguagem e o ambiente em si. O método de prompting implementado na plataforma OpenAgents cria um processo sequencial para os agentes seguirem, que começa com Observação -> Deliberação -> Ação. A plataforma também instrui o LLM a gerar texto parsável com eficiência aprimorada, e a interface de ferramenta consiste em analisadores que podem traduzir esses textos parsáveis gerados por LLMs em ações executáveis, como fazer chamadas de API ou gerar código. Essas ações são então executadas pela plataforma dentro dos limites do ambiente correspondente.
Agentes de OpenAgents
No núcleo da OpenAgents, existem três agentes distintos: Agente de Dados que ajuda com Análise de Dados usando ferramentas de dados e linguagens de consulta como SQL, ou linguagens de programação como Python, Agentes de Plugin que ajuda fornecendo acesso a mais de 200+ ferramentas de API úteis para tarefas diárias, e Agentes da Web que ajudam na navegação na web enquanto mantém sua anonimidade. Esses agentes têm especialização de domínio individual semelhante a plugins de ChatGPT, no entanto, ao contrário de ChatGPT, a implementação na OpenAgents é baseada puramente em cima de APIs de aplicação de linguagem abertas ou APIs.
Agente de Dados
O agente de dados na plataforma OpenAgents foi projetado e implantado para lidar com uma ampla gama de tarefas relacionadas a dados que os usuários finais encontram regularmente. O agente de dados suporta geração e execução de código em duas linguagens de programação, nomeadamente SQL e Python, e o agente também tem várias ferramentas de dados à sua disposição, incluindo Perfil de Dados para fornecer informações básicas de dados, Pesquisa de Dados Kaggle para pesquisar conjuntos de dados, e Ferramenta ECharts para plotar ECharts interativos. Além disso, a plataforma OpenAgents instrui o agente de dados a usar essas ferramentas de forma proativa para responder eficazmente às solicitações dos usuários finais. Além disso, dado os requisitos de codificação exaustivos, a plataforma 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 plataforma é capaz de aproveitar completamente a capacidade de programação dos modelos de linguagem e, assim, reduz a carga no agente de dados.
Com a ajuda dessas ferramentas de dados, o agente de dados é capaz de gerenciar numerosas solicitações centradas em dados e executa visualização de dados, manipulação e consultas com habilidade, excedendo assim os limites de 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 os usuários comuns.

Agente de Plugin
O agente de plugin na plataforma OpenAgents foi projetado pelos desenvolvedores com cuidado para atender às necessidades multifacetadas dos usuários para tarefas diárias, incluindo busca na internet, compras online, leitura de notícias ou criação de sites e aplicativos, fornecendo acesso a mais de 200 plugins, com atenção especial ao interface de chamada de função, ping de API e comprimento de resposta de API. Alguns dos plugins proeminentes incluem
- Google Search
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Speak
- AskYourPDF
- BizTok
- Klook
Com base em suas necessidades e requisitos, os usuários podem escolher o número de plugins que desejam que o agente de plugin use, e o funcionamento é demonstrado na figura abaixo.

Além disso, para ajudar os usuários em situações em que eles não estão certos de qual plugin atenderá melhor às suas necessidades, a plataforma OpenAgents oferece aos usuários uma função que seleciona automaticamente os plugins mais relevantes para suas instruções.
Agentes da Web
A plataforma OpenAgents apresenta o agente da web como uma ferramenta especializada encarregada de melhorar a eficiência e as capacidades do agente de conversa. Embora o agente de conversa ainda abrigue a interface de interação principal, ele incorpora suavemente o agente da web sempre que necessário. A resposta final é então entregue ao usuário final pelo agente da web, e o processo é ilustrado na figura abaixo.

A estratégia de design implementada nesses agentes da web se prova ser de grande benefício, pois o agente de conversa processa parâmetros importantes ou inicia URLs sistematicamente, antes de serem transferidos para o agente da web, garantindo assim uma melhor alinhamento entre as necessidades do usuário e a saída gerada, resultando em comunicação clara. Além disso, a estratégia também permite que os agentes da web acomodem consultas de usuário em camadas e adaptáveis, empregando uma navegação da web dinâmica e multi-turno acoplada com diálogos de conversa. Portanto, ao demarcar os papéis e responsabilidades dos agentes de conversa e navegação da web distintamente, a plataforma OpenAgents abre caminho para o aprimoramento e evolução de cada módulo individual.
OpenAgents: Aplicações Práticas e Implantação no Mundo Real
Nesta seção, vamos falar sobre a trajetória da plataforma OpenAgents, desde a teorização até a implantação no mundo real, juntamente com os desafios enfrentados e as lições aprendidas, bem como as complexidades de avaliação que os desenvolvedores superaram.
Usando Prompts para Transformar Modelos de Linguagem Grandes em Aplicativos do Mundo Real
Quando se usa LLM prompts para construir aplicativos do mundo real para usuários finais, a plataforma OpenAgents usa instruções de prompt para especificar certos requisitos. O objetivo de algumas das instruções é garantir que a saída esteja alinhada com um formato específico, permitindo que a lógica de negócios processe, enquanto o objetivo de outras instruções é melhorar a estética da saída, enquanto o restante protege a plataforma contra ataques mal-intencionados potenciais.
Fatores do Mundo Real Incontroláveis
Quando os desenvolvedores implantaram a plataforma OpenAgents no mundo real, eles foram recebidos por uma variedade de fatores do mundo real incontroláveis, desencadeados por infraestrutura de internet, usuários, lógica de negócios e mais. Esses fatores incontroláveis forçaram os desenvolvedores a reavaliar e ajustar alguns pressupostos com base em pesquisas anteriores, e eles poderiam eventualmente levar a situações em que os usuários finais podem não estar satisfeitos com a resposta gerada pela plataforma.
Complexidade de Avaliação
Embora os agentes construídos sejam direcionados a aplicações, possam ter uma aplicação mais ampla e facilitar uma melhor avaliação, isso adiciona à complexidade de construir aplicativos baseados em LLM, o que torna difícil analisar o desempenho dos aplicativos. Além disso, essa abordagem também adiciona à instabilidade e estende a cadeia de sistema dos LLMs, o que torna desafiador para a plataforma adaptar-se a diferentes componentes. Portanto, faz sentido refinar o design do sistema e a lógica de operação desses agentes para simplificar os procedimentos e garantir saídas eficazes.
Pensamentos Finais
Neste artigo, falamos sobre a plataforma OpenAgents, uma plataforma aberta para hospedar e implantar agentes de linguagem no mundo real e em uma variedade de tarefas do dia a dia. A plataforma OpenAgents é construída em torno de três agentes: Agente de Dados, que ajuda com Análise de Dados usando ferramentas de dados e linguagens de consulta como SQL, ou linguagens de programação como Python, Agentes de Plugin, que ajudam fornecendo acesso a mais de 200+ ferramentas de API úteis para tarefas diárias, e Agentes da Web, que ajudam na navegação na web enquanto mantém sua anonimidade. A plataforma OpenAgents usa uma interface de usuário da web otimizada para falhas comuns e respostas rápidas em uma tentativa de permitir que os usuários gerais interajam com as funcionalidades dos agentes, enquanto ao mesmo tempo oferece aos pesquisadores e desenvolvedores uma experiência de implantação sem interrupções em seus conjuntos locais. Ao fornecer uma plataforma transparente, holística e implantável, OpenAgents visa tornar o potencial dos LLMs acessível a uma gama mais ampla de usuários, não limitada a pesquisadores e desenvolvedores, mas também a usuários finais com habilidades técnicas limitadas.












