claude-opus-5-5 @ low · CC
CClow
- config
- claude-opus-5-5-eff-low--cli--claude-code--dev
- batch
- 2026-07-19--unified
- transport
- claude-code-cli-headless
- protocol
- cli · plan
- served model
- claude-opus-5-5
- 采集于
- 2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
claude-fable-5 @low · cursor-xl0.73claude-fable-5 @high · cursor0.73claude-fable-5 @high · cursor-xl0.72claude-opus-4-8 @high · kiro0.72claude-fable-5-thinking @low · cursor-xl0.71最远
north-mini-code-free · api0.49grok-4.6 @high · grok-cli0.51cursor-grok-4.5 @high · cursor-xl0.52gpt-5.4 @high · codex-oauth0.52qwen3.6-plus · go0.53限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmatch展示值:25
- min tempmatch展示值:16
- hourlymismatchcoverage 0/24 · 0 命中 · 8 不符 · 16 未展示
- request sidematch0 处违规
extractor fidelity-extractor-v1+Berlin-2026-07-15
源码 —— 原始模型输出,一字节未改
下载 card.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Weather</title>
<style>
:root{
--bg1:#0f1c3f; --bg2:#27407a; --card:rgba(255,255,255,0.08); --border:rgba(255,255,255,0.14);
--text:#f4f6fb; --muted:#aab5d3; --warm:#ffb86b; --cool:#7cc4ff;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
color:var(--text);
background:radial-gradient(1200px 700px at 15% 10%, #3a5ba8 0%, transparent 60%),
radial-gradient(900px 600px at 90% 90%, #6a3f8f 0%, transparent 55%),
linear-gradient(160deg,var(--bg1),var(--bg2));
display:flex;align-items:center;justify-content:center;min-height:100vh;
-webkit-font-smoothing:antialiased;
}
.card{
width:960px;padding:44px 52px 40px;border-radius:28px;
background:var(--card);border:1px solid var(--border);
backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
box-shadow:0 30px 80px rgba(5,10,30,.45), inset 0 1px 0 rgba(255,255,255,.12);
}
header{display:flex;justify-content:space-between;align-items:flex-start}
.loc{font-size:40px;font-weight:700;letter-spacing:-.02em}
.date{margin-top:6px;color:var(--muted);font-size:17px}
.coords{margin-top:4px;color:var(--muted);font-size:13px;opacity:.75;font-variant-numeric:tabular-nums}
.badge{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid var(--border);font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.main{display:flex;align-items:center;gap:40px;margin:34px 0 30px}
.icon{font-size:96px;line-height:1;filter:drop-shadow(0 8px 20px rgba(0,0,0,.3))}
.cond{font-size:28px;font-weight:600}
.temps{display:flex;gap:28px;margin-top:12px}
.t{display:flex;flex-direction:column}
.t .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.t .val{font-size:48px;font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.t.max .val{color:var(--warm)} .t.min .val{color:var(--cool)}
.panel{background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:20px 22px 12px}
.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600;margin-bottom:8px}
svg text{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.state{padding:60px 0;text-align:center;color:var(--muted);font-size:18px}
.error{color:#ffb3b3}
.spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;margin:0 auto 16px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
</style>
</head>
<body>
<div class="card" id="card">
<header>
<div>
<div class="loc" id="loc"></div>
<div class="date" id="date"></div>
<div class="coords" id="coords"></div>
</div>
<div class="badge" id="badge">Loading</div>
</header>
<div id="content"><div class="state"><div class="spinner"></div>Loading weather data…</div></div>
</div>
<script>
(function(){
const p = new URLSearchParams(location.search);
const num = (v, d) => { const n = parseFloat(v); return isFinite(n) ? n : d; };
const lat = num(p.get('lat'), 52.52), lon = num(p.get('lon'), 13.405);
const name = p.get('name') || 'Berlin';
const today = new Date().toISOString().slice(0,10);
let date = p.get('date');
if (!date || !/^\d{4}-\d{2}-\d{2}$/.test(date)) date = today;
const $ = id => document.getElementById(id);
$('loc').textContent = name;
document.title = name + ' · Weather';
const d = new Date(date + 'T00:00:00Z');
$('date').textContent = isNaN(d) ? date : d.toLocaleDateString('en-GB',{weekday:'long',day:'numeric',month:'long',year:'numeric',timeZone:'UTC'});
$('coords').textContent = lat.toFixed(3) + '°, ' + lon.toFixed(3) + '°';
const WMO = {
0:['Clear sky','☀️'],1:['Mainly clear','🌤️'],2:['Partly cloudy','⛅'],3:['Overcast','☁️'],
45:['Fog','🌫️'],48:['Depositing rime fog','🌫️'],
51:['Light drizzle','🌦️'],53:['Drizzle','🌦️'],55:['Dense drizzle','🌧️'],
56:['Light freezing drizzle','🌧️'],57:['Freezing drizzle','🌧️'],
61:['Light rain','🌦️'],63:['Rain','🌧️'],65:['Heavy rain','🌧️'],
66:['Light freezing rain','🌧️'],67:['Freezing rain','🌧️'],
71:['Light snow','🌨️'],73:['Snow','🌨️'],75:['Heavy snow','❄️'],77:['Snow grains','🌨️'],
80:['Light showers','🌦️'],81:['Rain showers','🌧️'],82:['Violent showers','⛈️'],
85:['Snow showers','🌨️'],86:['Heavy snow showers','❄️'],
95:['Thunderstorm','⛈️'],96:['Thunderstorm with hail','⛈️'],99:['Severe thunderstorm with hail','⛈️']
};
const archive = date < today;
$('badge').textContent = archive ? 'Historical' : (date === today ? 'Today' : 'Forecast');
const qs = new URLSearchParams({
latitude:lat, longitude:lon,
daily:'temperature_2m_max,temperature_2m_min,weather_code',
hourly:'temperature_2m', timezone:'UTC', temperature_unit:'celsius',
start_date:date, end_date:date
});
const url = (archive ? '/api/om/archive' : '/api/om/forecast') + '?' + qs.toString();
const fmt = v => (v == null || !isFinite(v)) ? '—' : Math.round(v) + '°';
const esc = s => String(s).replace(/[&<>"]/g, c => ({'&':'&','<':'<','>':'>','"':'"'}[c]));
function fail(msg){
$('badge').textContent = 'Unavailable';
$('content').innerHTML = '<div class="state error">⚠️ Weather data could not be loaded.<br><span style="font-size:14px;color:var(--muted)">' + esc(msg) + '</span></div>';
}
fetch(url).then(r => { if(!r.ok) throw new Error('Server responded with ' + r.status); return r.json(); })
.then(j => {
if (j.error) throw new Error(j.reason || 'API error');
const dl = j.daily || {};
const i = (dl.time || []).indexOf(date);
if (i < 0) throw new Error('No data for ' + date);
const max = dl.temperature_2m_max[i], min = dl.temperature_2m_min[i], code = dl.weather_code[i];
const hr = j.hourly || {};
const hours = [];
(hr.time || []).forEach((t,k) => { if (t.slice(0,10) === date) hours.push({h:parseInt(t.slice(11,13),10), v:hr.temperature_2m[k]}); });
if (max == null && min == null && !hours.some(x => x.v != null)) throw new Error('No data for ' + date);
const [cond, icon] = WMO[code] || ['Unknown conditions','🌡️'];
$('content').innerHTML =
'<div class="main"><div class="icon">' + icon + '</div><div>' +
'<div class="cond">' + esc(cond) + '</div>' +
'<div class="temps"><div class="t max"><span class="lbl">High</span><span class="val">' + fmt(max) + 'C</span></div>' +
'<div class="t min"><span class="lbl">Low</span><span class="val">' + fmt(min) + 'C</span></div></div></div></div>' +
'<div class="panel"><h2>Hourly temperature (°C, UTC)</h2>' + chart(hours) + '</div>';
})
.catch(e => fail(e && e.message ? e.message : 'Network error'));
function chart(hours){
const pts = hours.filter(x => x.v != null && isFinite(x.v));
if (!pts.length) return '<div class="state" style="padding:30px">No hourly data available.</div>';
const W=856, H=230, L=34, R=14, T=26, B=30;
let lo = Math.min(...pts.map(x=>x.v)), hi = Math.max(...pts.map(x=>x.v));
lo = Math.floor(lo) - 1; hi = Math.ceil(hi) + 1;
const x = h => L + (W-L-R) * h / 23, y = v => T + (H-T-B) * (1 - (v-lo)/(hi-lo));
let s = '<svg viewBox="0 0 '+W+' '+H+'" width="100%" role="img" aria-label="Hourly temperatures">' +
'<defs><linearGradient id="ln" x1="0" x2="1"><stop offset="0" stop-color="#7cc4ff"/><stop offset=".55" stop-color="#ffb86b"/><stop offset="1" stop-color="#ff8a8a"/></linearGradient>' +
'<linearGradient id="ar" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#ffb86b" stop-opacity=".35"/><stop offset="1" stop-color="#7cc4ff" stop-opacity="0"/></linearGradient></defs>';
const step = Math.max(1, Math.ceil((hi-lo)/4));
for (let v = Math.ceil(lo); v <= hi; v += step){
s += '<line x1="'+L+'" x2="'+(W-R)+'" y1="'+y(v)+'" y2="'+y(v)+'" stroke="rgba(255,255,255,.08)"/>' +
'<text x="'+(L-8)+'" y="'+(y(v)+4)+'" text-anchor="end">'+v+'°</text>';
}
const line = pts.map((p,k)=>(k?'L':'M')+x(p.h).toFixed(1)+' '+y(p.v).toFixed(1)).join(' ');
s += '<path d="'+line+' L'+x(pts[pts.length-1].h)+' '+(H-B)+' L'+x(pts[0].h)+' '+(H-B)+' Z" fill="url(#ar)"/>';
s += '<path d="'+line+'" fill="none" stroke="url(#ln)" stroke-width="3" stroke-linejoin="round" stroke-linecap="round"/>';
pts.forEach(p => {
s += '<circle cx="'+x(p.h)+'" cy="'+y(p.v)+'" r="3" fill="#fff" opacity=".9"><title>'+String(p.h).padStart(2,'0')+':00 — '+p.v.toFixed(1)+' °C</title></circle>';
if (p.h % 3 === 0) s += '<text x="'+x(p.h)+'" y="'+(y(p.v)-10)+'" text-anchor="middle" style="fill:#f4f6fb;font-weight:600">'+Math.round(p.v)+'°</text>';
});
for (let h = 0; h < 24; h += 3) s += '<text x="'+x(h)+'" y="'+(H-8)+'" text-anchor="middle">'+String(h).padStart(2,'0')+':00</text>';
return s + '</svg>';
}
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 9,359 | html / css / js | 574 / 2,684 / 6,101 |
|---|---|---|---|
| dom 节点 | 18 | dom 深度 | 6 |
| css 规则 | 27 | 含 js | 是 |
| brightness | 64.7 | contrast | 18.9 |
| colorfulness | 35.6 | 留白 | 52.7% |
该 slot 的 telemetry
| prompt tokens | 2 | completion tokens | 4,693 |
|---|---|---|---|
| total tokens | 4,695 | wall | 36 s |
| cost | — | request id | — |
config.json571 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-opus-5-5-eff-low--cli--claude-code--dev",
"effort": "low",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-opus-5-5",
"protocol": "cli",
"served_model": "claude-opus-5-5",
"telemetry": {
"completion_tokens": 15513,
"cost_usd": null,
"prompt_tokens": 8,
"total_tokens": 15521,
"wall_ms": 118469
},
"transport": "claude-code-cli-headless",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-09-23--cc-opus55",
"config_id": "claude-opus-5-5-eff-low--cli--claude-code--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-09-23T02:16:27.296544+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-09-23T02:16:05.097252+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-09-23T02:17:07.109208+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-09-23T02:16:31.107753+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-09-23T02:17:45.474340+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-09-23T02:17:10.801827+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-09-23T02:18:15.011319+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-09-23T02:17:49.413169+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-min"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}