A one-line prompt edit can change every answer a product gives, so it deserves what any deploy gets: a record of exactly what ran, and a comparison against a known baseline.
A run depends on four things. Record each in a run manifest:
- Prompt: its version and a hash of its text.
- Model: the exact model name, with its date.
- Dataset: its name and a hash of its contents.
- Config: temperature, max_tokens, top_p.
A comparison tells you something only when one of the four changed. If the model and the temperature both changed, a drop could come from either, and the result cannot be used.
Your task
- Write the manifest for the next run, described below.
- Finish
compare.py. It prints which variables changed, whether the comparison is valid, both pass rates, the change, and the cases that passed before and fail now. On submit it also runs on two run pairs you have not seen.