OpenSpaceを使用した自己進化型AIエージェントの構築:スキル、MCP、系統、低コスト再利用
このチュートリアルでは、OpenSpaceフレームワークを使用して自己進化型AIエージェントを作成する方法を詳しく説明します。環境設定、カスタムスキルの作成からMCP統合、SQLiteを使用したエージェント系統の管理まで、効率的で再利用可能なエージェントシステムを構築するための完全なワークフローを紹介します。
このチュートリアルでは、OpenSpaceフレームワークを使用して自己進化型AIエージェントシステムを構築する手順を詳しく説明します。環境設定から始まり、カスタムスキルの作成、MCP(Model Context Protocol)の統合、SQLiteを使用したエージェント系統の管理、そして低コストで再利用可能なエージェント動作の実現までをカバーします。
まず、Python 3.12以上の実行環境を準備し、APIキー(AnthropicまたはOpenAI)を設定します。OpenSpaceリポジトリを--filter=blob:noneと--sparseオプションでスパースクローンし、リポジトリ内のアセットディレクトリを除外するスパースチェックアウトを設定します。その後、プロジェクトを編集可能モードでインストールします。ワークスペースとスキルディレクトリを作成し、環境変数(モデル名、ワークスペースパス、ホストスキルディレクトリ、オプションのクラウドAPIキー)を設定します。環境変数はOpenSpaceディレクトリの.envファイルとルートの.envファイルに書き込まれます。
非同期実行環境では、OpenSpaceのPython APIを使用してタスクを送信します。例として、従業員の勤務時間CSVを解析し、週給と残業代(40時間を超える場合は1.5倍)を計算するPython関数を生成するタスクを実行します。実行後、OpenSpaceは自動的に新しいスキルを進化させ、それらはSQLiteデータベースにバージョン番号と系統メタデータとともに保存されます。データベース構造を検査することで、スキルがどのように作成(FIX)、派生(DERIVED)、キャプチャ(CAPTURED)されるかを理解できます。チュートリアルではdump_db関数を使用してデータベースのテーブル構造とレコードを表示する方法も示しています。
スキルの再利用を示すために、税額控除率のCSVを追加し、手取り給与を計算する関連タスクを送信します。OpenSpaceが以前に生成した給与スキルを自動的に再利用し、トークン消費を削減する様子を観察できます。また、カスタムのSKILL.mdファイルを作成し、CSVからMarkdownレポートを生成するスキルを定義します。このカスタムスキルをホストスキルディレクトリに配置すると、エージェントが実行時に自動的に発見して使用します。チュートリアルではdelegate-taskとskill-discoveryのホストスキルもインストールし、デモ用のdemo.csvを作成してテストします。
MCP統合も重要なポイントです。OpenSpaceのMCPサーバーをstreamable HTTPトランスポートで起動し、127.0.0.1:8081にバインドします。GETリクエストでエンドポイントをプローブし、MCP固有の応答ステータスコードが返ってきてもサーバーが正常に動作していることを確認します。チュートリアルでは外部エージェント(Claude Code、Codexなど)がワークスペースとスキルディレクトリにアクセスするためのMCPホスト設定例も提供しています。
最後に、クラウドAPIキーが設定されている場合、カスタムスキルをOpenSpaceクラウドにアップロードする方法を示します。また、リポジトリ内のサンプル進化データベース(showcase/.openspace/openspace.db)を検査し、60以上のスキルが保存されていることを確認します。起源タイプごとにスキルを集計して進化パターンの分布を把握します。これにより、トークン消費を削減し、ダッシュボード(Node.js 20以上が必要)で可視化可能な、完全な自己進化型エージェントシステムが構築されます。