Modelos e plataformas de IA

Auto-GPT & GPT-Engineer: Um Guia Aprofundado sobre os Principais Agentes de IA de Hoje

mm
Adicione Unite.AI às suas fontes preferidas no Google

Quando comparamos o ChatGPT com agentes de IA autônomos, como o Auto-GPT e o GPT-Engineer, surge uma diferença significativa no processo de tomada de decisões. Enquanto o ChatGPT requer a intervenção ativa do ser humano para conduzir a conversa, fornecendo orientação com base em prompts do usuário, o processo de planejamento depende principalmente da intervenção humana.

Os modelos de IA generativos, como os transformadores, são a tecnologia central de ponta que impulsiona esses agentes de IA autônomos. Esses transformadores são treinados em grandes conjuntos de dados, permitindo que simulem capacidades de raciocínio e tomada de decisões complexas.

Origens de Código Aberto dos Agentes Autônomos: Auto-GPT e GPT-Engineer

Muitos desses agentes de IA autônomos surgem de iniciativas de código aberto lideradas por indivíduos inovadores que transformam fluxos de trabalho convencionais. Em vez de apenas oferecer sugestões, agentes como o Auto-GPT podem lidar independentemente com tarefas, desde compras online até a construção de aplicativos básicos. O Code Interpreter da OpenAI visa atualizar o ChatGPT de apenas sugerir ideias para ativamente resolver problemas com essas ideias.

Tanto o Auto-GPT quanto o GPT-Engineer são equipados com o poder do GPT 3.5 e GPT-4. Ele entende a lógica do código, combina vários arquivos e acelera o processo de desenvolvimento.

A essência da funcionalidade do Auto-GPT reside em seus agentes de IA. Esses agentes são programados para executar tarefas específicas, desde tarefas mundanas, como agendamento, até tarefas mais complexas que exigem tomada de decisões estratégicas. No entanto, esses agentes de IA operam dentro dos limites estabelecidos pelos usuários. Controlando o acesso por meio de APIs, os usuários podem determinar a profundidade e o escopo das ações que o IA pode realizar.

Por exemplo, se for solicitado criar um aplicativo de chat integrado ao ChatGPT, o Auto-GPT divide autonomamente o objetivo em etapas executáveis, como criar uma interface de usuário em HTML ou um back-end em Python. Embora o aplicativo produza esses prompts autonomamente, os usuários ainda podem monitorar e modificá-los. Como demonstrado pelo criador do AutoGPT @SigGravitas, é capaz de construir e executar um programa de teste baseado em Python.

https://twitter.com/SigGravitas/status/1642181498278408193

Embora o diagrama abaixo descreva uma arquitetura mais geral de um agente de IA autônomo, ele oferece insights valiosos sobre os processos que ocorrem nos bastidores.

Arquitetura de Agente de IA Autônomo como Autogpt, GPT Engineer

Arquitetura de Agente de IA Autônomo

O processo é iniciado verificando a chave da API do OpenAI e inicializando vários parâmetros, incluindo memória de curto prazo e conteúdo do banco de dados. Uma vez que os dados da chave são passados para o agente, o modelo interage com o GPT3.5/GPT4 para obter uma resposta. Essa resposta é então transformada em formato JSON, que o agente interpreta para executar uma variedade de funções, como realizar pesquisas online, ler ou gravar arquivos ou até mesmo executar código. O Auto-GPT emprega um modelo pré-treinado para armazenar essas respostas em um banco de dados, e interações futuras usam essas informações armazenadas como referência. O loop continua até que a tarefa seja considerada concluída.

Guia de Configuração para Auto-GPT e GPT-Engineer

Configurar ferramentas de ponta como o GPT-Engineer e o Auto-GPT pode otimizar seu processo de desenvolvimento. Abaixo está um guia estruturado para ajudá-lo a instalar e configurar ambas as ferramentas.

Auto-GPT

Configurar o Auto-GPT pode parecer complexo, mas com os passos certos, torna-se direto. Este guia cobre o procedimento para configurar o Auto-GPT e oferece insights em seus diversos cenários.

1. Pré-requisitos:

  1. Ambiente Python: Certifique-se de ter o Python 3.8 ou posterior instalado. Você pode obter o Python em seu site oficial.
  2. Caso planeje clonar repositórios, instale o Git.
  3. Chave da API do OpenAI: Para interagir com o OpenAI, uma chave de API é necessária. Obtenha a chave em sua conta do OpenAI
Chave da API do OpenAI

Geração de Chave da API do OpenAI

Opções de Backend de Memória: Um backend de memória serve como um mecanismo de armazenamento para o AutoGPT acessar dados essenciais para suas operações. O AutoGPT emprega tanto capacidades de armazenamento de curto prazo quanto de longo prazo. Pinecone, Milvus, Redis e outros são algumas opções disponíveis.

2. Configurando seu Espaço de Trabalho:

  1. Crie um ambiente virtual: python3 -m venv myenv
  2. Ative o ambiente:
    1. MacOS ou Linux: source myenv/bin/activate

3. Instalação:

  1. Clone o repositório do Auto-GPT (certifique-se de ter o Git instalado): git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. Para garantir que você está trabalhando com a versão 0.2.2 do Auto-GPT, você precisará checkout para essa versão específica: git checkout stable-0.2.2
  3. Navegue até o repositório baixado: cd Auto-GPT
  4. Instale as dependências necessárias: pip install -r requirements.txt

4. Configuração:

  1. Encontre .env.template no diretório principal /Auto-GPT. Duplique e renomeie para .env
  2. Abra .env e defina sua Chave da API do OpenAI ao lado de OPENAI_API_KEY=
  3. Da mesma forma, para usar Pinecone ou outros backends de memória, atualize o arquivo .env com sua chave da API do Pinecone e região.

5. Instruções de Linha de Comando:

O Auto-GPT oferece um conjunto rico de argumentos de linha de comando para personalizar seu comportamento:

  • Uso Geral:
    • Exibir Ajuda: python -m autogpt --help
    • Ajustar Configurações de IA: python -m autogpt --ai-settings <nome_do_arquivo>
    • Especificar um Backend de Memória: python -m autogpt --use-memory <backend_de_memória>
AutoGPT na Linha de Comando

AutoGPT na Linha de Comando

6. Iniciando o Auto-GPT:

Uma vez que as configurações estejam completas, inicie o Auto-GPT usando:

  • Linux ou Mac: ./run.sh start
  • Windows: .run.bat

Integração com Docker (Abordagem de Configuração Recomendada)

Para aqueles que desejam containerizar o Auto-GPT, o Docker oferece uma abordagem simplificada. No entanto, é importante notar que a configuração inicial do Docker pode ser um pouco intricada. Consulte o guia de instalação do Docker para obter assistência.

Prossiga seguindo os passos abaixo para modificar a Chave da API do OpenAI. Certifique-se de que o Docker esteja em execução em segundo plano. Agora, vá para o diretório principal do AutoGPT e siga os passos abaixo no terminal

  • Crie a imagem do Docker: docker build -t autogpt .
  • Agora, Execute: docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

Com o docker-compose:

  • Execute: docker-compose run --build --rm auto-gpt
  • Para personalizações adicionais, você pode integrar argumentos adicionais. Por exemplo, para executar com –gpt3only e –continuous: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Considerando a extensa autonomia que o Auto-GPT possui em gerar conteúdo a partir de grandes conjuntos de dados, há um potencial risco de ele acessar inadvertidamente fontes da web mal-intencionadas.

Para mitigar riscos, execute o Auto-GPT dentro de um contêiner virtual, como o Docker. Isso garante que qualquer conteúdo potencialmente prejudicial fique confinado dentro do espaço virtual, mantendo seus arquivos e sistema externos intactos. Alternativamente, o Windows Sandbox é uma opção, embora ele reinicie após cada sessão, falhando em reter seu estado.

