Communitygithub.com

swarma -- エージェントチーム向け成長実験ループ

エージェントチームが成長実験を実行し、独自のプレイブックを構築するためのフレームワークです。GROWSループ(仮説生成、実験実行、シグナル観測、評価、プレイブック蓄積)に基づき、AARRRファネル全体をカバーする18のプリセットスクワッドを提供します。エージェントが推測をやめ、学習を始められるようにします。

swarma -- エージェントチーム向け成長実験ループ とは?

swarmaは、AIエージェントチームが成長実験を継続的に実行し、その結果から学習して改善していくためのフレームワークです。GROWSループ(Generate: 仮説生成、Run: 実験実行、Observe: シグナル観測、Weigh: 評価、Stack: プレイブック蓄積)というコアコンセプトに基づき、週に50件以上の実験を自動化できます。フック、ランディングページ、アウトリーチ、価格設定、アクティベーション、リテンションなど、AARRRファネルの全段階をカバーする18のプリセットスクワッドテンプレートが用意されており、ユーザーは目標を指定するだけで最適なチームを生成できます。Claude Code、Claude Desktop、Hermes、OpenClaw、スタンドアロンCLIなど複数のプラットフォームに対応し、MCPプロトコルを通じて16のツールを提供します。実験結果は自動的に評価され、有効なパターンは`strategy.md`プレイブックに蓄積されるため、「やったけど効果がなかった」という曖昧な記憶ではなく、検証済みのデータに基づいた意思決定が可能になります。実際のビジネス指標(CTR、インプレッション数など)をフィードバックすることで、LLMの自己評価から実世界のシグナルへと段階的に移行できる点も特長です。

対応✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add glitch-rabin/swarma

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

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

ドキュメント

swarma -- エージェントチーム向け成長実験ループ は何をしますか?

このスキルを使うべき時

以下のような場合にswarmaを使用します:

  • 成長実験(フック、ランディングページ、アウトリーチ、価格設定、アクティベーション、リテンション)を実行したい
  • 学習して改善するエージェントチームを構築したい(単発実行ではなくA/Bテストを通じて)
  • 特定のオーディエンス/プロダクトに実際に効果のある、検証済みのプレイブックを手に入れたい
  • アイデアを大規模にテストしたい(週2-5件ではなく、50件以上)
  • 「やったけど効果がなかった」という経験談を、ログに記録され、分析され、検索可能な実験データに置き換えたい

トリガーフレーズ: 「何が効果的かテストして」「ファネルを最適化して」「最適なフックを見つけて」「実験を実行して」「A/Bテスト」「何がうまくいっているか」「プレイブックを構築して」「成長実験」「コンバージョンを改善して」

使用すべきでない場合: ワークフロー自動化(n8n/Makeを使用)、会話メモリ(honchoを使用)、単発エージェントパイプライン(CrewAI/AutoGenを使用)が必要な場合。swarmaは時間とともに改善される実験ループに特化しています。


クイックリファレンス

コマンド一覧

コマンド機能使用タイミング
swarma initインスタンスとスターターチームを作成初回セットアップ
swarma cycle <team>1回の実験サイクルを実行テスト、手動実行
swarma cycle <team> --topic "..."特定のトピックでサイクルを実行アドホックな実験
swarma team create <name> --from-goal "..."目標からチームを生成新しい実験領域の開始
swarma team show <name>チームの設定を確認生成内容の確認
swarma team list全チームを表示概要把握
swarma statusコスト、最近の実行、実験を表示ヘルスチェック
swarma metric log <team> <agent> <value>外部指標を記録実際のデータを取り込む
swarma metric import <team> <csv>指標を一括インポートバッチデータ投入
swarma metric show <team>記録された指標を表示パフォーマンス確認
swarma serve --port 8282REST APIを起動外部統合
swarma serve --mcpMCPサーバーを起動Claude Code / Hermes連携
swarma runスケジュールエンジンを起動継続運用
swarma expert list推論レンズを閲覧エキスパートフレームワークの探索

判断:どのスクワッドテンプレートを選ぶか?

