Files
zandzeekay 6f8c6e2bdb The GPQA chart sets Enso's tiers among the labs' models, and the frontier runs through them
/ and /enso draw one chart again, the scatter d0199249 removed, read from the
runs when the page opens (lib/enso `field`): every single model at its best
priced run on the 198 questions, at the cost it filed; Enso Ultra, Enso and
Enso Flash on questions they have seen (194, 191 and 189 of 198), each at its
tier's cost on new questions; and the published scores of GPT-6 Sol, GPT-6
Luna, Kimi K3, GLM 5.3, Gemini 4 Argon and Grok 4.7, which no run has
measured, at their list rates times the median tokens a question took, a
dashed disc linking its source. A run of the same model replaces its
published score with no change to the code. The frontier is a line through
the points no other beats on both; a tier off it is not drawn.

The landing's title is a condition on the points: "Highest score. Cheapest
above 90%." while a tier tops every point and another is the cheapest above
90%, else "Accuracy against cost." The captions under the chart and over the
table are gone; each figure names its set where it stands. /enso says how
to route your own way: pinned, by policy, or trained on your own traffic.
2026-10-17 21:13:22 -07:00

88 lines
2.8 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client'
import { Ready } from '@/components/api/state'
import { Gloss, Inline, Table, Td, Th, Tr } from '@/components/benchmarks/parts'
import { YStack } from '@/components/ui'
import { useEnso } from '@/hooks/useEnso'
import { pct, usd, type Routed as Run } from '@/lib/enso'
/**
* Enso routed on GPQA Diamond as /enso's table, read when the page opens
* (lib/enso `routing`): on new questions the tiers ahead of the best single
* model, the low-cost tier and that model, each with its count and what 1,000
* questions cost; then the tiers on questions they have seen. Each table names
* its set where its figures stand (the new questions' column head, each seen
* figure's own cell), so no caption names one. Each row links its research run.
* Not drawn without a routing.
*/
function Row({ r, aside }: { r: Run; aside: string | null }) {
return (
<Tr>
<Td left wrap>
{r.ours ? <strong>{r.name}</strong> : r.name}
<Gloss>
<Inline href={r.href}>run</Inline>
</Gloss>
</Td>
<Td tone={r.ours ? 'ours' : 'rest'}>
{pct(r.accuracy)}
{aside ? ` · ${aside}` : ''}
</Td>
<Td>{r.correct != null && r.n != null ? `${r.correct} of ${r.n}` : '–'}</Td>
<Td>{r.per1k != null ? usd(r.per1k) : '–'}</Td>
</Tr>
)
}
export function Routed() {
return (
<Ready reading={useEnso()} what="Enso's research runs">
{(e) => {
const r = e.routing
if (!r) return null
const fresh = [...r.fresh, r.best, ...(r.cheap ? [r.cheap] : [])]
return (
<YStack gap="$5" data-routed="">
<YStack data-set="new">
<Table>
<thead>
<tr>
<Th left>System</Th>
<Th>New questions</Th>
<Th>Correct</Th>
<Th>Per 1,000 questions</Th>
</tr>
</thead>
<tbody>
{fresh.map((x) => (
<Row key={x.system} r={x} aside={x === r.cheap ? 'the low-cost option' : null} />
))}
</tbody>
</Table>
</YStack>
{r.seen.length ? (
<YStack data-set="seen">
<Table>
<thead>
<tr>
<Th left>System</Th>
<Th>Accuracy</Th>
<Th>Correct</Th>
<Th>Per 1,000 questions</Th>
</tr>
</thead>
<tbody>
{r.seen.map((x) => (
<Row key={x.system} r={x} aside="questions it has seen" />
))}
</tbody>
</Table>
</YStack>
) : null}
</YStack>
)
}}
</Ready>
)
}