quantize(Decimal('0.01')) rundet auf Hundertstel. Im unveränderten Standardkontext von Decimal trifft dieser Versuch aber noch nicht das verlangte Ergebnis. Der folgende Tool Call fordert die Prüfung an:
{
"type": "function_call",
"name": "run_command",
"call_id": "call_test_01",
"arguments": "{\"command\":\"python tests/
test_prices.py\"}"
}
Die Runtime führt den freigegebenen Aufruf im Projekt aus. Zurück kommt:
stderr: FAIL: expected 12.35, got 12.34 exit_code: 1
Die normale Ausgabe stdout ist leer. Wieder gelangt die Rückgabe über function_call_output und die passende call_id an das Modell. Der Fehler ist nun Teil des Kontexts: Erwartet war 12.35, berechnet wurde 12.34.
Hier passiert etwas, das ich jedes Mal wieder schön finde: Der Fehler sagt dem Modell auf den Cent genau, was nicht stimmt. Das Modell kann daraus eine Korrektur ableiten. Python rundet Decimal-Werte ohne weitere Angabe nach der Regel ROUND_HALF_EVEN: Bei genau einer halben Einheit geht es zur geraden Ziffer, aus 12,345 wird 12,34. Für den Beispielwert passt stattdessen ROUND_HALF_UP, das bei genau einer halben