test(ai-bot): extend routereval golden set to 30 items with live-harvested Gemini verdicts
This commit is contained in:
parent
bbf2e55165
commit
b88e056dcd
1 changed files with 467 additions and 0 deletions
467
apps/ai-bot/cmd/routereval/golden_extended.json
Normal file
467
apps/ai-bot/cmd/routereval/golden_extended.json
Normal file
|
|
@ -0,0 +1,467 @@
|
|||
[
|
||||
{
|
||||
"name": "road house first turn (obscure cast)",
|
||||
"message": "кто снимался в фильме дом у дороги",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": true,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "Дом у дороги фильм актёрский состав",
|
||||
"confidence": 0.7
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "road house follow-up (DM, resolved)",
|
||||
"message": "2024 года",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": true,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "Дом у дороги 2024 фильм актёрский состав",
|
||||
"confidence": 0.65
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "weather (freshness lexeme, forced web)",
|
||||
"message": "погода сегодня в Москве",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": true,
|
||||
"trivial": false,
|
||||
"search_query": "погода сегодня Москва",
|
||||
"confidence": 0.95
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "freshness rumination (accepted designed false-web, §14.1)",
|
||||
"message": "сегодня я думаю о смысле жизни",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.2
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "obscure entity founder (no freshness word)",
|
||||
"message": "кто основал компанию Acme Widgets",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": true,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "Acme Widgets основатель компании",
|
||||
"confidence": 0.6
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "static famous fact (author lookup)",
|
||||
"message": "кто написал войну и мир",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "Война и мир автор",
|
||||
"confidence": 0.62
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "current CEO (time-sensitive, sub-floor needs_web)",
|
||||
"message": "кто возглавляет Tesla",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": true,
|
||||
"trivial": false,
|
||||
"search_query": "Tesla CEO",
|
||||
"confidence": 0.5
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "greeting (trivial, high confidence)",
|
||||
"message": "привет",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": true,
|
||||
"search_query": "",
|
||||
"confidence": 0.95
|
||||
},
|
||||
"expected_route": "trivial_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "ack low-confidence trivial (no voice leak → grok)",
|
||||
"message": "спасибо",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": true,
|
||||
"search_query": "",
|
||||
"confidence": 0.5
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "opinion / recommendation (safe floor)",
|
||||
"message": "посоветуй фильм на вечер",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.82
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "code help (safe floor)",
|
||||
"message": "напиши функцию сортировки на python",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.9
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "vague needs_web below floor (stays grok)",
|
||||
"message": "что ты думаешь о криптовалютах",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.4
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "explanation over-flagged needs_web but NOT verifiable (false-web fix)",
|
||||
"message": "объясни как работают горутины в Go",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.9
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "ack-prefixed long real question (not trivial, safe floor)",
|
||||
"message": "спасибо, а теперь подробно объясни квантовую запутанность",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.85
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "bare follow-up in a GROUP (no resolvable subject → grok)",
|
||||
"message": "2024 года",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.3
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "project: what can Vojo do (name hint + about_project)",
|
||||
"message": "что умеет vojo",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": true,
|
||||
"search_query": "",
|
||||
"confidence": 0.9
|
||||
},
|
||||
"expected_route": "project_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "project: app how-to (intent hint + about_project)",
|
||||
"message": "как в этом приложении включить шифрование",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": true,
|
||||
"search_query": "",
|
||||
"confidence": 0.85
|
||||
},
|
||||
"expected_route": "project_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "venting about the app, classifier says not-about-project (about_project=false → grok)",
|
||||
"message": "vojo упал опять?",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.4
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "project: context follow-up, no literal name (classifier resolves it)",
|
||||
"message": "Про этот",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": true,
|
||||
"search_query": "",
|
||||
"confidence": 1.0
|
||||
},
|
||||
"expected_route": "project_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "v2: new releases exception",
|
||||
"message": "какие новинки кино вышли в этом месяце",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": true,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 1.0
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "v2: reading advice (safe floor)",
|
||||
"message": "посоветуй что почитать вечером",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.1
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "v2: famous product release year",
|
||||
"message": "когда вышел айфон 15",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 1.0
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "v2: semi-famous person",
|
||||
"message": "кто такой Джон Кармак",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 1.0
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "v2: population lookup",
|
||||
"message": "население Праги",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": true,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 1.0
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "v2: protocol question (general)",
|
||||
"message": "что такое матрикс протокол, на котором ты работаешь",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.9
|
||||
},
|
||||
"expected_route": "grok_direct",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "v2: creative with freshness filler",
|
||||
"message": "напиши хокку про дождь сегодня вечером",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 0.0
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "v2: account action (project)",
|
||||
"message": "как удалить свой аккаунт",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": true,
|
||||
"search_query": "",
|
||||
"confidence": 0.9
|
||||
},
|
||||
"expected_route": "project_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "v2: follow-up this-app calls (project)",
|
||||
"message": "а в этом можно позвонить?",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": true,
|
||||
"search_query": "",
|
||||
"confidence": 0.9
|
||||
},
|
||||
"expected_route": "project_then_grok",
|
||||
"factual": false
|
||||
},
|
||||
{
|
||||
"name": "v2: setup book author",
|
||||
"message": "кто написал преступление и наказание",
|
||||
"verdict": {
|
||||
"needs_web": true,
|
||||
"verifiable": true,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": false,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 1.0
|
||||
},
|
||||
"expected_route": "web_then_grok",
|
||||
"factual": true
|
||||
},
|
||||
{
|
||||
"name": "v2: post-answer ack",
|
||||
"message": "спасибо!",
|
||||
"verdict": {
|
||||
"needs_web": false,
|
||||
"verifiable": false,
|
||||
"entity_obscure": false,
|
||||
"time_sensitive": false,
|
||||
"trivial": true,
|
||||
"about_project": false,
|
||||
"search_query": "",
|
||||
"confidence": 1.0
|
||||
},
|
||||
"expected_route": "trivial_direct",
|
||||
"factual": false
|
||||
}
|
||||
]
|
||||
Loading…
Add table
Reference in a new issue