Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O SE-Agent é uma estrutura autoevolutiva projetada para inteligências do Large Language Model (LLM). Ele permite que diferentes caminhos de raciocínio troquem informações por meio de um mecanismo evolutivo em nível de trajetória, o que rompe a limitação de um único caminho de raciocínio. O SE-Agent é capaz de ampliar o alcance da pesquisa, evitar cair em soluções ótimas locais e demonstrar novos recursos em interações de grupo. A estrutura atinge o melhor desempenho até o momento no SWE-bench (um benchmark de engenharia de software), possibilitando realmente a evolução autônoma de grandes modelos de inteligência em tarefas de raciocínio complexas. Ela permite que as inteligências de IA resolvam problemas complexos de programação com mais eficiência, analisando, combinando e otimizando diferentes soluções.

 

Lista de funções

  • Estrutura autoevolutivaO mecanismo principal permite a troca de informações entre diferentes caminhos de raciocínio por meio da evolução em nível de trajetória, rompendo as limitações cognitivas de um único caminho.
  • Três operações evolutivas principais:
    • RevisãoA Intelligentsia analisa soluções fracassadas por meio de uma profunda autorreflexão e gera soluções totalmente novas e estruturalmente diferentes.
    • RecombinaçãoCombina de forma inteligente o melhor de muitas soluções diferentes para criar soluções novas e melhores.
    • Refinamento: aproveitar a experiência de todas as soluções para otimizar aquelas com potencial, eliminar etapas redundantes e fornecer orientação sobre como evitar riscos com base em falhas históricas.
  • Desempenho líderNos testes de bancada SWE padrão do setor, usando modelos de linguagem grande de código aberto e fechado, o SE-Agent demonstrou desempenho superior, resolvendo o problema validado 80%.
  • Escalabilidade flexívelSuporte aos usuários para criar estratégias evolutivas personalizadas (Operadores) para atender a diferentes necessidades e cenários.
  • Gerenciamento eficiente de trilhasInclui um sistema de trajetória para armazenar de forma compacta os registros de execução (o que reduz o tamanho do 80%), acumulando conhecimento entre as iterações e usando modelos grandes para análise e resumo da trajetória.
  • Capacidade de processamento em loteSuporte ao processamento em lote e ao teste de várias instâncias no SWE-bench.

Usando a Ajuda

A seção a seguir descreve em detalhes como instalar e usar a estrutura do SE-Agent.

Instalação e configuração

Opção 1: usar o Pip (recomendado)

Essa é a maneira mais fácil e direta de instalar.

  1. Primeiro, clone o repositório de código do GitHub em seu computador local:
    git clone https://github.com/JARVIS-Xs/SE-Agent.git
    ```2.  进入项目目录:
    ```shell
    cd SE-Agent
    
  2. Use o pip para instalações em modo editável, o que permitirá que você faça alterações no código com efeito imediato:
    pip install -e .
    

Opção 2: usar o ambiente virtual Conda

O Conda é uma boa opção se você quiser criar um ambiente isolado para o seu projeto e evitar conflitos com outros projetos Python.

  1. Clonar o repositório de código:
    git clone https://github.com/JARVIS-Xs/SE-Agent.git
    
  2. Vá para o catálogo de projetos:
    cd SE-Agent
    
  3. Use o Conda para criar um arquivo chamadoSEde seu novo ambiente e especifique a versão 3.12 do Python:
    conda create -n SE python=3.12
    
  4. Ative esse ambiente recém-criado:
    conda activate SE
    
  5. Por fim, instale o SE-Agent nesse ambiente:
    pip install -e .
    

Verificar a instalação

Após a conclusão da instalação, você pode executar o seguinte comando para verificar se a instalação foi bem-sucedida. Se você vir uma mensagem de ajuda ou se o script de teste for executado normalmente, a instalação foi concluída.

sweagent --help
python SE/test/run_operator_tests.py

Configuração da chave de API

O SE-Agent precisa estar conectado ao Big Language Modelling Service para funcionar. Você precisa de pelo menos uma chave de API.

  1. No diretório raiz do projeto (SE-Agent/), crie um arquivo chamado.envdo documento.
  2. Dependendo do modelo de serviço que você tem ou deseja usar, grave as informações-chave correspondentes em um arquivo.

Por exemplo, se você usar a API do DeepSeek:

echo "DEEPSEEK_API_KEY=你的DeepSeek密钥" > .env

Ou, se você usar a API OpenAI:

echo "OPENAI_API_KEY=你的OpenAI密钥" > .env

Ou use a API do Anthropic:

echo "ANTHROPIC_API_KEY=你的Anthropic密钥" > .env

O programa carregará automaticamente o.envinformações importantes no arquivo.

Processo básico de operação

1. execute a demonstração (sem consumo de API)

Esse é um modo de demonstração que não chama nenhuma das APIs de big model on-line e oferece uma visão geral rápida do fluxo de tempo de execução do programa.

