132 lines
3.6 KiB
Markdown
132 lines
3.6 KiB
Markdown
### Ablauf
|
|
1. Daten und Rästel eingeben
|
|
- an Management von Benutzer (oder als Subrätsel)
|
|
```json
|
|
{
|
|
"id" : "xyz",
|
|
"riddle" : {
|
|
"context" : "The values of the variables of the following math problem are given in the text document as written numbers.",
|
|
"question" : "What is x+y?",
|
|
"solution_before" : "", # if trial > 0
|
|
"review_before": "" # if trial > 0
|
|
},
|
|
"trial" : 0, # did we try this before
|
|
"steps" : {
|
|
"extract" : true,
|
|
"solve" : true,
|
|
"validate": true,
|
|
},
|
|
"data" : [
|
|
{
|
|
"type" : "text",
|
|
"file" : "./my-test.txt"
|
|
},
|
|
...
|
|
]
|
|
}
|
|
```
|
|
2. Daten verteilen (`if "extract" : true`)
|
|
- an alle "🤖 Daten einlesen" vom Management
|
|
```json
|
|
{
|
|
"id" : "xyz",
|
|
"data" : [
|
|
{
|
|
"type" : "text",
|
|
"file" : "./my-test.txt"
|
|
},
|
|
...
|
|
]
|
|
}
|
|
```
|
|
3. Verarbeitete Daten annehmen (`if "extract" : true|false`)
|
|
- von allen "🤖 Daten einlesen" an Management
|
|
```json
|
|
{
|
|
"id" : "xyz",
|
|
"data" : [
|
|
{
|
|
"type" : "text",
|
|
"file" : "./my-test.txt",
|
|
"extraction" : "./my-test.json" # schema für alle gleich
|
|
},
|
|
...
|
|
]
|
|
}
|
|
```
|
|
4. Rätsel lösen (`if "solve" : true|false`)
|
|
- an (alle) "🤖 Lösung bestimmen" von Management
|
|
```json
|
|
{
|
|
"id" : "xyz",
|
|
"riddle" : { ... },
|
|
"data" : [
|
|
{
|
|
"type" : "text",
|
|
"file" : "./my-test.txt",
|
|
"extraction" : "./my-test.json"
|
|
},
|
|
...
|
|
]
|
|
}
|
|
```
|
|
- Muss ein "Subrätsel" erzeugen (können), wenn weitere Datenanalyse notwenig ist
|
|
- Mit einer Submenge der Daten bzw. konkreten Fragen etc.
|
|
5. Lösung eines Rätsel annehmen (`if "solve" : true`)
|
|
- von (alle) "🤖 Lösung bestimmen" an Management
|
|
```json
|
|
{
|
|
"id" : "xyz",
|
|
"solution" : "26",
|
|
"explanation" : "x = 12, y = 14, ...",
|
|
"sub_riddles" : [ # optional
|
|
"xyz-1",
|
|
"xyz-2"
|
|
],
|
|
"used_data" : [ # optional
|
|
{
|
|
"type" : "text",
|
|
"file" : "./my-test.txt",
|
|
"extraction" : "./my-test.json"
|
|
},
|
|
...
|
|
]
|
|
}
|
|
```
|
|
6. Lösung validieren lassen (`if "validate": true`)
|
|
- an (alle) "🤖 Lösung validieren" durch Management
|
|
```json
|
|
{
|
|
"id" : "xyz",
|
|
"riddle" : { ... }
|
|
"solution" : "26",
|
|
"explanation" : "x = 12, y = 14, ...",
|
|
"sub_riddles" : [ # optional
|
|
"xyz-1",
|
|
"xyz-2"
|
|
],
|
|
"used_data" : [ # optional
|
|
{
|
|
"type" : "text",
|
|
"file" : "./my-test.txt",
|
|
"extraction" : "./my-test.json"
|
|
},
|
|
...
|
|
]
|
|
}
|
|
```
|
|
7. Validierung annehmen (`if "validate": true`)
|
|
- von (alle) "🤖 Lösung validieren" an Management
|
|
```json
|
|
{
|
|
"id" : "xyz",
|
|
"solution" : "26",
|
|
"explanation" : "x = 12, y = 14, ...",
|
|
"accept" : false # or true
|
|
"review" : "y does not match Y"
|
|
}
|
|
```
|
|
8. Ausgabe oder Wiedervorlage
|
|
- von Management an User oder als neues Riddle
|
|
- `if "accept" : false`: Neues Riddle mit `trial+1`, `solution_before`, `review_before`
|
|
- `if "accept" : true`: User bekommt `solution, explanation, review` |