Introduction to Runs
Runs are the executions of Tasks
A single Task (defined by its Task ID) can be executed multiple times. Each execution is called a Run. To run a task the following information is needed:
Schema item | Definition |
---|---|
Task ID | Identifier for the Task, required to execute the Task |
Runner | Chosen Parallel runner that will execute the research |
enqueue_run | Whether the run should be enqueued for asynchronous execution |
The relationship between Tasks and Runs
The lifecycle of Tasks and Runs is as follows and Runs are crucial at steps 2 and 4.
-
Create a Task based on your high-level intent.
-
Execute the Task by calling the Task API.
-
Refine the Task based on the output of the Task and your use case.
After reviewing the output of several Task Runs, you can refine the Task to improve its output. You may also want to use our Optimize feature to do so.
Here are some examples of how you may refine this Task:
- Expand your Task Spec to include domain-specific context (eg. “search for any strategic goals that align with our expertise”)
- Adjust the Output Schema to isolate crucial information (eg. Include a list of recent speaking events that the executive attended)
- Experiment with a processor designed to handle higher complexity tasks (eg. “try a more complex processor or switch to the Active Monitoring processor”)
-
Execute the Task again with the refined Task across 10s or 1000s of inputs.
Additional features for Runs
Our Task API is designed to support additional features for Runs, such as running Asynchronous Runs, running Tasks in Batches and Tool Calling.