|
Download README.md from DHDRL/AgentSquares: direct link, hf CLI and curl.
- Browser
- Download file 4.53 kB
-
https://huggingface.co/DHDRL/AgentSquares/resolve/main/README.md
- Command line
-
hf download hf://DHDRL/AgentSquares/README.md
-
curl -L -o README.md https://huggingface.co/DHDRL/AgentSquares/resolve/main/README.md
4.53 kB
| license: apache-2.0 | |
| tags: | |
| - agent | |
| - evaluation | |
| - monitoring | |
| # Squares Progress Agent | |
| A small, offline-first agent that monitors public claims about packing n unit squares into the smallest square. It extracts claimed container sides from pages, validates geometry when coordinates are given, compares claims to a local bound table, and reports improvements, candidates, conflicts and errors. | |
| This repository contains code only. There are no model weights. | |
| The point of the project is the evaluation: which parts of the pipeline cause or prevent false "improvement" reports. | |
| ## Read first | |
| - The synthetic scenarios were written by the same author as the agent. They test the design on its own fixtures and are not an independent test. | |
| - Real-page results (below) come from private local runs on private captures. The raw pages, source URLs and quote-bearing labels are withheld, so those tables cannot be reproduced from this repository. | |
| - LLM extractor numbers (below) also come from private local runs. They are not produced by `make test`, were not re-run after a later code-hash change, and cannot be reproduced from this repository without a live model endpoint. | |
| - The held-out sets are small, so the confidence intervals are wide. | |
| - The agent has not discovered or improved any packing record. | |
| ## Reproducible result (synthetic, `make test`) | |
| Numbers below are from `results/synthetic_publish_check.txt` and `results/eval.json`, and are reproduced by `make test`. | |
| | system | pass (23 scenarios) | false improvements | | |
| |---|---|---| | |
| | agent (rule extractor) | 22/23 | 0 | | |
| | regex + same guards | 12/23 | 0 | | |
| | plain regex baseline | 4/23 | 8 | | |
| | agent without retry | 20/23 | 0 | | |
| The one agent miss is a LaTeX-table scenario, which is a deliberate distribution-shift case. | |
| `results/budget_curve.csv` is produced by a script that forces the same `max_steps` on every scenario. `s09_budget_tight` expects exhaustion at its native budget of 2, so the agent score of 21/23 (91%) at budget 8 is expected. | |
| ## Local results (not reproducible from this repo) | |
| Real-page and LLM numbers come from private local runs. They are recorded in this repository but cannot be reproduced from the publishable tree alone. | |
| Real batch 1 is taken from `results/real_publish_check.txt` (scenarios real01–real15). Real batch 2 is taken from `results/batch2_eval.txt`. The LLM sample is taken from `results/llm_sample7_arms.txt` (and the narrative in `results/llm_summary.md`). `results/heldout_scored.json` and `results/batch2_eval.txt` record code hash `eac25bad096c9a9c`; the published code differs because scrubbing, and a later change that made the model id required, changed the hashed files. | |
| | set | agent | regex + guards | plain regex | | |
| |---|---|---|---| | |
| | real batch 1 (15 pages) | 15/15 | 14/15 | 9/15 (6 false improvements) | | |
| | real batch 2 (12 pages, one source type) | 12/12 | 12/12 | 10/12 (2 false improvements) | | |
| Batch 2 cannot tell the rule extractor and regex+guards apart. An optional LLM extractor — a free-tier hosted model (arm name flint); endpoint settings are not published — was tried on 7 scenarios and passed 6, with no fallback to the rules. The rule extractor passed all 7, so there is no evidence the LLM helps. | |
| ## What it does | |
| search → fetch → extract → drop rejected or stale claims → validate coordinates → compare to bounds → report | |
| - An improvement needs coordinates that validate. A lower number without coordinates is only a candidate. | |
| - Exact rational packings are proofs. Float validation is not a proof, and near-bound float claims stay candidates. | |
| - Hedged or retracted lines are skipped, which costs some recall. | |
| - The LLM extractor proposes only (n, quote). The side value is parsed from a verbatim quote and goes through the same guards. | |
| ## Run | |
| make test # synthetic scenarios only, no network, no API key | |
| The real-page evaluation skips with a message when the private fixtures are missing. Live LLM calls need `SQ_LLM_API_KEY`, `SQ_LLM_BASE_URL` and `SQ_LLM_MODEL` in the environment. | |
| ## Known limits | |
| - Lists like `5,6` are ambiguous with comma decimals. | |
| - No Kaggle CSV adapter; the column and angle conventions are unconfirmed. | |
| - `bounds.json` covers n = 1..29, 68, 102, 299 from a published catalogue. For n = 102 and 299, community claims may be lower than the catalogue. | |
| ## Next steps | |
| Real search through official APIs, interval-arithmetic certification for near-bound float claims, and a fresh held-out batch. | |
| ## License | |
| Apache-2.0 | |