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 8282 | REST APIを起動 | 外部統合 |
swarma serve --mcp | MCPサーバーを起動 | 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 | 獲得 |
| プログラマティックSEO | programmatic-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 -- Weigh | 5サイクル後、平均とベースラインを比較。>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
ジェネレーターは:
- チームを設計します(2-5人のエージェント、特定の役割を持つ)
- 各役割に適したモデルを選択します
- エージェントの指示と実験パターンを作成します
- 実行準備が整った最初の実験仮説を作成します
生成内容を確認します:
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_health | swarmaが実行中か確認 | -- |
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_expert | IDでエキスパートの詳細を取得 | expert_id |
swarma_generate_team | 目標から新しいチームを生成 | name, goal, context?, budget? |
一般的なMCPワークフロー
「最近どうなってる?」
swarma_status-- 概要swarma_get_outputs-- 最近のエージェント出力swarma_list_plans-- 保留中の実験
「実験を実行して」
swarma_run_cycle(team_idとオプションのtopicを指定)swarma_get_outputsで結果を確認
「新しい実験領域を始めて」
swarma_generate_team(goalとcontextを指定)swarma_get_teamで生成内容を確認swarma_run_cycleで開始
「何が効果的?」
swarma_get_outputsで最近の結果を確認- チームの
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]"
# 混合:
…
[翻訳の都合上、一部省略]