Wie funktioniert das Oracle?¶
Manche Anlagenbeschreibungen sind absichtlich unvollständig, wo nicht immer alle Angaben vorliegen. Damit die KI trotzdem weiterarbeiten kann, gibt es das Oracle: einen simulierten Experten, den die KI bei Unklarheiten gezielt befragen darf. Diese Seite erklärt, wann das Oracle aktiv ist, wie eine Frage zu einer Antwort wird und warum das für eine faire Bewertung wichtig ist.
Eine erste Einordnung steht unter Ein Datenpunkt im Detail; hier geht es um die Mechanik dahinter.
Wann ist das Oracle aktiv?¶
Das Oracle wird nur bei unvollständig beschriebenen Aufgaben befragt:
- vollständig spezifiziert (
fully_specified): Alle Angaben stehen in der
Beschreibung. Es gibt nichts zu fragen, das Oracle bleibt stumm. - unvollständig spezifiziert (
underspecified): Werte fehlen. Erst hier darf die
KI Rückfragen stellen und nur dann antwortet das Oracle.
Grundlage: das oracle-Feld
Jeder Datenpunkt trägt ein oracle-Feld, ein Verzeichnis aus Feldname →
Wert. Es ist die einzige Wissensquelle des Experten. Beispiel (gekürzt):
Der Ablauf in zwei Runden¶
flowchart TB
A["📝 Eingabe<br>(unvollständig)"] --> B["🤖 KI – Runde 1"]
B --> C{"Code schon<br>geschrieben?"}
C -->|"ja"| Z["⚖️ Bewertung"]
C -->|"nein, stellt Fragen"| D["🔮 Oracle<br>beantwortet die Fragen"]
D --> E["🤖 KI – Runde 2<br>schreibt den Code"]
E --> Z
-
Runde 1: Die KI erhält die Beschreibung. Bei unvollständigen Aufgaben darf sie
ihre offenen Fragen als kleinen JSON-Block ausgeben, statt sofort zu raten: -
Oracle: Stellt die KI Fragen, schlägt das Oracle
die passenden Werte imoracle-Feld nach und schickt sie als Antwort zurück. - Runde 2: Mit den Antworten schreibt die KI den vollständigen PyADM1ODE-Code,
der anschließend bewertet wird.
Schreibt die KI bereits in Runde 1 fertigen Code, entfällt die Oracle-Runde. Pro Datenpunkt gibt es höchstens eine Oracle-Runde.
Wie aus einer Frage eine Antwort wird¶
Das Oracle versteht unterschiedliche Formulierungen derselben Frage. Es muss
nicht das interne Feld F1.T_ad getroffen werden, es genügt „Bei welcher Temperatur läuft der
Fermenter?". Die Zuordnung läuft in mehreren Stufen, von der genauesten zur
großzügigsten:
| Stufe | Was passiert | Beispiel |
|---|---|---|
| 1. Exakter Treffer | Die Frage nennt den Feldnamen direkt. | F1.T_ad → 313.15 |
| 2. Schlüsselwörter | Synonyme werden auf eine Größe abgebildet. | „Temperatur", „beheizt", „mesophil" → alle *.T_ad |
| 3. Bauteil-Kürzel | Eine genannte Komponente liefert alle ihre Felder. | „F1" → F1.T_ad, F1.V_gas, F1.fill_fraction |
| 4. Wörtliche Felder | Im Fragetext auftauchende Feldnamen werden ergänzt. | „… bgaa.capacity_m3h …" |
Die Schlüsselwort-Tabelle ist zweisprachig (Deutsch und Englisch) und deckt
typische Begriffe ab, etwa „Gasspeicher"/„gas storage" für V_gas,
„Füllgrad"/„fill level" für fill_fraction, „Nennleistung"/„rated power" für
P_el_nom oder „Substrat"/„feedstock" für substrate_feed. Begriffe wie
„Wirkungsgrad" liefern bewusst beide zugehörigen Felder (eta_el und eta_th).
Frage → Oracle-Antwort
Frage der KI:
Antwort des Oracle:
Hilfreich, aber nicht allwissend¶
Das Oracle ist bewusst kooperativ:
- Keine passende Frage erkannt? Dann gibt es lieber alle verfügbaren Angaben
heraus, statt die KI im Stich zu lassen. - Nur wenig gefragt? Hat die KI nur einen kleinen Teil erfragt und bleiben
höchstens fünf weitere Felder offen, ergänzt das Oracle diese als „Weitere relevante Informationen". So scheitert ein Lauf nicht an einer einzelnen vergessenen Frage.
Warum es das Oracle gibt¶
Das Oracle trennt zwei Verhaltensweisen, die ohne es ununterscheidbar wären:
- Eine gute KI fragt nach, wenn eine Angabe fehlt und baut die Anlage danach
korrekt. - Eine schwächere KI rät und erfindet möglicherweise einen unplausiblen Wert.
Genau das schlägt sich in der Bewertung nieder: Für unvollständige Datenpunkte zählt der Lücken-Score, ob ein fehlendes Feld erfragt oder plausibel im Akzeptanzband ergänzt wurde. Das stille Erfinden eines unplausiblen Werts ist der schwerste Fehler. Details dazu auf der Seite Bewertung & Ablauf.
response.json – Fragen und Annahmen festhalten
Wer ein eigenes Modell offline auswertet, macht erfragte und ergänzte Felder
in einer response.json neben dem Code explizit:
{
"open_questions": [{ "field": "sep.source" }],
"assumptions": [{ "field": "F1.T_ad", "value": 313.15 }]
}
Mehr dazu unter Datensatz nutzen.
Oracle abschalten¶
Zum Vergleich lässt sich das Oracle deaktivieren. Dann stellt die KI keine Rückfragen und muss fehlende Werte selbst plausibel annehmen oder mit Standardwerten arbeiten:
Das zeigt, wie gut ein Modell ohne Hilfestellung mit Lücken umgeht, eine nützliche Gegenprobe zum regulären Lauf mit Oracle.
Den Datensatz visuell erkunden – inklusive der erwarteten Rückfragen und der Oracle-Antworten pro Datenpunkt – kannst du im Viewer.