feat(ms-ai-architect): S1 v2 targeted iteration — GATE PASS (recall 84.2%, precision 84.2%) [skip-docs]
Operatørvalg (c): én målrettet, prinsipiell prompt-iterasjon på den diagnostiserte grounded-men-feil-feilmoden (eksakt-verdi-entailment). Terskel uendret; v1 frosset. Full blind v2 fan-out (15 batcher Opus 4.8 xhigh, 255 P-påstander dekket): - judge v2: recall 84.2% (32/38, PASS >=0.80, Wilson [69.6-92.6%]), presisjon 84.2% (PASS >=0.70), F1 0.842, slår staleness 0/38. - Fiksen løste målet: sku recall 37.5%->75.0%, taxonomy 66.7%->100%. - +6 ekte fangster (26->32) uten netto nye FP (6->6) => recall OG presisjon opp. Forbehold (ærlig): andre måling på samme frosne sett etter v1 (erkjent); Wilson nedre grense 69.6% < 0.80 ved n=38; én iterasjon. Gate-logikk => vei mot S3. Stoppet for operatør-beslutning (S2/S3), eskalerer ikke selv. run-judge-bakeoff.mjs: --results/--report-prefix flagg (v2 uten å klobbe v1). Suite 552/552.
This commit is contained in:
parent
79e34312ea
commit
4cd290c14b
6 changed files with 1436 additions and 3 deletions
234
scripts/kb-eval/data/judge-bakeoff-report-v2.json
Normal file
234
scripts/kb-eval/data/judge-bakeoff-report-v2.json
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
{
|
||||
"_meta": {
|
||||
"source": "gold-correctness-set.json + judge-bakeoff-results.json",
|
||||
"thresholds": {
|
||||
"minRecall": 0.8,
|
||||
"minPrecision": 0.7
|
||||
},
|
||||
"judged": 255
|
||||
},
|
||||
"population": {
|
||||
"total": 255,
|
||||
"verifiable": 240,
|
||||
"positives": 38,
|
||||
"negatives": 202,
|
||||
"unsourcedInP": 15
|
||||
},
|
||||
"arms": {
|
||||
"staleness": {
|
||||
"tp": 0,
|
||||
"fp": 0,
|
||||
"fn": 38,
|
||||
"tn": 202,
|
||||
"positives": 38,
|
||||
"negatives": 202,
|
||||
"flagged": 0,
|
||||
"precision": null,
|
||||
"recall": 0,
|
||||
"f1": null,
|
||||
"recallWilson": {
|
||||
"p": 0,
|
||||
"low": 0,
|
||||
"high": 0.09181293258383999
|
||||
},
|
||||
"precisionWilson": null
|
||||
},
|
||||
"judge": {
|
||||
"tp": 32,
|
||||
"fp": 6,
|
||||
"fn": 6,
|
||||
"tn": 196,
|
||||
"positives": 38,
|
||||
"negatives": 202,
|
||||
"flagged": 38,
|
||||
"precision": 0.8421052631578947,
|
||||
"recall": 0.8421052631578947,
|
||||
"f1": 0.8421052631578947,
|
||||
"recallWilson": {
|
||||
"p": 0.8421052631578947,
|
||||
"low": 0.6958287736272311,
|
||||
"high": 0.9255623777627731
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 0.8421052631578947,
|
||||
"low": 0.6958287736272311,
|
||||
"high": 0.9255623777627731
|
||||
}
|
||||
},
|
||||
"hybrid": {
|
||||
"tp": 32,
|
||||
"fp": 6,
|
||||
"fn": 6,
|
||||
"tn": 196,
|
||||
"positives": 38,
|
||||
"negatives": 202,
|
||||
"flagged": 38,
|
||||
"precision": 0.8421052631578947,
|
||||
"recall": 0.8421052631578947,
|
||||
"f1": 0.8421052631578947,
|
||||
"recallWilson": {
|
||||
"p": 0.8421052631578947,
|
||||
"low": 0.6958287736272311,
|
||||
"high": 0.9255623777627731
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 0.8421052631578947,
|
||||
"low": 0.6958287736272311,
|
||||
"high": 0.9255623777627731
|
||||
}
|
||||
}
|
||||
},
|
||||
"sourceSilent": {
|
||||
"onVerifiableNegative": 3,
|
||||
"onVerifiableError": 2,
|
||||
"agreesWithUnsourced": 5,
|
||||
"disagreesWithUnsourced": 10
|
||||
},
|
||||
"byClaimType": {
|
||||
"version": {
|
||||
"tp": 6,
|
||||
"fp": 0,
|
||||
"fn": 1,
|
||||
"tn": 21,
|
||||
"positives": 7,
|
||||
"negatives": 21,
|
||||
"flagged": 6,
|
||||
"precision": 1,
|
||||
"recall": 0.8571428571428571,
|
||||
"f1": 0.923076923076923,
|
||||
"recallWilson": {
|
||||
"p": 0.8571428571428571,
|
||||
"low": 0.4868654966809701,
|
||||
"high": 0.9743210440510252
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 1,
|
||||
"low": 0.6096569663469354,
|
||||
"high": 0.9999999999999999
|
||||
}
|
||||
},
|
||||
"tpm": {
|
||||
"tp": 4,
|
||||
"fp": 0,
|
||||
"fn": 1,
|
||||
"tn": 20,
|
||||
"positives": 5,
|
||||
"negatives": 20,
|
||||
"flagged": 4,
|
||||
"precision": 1,
|
||||
"recall": 0.8,
|
||||
"f1": 0.888888888888889,
|
||||
"recallWilson": {
|
||||
"p": 0.8,
|
||||
"low": 0.3755282641185388,
|
||||
"high": 0.9637768390302125
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 1,
|
||||
"low": 0.5100999795960008,
|
||||
"high": 1
|
||||
}
|
||||
},
|
||||
"region": {
|
||||
"tp": 1,
|
||||
"fp": 0,
|
||||
"fn": 1,
|
||||
"tn": 13,
|
||||
"positives": 2,
|
||||
"negatives": 13,
|
||||
"flagged": 1,
|
||||
"precision": 1,
|
||||
"recall": 0.5,
|
||||
"f1": 0.6666666666666666,
|
||||
"recallWilson": {
|
||||
"p": 0.5,
|
||||
"low": 0.09452865480086614,
|
||||
"high": 0.9054713451991339
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 1,
|
||||
"low": 0.2065432914738929,
|
||||
"high": 1
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"tp": 6,
|
||||
"fp": 1,
|
||||
"fn": 1,
|
||||
"tn": 45,
|
||||
"positives": 7,
|
||||
"negatives": 46,
|
||||
"flagged": 7,
|
||||
"precision": 0.8571428571428571,
|
||||
"recall": 0.8571428571428571,
|
||||
"f1": 0.8571428571428571,
|
||||
"recallWilson": {
|
||||
"p": 0.8571428571428571,
|
||||
"low": 0.4868654966809701,
|
||||
"high": 0.9743210440510252
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 0.8571428571428571,
|
||||
"low": 0.4868654966809701,
|
||||
"high": 0.9743210440510252
|
||||
}
|
||||
},
|
||||
"taxonomy": {
|
||||
"tp": 9,
|
||||
"fp": 5,
|
||||
"fn": 0,
|
||||
"tn": 83,
|
||||
"positives": 9,
|
||||
"negatives": 88,
|
||||
"flagged": 14,
|
||||
"precision": 0.6428571428571429,
|
||||
"recall": 1,
|
||||
"f1": 0.782608695652174,
|
||||
"recallWilson": {
|
||||
"p": 1,
|
||||
"low": 0.7008472464490407,
|
||||
"high": 1
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 0.6428571428571429,
|
||||
"low": 0.3876400468214041,
|
||||
"high": 0.8365550926279728
|
||||
}
|
||||
},
|
||||
"sku": {
|
||||
"tp": 6,
|
||||
"fp": 0,
|
||||
"fn": 2,
|
||||
"tn": 14,
|
||||
"positives": 8,
|
||||
"negatives": 14,
|
||||
"flagged": 6,
|
||||
"precision": 1,
|
||||
"recall": 0.75,
|
||||
"f1": 0.8571428571428571,
|
||||
"recallWilson": {
|
||||
"p": 0.75,
|
||||
"low": 0.40926987910258916,
|
||||
"high": 0.9285223111419724
|
||||
},
|
||||
"precisionWilson": {
|
||||
"p": 1,
|
||||
"low": 0.6096569663469354,
|
||||
"high": 0.9999999999999999
|
||||
}
|
||||
}
|
||||
},
|
||||
"gate": {
|
||||
"pass": true,
|
||||
"recallOk": true,
|
||||
"precisionOk": true,
|
||||
"beatsStaleness": true,
|
||||
"thresholds": {
|
||||
"minRecall": 0.8,
|
||||
"minPrecision": 0.7
|
||||
},
|
||||
"reasons": [
|
||||
"all criteria met"
|
||||
]
|
||||
}
|
||||
}
|
||||
54
scripts/kb-eval/data/judge-bakeoff-report-v2.md
Normal file
54
scripts/kb-eval/data/judge-bakeoff-report-v2.md
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# Judge bake-off-rapport — S1 (Fase 3 de-risk)
|
||||
|
||||
_Generert deterministisk av `run-judge-bakeoff.mjs` over `gold-correctness-set.json` + `judge-bakeoff-results.json`. Tall fra testet `lib/judge-bakeoff.mjs`. Ikke rediger for hånd — regenerer._
|
||||
|
||||
**Forhåndsregistrert gate (låst FØR fan-out):** recall ≥ 0.8, presisjon ≥ 0.7, OG judge-recall > staleness-recall.
|
||||
|
||||
## Evaluerings-populasjon (P)
|
||||
|
||||
Volatil stratum + fetchbare claim_types (price ekskludert) — der feilene bor; unngår «invertert leverage».
|
||||
|
||||
| metrikk | verdi |
|
||||
|---|---|
|
||||
| P totalt | 255 |
|
||||
| Verifiserbare (correct/outdated/wrong) | 240 |
|
||||
| Positive (reelle feil å fange) | 38 |
|
||||
| Negative (correct) | 202 |
|
||||
| Unsourced i P (kjørt, men utenfor P/R) | 15 |
|
||||
|
||||
## Arm-sammenligning (detektering over de 240 verifiserbare)
|
||||
|
||||
| arm | TP | FP | FN | TN | presisjon | recall | recall Wilson 95% | F1 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| staleness (billig baseline) | 0 | 0 | 38 | 202 | n/a | 0.0% | [0.0%, 9.2%] | n/a |
|
||||
| judge (per-påstand groundedness) | 32 | 6 | 6 | 196 | 84.2% | 84.2% | [69.6%, 92.6%] | 0.842 |
|
||||
| hybrid (union) | 32 | 6 | 6 | 196 | 84.2% | 84.2% | [69.6%, 92.6%] | 0.842 |
|
||||
|
||||
## Judge per claim_type (verifiserbar delmengde)
|
||||
|
||||
| claim_type | positive | TP | FP | FN | presisjon | recall |
|
||||
|---|---|---|---|---|---|---|
|
||||
| taxonomy | 9 | 9 | 5 | 0 | 64.3% | 100.0% |
|
||||
| sku | 8 | 6 | 0 | 2 | 100.0% | 75.0% |
|
||||
| version | 7 | 6 | 0 | 1 | 100.0% | 85.7% |
|
||||
| status | 7 | 6 | 1 | 1 | 85.7% | 85.7% |
|
||||
| tpm | 5 | 4 | 0 | 1 | 100.0% | 80.0% |
|
||||
| region | 2 | 1 | 0 | 1 | 100.0% | 50.0% |
|
||||
|
||||
## source_silent-diagnostikk
|
||||
|
||||
Judgen hentet siden men fant ikke verdien. Diagnostisk, ikke et flagg.
|
||||
|
||||
| signal | antall | tolkning |
|
||||
|---|---|---|
|
||||
| På verifiserbar feil | 2 | judge-bom: reell feil oversett via «kan ikke verifisere» |
|
||||
| På verifiserbar correct | 3 | judge reproduserte ikke et korrekt faktum mennesket fant |
|
||||
| Enig med unsourced | 5 | judge reproduserer den uverifiserbare grensen (godt) |
|
||||
| Uenig med unsourced | 10 | judge hevdet grunnet/ugrunnet der mennesket ikke fant kilde |
|
||||
|
||||
## GATE: ✅ PASS — bygg S3
|
||||
|
||||
- recall 0.842 ≥ 0.8? **ja**
|
||||
- presisjon 0.842 ≥ 0.7? **ja**
|
||||
- slår staleness (recall 0.000)? **ja**
|
||||
- begrunnelse: all criteria met
|
||||
1030
scripts/kb-eval/data/judge-bakeoff-results-v2.json
Normal file
1030
scripts/kb-eval/data/judge-bakeoff-results-v2.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue