Skip to content
Back to skills

Thinkswitcher Math Eval

ASecurity

Evaluates a model's ability to dynamically switch between short and long chain-of-thought reasoning modes based on task complexity, balancing mathematical problem-solving accuracy against computational efficiency. It probes whether a single reasoning model can adaptively select concise or elaborate reasoning paths without architectural changes or post-training. Use when the user wants to benchmark on GSM8K, MATH-500, AIME24, AIME25, LiveAoPS, Omni-MATH-500, OlympiadBench, or asks about evalua...

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
researchpythongoperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill thinkswitcher-math-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Thinkswitcher Math Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Thinkswitcher Math Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-thinkswitcher-math-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-thinkswitcher-math-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: thinkswitcher-math-eval
description: Evaluates a model's ability to dynamically switch between short and long chain-of-thought reasoning modes based on task complexity, balancing mathematical problem-solving accuracy against computational efficiency. It probes whether a single reasoning model can adaptively select concise or elaborate reasoning paths without architectural changes or post-training. Use when the user wants to benchmark on GSM8K, MATH-500, AIME24, AIME25, LiveAoPS, Omni-MATH-500, OlympiadBench, or asks about evaluating this task. Reports Accuracy.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2505.14183
  bibtex_key: [REDACTED]
  confidence: high
---

# thinkswitcher-math-eval

> ThinkSwitcher: When to Think Hard, When to Think Fast — Liang et al. (2025) (arXiv:2505.14183, 2025)

## What this evaluates

Evaluates a model's ability to dynamically switch between short and long chain-of-thought reasoning modes based on task complexity, balancing mathematical problem-solving accuracy against computational efficiency. It probes whether a single reasoning model can adaptively select concise or elaborate reasoning paths without architectural changes or post-training.

## Datasets

- **GSM8K** — total ?; splits: test (-1)
- **MATH-500** — total ?; splits: test (-1)
- **AIME24** — total ?; splits: test (-1)
- **AIME25** — total ?; splits: test (-1)
- **LiveAoPS** — total ?; splits: test (-1)
- **Omni-MATH-500** — total ?; splits: test (-1)
- **OlympiadBench** — total ?; splits: test (-1)

## Metrics

- `Accuracy` **(primary)** — range: [0, 1]
  - Percentage of correctly solved problems out of the total number of test instances. Calculated as correct predictions divided by total questions.
- `Token Count` — range: tokens
  - Average number of generated tokens per question across the dataset. Reflects computational cost and varies based on the selected short or long CoT mode.
- `AUC-AC` — range: [0, 1]
  - Area under the curve plotting model accuracy against token efficiency across varying decision thresholds. Quantifies the trade-off performance of the adaptive mechanism.
- `nAUC-AC` — range: [0, 1]
  - Normalized variant of AUC-AC that measures the advantage gained by the adaptive mechanism over a linear interpolation between short-CoT-only and long-CoT-only performance points.

## Input / output format

**Input**: Natural language math word problems or competition-level math questions.

**Output**: Chain-of-thought reasoning (either short or long form) followed by a final answer. The model internally selects the reasoning mode based on a learned switcher.

## Scoring recipe

```python
def compute_metrics(predictions, gold_answers, token_counts):
    correct = sum(1 for p, g in zip(predictions, gold_answers) if extract_final_answer(p) == g)
    accuracy = correct / len(gold_answers)
    avg_tokens = sum(token_counts) / len(token_counts)
    return {'accuracy': accuracy, 'avg_tokens': avg_tokens}
```

## Common pitfalls

- The 'Avg.' column in Table 1 reports macro-averaged accuracy and token counts across all seven benchmarks, not a dataset-weighted average.
- Training data (MATH train, GSM8K train, historical AIME, Omni-MATH subset) is explicitly excluded from test sets to prevent data leakage; evaluators must strictly use the designated test splits.
- Token count is not a fixed hyperparameter but a per-instance metric that varies with the selected reasoning mode; averaging must be done over all test instances, not per-mode.

## Evidence (verbatim from paper)

> To evaluate the overall trade-off performance, we use the AUC-AC to quantify how well ThinkSwitcher maintains accuracy across its spectrum of token efficiencies, and its normalized variant nAUC-AC to measure the advantage gained by ThinkSwitcher’s adaptive mechanism over a linear interpolation between SC-Only and LC-Only performance points.

## Citation

```bibtex
@misc{liang2025thinkswitcher,
  title={ThinkSwitcher: When to Think Hard, When to Think Fast},
  author={Liang et al. (2025)},
  year={2025},
  note={arXiv:2505.14183}
}
```

- arXiv: 2505.14183

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.