360 Secure SkillHub
360 安全技能中心

Mixture of Agents

通过 Node 脚本调用 OpenRouter 上的多个前沿模型并行回答同一问题,再由聚合模型融合成一份综合答案,适用于复杂分析、市场调研与跨模型事实校验;提供付费与免费两种模型配置,单次约 30–90 秒,部分模型失败时降级合成。

jscianna
jscianna
热度 88.44
最近更新 2026-05-11 17:26:37
分类:数据依赖:代码执行 / 第三方 API / 内部调用大模型应用场景:研究 / 市场分析 / 摘要总结 / 概念解释

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add moa
Metadata
name
moa
description
Mixture of Agents: Make 3 frontier models argue, then synthesize their best insights into one superior answer. ~$0.03/query.
author
John Scianna (@Scianna)
version
1.2.0
requires
["OPENROUTER_API_KEY"]
cost
~$0.03 per query (paid tier)

Mixture of Agents (MoA)

TL;DR: Make 3 AI models argue with each other. Get an answer better than any single model. Cost: ~$0.03.

Two Usage Modes

A. Standalone CLI (Node.js)

export OPENROUTER_API_KEY="your-key"
node scripts/moa.js "Your complex question"

B. OpenClaw Skill (Agent-orchestrated)

# Install
clawhub install moa

# Or copy to ~/clawd/skills/moa/

The agent can then invoke MoA for complex analysis tasks.


Origin Story

The concept of "Mixture of Agents" comes from research showing LLMs can improve each other's outputs through collaboration. I built this for VC deal analysis—when evaluating startups, you want multiple perspectives, not one model's opinion.

The journey:

  1. Started with 5 free OpenRouter models (Llama, Gemini, Mistral, Qwen, Nemotron)
  2. Rate limits killed me at 2am during peak hours
  3. Switched to 3 paid frontier specialists
  4. Result: ~$0.03/query, answers better than any single model

When to Use

  • Complex analysis — due diligence, market research, technical evaluation
  • Brainstorming — get diverse ideas, synthesize the best
  • Fact-checking — cross-reference across models with different training data
  • High-stakes decisions — when one model's blind spots could hurt you
  • Contrarian thinking — different models have different biases

When NOT to use:

  • Quick Q&A (too slow, 30-90s latency)
  • Real-time chat (not designed for streaming)
  • Simple lookups (overkill)

Model Configuration

Paid Tier (Default) — Recommended

Role Model ~Latency Strength
Proposer 1 moonshotai/kimi-k2.5 23s Long context, strong reasoning
Proposer 2 z-ai/glm-5 36s Technical depth, different training corpus
Proposer 3 minimax/minimax-m2.5 64s Nuance catching, thorough analysis
Aggregator moonshotai/kimi-k2.5 15s Fast synthesis

Why these models?

  • Frontier-class but less congested than GPT-4/Claude
  • Different training data = genuinely different perspectives
  • Chinese models excel at certain reasoning tasks
  • Combined cost still cheaper than single Opus call

Cost breakdown:

3 proposers × ~$0.008 = $0.024
1 aggregator × ~$0.005 = $0.005
─────────────────────────────
Total: ~$0.029/query

Free Tier (Fallback)

5 models: Llama 3.3 70B, Gemini 2.0 Flash, Mistral Small, Nemotron 70B, Qwen 2.5 72B

⚠️ Warning: Free tier hits rate limits during peak hours. Use --free flag only for testing.


How It Works

        ┌─────────────┐
        │   PROMPT    │
        └──────┬──────┘
               │
    ┌──────────┼──────────┐
    ▼          ▼          ▼
┌────────┐ ┌────────┐ ┌────────┐
│Kimi 2.5│ │ GLM 5  │ │MiniMax │  ← Parallel (they "argue")
│(reason)│ │(depth) │ │(nuance)│
└───┬────┘ └───┬────┘ └───┬────┘
    │          │          │
    └──────────┼──────────┘
               ▼
       ┌──────────────┐
       │  AGGREGATOR  │
       │  (Kimi 2.5)  │
       │              │
       │ • Best of 3  │
       │ • Resolve    │
       │   conflicts  │
       │ • Synthesize │
       └──────┬───────┘
              ▼
       ┌──────────────┐
       │ FINAL ANSWER │
       │ (Synthesized)│
       └──────────────┘

API Reference

Function Signature

interface MoAOptions {
  prompt: string;           // Required: The question to analyze
  tier?: 'paid' | 'free';   // Default: 'paid'
}

interface MoAResult {
  synthesis: string;        // The final aggregated answer
}

// Throws on complete failure (all models down, invalid key)
// Returns partial synthesis if 1-2 models fail
async function handle(options: MoAOptions): Promise<string>

CLI Usage

# Paid tier (default)
node scripts/moa.js "Your complex question"

# Free tier
node scripts/moa.js "Your question" --free

Programmatic Usage

const { handle } = require('./scripts/moa.js');

const synthesis = await handle({ 
  prompt: "Analyze the competitive moats in AI code generation",
  tier: 'paid'
});

console.log(synthesis);

Failure Modes

Scenario Behavior
1 proposer fails Synthesis from remaining 2 models
2 proposers fail Synthesis from 1 model (degraded)
All proposers fail Returns error message
Invalid API key Immediate error with setup instructions
Rate limit (free tier) Returns rate limit error

The system is designed to degrade gracefully. A 2/3 response is still valuable.


Example Use Cases

VC Due Diligence

node scripts/moa.js "Analyze the competitive landscape for AI code generation. \
Who has defensible moats? Who's likely to be commoditized? Be specific."

Technical Evaluation

node scripts/moa.js "Compare RLHF vs DPO vs RLAIF for LLM alignment. \
Which scales better? What are the failure modes of each?"

Market Research

node scripts/moa.js "What are the emerging use cases for embodied AI in 2026? \
Focus on robotics, drones, and autonomous systems. Include specific companies."

Performance Expectations

Metric Paid Tier Free Tier
P50 Latency ~45s ~60s
P95 Latency ~90s ~120s+
Success Rate >99% ~80% (rate limits)
Cost/Query ~$0.03 $0.00

Tips

  1. Be specific — Vague prompts get vague synthesis
  2. Ask for structure — "Give me pros/cons" or "List top 5" helps the aggregator
  3. Use for analysis, not chat — MoA shines for complex reasoning
  4. Batch your queries — 30-90s per query, so plan accordingly

Installation

Via ClawHub (Recommended)

clawhub install moa

Manual

  1. Copy skills/moa/ to your ~/clawd/skills/ directory
  2. Set OPENROUTER_API_KEY in your environment
  3. The agent can now invoke MoA for complex queries

Environment Variables

Variable Required Description
OPENROUTER_API_KEY Yes Your OpenRouter API key

Get your key at: https://openrouter.ai/keys


Credits