改善したい項目使用するスクワッドAARRRステージ
冒頭の文/フックhook-lab獲得
ランディングページのコピーlanding-lab獲得
SEOランキングseo-engine獲得
コールドアウトリーチの返信率cold-outbound獲得
マルチプラットフォームコンテンツchannel-mix獲得
サインアップから価値提供へのオンボーディングactivation-flowアクティベーション
価格設定とパッケージングpricing-lab収益
チャーンとリテンションretention-squadリテンション
バイラルループと紹介referral-engine紹介
市場でのポジショニングcompetitive-intel--
ショートフォーム動画パイプラインfaceless-factory獲得
広告クリエイティブテストad-creative-lab獲得
UGCコンテンツシミュレーションugc-factory獲得
プログラマティックSEOprogrammatic-seo獲得
ニュースレター成長newsletter-engineリテンション
有料+オーガニックループacquisition-squad獲得
コミュニティ主導の成長community-engineリテンション
AIコマース最適化agentic-storefront収益

判断:生成 vs テンプレート?

状況アプローチ
ユーザーに具体的で明確な目標があるswarma team create --from-goal(AIにチーム設計を任せる)
目標が既存のスクワッドテンプレートに一致するテンプレートをコピーしてカスタマイズ
ユーザーが幅広く実験したいhook-labから始める(最も汎用的)
どこから始めればよいかわからないファネルのボトルネックを尋ね、適切なものを選ぶ

GROWSループ(コアコンセプト)

すべての実験サイクルは5つのステップに従います:

  仮説生成      実行       観測       評価       蓄積
  Generate --> Run --> Observe --> Weigh --> Stack
     ^                                              |
     └──────────────────────────────────────────────┘
ステップ何が起こるかコード上の場所
G -- Generateエージェントがstrategy.mdを読み、仮説を提案core/cycle.py
R -- Runエージェントが仮説を有効にして実行、出力を生成flow/executor.py
O -- Observe別の安価なLLMが出力をスコアリング(1-10、小数点必須)core/agent.py
W -- Weigh5サイクル後、平均とベースラインを比較。>20%なら維持/破棄core/experiment.py
S -- Stack検証されたパターンをstrategy.mdとプレイブックに書き込みcore/agent.py

重要な数値:

  • 評価の閾値:維持は20%改善、破棄は20%低下
  • デフォルトのmin_sample_size:判定前の5サイクル
  • スコアリング:1-10スケール、小数点強制(7.3、7ではない)

セットアップガイド

プラットフォーム:Claude Code / Claude Desktop

pip install swarma
swarma init

.mcp.jsonに追加:

{
  "mcpServers": {
    "swarma": {
      "command": "swarma",
      "args": ["serve", "--mcp"],
      "env": { "OPENROUTER_API_KEY": "sk-or-..." }
    }
  }
}

重要: OPENROUTER_API_KEYはMCPのenvブロックに記述する必要があります。インスタンスの.envはサブプロセスに継承されません。

プラットフォーム:Hermes(ターミナル経由)

Hermesはターミナルアクセスを持っているため、swarma CLIコマンドを直接実行できます。MCPは不要です。

pip install swarma
swarma init

その後、Hermesに指示します:「swarma cycle hook-lab --topic 'AI agents are overhyped' を実行して」

Hermesはターミナル出力を読み取り、結果に応じて動作します。構造化アクセスが必要な場合は、MCPを追加します:

# hermes config.yaml
mcp_servers:
  swarma:
    transport: stdio
    command: swarma
    args: ["serve", "--mcp"]
    env:
      OPENROUTER_API_KEY: "sk-or-..."

プラットフォーム:OpenClaw

pip install swarma
swarma init

MCPツールとして設定するか、OpenClawのセットアップに応じてターミナルアクセスを使用します。

プラットフォーム:CLI(スタンドアロン)

pip install swarma
swarma init                                        # インスタンスとスターターチームを作成
swarma cycle starter --topic "why do startups fail?"   # 1サイクル実行
swarma status                                      # コスト、実行、実験を確認

ソースから

git clone https://github.com/glitch-rabin/swarma.git
cd swarma && pip install -e .
swarma init

環境設定