Considerando tudo isso, ainda há uma chance de que você não consiga obter os resultados desejados. Os usuários do Auto-GPT relataram problemas recorrentes ao tentar gravar em um arquivo, frequentemente encontrando tentativas falhas devido a nomes de arquivos problemáticos. Aqui está um desses erros: Auto-GPT (release 0.2.2) não anexa o texto após o erro "write_to_file returned: Error: Arquivo já foi atualizado

Várias soluções para resolver isso foram discutidas na thread do GitHub para referência.

GPT-Engineer

Fluxo de Trabalho do GPT-Engineer:

  1. Definição do Prompt: Crie uma descrição detalhada do seu projeto usando linguagem natural.
  2. Geração de Código: Com base no seu prompt, o GPT-Engineer começa a gerar trechos de código, funções ou até mesmo aplicativos completos.
  3. Refinamento e Otimização: Pós-geração, há sempre espaço para melhoria. Desenvolvedores podem modificar o código gerado para atender a requisitos específicos, garantindo qualidade superior.

O processo de configuração do GPT-Engineer foi condensado em um guia fácil de seguir. Aqui está uma quebra passo a passo:

1. Preparando o Ambiente: Antes de começar, certifique-se de que seu diretório de projeto esteja pronto. Abra um terminal e execute o comando abaixo

  • Crie um novo diretório chamado ‘website’: mkdir website
  • Mova para o diretório: cd website

2. Clone o Repositório:  git clone https://github.com/AntonOsika/gpt-engineer.git .

3. Navegue e Instale Dependências: Uma vez clonado, mude para o diretório cd gpt-engineer e instale todas as dependências necessárias make install

4. Ative o Ambiente Virtual: Dependendo do seu sistema operacional, ative o ambiente virtual criado.

  • Para macOS/Linux: source venv/bin/activate
  • Para Windows, é ligeiramente diferente devido à configuração da chave da API: set OPENAI_API_KEY=[sua_chave_api]

5. Configuração – Configuração da Chave da API: Para interagir com o OpenAI, você precisará de uma chave da API. Se você ainda não tiver uma, inscreva-se na plataforma do OpenAI e, em seguida:

  • Para macOS/Linux: export OPENAI_API_KEY=[sua_chave_api]
  • Para Windows (como mencionado anteriormente): set OPENAI_API_KEY=[sua_chave_api]

6. Inicialização do Projeto e Geração de Código: A mágica do GPT-Engineer começa com o arquivo main_prompt encontrado na pasta projects .

  • Se você deseja iniciar um novo projeto: cp -r projects/example/ projects/website

Aqui, substitua ‘website’ pelo nome do seu projeto.

  • Edite o arquivo main_prompt usando um editor de texto de sua escolha, escrevendo os requisitos do seu projeto.

  • Uma vez satisfeito com o prompt, execute: gpt-engineer projects/website

Seu código gerado residirá no diretório workspace dentro da pasta do projeto.

7. Pós-Geração: Embora o GPT-Engineer seja poderoso, ele pode não ser perfeito. Inspecte o código gerado, faça alterações manuais se necessário e certifique-se de que tudo funcione suavemente.

Execução de Exemplo

Prompt:

“Eu quero desenvolver um aplicativo básico do Streamlit em Python que visualize dados do usuário por meio de gráficos interativos. O aplicativo deve permitir que os usuários façam upload de um arquivo CSV, selecione o tipo de gráfico (por exemplo, barra, pizza, linha) e visualize dinamicamente os dados. Ele pode usar bibliotecas como Pandas para manipulação de dados e Plotly para visualização.”

Configurando e Executando o GPT-Engineer

Configurando e Executando o GPT-Engineer

Assim como o Auto-GPT, o GPT-Engineer pode ocasionalmente encontrar erros, mesmo após uma configuração completa. No entanto, na minha terceira tentativa, eu consegui acessar com sucesso a página do Streamlit. Certifique-se de revisar quaisquer erros na página de issues do repositório do GPT-Engineer.

Aplicativo do Streamlit Gerado Usando o GPT-Engineer

Aplicativo do Streamlit Gerado Usando o GPT-Engineer

Gargalos Atuais dos Agentes de IA

Despesas Operacionais

Uma tarefa única executada pelo Auto-GPT pode envolver várias etapas. Importante notar que cada uma dessas etapas pode ser cobrada individualmente, aumentando os custos. O Auto-GPT pode ficar preso em loops repetitivos, falhando em entregar os resultados prometidos. Tais ocorrências comprometem sua confiabilidade e minam o investimento.

Imagine querer criar um ensaio curto com o Auto-GPT. O comprimento ideal do ensaio é de 8K tokens, mas durante o processo de criação, o modelo se envolve em várias etapas intermediárias para finalizar o conteúdo. Se você estiver usando o GPT-4 com comprimento de contexto de 8k, para a entrada, você seria cobrado $0,03. E para a saída, o custo seria $0,06. Agora, digamos que o modelo encontra um loop inesperado, reexecutando certas partes várias vezes. Não apenas o processo se torna mais longo, mas cada repetição também adiciona ao custo.

Para se proteger contra isso:

Defina limites de uso na Faturamento e Limites do OpenAI:

  • Limite Rígido: Restringe o uso além do seu limite definido.
  • Limite Flexível: Envia um e-mail de alerta assim que o limite for atingido.

Limitações de Funcionalidade

As capacidades do Auto-GPT, como retratadas em seu código-fonte, vêm com certas fronteiras. Suas estratégias de resolução de problemas são governadas por suas funções intrínsecas e pela acessibilidade fornecida pela API do GPT-4. Para discussões aprofundadas e possíveis soluções, considere visitar: Discussão do Auto-GPT.

Impacto da IA no Mercado de Trabalho

A dinâmica entre a IA e os mercados de trabalho está constantemente evoluindo e é documentada extensivamente neste artigo de pesquisa. Uma conclusão importante é que, embora o progresso tecnológico muitas vezes beneficie os trabalhadores qualificados, ele representa riscos para aqueles envolvidos em tarefas rotineiras. Na verdade, os avanços tecnológicos podem substituir certas tarefas, mas simultaneamente abrir caminho para tarefas diversificadas e intensivas em mão de obra.

IA Mercado de Trabalho Agentes Autônomos

Estima-se que 80% dos trabalhadores americanos possam encontrar que os Modelos de Aprendizado de Linguagem (LLMs) influenciam cerca de 10% de suas tarefas diárias. Essa estatística destaca a fusão de papéis entre a IA e os seres humanos.

Papel duplo da IA na força de trabalho:

  • Aspectos Positivos: A IA pode automatizar muitas tarefas, desde suporte ao cliente até consultoria financeira, concedendo alívio a pequenas empresas que carecem de recursos para equipes dedicadas.
  • Preocupações: O benefício da automação levanta preocupações sobre perdas de empregos, particularmente em setores onde a participação humana é fundamental, como suporte ao cliente. Além disso, está o labirinto ético ligado ao acesso da IA a dados confidenciais. Isso exige uma infraestrutura sólida que garanta transparência, responsabilidade e uso ético da IA.

Conclusão

Claramente, ferramentas como o ChatGPT, o Auto-GPT e o GPT-Engineer estão à frente na redefinição da interação entre a tecnologia e seus usuários. Com raízes em movimentos de código aberto, esses agentes de IA manifestam as possibilidades da autonomia da máquina, otimizando tarefas desde agendamento até desenvolvimento de software.

À medida que nos lançamos em um futuro onde a IA se integra mais profundamente em nossas rotinas diárias, um equilíbrio entre abraçar as capacidades da IA e proteger os papéis humanos se torna crucial. No espectro mais amplo, a dinâmica entre a IA e o mercado de trabalho pinta uma imagem dupla de oportunidades de crescimento e desafios, exigindo uma integração consciente de ética tecnológica e transparência.

Eu passei os últimos cinco anos me imergindo no fascinante mundo de Aprendizado de Máquina e Aprendizado Profundo. Minha paixão e expertise me levaram a contribuir para mais de 50 projetos de engenharia de software diversificados, com um foco particular em IA/ML. Minha curiosidade contínua também me levou em direção ao Processamento de Linguagem Natural, um campo que estou ansioso para explorar mais.