SE-AgentはLarge Language Model (LLM)知能のために設計された自己進化型フレームワークである。 異なる推論経路が軌跡レベルの進化メカニズムを通じて情報を交換することを可能にし、単一の思考経路の限界を打ち破る。 SE-Agentは探索範囲を広げ、局所最適解に陥ることを回避し、グループ相互作用において新たな能力を発揮することができる。 このフレームワークはSWE-bench(ソフトウェア工学ベンチマーク)においてこれまでで最高の性能を達成し、複雑な推論タスクにおける大規模モデル知能の自律的進化を真に可能にする。 このフレームワークは、AI知能が異なる解を分析し、組み合わせ、最適化することで、複雑なプログラミング問題をより効率的に解決することを可能にする。
機能一覧
- 自己進化の枠組み核となるメカニズムは、軌道レベルの進化を通じて異なる推論パス間の情報交換を可能にし、単一パスの認知的限界を打ち破る。
- 進化の核となる3つの事業:
- 改訂インテリゲンチアは、深い内省を通じて失敗した解決策を分析し、まったく新しい、構造的に異なる解決策を生み出す。
- 組み換え多くの異なるソリューションの長所をインテリジェントに融合させ、より優れた新しいソリューションを生み出す。
- 洗練:: すべてのソリューションの経験を活用し、可能性のあるものを最適化し、冗長なステップを排除し、過去の失敗に基づくリスク回避のガイダンスを提供する。
- リーディング・パフォーマンスオープンソースとクローズドソースの両方の大規模言語モデルを使用した業界標準のSWEベンチテストにおいて、SE-Agentは80%の検証済み問題を解決し、最高のパフォーマンスを示しました。
- 柔軟な拡張性さまざまなニーズやシナリオに合わせてカスタマイズされた進化戦略(オペレーター)の作成をサポートします。
- 効率的なトラック管理80%のサイズを縮小する)走行記録をコンパクトに保存し、反復をまたいで知識を蓄積し、軌跡解析と要約のために大規模モデルを使用するための軌跡システムを含む。
- バッチ処理機能SWE-bench での複数インスタンスのバッチ処理とテストをサポート。
ヘルプの使用
以下のセクションでは、SE-Agentフレームワークのインストールと使用方法について詳しく説明します。
インストールと設定
オプション1:ピップを使う(推奨)
これが最も簡単でわかりやすいインストール方法だ。
- まず、GitHubからコード・リポジトリをローカル・コンピューターにクローンする:
git clone https://github.com/JARVIS-Xs/SE-Agent.git ```2. 进入项目目录: ```shell cd SE-Agent
- 編集可能モードのインストールにはpipを使い、コードに変更を加えると即座に有効になる:
pip install -e .
オプション2: Conda仮想環境を使う
Condaは、プロジェクト用に隔離された環境を作り、他のPythonプロジェクトとの衝突を避けたい場合に良い選択だ。
- コードリポジトリをクローンする:
git clone https://github.com/JARVIS-Xs/SE-Agent.git
- プロジェクト・カタログにアクセスする:
cd SE-Agent
- Condaを使って
SE
新しい環境のPythonバージョン3.12を指定してください:conda create -n SE python=3.12
- 新しく作成した環境をアクティブにする:
conda activate SE
- 最後に、この環境にSE-Agentをインストールする:
pip install -e .
インストールの確認
インストールが完了したら、以下のコマンドを実行して、インストールが成功したかどうかを確認できます。ヘルプ・メッセージが表示されるか、テスト・スクリプトが正常に実行されれば、インストー ルは完了です。
sweagent --help
python SE/test/run_operator_tests.py
APIキーの設定
SE-Agentを動作させるには、Big Language Modelling Serviceに接続する必要があります。少なくとも1つのAPIキーが必要です。
- プロジェクトのルート・ディレクトリ(
SE-Agent/
という名前のファイルを作成する。.env
文書の - 利用するモデル・サービスに応じて、対応するキー情報をファイルに書き込む。
たとえば、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
ファイルのキー情報。
基本操作プロセス
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-bench
真ん中verified
最初の10問のサブセット。
カスタム開発
SE-Agentのパワーは、その拡張性にあります。独自の進化オペレータ(Operator)を開発し、まったく新しい進化戦略を定義することができます。
以下は、カスタム演算子の作成方法を示す簡単な例です:
- をとおして
SE.operators
基本クラスのインポートTemplateOperator
および登録機能register_operator
. - を継承するオブジェクトを作成する。
TemplateOperator
のような新しいクラスのMyEvolutionOperator
. - 新しいクラスで実装
_generate_content
メソッドで、これはカスタム進化ロジックである。 - 最後に
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)
アプリケーションシナリオ
- ソフトウェア・エンジニアリング・オートメーション
SE-Agent は、エラー(バグ)の修正、コード・パフォーマンスの最適化、オンデマンドでの新機能の追加など、ソフトウェア開発で発生する問題を自動的に解決することができます。これは、人間の開発者の思考プロセスをシミュレートし、複数の解決策を試し、それらから学習して進化させ、最終的に最適な解決策を見つけることによって行われます。 - 複雑な問題解決の研究
学術研究の分野では、研究者はSE-Agentを実験プラットフォームとして使用し、複雑な問題を解決するAI知能の推論能力と学習能力を探ることができる。さまざまな進化戦略をカスタマイズすることで、特定のタイプの問題に対してどのアプローチがより効果的かを調査することができる。 - AIインテリジェント・ボディ能力評価
SE-Agentフレームワークは、標準化されたベンチマーク(SWE-benchなど)で実行することができ、ソフトウェア・エンジニアリング・タスクにおけるさまざまな大規模言語モデルの性能を評価・比較することができます。これにより、モデル開発者とユーザに客観的な性能測定を提供します。
品質保証
- SE-Agentの核となる考え方は何ですか?
SE-Agentの核となる考え方は「自己進化」である。従来のAIのように問題を一度だけ解決しようとするのではなく、複数の解決策(「軌道」と呼ばれる)を生成し、失敗を分析し、成功を統合することによってそれらを反復的に最適化し、最終的には生物進化のように高品質の解決策を生み出す。 - SE-Agentがサポートする大きな言語モデルとは?
SE-Agentはlitellm
ライブラリーは、DeepSeek、OpenAI、Anthropicを含む様々なモデルAPIをサポートする。必要なのは.env
ファイルに適切なAPIキーを設定することで使用できる。 - SE-Agentを実行するために、特別なハードウェアが必要ですか?
SE-Agentは、主にクラウド上の大規模な言語モデルAPIを呼び出して計算集約的なタスクを実行するため、SE-Agent自体の実行にローカルハードウェアはあまり必要ありません。必要なのは、安定したネットワーク接続と十分な API クォータだけです。 - SE-Agentにコードを提供するにはどうすればよいですか?
SE-Agentはオープンソースプロジェクトであり、GitHubにIssuesを提出することで問題を報告したり提案したり、Pull Requestを提出することで直接コードを貢献することができます。開発する前に、プロジェクトの開発ドキュメントを読むことをお勧めします。