Spaces:
Runtime error
Runtime error
Update report: generalization stress-test, planner ceiling, two-tier solution
Browse files
report.md
CHANGED
|
@@ -209,3 +209,124 @@ method verified vs published sequence (…35,110…): True
|
|
| 209 |
- `agentic_demo.py` — the exact, runnable script that produced Section 6 (fast mode only). It
|
| 210 |
contains the endpoint pool, the general geometry tools, the constrained-extraction solver, the
|
| 211 |
generality tests, and the web-search method verifier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 209 |
- `agentic_demo.py` — the exact, runnable script that produced Section 6 (fast mode only). It
|
| 210 |
contains the endpoint pool, the general geometry tools, the constrained-extraction solver, the
|
| 211 |
generality tests, and the web-search method verifier.
|
| 212 |
+
|
| 213 |
+
|
| 214 |
+
---
|
| 215 |
+
|
| 216 |
+
# 11. Generalization stress-test & the planner ceiling (UPDATE)
|
| 217 |
+
|
| 218 |
+
After the polygon result, we stress-tested whether the **same** harness generalizes to very
|
| 219 |
+
different queries. **It does not, as originally built** — and the reason is important for the next
|
| 220 |
+
phase. This section documents the experiment, the precise failure points, the diagnosis, and the
|
| 221 |
+
recommended fix.
|
| 222 |
+
|
| 223 |
+
## 11.1 Test queries (3 different "shapes" of problem)
|
| 224 |
+
|
| 225 |
+
| # | Query | Correct answer | Natural tool |
|
| 226 |
+
|---|---|---|---|
|
| 227 |
+
| Q1 | Regular hexagon, connect all pairs except one shorter diagonal — triangles of any size? | **82** | COMPUTE (polygon skill) |
|
| 228 |
+
| Q2 | "Today is December 2 2012. In a few weeks something will happen that hasn't happened since 1987. What is it?" | **a year with no repeating digits** (1987 → 2013) | WEB_SEARCH (known riddle) |
|
| 229 |
+
| Q3 | "siapa nama tionghoa hary tanoe" (Hary Tanoe's Chinese name) | **陈明立 / Chen Mingli** | WEB_SEARCH (fact) |
|
| 230 |
+
|
| 231 |
+
## 11.2 What happened (a general router over a tool registry, fast mode)
|
| 232 |
+
|
| 233 |
+
We built a general router: planner picks a tool ∈ {WEB_SEARCH, POLYGON_TRIANGLES, CODE}, then the
|
| 234 |
+
tool runs. Results:
|
| 235 |
+
|
| 236 |
+
| Query | Tool chosen | Output | Failure |
|
| 237 |
+
|---|---|---|---|
|
| 238 |
+
| Q1 | CODE ❌ (should be POLYGON) | "12" | **routing wrong** |
|
| 239 |
+
| Q2 | WEB_SEARCH ✓ | "2012 phenomenon" ❌ | **bad search query** (no reformulation) |
|
| 240 |
+
| Q3 | WEB_SEARCH ✓ | "Hary Tanoesoedibjo" ❌ | **extraction wrong** (missed 陈明立) |
|
| 241 |
+
|
| 242 |
+
A "v2" with **binary** routing + multi-query search was **worse**: it mis-classified Q1 as
|
| 243 |
+
non-computational, and produced junk reformulations ("The Great Wall of China"; "Hary Tanoe is a
|
| 244 |
+
Thai name…").
|
| 245 |
+
|
| 246 |
+
**Thinking mode for the planner** (route + reformulate + extract): **65–131 s per query and returned
|
| 247 |
+
EMPTY content** — the chain-of-thought consumed the whole token budget before any answer (same
|
| 248 |
+
`finish_reason=length` trap). Not viable.
|
| 249 |
+
|
| 250 |
+
## 11.3 Isolation test — is it retrieval or cognition?
|
| 251 |
+
|
| 252 |
+
We fed the extractor **good** search results (the queries a strong planner *would* have written) and
|
| 253 |
+
asked the **fast** 0.8B to extract:
|
| 254 |
+
|
| 255 |
+
- Q3 (Hary Tanoe): with good results pooled → still answered **"Hary Tanoesoedibjo"** (his own name), not 陈明立.
|
| 256 |
+
- Q2 (riddle): the snippet literally said *"Between the years 1987–2013, there was no single year
|
| 257 |
+
comprised [of all different digits]"* → the model answered **"2013"** (grabbed the wrong span;
|
| 258 |
+
missed the concept "no repeating digits").
|
| 259 |
+
|
| 260 |
+
→ Even with correct retrieval, the fast 0.8B **reads and synthesizes results poorly**.
|
| 261 |
+
|
| 262 |
+
## 11.4 Diagnosis — the architecture is right; the 0.8B's open cognition is the ceiling
|
| 263 |
+
|
| 264 |
+
The pattern (planner → tool registry → verify) is correct and *does* solve the polygon class.
|
| 265 |
+
What breaks on Q2/Q3 is **open-ended cognition**, in three distinct places — all **judgment, not
|
| 266 |
+
output format** (the JSON was always well-formed):
|
| 267 |
+
|
| 268 |
+
1. **Routing nuance** — choosing the right tool when categories overlap (Q1 → CODE instead of POLYGON).
|
| 269 |
+
2. **Query crafting** — turning a question/riddle into a good search query (inferring "2013", translating "nama tionghoa" → "Chinese name").
|
| 270 |
+
3. **Reading & synthesizing** results into the intended answer (picking 陈明立 / "no repeating digits").
|
| 271 |
+
|
| 272 |
+
Fast mode cannot fix these (capability ceiling). Thinking mode is too slow and empties the output.
|
| 273 |
+
|
| 274 |
+
**What the 0.8B *can* do reliably:** constrained classification + filling a tiny, explicit form
|
| 275 |
+
(this is exactly why the polygon skill works).
|
| 276 |
+
|
| 277 |
+
**Design rule going forward:**
|
| 278 |
+
> Every decision the 0.8B makes must be reducible to a tiny, explicit, constrained choice.
|
| 279 |
+
> Anything that needs open synthesis (free query writing, multilingual reading, lateral reasoning)
|
| 280 |
+
> is beyond the 0.8B and must be handled by a stronger planner or a pre-built deterministic skill.
|
| 281 |
+
|
| 282 |
+
## 11.5 Recommended solution — two-tier: strong planner + fast workers ⭐
|
| 283 |
+
|
| 284 |
+
This is what Codex / Claude Code effectively are: a capable "brain" orchestrating cheaper actions.
|
| 285 |
+
|
| 286 |
+
```
|
| 287 |
+
┌─────────────────────────────────────────────┐
|
| 288 |
+
│ TIER-1 PLANNER (capable model: 3B–8B / API) │
|
| 289 |
+
│ routing · query crafting · reading results · │
|
| 290 |
+
│ multi-step decisions · verification │
|
| 291 |
+
└───────────────┬───────────────────────────────┘
|
| 292 |
+
│ delegates mechanical sub-tasks
|
| 293 |
+
┌───────────────▼──────────────────────────��────┐
|
| 294 |
+
│ TIER-2 WORKERS (fleet of 0.8B Spaces, fast) │
|
| 295 |
+
│ constrained classification · form-filling · │
|
| 296 |
+
│ extraction over a SMALL span · bulk parallel │
|
| 297 |
+
│ steps · tool argument formatting │
|
| 298 |
+
└────────────────────────────────────────────────┘
|
| 299 |
+
│ tools
|
| 300 |
+
WEB_SEARCH · POLYGON_TRIANGLES · CODE-EXEC · (more skills…)
|
| 301 |
+
```
|
| 302 |
+
|
| 303 |
+
- **Q1** → planner routes to the polygon skill (already works) → 82.
|
| 304 |
+
- **Q2** → planner reasons "a few weeks after Dec 2012 = 2013", crafts query, reads the snippet → "no repeating digits".
|
| 305 |
+
- **Q3** → planner translates intent, crafts "Hary Tanoesoedibjo Chinese name", reads 陈明立 → Chen Mingli.
|
| 306 |
+
|
| 307 |
+
Latency stays low: the planner is **one short call**; the 0.8B fleet does the high-volume work.
|
| 308 |
+
|
| 309 |
+
### Alternative (0.8B-only) — limited generality
|
| 310 |
+
Keep everything on the 0.8B **only if** every step is a constrained scaffold (per-skill form
|
| 311 |
+
builders, *templated* query builders per intent, constrained-span extraction). This generalizes
|
| 312 |
+
**only to the skills you pre-build** — not to arbitrary open questions. Use this if a stronger model
|
| 313 |
+
is not available, and grow the skill library over time.
|
| 314 |
+
|
| 315 |
+
## 11.6 Updated roadmap
|
| 316 |
+
|
| 317 |
+
1. **Add a Tier-1 planner model** to the pool (a 3B–8B Space, or a hosted API) — highest-leverage change.
|
| 318 |
+
2. Keep the **0.8B fleet as Tier-2 workers** (pool with health-check + failover; one in-flight per Space).
|
| 319 |
+
3. **Tool/skill registry**: WEB_SEARCH (with planner-crafted queries), POLYGON_TRIANGLES, CODE-EXEC,
|
| 320 |
+
and a growing set of constrained skills. Each skill = description + constrained input schema + deterministic executor.
|
| 321 |
+
4. **Standard verification**: numeric cross-check, second-method agreement, search anchor (e.g. the
|
| 322 |
+
published triangle sequence 1,8,35,110,…).
|
| 323 |
+
5. **Benchmark suite** spanning compute / lookup / riddle / multilingual queries to measure accuracy
|
| 324 |
+
and latency, and to guard against regressions and overfitting.
|
| 325 |
+
|
| 326 |
+
## 11.7 Bottom line
|
| 327 |
+
|
| 328 |
+
- The agentic **architecture is sound and general**; the polygon class is fully solved, fast, no thinking.
|
| 329 |
+
- A **0.8B alone cannot be the planner** for open-ended questions — proven on Q2/Q3 across fast mode,
|
| 330 |
+
binary routing, thinking mode, and an isolation test.
|
| 331 |
+
- **Fix:** a **two-tier** system — a stronger planner brain over the fast 0.8B worker fleet — makes the
|
| 332 |
+
*same* architecture answer all three query types correctly while staying fast.
|