Communityコーディング&開発github.com

mkhomutov/Persatrix

エージェント社会エンジン — AIエージェントのグループを作成、接続、観察するためのポリグロットランタイム(Go/Python/Rust)。

Persatrix とは?

Persatrixは、複数のAIエージェントが協調して動作する「エージェント社会」を構築するためのランタイムエンジンです。Go、Python、Rustという異なるプログラミング言語で記述されたエージェントを統一的に管理し、それらの間の通信、連携、観測を可能にします。このスキルは特にマルチエージェントシステムを研究・開発する開発者向けで、各エージェントが異なる言語やフレームワークで実装されていてもシームレスに協調させることができます。内部ではメッセージバスやイベント駆動アーキテクチャを採用し、エージェントのライフサイクル管理や状態同期もサポートしています。Claude CodeやCursorなどのAIプラットフォーム上で動作するエージェント間の複雑なインタラクションを設計・実行する際に特に有用です。

対応~Claude Code~Codex CLI~Cursor
npx skills add mkhomutov/Persatrix

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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リポジトリを参照してください。

関連スキル