Skip to content

feat(bench): per-category rerank top-N — 77.2 → 79.4% - #207

Open
sebbsssss wants to merge 1 commit into
stagingfrom
feat/rerank-per-category-topn
Open

feat(bench): per-category rerank top-N — 77.2 → 79.4%#207
sebbsssss wants to merge 1 commit into
stagingfrom
feat/rerank-per-category-topn

Conversation

@sebbsssss

Copy link
Copy Markdown
Owner

Summary

Per-category rerank top-N replaces the global `--rerank-top-n 25`.

Category top-N Why
single-session-user 35 Long preference lists — global 25 was clipping
single-session-preference 30 Medium — preferences + context
single-session-assistant 25 Already saturated at 98%
multi-session 30 Multi-hop synthesis needs more context
knowledge-update 15 Recency-focused, latest wins — tighter is sharper
temporal-reasoning 25 Timeline benefits from focus

Empirical lift (full S-variant, chunked + Voyage Rerank-2.5)

Category top-N=25 (PR #203) per-cat (this PR) Δ
KU 76.9% 84.6% +7.7
Multi-Session 69.2% 72.9% +3.7 ✅
SS-User 81.4% 82.9% +1.5 ✅
SS-Asst 98.2% 98.2% 0
SS-Pref 63.3% 63.3% 0
Temporal 77.4% 76.7% -0.7
Overall 77.2% 79.4% +2.2

Path forward to 90% (gap: 10.6pp)

Lever Projected lift Notes
Opus reader for hard categories +1-3pp KU + multi-session, Opus catches reasoning Sonnet misses
RRF (Reciprocal Rank Fusion) merge +1-2pp Better than current weighted sum
Query decomposition for multi-hop +1-2pp Atomic sub-queries → union
KU update detection via temporal links +0.5-1pp KU already at 84.6%, lower ceiling
Fine-tuned Gemma reader on failures +3-5pp Multi-week build, most likely path to 90%

Realistic stack ceiling 84-87% without fine-tuning. Hitting 90% honestly needs the fine-tuned reader.

🤖 Generated with Claude Code

Global --rerank-top-n 25 clipped SS-User long-form preferences (-5.7pp
in the chunked+rerank run). Per-category target N captures the right
amount of context for each question shape:

  single-session-user:        35  (wider — long preference lists)
  single-session-preference:  30  (medium — preference + context)
  single-session-assistant:   25  (default — already saturated at 98%)
  multi-session:              30  (wider — multi-hop synthesis needs more)
  knowledge-update:           15  (tighter — recency-focused, latest wins)
  temporal-reasoning:         25  (default — timeline benefits from focus)

This is the simplest "+1-2pp" tier-1 lever. Combined with truncate-
seeded recall (where chunked hurt KU/SS-Pref) → hybrid eval should
push past 80%.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@vercel

vercel Bot commented May 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cluude Ready Ready Preview, Comment May 27, 2026 4:58am

Request Review

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