II-Agent é uma estrutura de assistente inteligente de código aberto projetada para simplificar e aprimorar fluxos de trabalho em vários domínios, capaz de executar tarefas complexas de forma independente.
II-Agent - Detalhes do Projeto
Visão Geral do Projeto
II-Agent é um assistente inteligente de código aberto, projetado para simplificar e aprimorar fluxos de trabalho em diversos domínios. Representa um avanço significativo na forma como interagimos com a tecnologia – de ferramentas passivas para sistemas inteligentes capazes de executar tarefas complexas de forma independente.
Endereço do Projeto: https://github.com/Intelligent-Internet/ii-agent
Características Principais
O II-Agent é construído em torno do fornecimento de uma interface de agente para modelos Anthropic Claude, oferecendo as seguintes funcionalidades:
- Interface CLI: Interação direta via linha de comando
- Servidor WebSocket: Suporte para front-ends React modernos
- Integração com Google Cloud Vertex AI: Acesso aos modelos Anthropic via API
Áreas de Aplicação e Funcionalidades
Área | Funcionalidades do II-Agent |
---|---|
Pesquisa e Verificação de Fatos | Pesquisa na web em várias etapas, triangulação de fontes de informação, anotações estruturadas, resumos rápidos |
Geração de Conteúdo | Rascunhos de blogs e artigos, planos de aula, ensaios criativos, manuais técnicos, criação de sites |
Análise de Dados e Visualização | Limpeza de dados, análise estatística, detecção de tendências, criação de gráficos, geração automática de relatórios |
Desenvolvimento de Software | Síntese de código, refatoração, depuração, escrita de testes, tutoriais passo a passo em várias linguagens |
Automação de Fluxos de Trabalho | Geração de scripts, automação de navegadores, gerenciamento de arquivos, otimização de processos |
Resolução de Problemas | Decomposição de problemas, exploração de caminhos alternativos, orientação passo a passo, resolução de problemas |
Arquitetura do Sistema
O sistema II-Agent emprega uma abordagem complexa para construir um agente de IA multifuncional, com os seguintes métodos principais:
1. Arquitetura Central do Agente e Interação com LLM
- Prompts de sistema dinamicamente personalizados para o contexto
- Gerenciamento abrangente do histórico de interações
- Gerenciamento inteligente de contexto para lidar com limitações de tokens
- Chamadas LLM sistematizadas e seleção de funções
- Otimização iterativa por meio de ciclos de execução
2. Planejamento e Reflexão
- Raciocínio estruturado para resolução de problemas complexos
- Decomposição de problemas e pensamento sequencial
- Processo de tomada de decisão transparente
- Formação e teste de hipóteses
3. Capacidades de Execução
- Operações do sistema de arquivos com edição inteligente de código
- Execução de linha de comando em ambientes seguros
- Interação avançada na web e automação de navegadores
- Conclusão de tarefas e relatórios
- Funcionalidades dedicadas para várias modalidades (experimental): PDF, áudio, imagem, vídeo, slides
- Integração de pesquisa aprofundada
4. Gerenciamento de Contexto
- Estimativa e otimização do uso de tokens
- Truncamento estratégico para interações longas
- Arquivamento baseado em arquivos para grandes saídas
5. Comunicação em Tempo Real
- Interface interativa baseada em WebSocket
- Instâncias de agente isoladas por cliente
- Eventos de operação de streaming para uma experiência de usuário responsiva
Avaliação de Desempenho
O II-Agent foi avaliado no benchmark GAIA, que avalia agentes baseados em LLM em execução em cenários do mundo real, abrangendo várias dimensões, incluindo processamento multimodal, utilização de ferramentas e pesquisa na web.
Vários problemas com o benchmark GAIA foram descobertos durante o processo de avaliação:
- Erros de Anotação: Várias anotações incorretas no conjunto de dados
- Informações Desatualizadas: Algumas questões referem-se a sites ou conteúdos que não estão mais acessíveis
- Ambiguidade Linguística: Redação pouco clara levando a diferentes interpretações das questões
Apesar desses desafios, o II-Agent teve um bom desempenho no benchmark, especialmente em áreas que exigem raciocínio complexo, uso de ferramentas e planejamento em várias etapas.
Instalação e Configuração
Requisitos do Sistema
- Python 3.10+
- Node.js 18+ (para o frontend)
- Projeto Google Cloud com a API Vertex AI habilitada ou chave de API Anthropic
Configuração do Ambiente
Crie um arquivo .env
no diretório raiz:
# Ferramentas de geração de imagem e vídeo
OPENAI_API_KEY=your_openai_key
OPENAI_AZURE_ENDPOINT=your_azure_endpoint
# Provedores de pesquisa
TAVILY_API_KEY=your_tavily_key
#JINA_API_KEY=your_jina_key
#FIRECRAWL_API_KEY=your_firecrawl_key
# Para pesquisa de imagens e melhores resultados de pesquisa, use SerpAPI
#SERPAPI_API_KEY=your_serpapi_key
STATIC_FILE_BASE_URL=http://localhost:8000/
# Se estiver usando o cliente Anthropic
ANTHROPIC_API_KEY=
# Se estiver usando o Google Vertex (recomendado, se tiver permissão para obter taxa de transferência extra)
#GOOGLE_APPLICATION_CREDENTIALS=
Configuração do ambiente frontend, crie um arquivo .env
no diretório frontend
:
NEXT_PUBLIC_API_URL=http://localhost:8000
Passos de Instalação
Clone o Repositório
Configure o Ambiente Python:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
- Configure o Frontend (Opcional):
cd frontend
npm install
Como Usar
Uso da CLI
Usando o cliente Anthropic:
python cli.py
Usando o Vertex:
python cli.py --project-id YOUR_PROJECT_ID --region YOUR_REGION
Opções da CLI:
--project-id
: ID do projeto Google Cloud--region
: Região do Google Cloud (ex: us-east5)--workspace
: Caminho do diretório do espaço de trabalho (padrão: ./workspace)--needs-permission
: Requer permissão antes de executar comandos--minimize-stdout-logs
: Reduz a quantidade de logs impressos no stdout
Uso da Interface Web
- Inicie o Servidor WebSocket:
Usando o cliente Anthropic:
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000
Usando o Vertex:
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000 --project-id YOUR_PROJECT_ID --region YOUR_REGION
- Inicie o Frontend (em um terminal separado):
cd frontend
npm run dev
- Abra o navegador e acesse http://localhost:3000
Estrutura do Projeto
cli.py
: Interface de linha de comandows_server.py
: Servidor WebSocket para o frontendsrc/ii_agent/
: Implementação central do agenteagents/
: Implementações de agentesllm/
: Interfaces de cliente LLMtools/
: Implementações de ferramentasutils/
: Funções utilitárias
Características Técnicas
A estrutura do II-Agent é arquitetada em torno das capacidades de raciocínio de grandes modelos de linguagem como o Claude 3.7 Sonnet, apresentando uma abordagem abrangente e poderosa para construir agentes de IA multifuncionais. Através da combinação sinérgica de um LLM robusto, um rico conjunto de capacidades de execução, mecanismos explícitos de planejamento e reflexão e estratégias inteligentes de gerenciamento de contexto, o II-Agent é capaz de lidar com uma ampla gama de tarefas complexas e de várias etapas.
Resumo
O II-Agent representa um avanço significativo na tecnologia de agentes inteligentes, com sua natureza de código aberto e design extensível fornecendo uma base sólida para pesquisa e desenvolvimento contínuos no campo de agentes de IA em rápida evolução. Através de suas capacidades de aplicação em vários domínios e arquitetura técnica robusta, o II-Agent oferece aos usuários uma plataforma de assistente inteligente abrangente e fácil de usar.