Persatrix は何をしますか?
エージェント社会エンジン — AIエージェントのグループを作成、接続、観察するためのポリグロットランタイム(Go/Python/Rust)。
概要
Persatrixは、複数のAIエージェントがひとつの社会として協調動作するための基盤を提供します。各エージェントは異なるプログラミング言語(Go、Python、Rust)で記述でき、Persatrixがそれらを統一的に管理・接続します。
主な機能
- ポリグロット対応: Go、Python、Rustで書かれたエージェントを同時に実行・連携させることができます。
- エージェント社会の構築: エージェント同士のメッセージ交換、役割分担、グループ形成を宣言的に定義できます。
- 観測可能性: エージェント間の通信や内部状態をトレース・ログ出力し、デバッグや分析を容易にします。
- ライフサイクル管理: エージェントの起動、停止、再起動を自動的に管理します。
対応プラットフォーム
- Claude Code
- Cursor
- Codex
- その他AIエージェントプラットフォーム
使用方法
インストール
# Goエージェントの場合
go get github.com/mkhomutov/persatrix
# Pythonエージェントの場合
pip install persatrix
# Rustエージェントの場合
cargo add persatrix
基本的なエージェント社会の定義
from persatrix import Agent, Society
# エージェントを定義
agent_a = Agent(language="python", role="analyst")
agent_b = Agent(language="go", role="executor")
# 社会を作成
society = Society()
society.add_agent(agent_a)
society.add_agent(agent_b)
# エージェント間の接続を定義
society.connect(agent_a, agent_b, channel="decision")
# 社会を開始
society.run()
アーキテクチャ
Persatrixは以下のコンポーネントで構成されています:
- ランタイム管理層: 各言語のエージェントプロセスを起動・監視・終了します。
- メッセージバス: エージェント間の非同期通信を実現します。
- 状態同期: エージェントの共有状態を管理し、一貫性を保ちます。
- オブザーバビリティスタック: トレース、メトリクス、ログを収集します。
例: 複数言語のエージェント協調
# society.yaml
agents:
- name: data-collector
language: python
script: collector.py
- name: processor
language: rust
binary: processor
- name: orchestrator
language: go
module: orchestrator
connections:
- from: data-collector
to: processor
channel: raw-data
- from: processor
to: orchestrator
channel: processed-data
詳細情報
詳細なドキュメントはGitHubリポジトリを参照してください。