Overview
How to create your own climber.
A climber is how a search hillclimbs. Every step of a search is two decisions in a fixed order: the selector policy picks the node the next attempt starts from, or none, and the operator policy names the operator to apply to it. The operator then turns that into a prompt for the coding agent. A tuner and a memory complete it. Everything else, from running the agents to scoring and journaling, is the harness, and it is the same for every climber.
You can use a preset as it is, change one part, or write your own parts as classes.
| page | what it covers |
|---|---|
| 1. The climber block | the climber: block, where it goes, how a module is named, the presets |
| 2. Selector policy | which node the next attempt starts from, and the schedule around it |
| 3. Operator policy | which operator is applied to the chosen node |
| 4. Operators | the prompt each attempt starts from, and prompt overrides |
| 5. Tuner and memory | parameter trials, and what a search learns from others |
| 6. Check and compare | checking a climber before it costs anything, and racing climbers |
The same parts in Python, with runnable examples, are in the Python SDK.