Option

agent-eval

affaan-m/ECC affaan-m/ECC

Vergleichen Sie Codierungsdienstleister direkt miteinander anhand reproduzierbarer Aufgaben und anhand von Kennzahlen wie Erfolgsquote, Kosten, Zeitaufwand und Konsistenz.

...Alle erweitern
0
Zeit aktualisiert 1. Oktober 2026

Agent-Bewertung

Ein schlankes CLI-Tool zum direkten Vergleich von Programmieragenten bei reproduzierbaren Aufgaben. Jeder Vergleich nach dem Motto „Welcher Programmieragent ist der beste?“ läuft auf Vibes ab – dieses Tool systematisiert ihn.

Wann sollte man es aktivieren?

  • Zum Vergleich von Codierungsagenten (Claude Code, Aider, Codex usw.) anhand Ihrer eigenen Codebasis
  • Messung der Agentenleistung vor der Einführung eines neuen Tools oder Modells
  • Durchführung von Regressionsprüfungen, wenn ein Agent sein Modell oder seine Tools aktualisiert
  • Erstellung datengestützter Entscheidungen zur Agentenauswahl für ein Team

Installation

Hinweis: Installieren Sie „agent-eval“ aus dem Repository, nachdem Sie den Quellcode geprüft haben.

Kernkonzepte

YAML-Aufgabendefinitionen

Definieren Sie Aufgaben deklarativ. Jede Aufgabe legt fest, was zu tun ist, welche Dateien bearbeitet werden sollen und wie der Erfolg bewertet wird:

name: add-retry-logic
description: Add exponential backoff retry to the HTTP client
repo: ./my-project
files:
  - src/http_client.py
prompt: |
  Add retry logic with exponential backoff to all HTTP requests.
  Max 3 retries. Initial delay 1s, max delay 30s.
judge:
  - type: pytest
    command: pytest tests/test_http_client.py -v
  - type: grep
    pattern: "exponential_backoff|retry"
    files: src/http_client.py
commit: "abc1234"  # pin to specific commit for reproducibility

Isolierung des Git-Arbeitsverzeichnisses

Jeder Agent-Lauf erhält einen eigenen Git-Worktree – Docker ist nicht erforderlich. Dies gewährleistet eine Isolation zur Reproduzierbarkeit, sodass sich Agenten nicht gegenseitig stören oder das Basis-Repo beschädigen können.

Erfasste Metriken

Metrik Was gemessen wird
Erfolgsquote Hat der Agent Code erzeugt, der die Bewertung besteht?
Kosten API-Kosten pro Aufgabe (sofern verfügbar)
Zeit Sekunden bis zur Fertigstellung (Realzeit)
Konsistenz Erfolgsquote bei wiederholten Durchläufen (z. B. 3/3 = 100 %)

Ablauf

1. Aufgaben definieren

Erstellen Sie ein tasks/ Verzeichnis mit YAML-Dateien an, eine pro Aufgabe:

mkdir tasks
# Write task definitions (see template above)

2. Agenten ausführen

Führen Sie die Agenten für Ihre Aufgaben aus:

agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3

Bei jedem Lauf:

  1. Wird ein neuer Git-Arbeitsbaum aus dem angegebenen Commit erstellt
  2. Übergibt die Eingabeaufforderung an den Agenten
  3. Führt die Bewertungskriterien aus
  4. Erfasst „Bestanden/Nicht bestanden“, Kosten und Zeit

3. Ergebnisse vergleichen

Erstellt einen Vergleichsbericht:

agent-eval report --format table
Task: add-retry-logic (3 runs each)
┌──────────────┬───────────┬────────┬────────┬─────────────┐
│ Agent        │ Pass Rate │ Cost   │ Time   │ Consistency │
├──────────────┼───────────┼────────┼────────┼─────────────┤
│ claude-code  │ 3/3       │ $0.12  │ 45s    │ 100%        │
│ aider        │ 2/3       │ $0.08  │ 38s    │  67%        │
└──────────────┴───────────┴────────┴────────┴─────────────┘

Bewertungsarten

Code-basiert (deterministisch)

judge:
  - type: pytest
    command: pytest tests/ -v
  - type: command
    command: npm run build

Musterbasiert

judge:
  - type: grep
    pattern: "class.*Retry"
    files: src/**/*.py

Modellbasiert (LLM als Richter)

judge:
  - type: llm
    prompt: |
      Does this implementation correctly handle exponential backoff?
      Check for: max retries, increasing delays, jitter.

Bewährte Vorgehensweisen

  • Beginnen Sie mit 3–5 Aufgaben, die Ihre tatsächliche Arbeitslast widerspiegeln, und nicht mit Spielbeispielen
  • Führen Sie mindestens 3 Durchläufe pro Agenten durch, um die Varianz zu erfassen – Agenten verhalten sich nicht deterministisch
  • Fixieren Sie den Commit in Ihrer Aufgaben-YAML, damit die Ergebnisse über Tage/Wochen hinweg reproduzierbar sind
  • Beziehen Sie pro Aufgabe mindestens einen deterministischen Bewerter (Tests, Build) ein – LLM-Bewerter verursachen Rauschen
  • Verfolgen Sie die Kosten parallel zur Erfolgsquote – ein Agent mit 95 % Erfolgsquote, der das 10-Fache an Kosten verursacht, ist möglicherweise nicht die richtige Wahl
  • Verwalten Sie Ihre Aufgabendefinitionen in Versionen – sie sind Test-Fixtures, behandeln Sie sie wie Code

