test(ai): baseline 4 local CPU models + fix prompt-fairness bug
Capture native-harness benchmark baselines for qwen2.5 0.5b/1.5b/3b and qwen2.5-coder:7b (all probed tool-capable; deepseek-r1 and NL2SH reject the tools field). All cluster at 1-2/12 with high variance; the 7B buys no pass-rate gain at ~3x latency, so qwen2.5:3b stays the default. The single biggest score sink across every model is bare tool-call-as-text leaks — a harness parse gap, the clear next improvement. Also drop "in your home directory" from the shell prompts: it made literal- minded models create a home/ subdir (/root/home/a/b/c/...) or use ~/, which the benchmark itself surfaced. Findings doc + bench README carry the model comparison table and recommendations (llama3.2:3b / llama3.1:8b for a non-qwen data point). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"ts": "2026-06-10T09:03:58",
|
||||
"model": "qwen2.5-coder:1.5b",
|
||||
"rows": [
|
||||
{
|
||||
"id": "shell-easy",
|
||||
"category": "shell",
|
||||
"tier": "easy",
|
||||
"result": "FAIL",
|
||||
"secs": 144.0,
|
||||
"summary": "wc.py ran and saved output to wc.out, whoami output written to who.txt. \u2502\u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
|
||||
"verify_out": ""
|
||||
},
|
||||
{
|
||||
"id": "shell-medium",
|
||||
"category": "shell",
|
||||
"tier": "medium",
|
||||
"result": "PASS",
|
||||
"secs": 48.8,
|
||||
"summary": ".",
|
||||
"verify_out": ""
|
||||
},
|
||||
{
|
||||
"id": "shell-hard",
|
||||
"category": "shell",
|
||||
"tier": "hard",
|
||||
"result": "FAIL",
|
||||
"secs": 40.8,
|
||||
"summary": ". \u2502\u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
|
||||
"verify_out": "cat: /root/conf_count.txt: No such file or directory"
|
||||
},
|
||||
{
|
||||
"id": "code-easy",
|
||||
"category": "code",
|
||||
"tier": "easy",
|
||||
"result": "FAIL",
|
||||
"secs": 52.9,
|
||||
"summary": ".",
|
||||
"verify_out": "cat: /root/add.out: No such file or directory"
|
||||
},
|
||||
{
|
||||
"id": "code-medium",
|
||||
"category": "code",
|
||||
"tier": "medium",
|
||||
"result": "FAIL",
|
||||
"secs": 71.1,
|
||||
"summary": "chmod command failed; check permissions for the script file. \u2502\u2502 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
|
||||
"verify_out": ""
|
||||
},
|
||||
{
|
||||
"id": "code-hard",
|
||||
"category": "code",
|
||||
"tier": "hard",
|
||||
"result": "FAIL",
|
||||
"secs": 46.8,
|
||||
"summary": "write_file ./fib.py 'print(\"0 1\") for i in range(10); print(\" \".join(map(str,\u2502\u2502 \u2502 \u2502[i+j for i,j in zip([0,1], [1,2])))))'",
|
||||
"verify_out": "cat: /root/fib.out: No such file or directory"
|
||||
},
|
||||
{
|
||||
"id": "git-easy",
|
||||
"category": "git",
|
||||
"tier": "easy",
|
||||
"result": "FAIL",
|
||||
"secs": 40.9,
|
||||
"summary": "",
|
||||
"verify_out": ""
|
||||
},
|
||||
{
|
||||
"id": "git-medium",
|
||||
"category": "git",
|
||||
"tier": "medium",
|
||||
"result": "FAIL",
|
||||
"secs": 46.8,
|
||||
"summary": "run_shell 'git clone https://github.com/octocat/Hello-World' \u2502\u2502 \u2502 \u2502 DONE: run_shell 'mkdir hw2 && cd h",
|
||||
"verify_out": "grep: /root/readme.txt: No such file or directory"
|
||||
},
|
||||
{
|
||||
"id": "git-hard",
|
||||
"category": "git",
|
||||
"tier": "hard",
|
||||
"result": "FAIL",
|
||||
"secs": 54.9,
|
||||
"summary": "run_shell 'git clone https://github.com/octocat/Hello-World' \u2502\u2502 \u2502 \u2502 DONE: run_shell 'mkdir hw3 && cd h",
|
||||
"verify_out": "sh: 1: cannot open /root/branch.txt: No such file"
|
||||
},
|
||||
{
|
||||
"id": "multi-easy",
|
||||
"category": "multi",
|
||||
"tier": "easy",
|
||||
"result": "FAIL",
|
||||
"secs": 52.9,
|
||||
"summary": "mkdir proj \u2502\u2502 \u2502 \u2502 DONE: write_file ./proj/notes.txt ",
|
||||
"verify_out": "cat: /root/proj/notes.txt: No such file or directory"
|
||||
},
|
||||
{
|
||||
"id": "multi-medium",
|
||||
"category": "multi",
|
||||
"tier": "medium",
|
||||
"result": "FAIL",
|
||||
"secs": 99.2,
|
||||
"summary": "",
|
||||
"verify_out": "cat: /root/sorted.txt: No such file or directory"
|
||||
},
|
||||
{
|
||||
"id": "multi-hard",
|
||||
"category": "multi",
|
||||
"tier": "hard",
|
||||
"result": "FAIL",
|
||||
"secs": 107.5,
|
||||
"summary": "write_file 'one\\ntwo\\tthree' ./words.txt",
|
||||
"verify_out": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user