DocsUser Guide

Choosing a recipe

A recipe is picked along two axes: what it evolves, and how it learns.

Reactive: learns from the traffic it already serves

Proactive: generates its own attempts

Model weights

sao: feedback on each attempt over a stream of tasks

openclawrl: multi-turn traffic, reward read from the next state

tttd: repeated attempts at one problem, at test time

Harness: prompts, rules, skills, config

skillclaw: grows a skill pool from the failures in its own served traffic

gepa: rewrites the tree by reflecting on the transcripts it already served

not available

Pick by the signal your workload can produce.

The signal you have

Recipe

Evolves

Needs GPUs

Feedback on each attempt, over a stream of tasks

sao

model weights

yes

A fixed grid of sibling attempts at one problem

tttd

model weights

yes

Agent conversations without reports

openclawrl

model weights

yes

Feedback on individual requests, and failures worth learning from

skillclaw (built into Reef)

harness tree

no

A score per request, and a stronger model to reflect with

gepa (built into Reef)

harness tree

no

How a recipe is selected #

A deployment serves exactly one recipe, named by reef.recipe in its config. Every scenario it creates uses that recipe. Requests never name a recipe, and scenario snapshots do not store one. The scenario header is the only routing a caller provides. The artifact repository is therefore deployment-owned: do not point deployments configured with different recipes at the same repository.

reef:
  recipe: recipes.sao.recipe:SAORecipe
  batch_size: 1

reef.recipe accepts the core value recipe, a dotted class, or a preset. Reef does not register or import learning methods. The recipes/ tree in this repository is a cookbook; installed method packages work the same way. Configuration describes each spelling.

Every recipe has a checkpoint strategy, defaulting to EveryNVersions(1). checkpoint_every_n_versions is the shorter spelling in deployment YAML.