使用多个LLM在对立角色中对想法进行压力测试,生成反驳论点,交叉检验推理,揭示隐藏的风险和失效模式。
Version: 1.0.0 | Last updated: 2026-04-07
Use wei-devils-advocate to stress-test ideas through multi-LLM adversarial cross-validation.
Multiple language models independently act as devil’s advocates, challenging the idea from different reasoning paths to uncover hidden risks, assumptions, and failure modes that a single model may miss.
It is best suited for:
Identifying hidden assumptions through cross-model disagreement Exposing risks, edge cases, and failure scenarios Detecting overconfident or internally consistent but fragile reasoning Validating decisions under adversarial multi-perspective review
Do NOT use this skill if you are looking for validation, consensus, quick agreement, brainstorming, or single-perspective answers.
bash
curl -fsSL https://bun.sh/install | bash
Or on macOS with Homebrew:
bash
brew install oven-sh/bun/bun
bash
cd skills/wei-devils-advocate
bun install
Create a .env file in the skill directory with your API keys:
bash
# Required: OpenRouter API key (for debater models)
OPENROUTER_API_KEY=your_openrouter_api_key_here
# Required: DashScope/Bailian API key (for judge model)
DASHSCOPE_API_KEY=your_dashscope_api_key_here
Or export as environment variables:
bash
export OPENROUTER_API_KEY=your_openrouter_api_key_here
export DASHSCOPE_API_KEY=your_dashscope_api_key_here
Note: If environment variables are not set, the skill will throw an error with instructions on how to configure them.
遇到模型访问问题? 请参考
README.md了解如何根据你的网络环境选择和配置config.json。
Most bad decisions don’t fail because of lack of information.
They fail because:
This skill enforces:
“Default to skepticism. Earn confidence.”
User Input (Thesis / Idea) ↓ [Debater Models x N] → Generate strongest counterarguments ↓ (Optional) [Simulation Models] → Attempt to rebut critiques multiple rounds until... ↓ [Judge Model] → Evaluates survivability ↓ Structured Decision Output
ModeBehaviorUse Whenattack (default)Generate counterarguments + judge evaluationFast stress test
Note: Currently only the
attackmode is implemented. Future versions include thesimulationmode for simulating whether an idea survives sustained attack. Preview the 'simulation' mode at https://www.bigbigai.com/agent/devils-advocate .
Uses multiple models (2–4x cost vs single query). Use for high-stakes decisions only.
Each model in config.json is tagged with one or more roles indicating its capabilities:
RoleDescriptionTypical UsecriticStrong critical thinking and counterargument generationChallenging assumptionsreasoningDeep analytical capabilityComplex analysis, synthesisretrievalHas web/live data accessCurrent events, real-time infojudgeEvaluates survivability of ideasFinal evaluationgeneralBroad balanced capabilityFallback, ambiguous queries
Note: Specific model names and their roles are defined in
config.json→models. Refer to that file for the current model roster.
Model selection is controlled via config.json using a queryType-based routing system. Instead of hard-coding model names, you select models by the domain of the query.
As the calling model, follow this process:
queryTypequeryType — The skill will look up the routing.xxx.models in config.jsonmodels parameter to bypass auto-selectionqueryTypeDescriptionTypical UsefinancialMarkets, investing, macroeconomicsInvestment thesis validation, risk analysistechnicalProgramming, systems, engineeringArchitecture decisions, implementation riskssocialPublic opinion, social media sentimentProduct-market fit, user behaviorcurrent_eventsRecent news and real-time informationTime-sensitive decisionsscientificObjective knowledge, definitions, theoriesResearch validity, methodology critiquecreativeWriting, design, ideationCreative concept stress testinggeneralDefault fallbackGeneral idea validation
text
1. Analyze query → match keywords → determine queryType
2. Pass queryType to skill → skill looks up `routing.<queryType>.models` in config.json
3. Skill selects top 2–3 models from the routing config
4. Debater models generate counterarguments
5. Judge model evaluates survivability
Query: "Should we invest in AI startups in 2026?"
Selection process:
financial{ "query": "...", "queryType": "financial" }config.json → routing.financial.modelsQuery: "Is microservices architecture the right choice for our startup?"
Selection process:
technical{ "query": "...", "queryType": "technical" }config.json → routing.technical.modelsQuery: "Will users pay for this productivity app?"
Selection process:
social{ "query": "...", "queryType": "social" }config.json → routing.social.modelsStrong ideas survive attack. Weak ones don’t.