结果
结果将保存在 "dataflow/results"
目录下的 instantiation
、execution
和 dataflow
中,并根据结果进一步存储在子目录中。
结果通过根据 schema
("dataflow/schema"
中的 instantiation_schema
或 execution_schema.json
)验证任务信息,并根据 task type
及其 evaluation status
确定目标目录,然后将结果存储在适当位置来保存。存储结构和模式的具体含义如下。
总体结果结构
任务结果的结构如下
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
│ └── ...
└── ...
- 通用描述:此目录结构将任务处理结果组织成特定类别,包括
instantiation
、execution
和dataflow
结果。 -
实例化
-
instantiation
目录包含成功实例化(instantiation_pass
)和在实例化过程中失败(instantiation_fail
)的任务的子文件夹。 - 这对应于
instantiation_evaluation
的结果,字段名为"judge"
。 -
执行
-
任务
execution
的结果存储在execution
目录下,分为成功任务(execution_pass
)、失败任务(execution_fail
)和结果不确定任务(execution_unsure
)。 - 这对应于
execute_flow
的evaluation
结果,字段名为"complete"
。 -
数据流结果
-
dataflow
目录类似地根据执行结果存储任务结果:成功为execution_pass
,失败为execution_fail
,不确定为execution_unsure
。 - 这对应于
execute_flow
的evaluation
结果,字段名为"complete"
。 - 已保存文档:实例化结果单独存储在
saved_document
目录中,以便于访问和参考。
总体描述
结果数据包括 unique_id
、app
、original
、execution_result
、instantiation_result
、time_cost
。
结果数据包括以下字段
字段 | 描述 |
---|---|
unique_id |
任务的唯一标识符。 |
app |
处理任务的应用程序名称。 |
original |
包含有关原始任务的详细信息,包括 |
original.original_task |
原始任务的描述。 |
original.original_steps |
原始任务中涉及的步骤列表。 |
execution_result |
存储任务 execution 的结果,包括遇到的任何错误和执行评估。 |
instantiation_result |
提供 instantiation 过程的详细信息,包括 |
instantiation_result.choose_template |
模板选择结果和任何相关错误。 |
instantiation_result.prefill |
关于预填充任务的信息,包括实例化请求和计划。 |
instantiation_result.instantiation_evaluation |
实例化任务的评估结果,包括判断和反馈。 |
time_cost |
跟踪过程各个阶段所花费的时间,例如模板选择、预填充和评估。 |
实例化结果模式
"dataflow/schema/instantiation_schema.json"
中的实例化模式定义了用于验证任务 instantiation
结果的 JSON 对象的结构。
模式表格描述
字段 | 描述 |
---|---|
unique_id |
任务的唯一标识符。 |
app |
处理任务的应用程序名称。 |
original |
包含有关原始任务的详细信息,包括 |
original.original_task |
原始任务的描述。 |
original.original_steps |
原始任务中涉及的步骤列表。 |
execution_result |
存储任务执行的结果,包括遇到的任何错误和执行评估。 |
execution_result.result |
指示执行结果(如果不适用则为 null)。 |
execution_result.error |
详细说明任务执行期间遇到的任何错误。 |
instantiation_result |
提供实例化过程的详细信息,包括 |
instantiation_result.choose_template |
模板选择结果和任何相关错误。 |
instantiation_result.prefill |
关于预填充任务的信息,包括实例化请求和计划。 |
instantiation_result.prefill.result |
包含实例化请求和计划的详细信息。 |
instantiation_result.prefill.result.instantiated_request |
实例化任务请求。 |
instantiation_result.prefill.result.instantiated_plan |
包含实例化步骤的详细信息。 |
instantiation_result.prefill.result.instantiated_plan.step |
步骤序列号。 |
instantiation_result.prefill.result.instantiated_plan.subtask |
子任务的描述。 |
instantiation_result.prefill.result.instantiated_plan.control_label |
步骤的控制标签(如果不适用则为 null)。 |
instantiation_result.prefill.result.instantiated_plan.control_text |
步骤的上下文文本。 |
instantiation_result.prefill.result.instantiated_plan.function |
此步骤中执行的函数。 |
instantiation_result.prefill.result.instantiated_plan.args |
函数所需的参数。 |
instantiation_result.prefill.error |
预填充过程中可能出现的错误。 |
instantiation_result.instantiation_evaluation |
实例化任务的评估结果,包括判断和反馈。 |
instantiation_result.instantiation_evaluation.result |
包含详细的评估结果。 |
instantiation_result.instantiation_evaluation.result.judge |
指示评估是否通过。 |
instantiation_result.instantiation_evaluation.result.thought |
评估者的反馈或观察。 |
instantiation_result.instantiation_evaluation.result.request_type |
请求类型的分类。 |
instantiation_result.instantiation_evaluation.error |
评估过程中可能出现的错误。 |
time_cost |
跟踪过程各个阶段所花费的时间,例如模板选择、预填充和评估。 |
time_cost.choose_template |
模板选择阶段所花费的时间。 |
time_cost.prefill |
预填充阶段所花费的时间。 |
time_cost.instantiation_evaluation |
评估阶段所花费的时间。 |
time_cost.total |
任务所花费的总时间。 |
示例数据
{
"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
}
}
执行结果模式
"dataflow/schema/execution_schema.json"
中的执行结果模式定义了用于验证任务 execution
或 dataflow
结果的 JSON 对象的结构。
执行结果模式提供全面的执行反馈,强调记录在 execution_result
字段的 result
中的关键成功指标(reason
、sub_scores
、complete
)。
主要改进包括
-
instantiated_plan
中的每个步骤都增加了 -
Success
:指示步骤是否成功执行(无错误)。 MatchedControlText
:记录上次匹配的控件名称。ControlLabel
:更新以反映最终选择的控件。time_cost
字段中的execute
、execute_eval
和total
已更新。
模式表格描述
字段 | 描述 |
---|---|
unique_id |
任务的唯一标识符。 |
app |
处理任务的应用程序名称。 |
original |
包含有关原始任务的详细信息,包括 |
original.original_task |
原始任务的描述。 |
original.original_steps |
原始任务中涉及的步骤列表。 |
execution_result |
表示任务执行的结果,包括遇到的任何错误和执行评估。 |
execution_result.result |
表示任务执行的结果。 |
execution_result.error |
表示执行期间发生的任何错误。 |
instantiation_result |
提供有关任务实例化的详细信息,包括 |
instantiation_result.choose_template.result |
模板选择结果。 |
instantiation_result.choose_template.error |
模板选择过程中可能出现的错误。 |
instantiation_result.prefill.result.instantiated_request |
实例化任务请求。 |
instantiation_result.prefill.result.instantiated_plan.Step |
步骤序列号。 |
instantiation_result.prefill.result.instantiated_plan.Subtask |
子任务的描述。 |
instantiation_result.prefill.result.instantiated_plan.ControlLabel |
步骤的控制标签。 |
instantiation_result.prefill.result.instantiated_plan.ControlText |
步骤的上下文文本。 |
instantiation_result.prefill.result.instantiated_plan.Function |
此步骤中执行的函数。 |
instantiation_result.prefill.result.instantiated_plan.Args |
函数所需的参数。 |
instantiation_result.prefill.result.instantiated_plan.Success |
指示步骤是否成功执行且无错误。 |
instantiation_result.prefill.result.instantiated_plan.MatchedControlText |
执行流程中最终匹配的控件文本。 |
instantiation_result.prefill.error |
预填充过程中可能出现的错误。 |
instantiation_result.instantiation_evaluation.result.judge |
指示评估是否通过。 |
instantiation_result.instantiation_evaluation.result.thought |
评估者的反馈或观察。 |
instantiation_result.instantiation_evaluation.result.request_type |
请求类型的分类。 |
instantiation_result.instantiation_evaluation.error |
评估过程中可能出现的错误。 |
time_cost |
跟踪过程各个阶段所花费的时间,包括 |
time_cost.choose_template |
模板选择阶段所花费的时间。 |
time_cost.prefill |
预填充阶段所花费的时间。 |
time_cost.instantiation_evaluation |
评估阶段所花费的时间。 |
time_cost.execute |
执行阶段所花费的时间。 |
time_cost.execute_eval |
执行评估阶段所花费的时间。 |
time_cost.total |
任务所花费的总时间。 |
示例数据
{
"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
}
}