swarma init後、APIキーを追加します:

echo "OPENROUTER_API_KEY=sk-or-..." >> ~/.swarma/instances/default/.env

キーはopenrouter.ai/keysで取得できます。

オプション(チーム間の知識共有用):

# 3チーム以上を実行する場合のみ必要
 echo "QMD_ENDPOINT=http://localhost:8181/mcp" >> ~/.swarma/instances/default/.env

オンボーディングフロー

ユーザーがswarmaをセットアップしたい場合、以下の順序に従ってください。チームジェネレーターが最速のパスです。エージェントを手動で設定させる必要はありません。

ステップ1:目標を理解する

質問:

  • 「何を改善したいですか?」(コンバージョン、エンゲージメント、アウトリーチの返信率、SEOランキングなど)
  • 「オーディエンスは誰ですか?」(B2B SaaSユーザー、暗号資産コミュニティ、エンタープライズバイヤーなど)
  • 「成功とはどのような状態ですか?」(より多くのサインアップ、より高いCTR、より良い返信率など)

ステップ2:インストール

pip install swarma
swarma init --yes

ステップ3:チームを生成

これが重要なステップです。テンプレートを選ぶ代わりに、チームジェネレーターを使用します。

swarma team create growth-lab \
  --from-goal "optimize landing page conversion for our B2B SaaS" \
  --context "developer tools company, 500 free users, 2% conversion to paid" \
  --budget 30

ジェネレーターは:

  1. チームを設計します(2-5人のエージェント、特定の役割を持つ)
  2. 各役割に適したモデルを選択します
  3. エージェントの指示と実験パターンを作成します
  4. 実行準備が整った最初の実験仮説を作成します

生成内容を確認します:

swarma team show growth-lab

ステップ4:最初のサイクルを実行

swarma cycle growth-lab

期待される出力:

Running cycle: growth-lab
  flow: researcher -> copywriter -> judge
  agents: ['researcher', 'copywriter', 'judge']

                              Cycle: growth-lab
  Agent      Model              Cost       Output Preview
  researcher sonar-pro          $0.000384  **Topic:** 52% of executives...
  copywriter qwen3.5-plus-02-15 $0.000746  [A] We sent 4,382 cold emails...
  judge      mistral-nemo       $0.000416  **Hook Variations:** A: "Did...

  duration: 43.9s | total cost: $0.001546 | agents: 3

ステップ5:さらにサイクルを実行し、確認

swarma cycle growth-lab                    # 別のサイクルを実行
swarma cycle growth-lab --topic "specific angle"  # トピックを指定
swarma status                              # 進捗を確認

5サイクル後、実験エンジンが最初の判定を下します。戦略ファイルは自動的に進化します。


日常的な使用方法

実験の実行

# 単一サイクル
swarma cycle hook-lab

# 特定のトピック
swarma cycle hook-lab --topic "AI agents are commoditizing"

# 継続的実行(cronスケジュールのあるチームは自動実行)
swarma run

# APIサーバーと共に継続的実行
swarma run --port 8282

実際の指標を取り込む

LLMの自己評価は出発点としてのプロキシです。本番環境では、実際のシグナルをフィードバックします:

# 単一指標を記録
swarma metric log hook-lab copywriter 4.2 --metric ctr_pct

# 特定の実験に関連付ける
swarma metric log hook-lab copywriter 127 --metric impressions --exp 3

# メモを追加
swarma metric log hook-lab copywriter 5.1 --metric ctr_pct --note "from linkedin analytics"

# CSVから一括インポート
swarma metric import hook-lab metrics.csv

# 記録された指標を表示
swarma metric show hook-lab

CSV形式:agent,value,metric_name,note

copywriter,4.2,ctr_pct,week 1
copywriter,5.1,ctr_pct,week 2
researcher,7.8,relevance_score,

スクワッドテンプレートの使用

# テンプレートをインスタンスにコピー
cp -r "$(python -c "import swarma; print(swarma.__path__[0])")/examples/hook-lab" \
  ~/.swarma/instances/default/teams/hook-lab

# またはリポジトリをクローンした場合
cp -r examples/hook-lab ~/.swarma/instances/default/teams/hook-lab

