Skip to content

bench v2: Antigravity wired to gpt-5.4 — 9.00/12 (12× v1, within 25% of frontier live-agents) - #71

Closed
study8677 wants to merge 2 commits into
mainfrom
claude/quirky-engelbart-ec012c
Closed

bench v2: Antigravity wired to gpt-5.4 — 9.00/12 (12× v1, within 25% of frontier live-agents)#71
study8677 wants to merge 2 commits into
mainfrom
claude/quirky-engelbart-ec012c

Conversation

@study8677

Copy link
Copy Markdown
Owner

Summary

Re-run of the 2026-05-07 cross-repo benchmark with one variable changed: Antigravity's synthesizer swapped from local qwen3:0.6b (composite 0.73) to gpt-5.4 over an OpenAI-compatible proxy (composite 9.00). 12× quality lift, same architecture, same questions.

Headline

Tool Composite (0-12) Median latency / Q
Antigravity v1 (qwen3:0.6b) 0.73 21 s
Antigravity v2 (gpt-5.4) 9.00 22 s
Codex CLI (gpt-5.5 xhigh) 11.93 106 s
Claude Code Explore (Opus 4.7) 11.87 42 s

Antigravity now lands within ~25 % of frontier live-agents on quality while being 2-5× faster per question (single-variable change, otherwise identical pipeline).

What v2 actually proves

The qwen-run failure was a model-strength problem, not an architecture problem. Single LLM swap with everything else held constant moved the needle from 0.73 → 9.00. Engine code, prompts, retry policy, and questions are unchanged.

Decomposing the remaining 3-point gap

Axis Live agents Antigravity v2 Loss Root cause
Accuracy 3.00 2.60 0.4 Two near-truths (fa-d2, sm-f2); 0 hallucinations vs 4 in v1
Citations 3.00 2.00 1.0 File-level only; KG has line ranges but doesn't surface them into the synthesizer prompt
Depth 2.93 2.40 0.5 Mostly the rq-x1 timeout fallback (0/12) drags this; elsewhere depth = 3
Verify 3.00 2.00 1.0 Same root cause as Citations — no line numbers means re-grep

Single regression

rq-x1 (requests.get end-to-end trace) — synthesizer timed out and the engine returned a raw KG dump instead of either a partial answer or a clear timeout error. Recommended fix in §9 of the report: retry once with shorter context budget, then return structured "I timed out, here's what I retrieved" rather than raw context.

What's in this PR

  • artifacts/benchmark-2026-05-07/REPORT.md — full v2 write-up with v1↔v2 comparison and decomposed quality gap
  • artifacts/benchmark-2026-05-07/answers/antigravity/{qid}.{md,log} — every v2 ag-ask output
  • artifacts/benchmark-2026-05-07/meta/grades.json — per-cell 0-3 scores with notes (re-graded for v2)
  • artifacts/benchmark-2026-05-07/meta/score.py — reproducible aggregator
  • All Codex and Claude Code answers preserved unchanged from v1 (only Antigravity re-ran)

Security

  • No API key or proxy host committed (.env is .gitignore'd at line 29)
  • Internal pytest still 188/188 green on HEAD

Test plan

  • Implement line-range plumbing into the synthesizer prompt (estimated +2 composite per question)
  • Add synthesizer-timeout fallback (clean error + retry, not raw KG dump)
  • Down-rank scripts_* / examples/* dirs during scanning to reduce routing noise
  • Document --quick mode as default for incremental refresh

🤖 Generated with Claude Code

study8677 and others added 2 commits May 7, 2026 02:27
…Code

15 questions per tool against fastapi/requests/sqlmodel measure ag-refresh+ag-ask
versus codex exec (gpt-5.5) and Claude Code's Explore subagent (Opus 4.7).
Antigravity ran on Ollama qwen3:0.6b (only model that finished downloading on
the test box), so the comparison is asymmetric — but the pipeline ran
end-to-end on every repo and per-question latency was the lowest of the three.

Aggregate composite (0-12):
- Antigravity 0.73 / 12 (model-bottlenecked: 8 empty/refusal, 3 fabricated, 4 partial)
- Codex 11.93 / 12 (median 106 s/q)
- Claude Code 11.87 / 12 (median 42 s/q)

Engine + CLI internal pytest still 188/188 green. Full grades, raw answers,
and reproducible runner scripts under artifacts/benchmark-2026-05-07/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Same 15-question benchmark as v1, single variable changed: synthesizer LLM
swapped from local qwen3:0.6b → gpt-5.4 over an OpenAI-compatible proxy.

Aggregate composite (0-12):
- Antigravity v1 (qwen3:0.6b): 0.73
- Antigravity v2 (gpt-5.4):    9.00   ← this commit
- Codex CLI (gpt-5.5 xhigh):   11.93
- Claude Code (Opus 4.7):      11.87

Per-question latency essentially unchanged (22 s vs 21 s in v1) — 2-5×
faster than the live agents. Refresh time grew 1053 → 2284 s because
gpt-5.4 emits longer module summaries.

Remaining 3-point gap to live agents decomposes mostly to missing
line-number citations (engine has the spans in the KG but doesn't
surface them into the synthesizer prompt). Single regression: rq-x1
synthesizer timed out and fell back to a raw KG dump.

Engine/CLI internal pytest still 188/188 green on HEAD.
No API key or proxy host committed; .env is .gitignore'd.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 23a0b45ca1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +17 to +20
local rc=$?
local t1=$(date +%s)
echo "$((t1-t0))" > "$timefile"
echo "[ag] refresh $repo done in $((t1-t0))s rc=$rc"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Abort benchmark when refresh returns non-zero

refresh_one records ag-refresh's return code but never acts on it, so the script continues running and exits successfully even when refresh fails. In this same commit, meta/ag_runner_v2.log shows all three refreshes returning non-zero (rc=1/2), which means the benchmark can proceed with stale or incomplete indexes while still reporting a completed run. This undermines the validity of the generated scores and should fail fast (or at least mark the run failed) when refresh fails.

Useful? React with 👍 / 👎.

@study8677 study8677 closed this May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant