meta = {
reasoning = "Compare how different models answer the exact same prompt",
phases = {
{ label = "compare_models", dynamic = false },
},
}
local MODELS = {
"claude-opus-4-8",
"claude-sonnet-5",
"claude-haiku-4-5-20251001",
}
local PROMPT = "Explain recursion in exactly one sentence. "
.. "Then, on a new line, state your exact model identifier "
.. "(the precise model ID/version string you know yourself as)."
function main()
phase("compare_models", #MODELS)
local results = parallel(MODELS, function(model)
return {
prompt = PROMPT,
model = model,
}
end)
local rows = {}
for i, model in ipairs(MODELS) do
local r = results[i]
local text = (r.output and r.output.text) or r.output
log(string.format(" %-30s -> %s (%d tokens): %s", model, r.status, r.tokens, tostring(text)))
rows[i] = {
model = model,
status = r.status,
ok = r.ok,
tokens = r.tokens,
output = r.output,
}
end
report({
prompt = PROMPT,
models_tested = #MODELS,
results = rows,
})
end