Ergebnis
Die Ergebnisse werden im Verzeichnis "dataflow/results" unter instantiation, execution und dataflow gespeichert und in Unterverzeichnissen basierend auf dem Ergebnis weiter aufbewahrt.
Die Ergebnisse werden gespeichert, indem die Aufgabeninformationen anhand eines Schemas (instantiation_schema oder execution_schema.json im Verzeichnis "dataflow/schema") validiert werden und das Zielverzeichnis basierend auf dem Aufgabentyp und seinem Evaluierungsstatus bestimmt wird, woraufhin das Ergebnis am entsprechenden Speicherort abgelegt wird. Die Struktur der Speicherung und die spezifische Bedeutung des Schemas sind wie folgt.
Gesamtergebnisstruktur
Die Struktur der Ergebnisse der Aufgabe ist wie folgt
UFO/
├── dataflow/ # Root folder for dataflow
│ └── results/ # Directory for storing task processing results
│ ├── saved_document/ # Directory for final document results
│ ├── instantiation/ # Directory for instantiation results
│ │ ├── instantiation_pass/ # Tasks successfully instantiated
│ │ └── instantiation_fail/ # Tasks that failed instantiation
│ ├── execution/ # Directory for execution results
│ │ ├── execution_pass/ # Tasks successfully executed
│ │ ├── execution_fail/ # Tasks that failed execution
│ │ └── execution_unsure/ # Tasks with uncertain execution results
│ ├── dataflow/ # Directory for dataflow results
│ │ ├── execution_pass/ # Tasks successfully executed
│ │ ├── execution_fail/ # Tasks that failed execution
│ │ └── execution_unsure/ # Tasks with uncertain execution results
│ └── ...
└── ...
- Allgemeine Beschreibung: Diese Verzeichnisstruktur organisiert die Ergebnisse der Aufgabenverarbeitung in spezifische Kategorien, einschließlich der Ergebnisse von
Instanziierung,AusführungundDatenfluss. -
Instanziierung
-
Das Verzeichnis
instantiationenthält Unterordner für Aufgaben, die erfolgreich instanziiert wurden (instantiation_pass) und für diejenigen, die während der Instanziierung fehlgeschlagen sind (instantiation_fail). - Dies entspricht dem Ergebnis der
instantiation_evaluationmit dem Feldnamen"judge". -
Ausführung
-
Ergebnisse der
Ausführungvon Aufgaben werden unter dem Verzeichnisexecutiongespeichert und in erfolgreiche Aufgaben (execution_pass), fehlgeschlagene Aufgaben (execution_fail) und Aufgaben mit unsicheren Ergebnissen (execution_unsure) unterteilt. - Dies entspricht dem
Evaluierungsergebnisvonexecute_flowmit dem Feldnamen"complete". -
Datenfluss-Ergebnisse
-
Das Verzeichnis
dataflowspeichert ebenfalls die Ergebnisse von Aufgaben basierend auf dem Ausführungsergebnis:execution_passfür Erfolg,execution_failfür Fehler oderexecution_unsurefür Unsicherheit. - Dies entspricht dem
Evaluierungsergebnisvonexecute_flowmit dem Feldnamen"complete". - Gespeicherte Dokumente: Instanziierte Ergebnisse werden separat im Verzeichnis
saved_documentgespeichert, um den Zugriff und die Referenzierung zu erleichtern.
Gesamtbeschreibung
Die Ergebnisdaten umfassen unique_id, app, original, execution_result, instantiation_result, time_cost.
Die Ergebnisdaten umfassen die folgenden Felder
| Feld | Beschreibung |
|---|---|
unique_id |
Eine eindeutige Kennung für die Aufgabe. |
app |
Der Name der Anwendung, die die Aufgabe verarbeitet. |
original |
Enthält Details zur ursprünglichen Aufgabe, einschließlich |
original.original_task |
Eine Beschreibung der ursprünglichen Aufgabe. |
original.original_steps |
Eine Liste der Schritte, die an der ursprünglichen Aufgabe beteiligt sind. |
execution_result |
Speichert das Ergebnis der Aufgabenausführung, einschließlich eventuell aufgetretener Fehler und der Auswertung der Ausführung. |
instantiation_result |
Liefert Details zum Instanziierungsprozess, einschließlich |
instantiation_result.choose_template |
Das Ergebnis der Vorlagenauswahl und damit verbundene Fehler. |
instantiation_result.prefill |
Informationen zur vorausgefüllten Aufgabe, einschließlich der instanziierten Anfrage und des Plans. |
instantiation_result.instantiation_evaluation |
Evaluierungsergebnisse der instanziierten Aufgabe, einschließlich Urteile und Feedback. |
time_cost |
Verfolgt die Zeit, die für verschiedene Phasen des Prozesses benötigt wurde, wie z. B. Vorlagenauswahl, Vorausfüllen und Evaluierung. |
Schema für Instanzergebnisse
Das Instanziierungsschema in "dataflow/schema/instantiation_schema.json" definiert die Struktur eines JSON-Objekts, das zur Validierung der Ergebnisse der Instanziierung von Aufgaben verwendet wird.
Tabellarische Beschreibung des Schemas
| Feld | Beschreibung |
|---|---|
unique_id |
Eine eindeutige Kennung für die Aufgabe. |
app |
Der Name der Anwendung, die die Aufgabe verarbeitet. |
original |
Enthält Details zur ursprünglichen Aufgabe, einschließlich |
original.original_task |
Eine Beschreibung der ursprünglichen Aufgabe. |
original.original_steps |
Eine Liste der Schritte, die an der ursprünglichen Aufgabe beteiligt sind. |
execution_result |
Speichert das Ergebnis der Aufgabenausführung, einschließlich eventuell aufgetretener Fehler und der Auswertung der Ausführung. |
execution_result.result |
Zeigt das Ergebnis der Ausführung an (oder null, falls nicht zutreffend). |
execution_result.error |
Gibt Details zu Fehlern an, die während der Aufgabenausführung aufgetreten sind. |
instantiation_result |
Liefert Details zum Instanziierungsprozess, einschließlich |
instantiation_result.choose_template |
Das Ergebnis der Vorlagenauswahl und damit verbundene Fehler. |
instantiation_result.prefill |
Informationen zu vorausgefüllten Aufgaben, einschließlich der instanziierten Anfrage und des Plans. |
instantiation_result.prefill.result |
Enthält Details zu instanziierten Anfragen und Plänen. |
instantiation_result.prefill.result.instantiated_request |
Die instanziierte Aufgabenanfrage. |
instantiation_result.prefill.result.instantiated_plan |
Enthält Details zu den instanziierten Schritten. |
instantiation_result.prefill.result.instantiated_plan.step |
Die Schrittsequenznummer. |
instantiation_result.prefill.result.instantiated_plan.subtask |
Die Beschreibung der Unteraufgabe. |
instantiation_result.prefill.result.instantiated_plan.control_label |
Steuerungslabel für den Schritt (oder null, falls nicht zutreffend). |
instantiation_result.prefill.result.instantiated_plan.control_text |
Kontextbezogener Text für den Schritt. |
instantiation_result.prefill.result.instantiated_plan.function |
Die in diesem Schritt ausgeführte Funktion. |
instantiation_result.prefill.result.instantiated_plan.args |
Für die Funktion erforderliche Parameter. |
instantiation_result.prefill.error |
Fehler, falls vorhanden, während des Vorausfüllprozesses. |
instantiation_result.instantiation_evaluation |
Evaluierungsergebnisse der instanziierten Aufgabe, einschließlich Urteile und Feedback. |
instantiation_result.instantiation_evaluation.result |
Enthält detaillierte Evaluierungsergebnisse. |
instantiation_result.instantiation_evaluation.result.judge |
Zeigt an, ob die Evaluierung erfolgreich war. |
instantiation_result.instantiation_evaluation.result.thought |
Feedback oder Beobachtungen des Evaluators. |
instantiation_result.instantiation_evaluation.result.request_type |
Klassifizierung des Anfragetyps. |
instantiation_result.instantiation_evaluation.error |
Fehler, falls vorhanden, während der Evaluierung. |
time_cost |
Verfolgt die Zeit, die für verschiedene Phasen des Prozesses benötigt wurde, wie z. B. Vorlagenauswahl, Vorausfüllen und Evaluierung. |
time_cost.choose_template |
Zeitaufwand für die Vorlagenauswahlphase. |
time_cost.prefill |
Zeitaufwand für die Vorausfüllphase. |
time_cost.instantiation_evaluation |
Zeitaufwand für die Evaluierungsphase. |
time_cost.total |
Gesamtzeitaufwand für die Aufgabe. |
Beispieldaten
{
"unique_id": "5",
"app": "word",
"original": {
"original_task": "Turning lines of text into a bulleted list in Word",
"original_steps": [
"1. Place the cursor at the beginning of the line of text you want to turn into a bulleted list",
"2. Click the Bullets button in the Paragraph group on the Home tab and choose a bullet style"
]
},
"execution_result": {
"result": null,
"error": null
},
"instantiation_result": {
"choose_template": {
"result": "dataflow\\results\\saved_document\\bulleted.docx",
"error": null
},
"prefill": {
"result": {
"instantiated_request": "Turn the line of text 'text to edit' into a bulleted list in Word.",
"instantiated_plan": [
{
"Step": 1,
"Subtask": "Place the cursor at the beginning of the text 'text to edit'",
"ControlLabel": null,
"ControlText": "",
"Function": "select_text",
"Args": {
"text": "text to edit"
}
},
{
"Step": 2,
"Subtask": "Click the Bullets button in the Paragraph group on the Home tab",
"ControlLabel": null,
"ControlText": "Bullets",
"Function": "click_input",
"Args": {
"button": "left",
"double": false
}
}
]
},
"error": null
},
"instantiation_evaluation": {
"result": {
"judge": true,
"thought": "The task is specific and involves a basic function in Word that can be executed locally without any external dependencies.",
"request_type": "None"
},
"error": null
}
},
"time_cost": {
"choose_template": 0.012,
"prefill": 15.649,
"instantiation_evaluation": 2.469,
"execute": null,
"execute_eval": null,
"total": 18.130
}
}
Schema für Ausführungsergebnisse
Das Schema für Ausführungsergebnisse in "dataflow/schema/execution_schema.json" definiert die Struktur eines JSON-Objekts, das zur Validierung der Ergebnisse von Aufgaben execution oder dataflow verwendet wird.
Das Schema für Ausführungsergebnisse liefert umfassendes Feedback zur Ausführung und betont wichtige Erfolgsmetriken (reason, sub_scores, complete), die im Feld result von execution_result aufgezeichnet werden.
Wichtige Verbesserungen umfassen
-
Jeder Schritt im
instantiated_planwurde erweitert um -
Success: Gibt an, ob der Schritt erfolgreich ausgeführt wurde (keine Fehler). MatchedControlText: Zeichnet den Namen des zuletzt abgeglichenen Steuerelements auf.ControlLabel: Wird aktualisiert, um das endgültig ausgewählte Steuerelement widerzuspiegeln.- Die Felder
execute,execute_evalundtotalim Feldtime_costwurden aktualisiert.
Tabellarische Beschreibung des Schemas
| Feld | Beschreibung |
|---|---|
unique_id |
Eine eindeutige Kennung für die Aufgabe. |
app |
Der Name der Anwendung, die die Aufgabe verarbeitet. |
original |
Enthält Details zur ursprünglichen Aufgabe, einschließlich |
original.original_task |
Eine Beschreibung der ursprünglichen Aufgabe. |
original.original_steps |
Eine Liste der Schritte, die an der ursprünglichen Aufgabe beteiligt sind. |
execution_result |
Stellt das Ergebnis der Aufgabenausführung dar, einschließlich eventuell aufgetretener Fehler und der Auswertung der Ausführung. |
execution_result.result |
Zeigt das Ergebnis der Aufgabenausführung an. |
execution_result.error |
Zeigt eventuelle Fehler an, die während der Ausführung aufgetreten sind. |
instantiation_result |
Liefert Details zur Aufgabeneinrichtung, einschließlich |
instantiation_result.choose_template.result |
Das Ergebnis der Vorlagenauswahl. |
instantiation_result.choose_template.error |
Fehler, falls vorhanden, während der Vorlagenauswahl. |
instantiation_result.prefill.result.instantiated_request |
Die instanziierte Aufgabenanfrage. |
instantiation_result.prefill.result.instantiated_plan.Step |
Die Schrittsequenznummer. |
instantiation_result.prefill.result.instantiated_plan.Subtask |
Die Beschreibung der Unteraufgabe. |
instantiation_result.prefill.result.instantiated_plan.ControlLabel |
Steuerungslabel für den Schritt. |
instantiation_result.prefill.result.instantiated_plan.ControlText |
Kontextbezogener Text für den Schritt. |
instantiation_result.prefill.result.instantiated_plan.Function |
Die in diesem Schritt ausgeführte Funktion. |
instantiation_result.prefill.result.instantiated_plan.Args |
Für die Funktion erforderliche Parameter. |
instantiation_result.prefill.result.instantiated_plan.Success |
Gibt an, ob der Schritt erfolgreich und ohne Fehler ausgeführt wurde. |
instantiation_result.prefill.result.instantiated_plan.MatchedControlText |
Der endgültig abgeglichene Kontrolltext im Ausführungsfluss. |
instantiation_result.prefill.error |
Fehler, falls vorhanden, während des Vorausfüllprozesses. |
instantiation_result.instantiation_evaluation.result.judge |
Zeigt an, ob die Evaluierung erfolgreich war. |
instantiation_result.instantiation_evaluation.result.thought |
Feedback oder Beobachtungen des Evaluators. |
instantiation_result.instantiation_evaluation.result.request_type |
Klassifizierung des Anfragetyps. |
instantiation_result.instantiation_evaluation.error |
Fehler, falls vorhanden, während der Evaluierung. |
time_cost |
Verfolgt die Zeit, die für verschiedene Phasen des Prozesses benötigt wurde, einschließlich |
time_cost.choose_template |
Zeitaufwand für die Vorlagenauswahlphase. |
time_cost.prefill |
Zeitaufwand für die Vorausfüllphase. |
time_cost.instantiation_evaluation |
Zeitaufwand für die Evaluierungsphase. |
time_cost.execute |
Zeitaufwand für die Ausführungsphase. |
time_cost.execute_eval |
Zeitaufwand für die Auswertungsphase der Ausführung. |
time_cost.total |
Gesamtzeitaufwand für die Aufgabe. |
Beispieldaten
{
"unique_id": "5",
"app": "word",
"original": {
"original_task": "Turning lines of text into a bulleted list in Word",
"original_steps": [
"1. Place the cursor at the beginning of the line of text you want to turn into a bulleted list",
"2. Click the Bullets button in the Paragraph group on the Home tab and choose a bullet style"
]
},
"execution_result": {
"result": {
"reason": "The agent successfully selected the text 'text to edit' and then clicked on the 'Bullets' button in the Word application. The final screenshot shows that the text 'text to edit' has been converted into a bulleted list.",
"sub_scores": {
"text selection": "yes",
"bulleted list conversion": "yes"
},
"complete": "yes"
},
"error": null
},
"instantiation_result": {
"choose_template": {
"result": "dataflow\\results\\saved_document\\bulleted.docx",
"error": null
},
"prefill": {
"result": {
"instantiated_request": "Turn the line of text 'text to edit' into a bulleted list in Word.",
"instantiated_plan": [
{
"Step": 1,
"Subtask": "Place the cursor at the beginning of the text 'text to edit'",
"ControlLabel": null,
"ControlText": "",
"Function": "select_text",
"Args": {
"text": "text to edit"
},
"Success": true,
"MatchedControlText": null
},
{
"Step": 2,
"Subtask": "Click the Bullets button in the Paragraph group on the Home tab",
"ControlLabel": "61",
"ControlText": "Bullets",
"Function": "click_input",
"Args": {
"button": "left",
"double": false
},
"Success": true,
"MatchedControlText": "Bullets"
}
]
},
"error": null
},
"instantiation_evaluation": {
"result": {
"judge": true,
"thought": "The task is specific and involves a basic function in Word that can be executed locally without any external dependencies.",
"request_type": "None"
},
"error": null
}
},
"time_cost": {
"choose_template": 0.012,
"prefill": 15.649,
"instantiation_evaluation": 2.469,
"execute": 5.824,
"execute_eval": 8.702,
"total": 43.522
}
}