python SE/basic_run.py --mode demo

2. execute seu primeiro experimento evolutivo

Esse comando iniciará um processo autoevolutivo completo em que a inteligência começará a resolver um problema predefinido. Esse processo chamará a API do Big Model que você configurou.

python SE/basic_run.py --mode execute

Após a execução, você verá um resultado semelhante ao abaixo, indicando que a inteligência foi inicializada com sucesso e iniciou três rodadas de autoevolução:

✅ SE-Agent initialized successfully
🔄 Starting self-evolution with 3 iterations

3. processamento em lote

Se precisar testar o desempenho do SE-Agent em um conjunto de dados de grande escala (por exemplo, SWE-bench), você pode usar orun-batchcomando. Esse comando permite que você especifique perfis, modelos, subconjuntos de conjuntos de dados e intervalos de processamento.

sweagent run-batch \
--config config/default.yaml \
--agent.model.name deepseek/deepseek-chat \
--instances.subset verified \
--instances.slice :10

Este exemplo usará odeepseek/deepseek-chatmodelagemSWE-benchmédioverifiedsubconjunto das 10 primeiras perguntas.

Desenvolvimento personalizado

O poder do SE-Agent é sua extensibilidade. Você pode desenvolver seu próprio operador evolutivo (Operator) para definir estratégias evolutivas totalmente novas.

Aqui está um exemplo simples que mostra como criar um operador personalizado:

  1. através de (uma lacuna)SE.operatorsImportação de classes básicasTemplateOperatore funções de registroregister_operator.
  2. Cria um objeto que herda do objetoTemplateOperatorde uma nova classe, comoMyEvolutionOperator.
  3. Implementado em uma nova classe_generate_contentque é sua lógica de evolução personalizada.
  4. Por fim, o uso deregister_operatorregistra o seu novo operador com a estrutura e dá a ele um nome exclusivo.
from SE.operators import TemplateOperator, register_operator
class MyEvolutionOperator(TemplateOperator):
def _generate_content(self, instance_info, problem_description, trajectory_data):
# 在这里实现你的自定义进化策略
return "这是由我的新算子生成的内容"
# 注册后就可以在配置文件中使用了
register_operator("my_operator", MyEvolutionOperator)

cenário do aplicativo

  1. Automação da engenharia de software
    O SE-Agent pode resolver automaticamente os problemas encontrados no desenvolvimento de software, como corrigir erros (bugs), otimizar o desempenho do código ou adicionar novos recursos sob demanda. Ele faz isso simulando o processo de pensamento de um desenvolvedor humano, tentando várias soluções, aprendendo e evoluindo com elas e, por fim, encontrando a melhor solução.
  2. Pesquisa sobre solução de problemas complexos
    No campo da pesquisa acadêmica, os pesquisadores podem usar o SE-Agent como uma plataforma experimental para explorar as capacidades de raciocínio e aprendizado das inteligências de IA na solução de problemas complexos. Ao personalizar diferentes estratégias evolutivas, é possível investigar qual abordagem é mais eficaz para tipos específicos de problemas.
  3. Avaliação da capacidade do corpo inteligente AI
    A estrutura do SE-Agent pode ser executada em benchmarks padronizados (por exemplo, SWE-bench) para avaliar e comparar o desempenho de diferentes modelos de linguagens grandes em tarefas de engenharia de software. Isso proporciona uma medida objetiva de desempenho para desenvolvedores e usuários de modelos.

QA

  1. Qual é a ideia central do SE-Agent?
    A ideia central do SE-Agent é a "autoevolução". Em vez de tentar resolver um problema uma única vez, como faz a IA tradicional, ele gera várias soluções (chamadas de "trajetórias") e, em seguida, otimiza-as iterativamente, analisando os fracassos, integrando os sucessos e, por fim, gerando uma solução de alta qualidade, exatamente como a evolução biológica.
  2. Quais são os grandes modelos de linguagem suportados pelo SE-Agent?
    O SE-Agent está disponível por meio dolitellmpara oferecer suporte a várias APIs de modelo, incluindo DeepSeek, OpenAI e Anthropic. Tudo o que você precisa fazer é adicionar o.envVocê pode usá-lo configurando a chave de API apropriada no arquivo.
  3. Preciso de hardware especializado para executar o SE-Agent?
    A execução do SE-Agent em si não requer muito hardware local, pois ele chama principalmente as grandes APIs de modelo de linguagem na nuvem para tarefas computacionalmente intensas. Tudo o que você precisa é de uma conexão de rede estável e uma cota de API suficiente.
  4. Como posso contribuir com código para o SE-Agent?
    O SE-Agent é um projeto de código aberto no qual você pode relatar problemas ou fazer sugestões enviando problemas no GitHub ou contribuir com o código diretamente enviando solicitações pull. Antes de desenvolver, é recomendável ler a documentação de desenvolvimento do projeto.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

Novos lançamentos

voltar ao topo

pt_BRPortuguês do Brasil