anon334test commited on
Commit
e202fd7
·
verified ·
1 Parent(s): a8b8660

Update report: generalization stress-test, planner ceiling, two-tier solution

Browse files
Files changed (1) hide show
  1. report.md +121 -0
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.