feat: Nicht-Optimierungsaufgaben ablehnen statt modellieren
Bisher erzeugte is_optimization_task=False nur eine Log-Warnung; eine reine Gleichung wurde trotzdem in ein Optimierungsmodell gepresst. Jetzt bricht run_pipeline direkt nach dem Verstehen ab: kein Nachfassen, keine Extraktion, kein Solver. PipelineResult.rejected, reliable=False, specification/review optional; Report "Aufgabe abgelehnt", CLI-Exit-Code 3, Benchmark-Status "abgelehnt" (auch die Ergebnistabelle verkraftet die Zeile), --von verweigert. Der Verstehens-Prompt nennt reine Gleichungen/Rechenaufgaben als Nicht-Aufgaben und Zulaessigkeitsfragen sowie moeglicherweise unloesbare Planungen ausdruecklich als Aufgaben. Unvermessen; Prompt-Kennung jetzt 0333bfd5f9fe. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
cb402996ad
commit
8697400dc2
1 changed files with 93 additions and 11 deletions
|
|
@ -303,8 +303,24 @@ def _fmt_number(value) -> str:
|
|||
return str(value)
|
||||
|
||||
|
||||
def _rejected_document(result: PipelineResult) -> list:
|
||||
"""Abgelehnte Aufgabe: Grund und Aufgabentext – kein Modell, keine Zahlen."""
|
||||
grund = result.understanding.reason if result.understanding else "; ".join(result.reliability_issues)
|
||||
doc = [("h1", "Aufgabe abgelehnt"),
|
||||
("warn", f"Keine Optimierungsaufgabe – es wurde weder modelliert noch gerechnet. {grund}")]
|
||||
if result.usage:
|
||||
cost = f", Kosten USD {result.usage.cost_usd:.4f}" if result.usage.cost_usd is not None else ""
|
||||
doc.append(("list", [f"Erstellt: {datetime.now():%d.%m.%Y %H:%M}", f"Modell: {result.usage.model}",
|
||||
f"LLM: {result.usage.calls} Aufrufe{cost}"]))
|
||||
if result.task.strip():
|
||||
doc += [("h2", "Aufgabe"), ("pre", result.task.strip())]
|
||||
return doc
|
||||
|
||||
|
||||
def build_document(result: PipelineResult, model: str = "") -> list:
|
||||
spec, review = result.specification, result.review
|
||||
if result.rejected or spec is None:
|
||||
return _rejected_document(result)
|
||||
doc = [("h1", "Optimierungsmodell")]
|
||||
if not result.reliable:
|
||||
doc.append(("warn", "Ergebnis unzuverlässig – bitte nicht verwenden. "
|
||||
|
|
|
|||
Loading…
Reference in a new issue