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

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
claude-opus-4-7 @low · kiro0.78claude-sonnet-4-6 @max · kiro0.77grok-4.5 @high · grok-cli0.77gpt-5.6-sol @low · codex-oauth0.75gpt-5.6-terra @low · kiro0.75最远
gpt-5.6-terra @medium · kiro0.42deepseek-v3.2 · kiro0.45claude-haiku-4-5 @high · CC0.45minimax-m2.5 · go0.47gpt-5.6-luna @medium · codex-oauth0.47限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempambiguousinsufficient-distinct-temperature-nodes
- min tempambiguousinsufficient-distinct-temperature-nodes
- hourlyambiguouscoverage · 0 命中 · 0 不符 · 24 未展示
- request sidematch0 处违规
extractor fidelity-extractor-v1+Berlin-2026-07-15
源码 —— 原始模型输出,一字节未改
下载 card.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Weather Card</title>
<style>
:root {
--bg1: #0f2027;
--bg2: #203a43;
--bg3: #2c5364;
--card-bg: rgba(255,255,255,0.08);
--text: #eef3f7;
--muted: #9fb3c1;
--accent: #6ec6ff;
}
* { box-sizing: border-box; }
html, body {
margin: 0;
padding: 0;
width: 1280px;
height: 800px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background: radial-gradient(circle at 20% 15%, #274b5e 0%, var(--bg1) 45%, #060d10 100%);
color: var(--text);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.card {
width: 980px;
height: 660px;
background: linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.02));
border: 1px solid rgba(255,255,255,0.12);
border-radius: 28px;
box-shadow: 0 30px 80px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.1);
backdrop-filter: blur(20px);
padding: 44px 52px;
display: flex;
flex-direction: column;
position: relative;
overflow: hidden;
}
.card::before {
content: "";
position: absolute;
top: -120px;
right: -120px;
width: 340px;
height: 340px;
background: radial-gradient(circle, rgba(110,198,255,0.35), transparent 70%);
pointer-events: none;
}
.header {
display: flex;
justify-content: space-between;
align-items: flex-start;
z-index: 1;
}
.location {
font-size: 34px;
font-weight: 700;
letter-spacing: -0.5px;
}
.date {
font-size: 16px;
color: var(--muted);
margin-top: 6px;
font-weight: 500;
}
.condition-badge {
text-align: right;
}
.condition-icon {
font-size: 52px;
line-height: 1;
}
.condition-text {
font-size: 15px;
color: var(--muted);
margin-top: 6px;
font-weight: 600;
}
.main-stats {
display: flex;
align-items: baseline;
gap: 28px;
margin-top: 34px;
z-index: 1;
}
.temp-range {
display: flex;
align-items: baseline;
gap: 18px;
}
.temp-max {
font-size: 96px;
font-weight: 800;
letter-spacing: -3px;
background: linear-gradient(180deg, #ffffff, #c8dce6);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.temp-min {
font-size: 40px;
font-weight: 500;
color: var(--muted);
}
.stat-pill {
display: flex;
flex-direction: column;
gap: 4px;
padding: 10px 18px;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 14px;
}
.stat-pill .label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 1px;
color: var(--muted);
}
.stat-pill .value {
font-size: 20px;
font-weight: 700;
}
.divider {
height: 1px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
margin: 32px 0 24px;
}
.hourly-title {
font-size: 14px;
text-transform: uppercase;
letter-spacing: 1.5px;
color: var(--muted);
font-weight: 700;
margin-bottom: 18px;
}
.hourly-chart {
flex: 1;
display: flex;
align-items: flex-end;
gap: 6px;
padding: 0 2px;
}
.hour-bar {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
height: 100%;
gap: 6px;
}
.hour-bar .temp-label {
font-size: 11px;
color: var(--text);
font-weight: 600;
opacity: 0.85;
}
.hour-bar .bar {
width: 100%;
max-width: 16px;
border-radius: 6px 6px 3px 3px;
background: linear-gradient(180deg, var(--accent), #2f6690);
box-shadow: 0 0 12px rgba(110,198,255,0.25);
}
.hour-bar .hour-label {
font-size: 10px;
color: var(--muted);
margin-top: 2px;
}
.status {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
font-size: 20px;
color: var(--muted);
text-align: center;
gap: 12px;
}
.spinner {
width: 22px;
height: 22px;
border-radius: 50%;
border: 3px solid rgba(255,255,255,0.15);
border-top-color: var(--accent);
animation: spin 0.9s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.error-box {
color: #ffb4b4;
font-weight: 600;
}
.hidden { display: none !important; }
</style>
</head>
<body>
<div class="card">
<div id="statusView" class="status">
<div class="spinner"></div>
<div>Loading weather data…</div>
</div>
<div id="contentView" class="hidden" style="display:flex; flex-direction:column; height:100%;">
<div class="header">
<div>
<div class="location" id="locationName"></div>
<div class="date" id="dateLabel"></div>
</div>
<div class="condition-badge">
<div class="condition-icon" id="conditionIcon"></div>
<div class="condition-text" id="conditionText"></div>
</div>
</div>
<div class="main-stats">
<div class="temp-range">
<div class="temp-max" id="tempMax"></div>
<div class="temp-min" id="tempMin"></div>
</div>
<div class="stat-pill">
<div class="label">High</div>
<div class="value" id="pillHigh"></div>
</div>
<div class="stat-pill">
<div class="label">Low</div>
<div class="value" id="pillLow"></div>
</div>
</div>
<div class="divider"></div>
<div class="hourly-title">Hourly Temperature</div>
<div class="hourly-chart" id="hourlyChart"></div>
</div>
</div>
<script>
(function() {
const WMO_CODES = {
0: ["Clear sky", "☀️"],
1: ["Mainly clear", "🌤️"],
2: ["Partly cloudy", "⛅"],
3: ["Overcast", "☁️"],
45: ["Fog", "🌫️"],
48: ["Depositing rime fog", "🌫️"],
51: ["Light drizzle", "🌦️"],
53: ["Moderate drizzle", "🌦️"],
55: ["Dense drizzle", "🌦️"],
56: ["Light freezing drizzle", "🌧️"],
57: ["Dense freezing drizzle", "🌧️"],
61: ["Slight rain", "🌧️"],
63: ["Moderate rain", "🌧️"],
65: ["Heavy rain", "🌧️"],
66: ["Light freezing rain", "🌧️"],
67: ["Heavy freezing rain", "🌧️"],
71: ["Slight snow fall", "🌨️"],
73: ["Moderate snow fall", "🌨️"],
75: ["Heavy snow fall", "❄️"],
77: ["Snow grains", "❄️"],
80: ["Slight rain showers", "🌦️"],
81: ["Moderate rain showers", "🌦️"],
82: ["Violent rain showers", "⛈️"],
85: ["Slight snow showers", "🌨️"],
86: ["Heavy snow showers", "🌨️"],
95: ["Thunderstorm", "⛈️"],
96: ["Thunderstorm with slight hail", "⛈️"],
99: ["Thunderstorm with heavy hail", "⛈️"],
};
function getParams() {
const p = new URLSearchParams(window.location.search);
const today = new Date().toISOString().slice(0, 10);
return {
lat: parseFloat(p.get("lat")) || 52.52,
lon: parseFloat(p.get("lon")) || 13.405,
name: p.get("name") || "Berlin",
date: p.get("date") || today,
};
}
function formatDateLabel(dateStr) {
const d = new Date(dateStr + "T00:00:00Z");
return d.toLocaleDateString("en-US", {
weekday: "long", year: "numeric", month: "long", day: "numeric", timeZone: "UTC"
});
}
function formatHour(hourStr) {
const h = parseInt(hourStr.split("T")[1].split(":")[0], 10);
if (h === 0) return "12a";
if (h === 12) return "12p";
return h < 12 ? h + "a" : (h - 12) + "p";
}
function showError(msg) {
const statusView = document.getElementById("statusView");
statusView.innerHTML = '<div class="error-box">⚠️ ' + msg + '</div>';
}
async function loadWeather() {
const { lat, lon, name, date } = getParams();
const todayUTC = new Date().toISOString().slice(0, 10);
const isPast = date < todayUTC;
const basePath = isPast ? "/api/om/archive" : "/api/om/forecast";
const url = new URL(basePath, window.location.origin);
url.searchParams.set("latitude", lat);
url.searchParams.set("longitude", lon);
url.searchParams.set("daily", "temperature_2m_max,temperature_2m_min,weather_code");
url.searchParams.set("hourly", "temperature_2m");
url.searchParams.set("timezone", "UTC");
url.searchParams.set("temperature_unit", "celsius");
url.searchParams.set("start_date", date);
url.searchParams.set("end_date", date);
let data;
try {
const res = await fetch(url.toString());
if (!res.ok) throw new Error("HTTP " + res.status);
data = await res.json();
} catch (e) {
showError("Could not load weather data. Please try again later.");
return;
}
try {
const daily = data.daily;
const hourly = data.hourly;
if (!daily || !daily.time || daily.time.length === 0) {
throw new Error("No daily data");
}
const tMax = daily.temperature_2m_max[0];
const tMin = daily.temperature_2m_min[0];
const code = daily.weather_code[0];
const [condText, condIcon] = WMO_CODES[code] || ["Unknown", "❓"];
document.getElementById("locationName").textContent = name;
document.getElementById("dateLabel").textContent = formatDateLabel(date);
document.getElementById("conditionIcon").textContent = condIcon;
document.getElementById("conditionText").textContent = condText;
document.getElementById("tempMax").textContent = Math.round(tMax) + "°";
document.getElementById("tempMin").textContent = Math.round(tMin) + "°";
document.getElementById("pillHigh").textContent = tMax.toFixed(1) + "°C";
document.getElementById("pillLow").textContent = tMin.toFixed(1) + "°C";
const hourlyChart = document.getElementById("hourlyChart");
hourlyChart.innerHTML = "";
if (hourly && hourly.time && hourly.temperature_2m) {
const temps = hourly.temperature_2m;
const times = hourly.time;
const validTemps = temps.filter(t => t !== null && t !== undefined);
const minT = Math.min(...validTemps);
const maxT = Math.max(...validTemps);
const range = Math.max(maxT - minT, 1);
times.forEach((t, i) => {
const temp = temps[i];
if (temp === null || temp === undefined) return;
const heightPct = 15 + ((temp - minT) / range) * 75;
const bar = document.createElement("div");
bar.className = "hour-bar";
bar.innerHTML =
'<div class="temp-label">' + Math.round(temp) + '°</div>' +
'<div class="bar" style="height:' + heightPct + '%"></div>' +
'<div class="hour-label">' + formatHour(t) + '</div>';
hourlyChart.appendChild(bar);
});
}
document.getElementById("statusView").classList.add("hidden");
document.getElementById("contentView").classList.remove("hidden");
} catch (e) {
showError("Weather data was returned in an unexpected format.");
}
}
loadWeather();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 11,221 | html / css / js | 1,399 / 4,377 / 5,445 |
|---|---|---|---|
| dom 节点 | 32 | dom 深度 | 7 |
| css 规则 | 31 | 含 js | 是 |
| brightness | 47.1 | contrast | 30.8 |
| colorfulness | 29.0 | 留白 | 59.6% |
该 slot 的 telemetry
| prompt tokens | 4 | completion tokens | 5,156 |
|---|---|---|---|
| total tokens | 5,160 | wall | 41.8 s |
| cost | — | request id | — |
config.json572 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-sonnet-5-eff-low--cli--claude-code--dev",
"effort": "low",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-sonnet-5",
"protocol": "cli",
"served_model": "claude-sonnet-5",
"telemetry": {
"completion_tokens": 18013,
"cost_usd": null,
"prompt_tokens": 16,
"total_tokens": 18029,
"wall_ms": 149592
},
"transport": "claude-code-cli-headless",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-07-17--dev-cc-sonnet5",
"config_id": "claude-sonnet-5-eff-low--cli--claude-code--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-17T13:50:47.844248+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:50:16.932107+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-07-17T13:51:32.680223+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:50:50.915182+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-07-17T13:52:19.075229+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:51:36.652921+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-07-17T13:52:57.046978+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-17T13:52:22.543915+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
}
}
}