← Lab
Query, calculate and answer with tools
CPU · Python 3.12.13 · 8.02 s · 2026-10-22 08:56:13 UTC+8
Saved run results
| train_tasks | 24 |
|---|
| heldout_tasks | 16 |
|---|
| updates | 160 |
|---|
| algorithm | REINFORCE with leave-one-out baseline |
|---|
{'kind': 0, 'company': 'company-0', 'previous': 80, 'current': 90, 'expense': 20} {'kind': 0, 'company': 'company-32', 'previous': 176, 'current': 218, 'expense': 52}
[(0, 'company', 'TEXT', 0, None, 0), (1, 'year', 'INT', 0, None, 0), (2, 'revenue', 'REAL', 0, None, 0), (3, 'expense', 'REAL', 0, None, 0)]
[('company-0', 2024, 80.0, 18.0), ('company-0', 2025, 90.0, 20.0)]
list_tables (-0.01, False, {'tables': [('accounts',)]})
schema (-0.01, False, {'schema': [(0, 'company', 'TEXT', 0, None, 0), (1, 'year', 'INT', 0, None, 0), (2, 'revenue', 'REAL', 0, None, 0), (3, 'expense', 'REAL', 0, None, 0)]})
query_current (-0.01, False, {'sql': 'SELECT revenue, expense FROM accounts WHERE company = ? AND year = ?', 'parameters': ('company-1', 2025), 'row': (94.0, 21.0)})
query_previous (-0.01, False, {'sql': 'SELECT revenue, expense FROM accounts WHERE company = ? AND year = ?', 'parameters': ('company-1', 2024), 'row': (83.0, 19.0)})
calculate_growth (-0.01, False, {'calculator_result': 0.1325301204819278})
submit (1.0, True, {'answer': 0.1325301204819278})
Agent contract: observe → action → tool observation → next decision → verifier
{'seed': 3, 'before': {'success_rate': 0.5, 'return': 0.44999999999999996, 'mean_turns': 6.0}, 'after': {'success_rate': 1.0, 'return': 0.955, 'mean_turns': 5.5}}
{'seed': 7, 'before': {'success_rate': 0.0, 'return': -0.08, 'mean_turns': 8.0}, 'after': {'success_rate': 1.0, 'return': 0.955, 'mean_turns': 5.5}}
[
{
"turn": 0,
"action": "list_tables",
"observation": {
"tables": [
[
"accounts"
]
]
},
"reward": -0.01
},
{
"turn": 1,
"action": "schema",
"observation": {
"schema": [
[
0,
"company",
"TEXT",
0,
null,
0
],
[
1,
"year",
"INT",
0,
null,
0
],
[
2,
"revenue",
"REAL",
0,
null,
0
],
[
3,
"expense",
"REAL",
0,
null,
0
]
]
},
"reward": -0.01
},
{
"turn": 2,
"action": "query_current",
"observation": {
"sql": "SELECT revenue, expense FROM accounts WHERE company = ? AND year = ?",
"parameters": [
"company-32",
2025
],
"row": [
218.0,
52.0
]
},
"reward": -0.01
},
{
"turn": 3,
"action": "calculate_ratio",
"observation": {
"calculator_result": 0.23853211009174313
},
"reward": -0.01
},
{
"turn": 4,
"action": "submit",
"observation": {
"answer": 0.23853211009174313
},
"reward": 1.0
}
]
SQL observations are included in the saved held-out trajectory.
Fill answer, then enable RUN_EXERCISE.
metrics.json
{
"runs": [
{
"seed": 3,
"before": {
"success_rate": 0.5,
"return": 0.44999999999999996,
"mean_turns": 6.0
},
"after": {
"success_rate": 1.0,
"return": 0.955,
"mean_turns": 5.5
}
},
{
"seed": 7,
"before": {
"success_rate": 0.0,
"return": -0.08,
"mean_turns": 8.0
},
"after": {
"success_rate": 1.0,
"return": 0.955,
"mean_turns": 5.5
}
}
],
"fixed_heldout_trace": [
{
"turn": 0,
"action": "list_tables",
"observation": {
"tables": [
[
"accounts"
]
]
},
"reward": -0.01
},
{
"turn": 1,
"action": "schema",
"observation": {
"schema": [
[
0,
"company",
"TEXT",
0,
null,
0
],
[
1,
"year",
"INT",
0,
null,
0
],
[
2,
"revenue",
"REAL",
0,
null,
0
],
[
3,
"expense",
"REAL",
0,
null,
0
]
]
},
"reward": -0.01
},
{
"turn": 2,
"action": "query_current",
"observation": {
"sql": "SELECT revenue, expense FROM accounts WHERE company = ? AND year = ?",
"parameters": [
"company-32",
2025
],
"row": [
218.0,
52.0
]
},
"reward": -0.01
},
{
"turn": 3,
"action": "calculate_ratio",
"observation": {
"calculator_result": 0.23853211009174313
},
"reward": -0.01
},
{
"turn": 4,
"action": "submit",
"observation": {
"answer": 0.23853211009174313
},
"reward": 1.0
}
],
"train_tasks": 24,
"heldout_tasks": 16,
"updates": 160,
"algorithm": "REINFORCE with leave-one-out baseline"
}