You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bench: add answer prompt v2 and cmd/replay for offline evaluation
Introduces answer prompt v2, which relaxes the abstention rule and
resolves relative dates against source timestamps. This fixes two
failures that cost ~0.10 answerable Judge at the oracle.
Adds cmd/replay to re-answer questions from existing prediction dumps.
Since the answer prompt cannot affect retrieval, replaying against a
dump allows measuring prompt and model changes without a full re-run.
- Registers v1 and v2 answer prompts for reproducibility.
- Centralizes scoring logic in bench.Score to ensure parity between
live runs, the oracle, and offline replays.
- Updates RESULTS.md with the stage decomposition and v2 findings.
Raw turns keep the wording, so they win single-hop recall. Facts normalize the dates, so they win
184
+
temporal. Neither dominates, the aggregate difference is noise, and the per-category split is a
185
+
clean statement of what each representation is *for*. That is the hybrid store's case, made with
186
+
numbers rather than argument: keep the episodes and the derived facts, retrieve over both, and
187
+
expect roughly single-hop-from-episodes plus temporal-from-facts.
188
+
189
+
Two caveats. The `-0.03` multi-hop dip is within noise but consistent across both v2 runs, and is
190
+
worth a look before v2 is called free. And every number here is still ten conversations.
191
+
134
192
## What this settles (measured, not guessed)
135
193
136
194
1.**The system abstains correctly: adversarial 0.96.** LoCoMo's adversarial questions are unanswerable traps, and mneme declines them almost every time. The answer prompt's explicit "say I don't know" instruction is doing its job. Worth keeping, but it is not a lever, and averaging it into a headline meant to guide work only obscures the rows that differ.
@@ -149,11 +207,11 @@ oracle, because the oracle hands adversarial questions no evidence by constructi
149
207
150
208
**Recommendation (v1 answer prompt): use `gemini-2.5-flash` for extraction, not flash-lite.** Roughly 5× the per-fact cost ($0.0017 vs $0.00034) for +0.057 [+0.026, +0.084] answerable Judge, most of it temporal. Boosters stay opt-in and undefaulted, pending a combined run and more conversations.
151
209
152
-
> **This recommendation does not survive answer prompt v2.** Almost all of flash's edge was
153
-
> temporal date normalization, and v2 gets that from the source timestamp instead — for free, and
154
-
> more reliably. Under v2, rawturns (0.451, no extraction model at all) beats flash extraction
155
-
> (0.387). If you are paying 5× for extraction, pay it for something the raw turn cannot give you.
156
-
> See [The answer stage](#the-answer-stage-two-prompt-bugs-worth-010).
210
+
> **Superseded — do not follow this.** Almost all of flash's edge was temporal date normalization,
211
+
> which `Message.Timestamp`/`Fact.ObservedAt` now supply to any extraction model for free. Measured
212
+
> head to head, **flash-lite + ObservedAt (0.426) beats flash extraction (0.398)** — flash is now a
213
+
> real regression at 5× the per-fact cost. Use flash-lite and timestamp your messages. See
0 commit comments