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

SE-Agent是一个为大型语言模型(LLM)智能体设计的自我进化框架。 它通过一种轨迹层面的进化机制,让不同的推理路径能够交换信息,这打破了单一思考路径的局限性。 SE-Agent能够扩展搜索范围,避免陷入局部最优解,并在群体互动中展现出新的能力。 这个框架在SWE-bench(一个软件工程基准测试)上取得了目前最好的性能表现,真正实现了大模型智能体在复杂推理任务中的自主进化。 它通过分析、结合并优化不同的解决方案,让AI智能体能更有效地解决复杂的编程问题。

 

Lista de funções

  • 自我进化框架: 核心机制通过轨迹层面的进化,实现不同推理路径间的信息交换,打破单一路径的认知局限。
  • 三种核心进化操作:
    • 修正 (Revision): 智能体通过深度自我反思,分析失败的解决方案,并生成全新的、结构上不同的解题思路。
    • 重组 (Recombination): 智能地融合多个不同解决方案中的优点,创造出更优的全新解决方案。
    • 精炼 (Refinement): 借鉴所有解决方案的经验,优化有潜力的方案,消除冗余步骤,并根据历史失败经验提供风险规避指导。
  • 领先的性能: 在行业标准的SWE-bench测试中,无论是使用开源还是闭源的大语言模型,SE-Agent都展现出顶尖的性能,解决了80%的已验证问题。
  • 灵活的扩展性: 支持用户创建自定义的进化策略(Operator),以适应不同的需求和场景。
  • 高效的轨迹管理: 包含一个轨迹系统,用于压缩存储运行记录(可减少80%的体积),积累跨迭代的知识,并利用大模型进行轨迹分析和总结。
  • Capacidade de processamento em lote: 支持对SWE-bench中的多个实例进行批量处理和测试。

Usando a Ajuda

下面将详细介绍如何安装和使用SE-Agent框架。

Instalação e configuração

选项一:使用Pip(推荐)

这是最简单直接的安装方式。

  1. 首先,从GitHub克隆代码仓库到你的本地电脑:
    git clone https://github.com/JARVIS-Xs/SE-Agent.git
    ```2.  进入项目目录:
    ```shell
    cd SE-Agent
    
  2. 使用pip进行可编辑模式的安装,这样可以让你在修改代码后立即生效:
    pip install -e .
    

选项二:使用Conda虚拟环境

如果你希望为项目创建一个隔离的环境,避免与其他Python项目产生冲突,Conda是一个很好的选择。

  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. 使用Conda创建一个名为SE的新环境,并指定Python版本为3.12:
    conda create -n SE python=3.12
    
  4. 激活这个新创建的环境:
    conda activate SE
    
  5. 最后,在这个环境中安装SE-Agent:
    pip install -e .
    

Verificar a instalação

安装完成后,你可以运行以下命令来检查是否安装成功。如果看到帮助信息或者测试脚本正常运行,说明安装已完成。

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

Configuração da chave de API

SE-Agent需要连接大语言模型服务才能工作。你需要至少一个API密钥。

  1. 在项目的根目录(SE-Agent/)下,创建一个名为.envdo documento.
  2. 根据你拥有或希望使用的模型服务,将对应的密钥信息写入文件。

例如,如果你使用DeepSeek的API:

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

或者,如果你使用OpenAI的API:

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

或者,使用Anthropic的API:

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

程序会自动加载.env文件中的密钥信息。

Processo básico de operação

1. 运行演示(无API消耗)

这是一个不调用任何在线大模型API的演示模式,可以让你快速了解程序运行流程。

python SE/basic_run.py --mode demo

2. 运行你的第一个进化实验

这个命令会启动一个完整的自我进化过程,智能体将开始解决一个预设的问题。这个过程会调用你配置的大模型API。

python SE/basic_run.py --mode execute

执行后,你将看到类似下面的输出,表示智能体已成功初始化并开始进行3轮自我进化:

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

3. 进行批量处理

如果你需要在大规模数据集(例如SWE-bench)上测试SE-Agent的性能,可以使用run-batch命令。这个命令允许你指定配置文件、模型、数据集子集和处理范围。

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

这个例子将使用deepseek/deepseek-chat模型处理SWE-benchmédioverified子集的前10个问题。

Desenvolvimento personalizado

SE-Agent的强大之处在于它的可扩展性。你可以开发自己的进化操作算子(Operator)来定义全新的进化策略。

下面是一个简单的例子,展示如何创建一个自定义算子:

  1. através de (uma lacuna)SE.operators导入基类TemplateOperator和注册函数register_operator.
  2. 创建一个继承自TemplateOperator的新类,例如MyEvolutionOperator.
  3. 在新类中实现_generate_content方法,这个方法就是你自定义的进化逻辑。
  4. 最后,使用register_operator函数将你的新算子注册到框架中,并给它一个独一无二的名字。
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. 软件工程自动化
    SE-Agent可以自动解决软件开发中遇到的问题,例如修复错误(bug)、优化代码性能或根据需求添加新功能。它通过模拟人类开发者的思考过程,尝试多种解决方案,并从中学习和进化,最终找到最佳方案。
  2. 复杂问题求解研究
    在学术研究领域,研究人员可以利用SE-Agent作为一个实验平台,探索AI智能体在解决复杂问题时的推理和学习能力。通过自定义不同的进化策略,可以研究哪种方法对于特定类型的问题更有效。
  3. AI智能体能力评估
    SE-Agent框架可以在标准化的基准测试(如SWE-bench)上运行,用于评估和比较不同大语言模型在软件工程任务上的表现。这为模型开发者和使用者提供了一个客观的性能衡量标准。

QA

  1. 什么是SE-Agent的核心思想?
    SE-Agent的核心思想是“自我进化”。它不像传统AI那样只尝试一次解决问题,而是会生成多个解决方案(称为“轨迹”),然后通过分析失败的、融合成功的,不断迭代优化,就像生物进化一样,最终产生一个高质量的解决方案。
  2. SE-Agent支持哪些大语言模型?
    SE-Agent通过litellm库来支持多种模型API,包括DeepSeek、OpenAI和Anthropic等。你只需要在.env文件中配置相应的API密钥即可使用。
  3. 我需要专门的硬件来运行SE-Agent吗?
    运行SE-Agent本身对本地硬件要求不高,因为它主要是调用云端的大语言模型API来完成计算密集型任务。你需要的是一个稳定的网络连接和足够的API额度。
  4. 如何为SE-Agent贡献代码?
    SE-Agent是一个开源项目,你可以在GitHub上通过提交Issues来报告问题或提出建议,也可以通过提交Pull Requests来直接贡献代码。在开发前,建议先阅读项目中的开发文档。
0Marcado
0Recomendado

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.

voltar ao topo

pt_BRPortuguês do Brasil