# 実行
swarma cycle hook-lab --topic "why most startups fail"

ステータスの確認

swarma status

表示内容:全チーム、最近の実行、コスト(今日+今月)、保留中の計画、キュー統計。


MCPツールリファレンス

MCP経由で接続すると、以下の16のツールが利用可能です:

ツール説明パラメータ
swarma_healthswarmaが実行中か確認--
swarma_list_teams設定されている全チームを一覧表示--
swarma_get_teamチームの詳細(エージェント、フロー、スケジュール)を取得team_id
swarma_list_agentsチーム内のエージェントを一覧表示team_id
swarma_run_agent単一のエージェントを実行(オプションのコンテキスト付き)team_id, agent_id, context?
swarma_run_cycleチームのフルサイクルを実行team_id, topic?
swarma_statusインスタンスのステータス(コスト、実行、実験)--
swarma_costsコストの内訳(今日、今月)--
swarma_list_plans保留中の実験計画を表示team_id?
swarma_approve_plan保留中の実験計画を承認plan_id
swarma_reject_plan保留中の計画を却下plan_id, reason?
swarma_get_outputsエージェントの最近の出力を取得team_id?, agent_id?, limit?
swarma_list_tools利用可能なエージェントツールを一覧表示--
swarma_list_expertsエキスパート推論レンズを閲覧--
swarma_get_expertIDでエキスパートの詳細を取得expert_id
swarma_generate_team目標から新しいチームを生成name, goal, context?, budget?

一般的なMCPワークフロー

「最近どうなってる?」

  1. swarma_status -- 概要
  2. swarma_get_outputs -- 最近のエージェント出力
  3. swarma_list_plans -- 保留中の実験

「実験を実行して」

  1. swarma_run_cycle (team_idとオプションのtopicを指定)
  2. swarma_get_outputs で結果を確認

「新しい実験領域を始めて」

  1. swarma_generate_team (goalとcontextを指定)
  2. swarma_get_team で生成内容を確認
  3. swarma_run_cycle で開始

「何が効果的?」

  1. swarma_get_outputs で最近の結果を確認
  2. チームのstrategy.mdを読んで検証済みパターンを確認

チーム設定リファレンス

チームはフォルダです。コードは不要です。

teams/my-squad/
├── team.yaml          # 目標、フロー、スケジュール、予算
├── program.md         # チームのコンテキストと制約
└── agents/
    ├── researcher.yaml
    ├── writer.yaml
    └── strategy.md    # 事前にシードされた成長知識(自動的に進化)

team.yaml

name: my-squad
goal: find what works.
flow: "researcher -> writer"        # 順次実行
# flow: "researcher -> [writer, analyst]"  # 並列実行
schedule: "0 8 * * 1-5"            # オプション:平日午前8時
budget: 30                          # オプション:月額予算($)

agent.yaml

id: writer
name: Writer
instructions: |
  turn research into a post. max 200 words.
  hook in the first line. practitioner voice.
model: qwen/qwen3.5-plus-02-15     # オプション:デフォルトルーティングを上書き
metric:
  name: content_quality
  target: 8.0
experiment_config:
  min_sample_size: 5
  auto_propose: true

strategy.md(自動的に進化)

シード知識から始まり、検証された実験ごとに成長します:

### 検証済みパターン

**具体性が勝つ**
- 特定の数字を含むフックは、漠然とした主張よりも保存数で2-3倍優れている
- 「47%のスタートアップ」 > 「ほとんどのスタートアップ」

### アンチパターン(破棄されたもの)
- 一般的な感動的な冒頭:ベースライン比-23%。破棄。

### テストすべきパターン
- [ ] 一人称の告白 vs 三人称のケーススタディ
- [ ] 時間に紐づいた(「2024年に...」) vs 時代を問わないフック

フローDSL

# 順次実行:aを実行し、出力をbに渡す
flow: "researcher -> writer"

# 並列実行:aを実行し、その後bとcを同時に実行
flow: "researcher -> [writer, analyst]"

# 混合:

…

[翻訳の都合上、一部省略]

関連スキル