Skip to content

DOKASUKA/SRAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Self-Refining_Agent_Maker (SRAM)

Self-Refining_Agent_Maker (SRAM) は、モンテカルロ木探索(MCTS)を活用して、AIエージェントの「システムプロンプト」と「実行ツール(Pythonコード)」を自律的に進化させる最適化フレームワークです。

単なるプロンプトの調整にとどまらず、エージェントが利用するツール(Python関数)の実装そのものを「変異(Mutation)」させ、特定のタスクに対して最高精度を発揮するエージェント設計図(Blueprint)を自動生成します。


🎯 プロジェクトの目的

本プロジェクトは、**「教師データ(入力と期待される回答のペア)を整備し、それを高い精度で再現できる専用エージェントを開発すること」**を目的としています。 ユーザーが正解例を提示すれば、SRAMがその背後にある論理構造(プロンプト)と必要な計算処理(ツールコード)を自動で組み上げます。

✨ 主要機能

  • MCTS(モンテカルロ木探索): UCTスコアに基づき、有望なプロンプトとツールの組み合わせを効率的に探索。
  • コード・ミューテーション: 失敗ログを分析し、LLMが自らツールのPythonコードを修正・拡張。
  • 多目的最適化: 精度(Accuracy)に加え、消費トークン量に応じたコストペナルティを課すことで、高精度かつ低コストなエージェントを追求。
  • 自動評価システム: StrictJudge モジュールが、QAエンジニアのようにエージェントの回答を厳格にスコアリング(0.0〜1.0)。
  • 進捗の可視化: イテレーションごとの精度向上グラフや、プロンプトの進化ログ(Markdown)を自動出力。

💻 動作環境・前提条件

  • プラットフォーム: Google Colab での稼働を確認しています(nest_asyncio 対応済み)。

  • 推奨モデル: OpenAI GPT-4o

  • プロンプトの構造化能力、および複雑なコード変異(Mutation)を正確に行うため、GPT-4oの使用を前提として設計されています。

  • 必要なライブラリ: openai, pandas, pydantic, matplotlib, nest_asyncio


🚀 使い方 (Quick Start)

1. 教師データの準備

以下のように、タスクの説明と、その正解データとなる DataFrame を用意します。

task = "会議の要約から案件の『ステージ』と『成約確度』を判定してください。"

data = {
    "入力": ["初回面談完了。来週デモ実施予定。予算は未確認。", "契約締結済み。"],
    "期待回答": [
        '{"stage": "ニーズ発掘", "probability": 0.2}',
        '{"stage": "受注", "probability": 1.0}'
    ]
}
df = pd.DataFrame(data)

2. 実行

MCTSArchitect を初期化し、最適化ループを開始します。

architect = MCTSArchitect(task, df)
asyncio.run(architect.run(iterations=5)) # 任意のイテレーション回数を指定

3. 成果物の確認

実行完了後、agent_result_[timestamp] フォルダに以下の成果物が生成されます。

  • MainPrompt.md: 最適化されたシステムプロンプト。
  • tools.py: 自動生成・修正された実行ツール群。
  • evolution_process.md: 進化の過程とフィードバックの記録。
  • score_history.png: スコアの推移グラフ。

📚 理論的背景 (References)

SRAMは、AIエージェントの自律構成に関する以下の最新研究(arXiv)の知見を統合して開発されました。


📜 ライセンス (License)

CC0 1.0 Universal (Public Domain)

本プロジェクトは CC0 1.0 Universal ライセンスの下で公開されています。

  • 著作権の放棄: 開発者は本ソフトウェアに関する著作権および隣接する一切の権利を放棄しています。
  • 商用利用・改変・再配布: 自由に行っていただけます。
  • クレジット表記: 不要です(もし記載いただければ励みになりますが、強制ではありません)。

「優れたAIエージェントを、誰もが自律的に生み出せる世界」のために、このコードを自由に活用・破壊・再構築してください。


⚠️ 免責事項

本ツールはツールの実行に exec() および eval() を使用しています。信頼できない入力を処理させる場合は、必ずサンドボックス環境で実行してください。本ソフトウェアの使用によって生じた直接的または間接的な損害について、開発者は一切の責任を負いません。

About

Self-Refining_Agent_Maker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages