Skip to content

Commit 3cf9c43

Browse files
authored
Add Comparison Table to README (#19)
added table home in docs and README
1 parent 85547ae commit 3cf9c43

2 files changed

Lines changed: 85 additions & 14 deletions

File tree

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,50 @@ MASEval is an evaluation library that provides a unified interface for benchmark
1919

2020
Analogous to pytest for testing or MLflow for ML experimentation, MASEval focuses exclusively on evaluation infrastructure. It does not implement agents, define multi-agent communication protocols, or turn LLMs into agents. Instead, it wraps existing agent systems via simple adapters, orchestrates the evaluation lifecycle (setup, execution, measurement, teardown), and provides lifecycle hooks for tracing, logging, and metrics collection. This separation allows researchers to compare different agent architectures apples-to-apples across frameworks, while maintaining full control over their agent implementations.
2121

22+
## Why MASEval?
23+
24+
Compare multi-agent evaluation frameworks across key capabilities.
25+
26+
| Library | Multi-Agent | System Evaluation | Agent-Agnostic | Benchmarks | Multi-turn User | No Lock-In | BYO | State-Action Eval | Error Attr | Lightweight | Project Maturity | Sandboxed Environment |
27+
| ----------------- | :---------: | :---------------: | :------------: | :--------: | :-------------: | :--------: | :-: | :---------------: | :--------: | :---------: | :--------------: | :-------------------: |
28+
| **MASEval** ||||||| 🟢 ||||| 🟢 |
29+
| **HAL Harness** | 🟡 |||| 🟡 || 🟡 | 🟡 ||| 🟡 ||
30+
| **AnyAgent** | 🟡 |||| 🟡 || 🟢 | 🟡 |||||
31+
| **Inspect-AI** | 🟡 || 🟡 || 🟡 || 🟡 | 🟡 || 🟡 |||
32+
| **MLflow GenAI** | 🟡 | 🟡 | 🟢 || 🟡 || 🟢 ||| 🟡 || 🟡 |
33+
| **LangSmith** | 🟡 | 🟡 | 🟡 |||| 🟡 ||||||
34+
| **OpenCompass** || 🟡 ||| 🟡 || 🟡 | 🟡 |||| 🟡 |
35+
| **AgentGym** ||||| 🟡 || 🟢 | 🟡 ||| 🟡 | 🟡 |
36+
| **Arize Phoenix** | 🟡 || 🟡 ||| 🟡 | 🟢 ||| 🟡 |||
37+
| **MARBLE** |||||||| 🟡 | ? | 🟡 | 🟡 | 🟡 |
38+
| **TruLens** | 🟡 || 🟡 |||| 🟡 | 🟢 || 🟡 |||
39+
| **AgentBeats** | 🟡 || 🟡 ||| 🟡 | 🟡 | 🟡 | ? || 🟡 | 🟡 |
40+
| **DeepEval** | 🟡 || 🟡 || 🟡 | 🟡 | 🟡 | 🟡 || 🟡 |||
41+
| **MCPEval** ||||||| 🟡 | 🟡 || 🟡 | 🟡 ||
42+
| **Galileo** | 🟡 || 🟡 |||| 🟡 | 🟡 || 🟡 |||
43+
44+
**** Full/Native · **🟢** Flexible for BYO · **🟡** Partial/Limited · **** Not possible
45+
46+
<details>
47+
<summary>Expand for Column Explanation</summary>
48+
49+
| Column | Feature | One-Liner |
50+
| --------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------ |
51+
| **Multi-Agent** | Multi-Agent Native | Native orchestration with per-agent tracing, independent message histories, and explicit coordination patterns. |
52+
| **System Evaluation** | System-Level Comparison | Compare different framework implementations on the same benchmark (not just swapping LLMs). |
53+
| **Agent Agnostic** | Agent Framework Agnostic | Evaluate agents from any framework via thin adapters without requiring protocol adoption or code recreation. |
54+
| **Benchmarks** | Pre-Implemented Benchmarks | Ships complete, ready-to-run benchmarks with environments, tools, and evaluators (not just templates). |
55+
| **Multi-turn User** | User-Agent Multi-turn | First-class user simulation with personas, stop tokens, and tool access for realistic multi-turn conversations. |
56+
| **No Lock-In** | No Vendor Lock-In | Fully open-source, works offline, permissive license (MIT/Apache), no mandatory cloud services or telemetry. |
57+
| **BYO** | BYO Philosophy | Bring your own logging, agents, environments, and tools — flexibility over opinionated defaults. |
58+
| **State-Action Eval** | Trace-First Evaluation | Evaluate intermediate steps and tool usage patterns via trace filtering, not just final output scoring. |
59+
| **Error Attr** | Structured Error Attribution | Structured exceptions distinguish between different failure for fair scoring (`AgentError` vs `EnvironmentError`). |
60+
| **Lightweight** | Lightweight | Minimal dependencies, small codebase (~20k LOC), quick time to first evaluation (~5-15 min). |
61+
| **Project Maturity** | Professional Tooling | Published on PyPI, CI/CD, good test coverage, structured logging, active maintenance, excellent docs. |
62+
| **Sandbox** | Sandboxed Execution | Built-in Docker/K8s/VM isolation for safe code execution (or BYO sandbox via abstract Environment). |
63+
64+
</details>
65+
2266
## Core Principles:
2367

2468
- **Evaluation, Not Implementation:** MASEval provides the evaluation infrastructure—you bring your agent implementation. Whether you've built agents with AutoGen, LangChain, custom code, or direct LLM calls, MASEval wraps them via simple adapters and runs them through standardized benchmarks.

docs/index.md

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,47 @@ pip install maseval
1616

1717
More details in the [Quickstart](getting-started/quickstart.md)
1818

19+
## Why MASEval?
20+
21+
Compare multi-agent evaluation frameworks across key capabilities.
22+
23+
| Library | Multi-Agent | System Evaluation | Agent-Agnostic | Benchmarks | Multi-turn User | No Lock-In | BYO | State-Action Eval | Error Attr | Lightweight | Project Maturity | Sandboxed Environment |
24+
| ----------------- | :---------: | :---------------: | :------------: | :--------: | :-------------: | :--------: | :-: | :---------------: | :--------: | :---------: | :--------------: | :-------------------: |
25+
| **MASEval** ||||||| 🟢 ||||| 🟢 |
26+
| **HAL Harness** | 🟡 |||| 🟡 || 🟡 | 🟡 ||| 🟡 ||
27+
| **AnyAgent** | 🟡 |||| 🟡 || 🟢 | 🟡 |||||
28+
| **Inspect-AI** | 🟡 || 🟡 || 🟡 || 🟡 | 🟡 || 🟡 |||
29+
| **MLflow GenAI** | 🟡 | 🟡 | 🟢 || 🟡 || 🟢 ||| 🟡 || 🟡 |
30+
| **LangSmith** | 🟡 | 🟡 | 🟡 |||| 🟡 ||||||
31+
| **OpenCompass** || 🟡 ||| 🟡 || 🟡 | 🟡 |||| 🟡 |
32+
| **AgentGym** ||||| 🟡 || 🟢 | 🟡 ||| 🟡 | 🟡 |
33+
| **Arize Phoenix** | 🟡 || 🟡 ||| 🟡 | 🟢 ||| 🟡 |||
34+
| **MARBLE** |||||||| 🟡 | ? | 🟡 | 🟡 | 🟡 |
35+
| **TruLens** | 🟡 || 🟡 |||| 🟡 | 🟢 || 🟡 |||
36+
| **AgentBeats** | 🟡 || 🟡 ||| 🟡 | 🟡 | 🟡 | ? || 🟡 | 🟡 |
37+
| **DeepEval** | 🟡 || 🟡 || 🟡 | 🟡 | 🟡 | 🟡 || 🟡 |||
38+
| **MCPEval** ||||||| 🟡 | 🟡 || 🟡 | 🟡 ||
39+
| **Galileo** | 🟡 || 🟡 |||| 🟡 | 🟡 || 🟡 |||
40+
41+
**** Full/Native · **🟢** Flexible for BYO · **🟡** Partial/Limited · **** Not possible
42+
43+
??? info "Column Explanation"
44+
45+
| Column | Feature | One-Liner |
46+
| --------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------ |
47+
| **Multi-Agent** | Multi-Agent Native | Native orchestration with per-agent tracing, independent message histories, and explicit coordination patterns. |
48+
| **System Evaluation** | System-Level Comparison | Compare different framework implementations on the same benchmark (not just swapping LLMs). |
49+
| **Agent Agnostic** | Agent Framework Agnostic | Evaluate agents from any framework via thin adapters without requiring protocol adoption or code recreation. |
50+
| **Benchmarks** | Pre-Implemented Benchmarks | Ships complete, ready-to-run benchmarks with environments, tools, and evaluators (not just templates). |
51+
| **Multi-turn User** | User-Agent Multi-turn | First-class user simulation with personas, stop tokens, and tool access for realistic multi-turn conversations. |
52+
| **No Lock-In** | No Vendor Lock-In | Fully open-source, works offline, permissive license (MIT/Apache), no mandatory cloud services or telemetry. |
53+
| **BYO** | BYO Philosophy | Bring your own logging, agents, environments, and tools — flexibility over opinionated defaults. |
54+
| **State-Action Eval** | Trace-First Evaluation | Evaluate intermediate steps and tool usage patterns via trace filtering, not just final output scoring. |
55+
| **Error Attr** | Structured Error Attribution | Structured exceptions distinguish between different failure for fair scoring (`AgentError` vs `EnvironmentError`). |
56+
| **Lightweight** | Lightweight | Minimal dependencies, small codebase (~20k LOC), quick time to first evaluation (~5-15 min). |
57+
| **Project Maturity** | Professional Tooling | Published on PyPI, CI/CD, good test coverage, structured logging, active maintenance, excellent docs. |
58+
| **Sandbox** | Sandboxed Execution | Built-in Docker/K8s/VM isolation for safe code execution (or BYO sandbox via abstract Environment). |
59+
1960
## Core Principles
2061

2162
- **Evaluation, Not Implementation:** MASEval provides the evaluation infrastructure—you bring your agent implementation. Whether you've built agents with AutoGen, LangChain, custom code, or direct LLM calls, MASEval wraps them via simple adapters and runs them through standardized benchmarks.
@@ -34,20 +75,6 @@ More details in the [Quickstart](getting-started/quickstart.md)
3475

3576
- **Abstract Base Classes:** The library provides abstract base classes for core components (Task, Benchmark, Environment, Evaluator) with optional default implementations, giving users flexibility to customize while maintaining interface consistency.
3677

37-
## Quickstart
38-
39-
Install the package from PyPI:
40-
41-
```bash
42-
pip install maseval
43-
```
44-
45-
Run the example script shipped with the repository:
46-
47-
```bash
48-
python examples/smolagents_research.py
49-
```
50-
5178
## API
5279

5380
See the automatic API reference under `Reference`.

0 commit comments

Comments
 (0)