Skip to content
Redline
Esc
navigateopen⌘Jpreview
On this page

Tasks

What the agent has to do — written once, run many ways.

A task is two things: the instructions, and the files that belong to them. It is deliberately separable from an experiment, because the same instructions given to a different agent is the entire point.

Writing one

You can write a task in either place:

  • New experiment — the composer on the left. Type the instructions and press Add task; it is saved to your library and ticked for this launch. The chevron beside the button offers Add to tasks only, for when you are just stocking the library.
  • Tasks — the New task dialog, with a name field and a file picker.

Leave the name blank and the first line of the instructions becomes it, trimmed to fit a list.

What makes a good task

Write it the way you would brief a new engineer, not as a prompt.

The checkout spec is flaky. Find out why and fix it.
Prove it by running the spec twenty times without a failure.

Two things to include, and one to leave out:

Say what done looks like

An agent that cannot tell whether it has succeeded will stop at the first plausible-looking moment. “Prove it by running the spec twenty times” is the difference between a fix and a claim.

Name the files by the name they will have

An uploaded file lands in the working directory under its own name and a repository lands in a directory named after it, so the task can say “read orders.csv” or “the bug is in billing-api/” and the agent will find it.

Do not prescribe the tools

How an agent gets there is exactly what the experiment exists to compare. Telling all of them to use ripgrep flattens the thing you were measuring.

What is not on a task

The machine and the rubric are chosen when you launch, not here. That is what lets one task be run three different ways — on a bigger box, against a stricter standard — without being rewritten or duplicated.

Files on a task

Attach a file to the task when it is part of what the task means. A run receives the task’s files and the experiment’s files, merged and de-duplicated: the same repository picked in both places is one clone, not two.

See Files and repositories.

Reusing and removing

The Tasks table shows, per task, which files it carries, how many experiments have used it, and how many runs it has produced.

A task that has produced runs cannot be deleted — deleting it would orphan them, and the refusal says so. Delete the experiment instead, which takes its runs with it. A task with no runs deletes cleanly.

Was this page helpful?