TaskMonkey Handbuch

tm test-conversations

Automatische Konversations-Tests aus der Workspace-Config ausführen.

Schriftliche Erwartungen, die beim CI-Lauf geprüft werden. Deine Regression-Suite für Prompts.

Aufruf

tm test-conversations
tm test-conversations --task inventur
tm test-conversations --task inventur --verbose

Tests definieren

In deinem Workspace, typischerweise im entsprechenden Assistant:

// assistants/inventur.php
return [
    'assistants.inventur' => [
        'name' => 'Inventur',
        // ... prompt, tools, ...
        'conversation_tests' => [
            [
                'description' => 'Erdbeeren suchen',
                'user_message' => 'welche erdbeeren habt ihr?',
                'expect_tool_calls' => ['getProducts'],
                'expect_response_contains' => ['Erdbeere', 'Preis'],
            ],
            [
                'description' => 'Bestand prüfen',
                'user_message' => 'wie viele Tomaten sind noch da?',
                'expect_tool_calls' => ['getStock'],
                'expect_response_contains' => ['Stück'],
            ],
        ],
    ],
];

Verfügbare Assertions

Feld Bedeutung
description Name des Tests (für die Ausgabe)
user_message Was der Benutzer eingibt
expect_success true erwartet eine erfolgreiche Antwort (kein Error)
expect_tool_calls Diese Tools müssen aufgerufen werden
expect_response_contains Diese Strings müssen in der Antwort stehen

Output

✓ Erdbeeren suchen
    Tools: getProducts
✗ Bestand prüfen
    Tools: getProducts
    ✗ Expected tool_call "getStock" was not made
    ✗ Response does not contain any of: verfügbar, Lager, Stück

1/2 bestanden (50%)

Parameter

  • -t, --task <slug> — nur Tests eines bestimmten Tasks laufen lassen
  • -v, --verbose — Response-Auszüge mitanzeigen

Wofür nutzen?

  • Prompt-Refactoring absichern: nach jeder Prompt-Änderung Tests laufen lassen
  • Regression in CI: tm test-conversations --verbose in einer Pipeline, Exit-Code != 0 bricht den Build
  • Akzeptanzkriterien dokumentieren: der Test ist gleichzeitig die Spec

Strategie

Kleine Sammlung stabiler Tests ist besser als 100 unsichere. Fang mit 5 Kernfragen pro Task an — die Fälle, die wirklich schmerzen würden, wenn sie brechen.

Verwandte Commands

Zuletzt aktualisiert: 2026-04-19