Show HN: マルチエージェントAIシステムの障害箇所を本番前に特定する
swarm-testはマルチエージェントAIシステム向けの静的信頼性テストツールで、ライブLLM呼び出しなしでカスケード障害、単一障害点、コンテキスト漏洩などを特定し、Swarmスコアとインタラクティブなレポートを提供します。
swarm-testは、マルチエージェントAIシステム向けの静的信頼性テストツールです。本番環境にデプロイする前に、エージェント間のトポロジーを分析し、カスケード障害、単一障害点(SPOF)、コンテキスト漏洩、意図ドリフト、タイムアウト耐性、共謀、軌道異常、コントラクト違反などを特定します。すべてのテストは静的グラフ分析に基づいており、ライブLLM呼び出しは不要で、結果は決定論的でありAPIコストもかかりません。
swarm-testはCrewAI、LangGraph、AutoGenなどの主要フレームワークに対応し、カスタム静的グラフもサポートします。インストールはpipで簡単に行えます:pip install swarm-test。実行後、0-100のSwarmスコアが生成され、インタラクティブなD3ダッシュボードでエージェント間の関係やリスクを視覚的に確認できます。スコアはCIパイプラインに直接利用でき、例えばGitHub ActionでPRに自動注釈を付けることが可能です。
主な機能には、カスケード障害シミュレーション(各エージェントの障害が下流に与える影響を順次評価)、爆発半径分析(グラフ理論上のクリティカルノードを検出)、コンテキスト漏洩スキャン(機密データの正規表現マッチング)、意図ドリフト検出(エージェントの実際の動作と宣言された役割の比較)、共謀検出(オーケストレーターを迂回する密なサブグラフの発見)、タイムアウト耐性分析(タイムアウト境界のない長い同期チェーンの特定)、軌道分析(自己ループや無限ループの検出)、およびコントラクト検証(オプション、YAMLコントラクトファイルが必要)が含まれます。
設定はYAMLファイルまたはpyproject.tomlの[tool.swarmtest]テーブルで行えます。出力形式はコンソール、JSON、Markdown、HTMLから選択でき、Mermaid、DOT、PNG形式でのグラフエクスポートにも対応しています。履歴追跡機能により、実行ごとのスコア変化を記録し、トレンド分析が可能です。さらに、プラグインシステムを備えており、ユーザー独自のテストを追加できます。
本プロジェクトはMITライセンスのもとでオープンソースとして公開されており、コードはGitHubでホスティングされています。開発者は、swarm-testが実際のバグを発見した場合、リポジトリにスターを付けることでプロジェクトを支援してほしいと呼びかけています。