Links

  • Repository: github.com/joaquinhuigomez/agent-eval
Auf GitHub ansehen
---
name: agent-eval
description: Compare coding agents head-to-head on reproducible tasks with pass rate, cost, time, and consistency metrics.
---

# Agent Eval Skill

A lightweight CLI tool for comparing coding agents head-to-head on reproducible tasks. Every "which coding agent is best?" comparison runs on vibes — this tool systematizes it.

## When to Activate

- Comparing coding agents (Claude Code, Aider, Codex, etc.) on your own codebase
- Measuring agent performance before adopting a new tool or model
- Running regression checks when an agent updates its model or tooling
- Producing data-backed agent selection decisions for a team

## Installation

> **Note:** Install agent-eval from its repository after reviewing the source.

## Core Concepts

### YAML Task Definitions

Define tasks declaratively. Each task specifies what to do, which files to touch, and how to judge success:

```yaml
name: add-retry-logic
description: Add exponential backoff retry to the HTTP client
repo: ./my-project
files:
  - src/http_client.py
prompt: |
  Add retry logic with exponential backoff to all HTTP requests.
  Max 3 retries. Initial delay 1s, max delay 30s.
judge:
  - type: pytest
    command: pytest tests/test_http_client.py -v
  - type: grep
    pattern: "exponential_backoff|retry"
    files: src/http_client.py
commit: "abc1234"  # pin to specific commit for reproducibility
```

### Git Worktree Isolation

Each agent run gets its own git worktree — no Docker required. This provides reproducibility isolation so agents cannot interfere with each other or corrupt the base repo.

### Metrics Collected

| Metric | What It Measures |
|--------|-----------------|
| Pass rate | Did the agent produce code that passes the judge? |
| Cost | API spend per task (when available) |
| Time | Wall-clock seconds to completion |
| Consistency | Pass rate across repeated runs (e.g., 3/3 = 100%) |

## Workflow

### 1. Define Tasks

Create a `tasks/` directory with YAML files, one per task:

```bash
mkdir tasks
# Write task definitions (see template above)
```

### 2. Run Agents

Execute agents against your tasks:

```bash
agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3
```

Each run:
1. Creates a fresh git worktree from the specified commit
2. Hands the prompt to the agent
3. Runs the judge criteria
4. Records pass/fail, cost, and time

### 3. Compare Results

Generate a comparison report:

```bash
agent-eval report --format table
```

```
Task: add-retry-logic (3 runs each)
┌──────────────┬───────────┬────────┬────────┬─────────────┐
│ Agent        │ Pass Rate │ Cost   │ Time   │ Consistency │
├──────────────┼───────────┼────────┼────────┼─────────────┤
│ claude-code  │ 3/3       │ $0.12  │ 45s    │ 100%        │
│ aider        │ 2/3       │ $0.08  │ 38s    │  67%        │
└──────────────┴───────────┴────────┴────────┴─────────────┘
```

## Judge Types

### Code-Based (deterministic)

```yaml
judge:
  - type: pytest
    command: pytest tests/ -v
  - type: command
    command: npm run build
```

### Pattern-Based

```yaml
judge:
  - type: grep
    pattern: "class.*Retry"
    files: src/**/*.py
```

### Model-Based (LLM-as-judge)

```yaml
judge:
  - type: llm
    prompt: |
      Does this implementation correctly handle exponential backoff?
      Check for: max retries, increasing delays, jitter.
```

## Best Practices

- **Start with 3-5 tasks** that represent your real workload, not toy examples
- **Run at least 3 trials** per agent to capture variance — agents are non-deterministic
- **Pin the commit** in your task YAML so results are reproducible across days/weeks
- **Include at least one deterministic judge** (tests, build) per task — LLM judges add noise
- **Track cost alongside pass rate** — a 95% agent at 10x the cost may not be the right choice
- **Version your task definitions** — they are test fixtures, treat them as code

## Links

- Repository: [github.com/joaquinhuigomez/agent-eval](https://github.com/joaquinhuigomez/agent-eval)

Alle Dateien

1 Dateien

agent-eval installieren

Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.

ZIP herunterladen

Klonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.

git clone https://github.com/affaan-m/ECC/tree/main/skills/agent-eval # Copy SKILL.md to your .claude/skills/ directory

Kopieren Kopieren
Schnelle Einrichtung: Kopiere den Skill-Ordner nach .claude/skills/ Claude erkennt den Skill automatisch und nutzt ihn.
Repository affaan-m/ECC

Ähnliche Skills

web-search
Zeit aktualisiert 29. Juni 2026
webapp-testing
Zeit aktualisiert 29. Juni 2026
lark-base
Zeit aktualisiert 5. Juli 2026
agentmail
Zeit aktualisiert 29. Juni 2026
OR