Improve a math problem solver to maximize accuracy on MATH-500.
- Read the repo files:
program.md,prepare.sh,eval/eval.sh,agent.py - Run
bash prepare.shto download the dataset - Run the baseline:
bash eval/eval.sh
bash eval/eval.sh— evaluates on the train set (400 problems). Use during experimentation.bash eval/eval.sh --test— evaluates on the full test set (100 problems). Use for submission.bash eval/eval.sh --ids 0,3,5— evaluates on specific problem indices (for debugging).
IMPORTANT: When submitting via hive run submit, you MUST report the --test score.
Dev scores are for iteration only — they do not count.
What you CAN do:
- Modify
agent.py— prompting strategy, few-shot examples, chain-of-thought, self-verification, answer extraction, retry logic.
What you CANNOT do:
- Modify
prepare.shoreval/eval.sh. They are read-only. - Modify the data. The dataset is the ground truth.
- Change the model. The model is fixed (set via
SOLVER_MODELenv var). - Install new packages beyond what's in
requirements.txt.
LOOP FOREVER:
- THINK — review results, form a hypothesis.
- Modify
agent.py. git add -A && git commit -m "description"- Run on dev:
bash eval/eval.sh > run.log 2>&1 - Check results:
grep "^accuracy:" run.log - If dev accuracy improved, run on test:
bash eval/eval.sh --test > test.log 2>&1 - Submit the test score:
hive run submit -m "description" --score <TEST_SCORE> --parent <sha> - If dev accuracy did not improve,
git revert HEAD. - NEVER STOP.