fix(agentx): use full-response interactivity - #677
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Read-only validation against real artifacts from InferenceX run 30425131777, attempt 3:
The original c1 artifact contains an individual request reported as 488,683 TPS by the mixed-domain metric; the fallback reconstructs 182.64 TPS from its 145.999-second lifecycle, 0.523-second TTFT, and 26,571 output tokens. Validation called |
|
Completed a read-only audit of every current production AgentX submission after running the idempotent migration command.
Non-Kimi-K3 results (454 submissions):
The only material differences were 10 of 16 Kimi-K3 submissions from InferenceX run 30425131777 attempt 3. Their median change was -71.3%, with the largest correction from 2,129.14 TPS to 167.03 TPS (-92.15%). The other six Kimi-K3 points did not exceed 1%. An initial comparison against stored TPOT made several DeepSeek V4 rows look different, but that was not a valid proxy for legacy ITL. Direct raw-profile comparison showed DeepSeek V4 has a 0.229% worst-case change and no row above 1%. No database writes were performed by the audit. |
Summary
request_metrics.latency.full_response_itland derive canonical AgentX interactivity from its matching latency percentileCalculation
For each legacy request:
The aggregate-provided metric remains authoritative when present. Namespaced fields are retained for provenance, while canonical
*_itland*_intvtyfields drive existing charts.Validation
Dependencies and merge order
Note
Medium Risk
Changes how agentic ITL/interactivity are computed and stored across ingest, DB backfill, and chart transforms—dashboard numbers shift for agentic runs but logic is covered by unit tests and an idempotent backfill.
Overview
Agentic charts and stored metrics now treat full-response inter-token latency as canonical ITL, with interactivity derived as
1 / p(ITL)for each percentile. New aggregate artifacts supply*_full_response_itl/*_full_response_intvty; ingest maps those onto canonical*_itland*_intvtyand drops unmatched legacy percentiles so rows never mix timing domains.A shared
full-response-interactivityETL module reconstructs the same definition for older runs from gzipped AIPerf profiles:(request lifecycle − TTFT) / (OSL − 1), with optional explicit profile fields and warmup/error filtering. Trace-replay ingest computes this duringprepareTraceReplayand merges intobenchmark_results.metricswhenmedian_full_response_itlis absent.admin:db:backfill-full-response-interactivityapplies the same logic to historical agentic rows that still have profiles.Frontend overlays (
applyAgenticMetricAliasesinbenchmark-transform.ts) mirror ingest so?unofficialrun=rows match DB-backed charts. v3 flattening andMETRIC_KEYSregister the namespaced full-response fields for provenance.Reviewed by Cursor Bugbot for commit 7f397f5. Bugbot is set up for automated code reviews on this repo. Configure here.