Skip to content

Commit 3f2eeb6

Browse files
committed
Explain benchmark setups, figures and demos under full paper title
1 parent c23bfc4 commit 3f2eeb6

4 files changed

Lines changed: 30 additions & 17 deletions

File tree

‎README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ node website/check.mjs
1515
python3 -m http.server 4174 --bind 127.0.0.1
1616
```
1717

18+
The page opens with the full paper title. Each figure has a reading guide; benchmark setups describe the parallel fan-in and sequential chain. The booking guide distinguishes selected source positions from generated text messages.
19+
1820
The page shows the paper’s Figure 2 beside a short TL;DR, both benchmark plot
1921
groups, an open booking replay, and an always-visible citation. The booking replay
2022
comes before the TL;DR; the coding video follows the results. Copy icons briefly confirm success before fading back.

‎index.html‎

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
<meta name="twitter:image" content="https://agentcacheback.github.io/social-preview.jpg">
1818
<meta name="twitter:card" content="summary_large_image">
1919
<link rel="canonical" href="https://agentcacheback.github.io/">
20-
<title>CacheBack | Receiver-conditioned communication</title>
20+
<title>Receiver-Conditioned Latent Communication gives 94% CacheBack</title>
2121
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='6' fill='%231c211e'/%3E%3Cpath d='M7 7h7v7H7zm11 0h7v7h-7zM7 18h7v7H7z' fill='%230f766e'/%3E%3Cpath d='M18 18h7v7h-7z' fill='%23fff'/%3E%3C/svg%3E">
22-
<link rel="stylesheet" href="website/assets/styles.css?v=lean-4">
22+
<link rel="stylesheet" href="website/assets/styles.css?v=explained-1">
2323
<script type="module" src="website/assets/app.js"></script>
2424
</head>
2525
<body>
@@ -32,8 +32,7 @@
3232
<section class="hero wrap" aria-labelledby="hero-title">
3333
<div class="hero-copy">
3434
<p class="eyebrow">September 2026</p>
35-
<h1 id="hero-title">CacheBack</h1>
36-
<p class="hero-subtitle">Receiver-conditioned communication<br>between LLM agents.</p>
35+
<h1 id="hero-title">Receiver-Conditioned Latent Communication gives <span class="rclc-emphasis">94% CacheBack</span></h1>
3736
<div class="hero-authors">
3837
<ul aria-label="Authors"><li>Maximillian Rossi</li><li>Prajwal Raghunath</li><li>Haoqing Xuan</li><li>Yusen Zhang</li><li>Eugene Wu</li></ul>
3938
<p class="affiliations"><a href="https://daplab.cs.columbia.edu/"><img src="https://daplab.cs.columbia.edu/files/images/daplab_logo_horiz.png" width="1508" height="331" alt="DAP Lab"></a><span>Columbia University</span></p>
@@ -48,7 +47,7 @@ <h1 id="hero-title">CacheBack</h1>
4847
</nav>
4948
</div>
5049
<aside class="hero-results" aria-labelledby="hero-results-title">
51-
<h2 id="hero-results-title" class="eyebrow">FANOUTQA</h2>
50+
<h2 id="hero-results-title" class="eyebrow">FANOUTQA</h2><p class="visual-note">Three senders read different Wikipedia pages; one receiver combines their messages to answer a question. Each row compares same-size models: higher accuracy and lower time are better. pp = percentage points.</p>
5251
<figure id="result-summary" class="comparison-plot" aria-labelledby="hero-results-title">
5352
<div class="plot-legend"><span><i></i>Text · same-size senders</span><span class="rclc-emphasis"><i></i>CacheBack</span></div>
5453
<div class="paired-metrics chart-heading"><div><strong>Strict accuracy (%) ↑</strong></div><div><strong>Median time (s) ↓</strong></div></div>
@@ -63,43 +62,46 @@ <h2 id="hero-results-title" class="eyebrow">FANOUTQA</h2>
6362
</section>
6463
<section id="booking-demo" class="section wrap" aria-labelledby="booking-question">
6564
<div class="booking-heading"><div><p class="eyebrow">Interactive demo</p><h2 id="booking-question">Where should Maya collect her pass on Friday, and what ID should she bring?</h2></div><a class="text-link" href="demo/index.html" target="_blank" rel="noopener noreferrer">Open full window <span aria-hidden="true">↗</span></a></div>
65+
<p class="visual-note">Press <strong>Run</strong> to replay two Qwen3-8B chains. Agents 1-3 each read a different document and pass a message to the next agent; Agent 4 answers. <strong>Top:</strong> CacheBack highlights source positions whose state is selected for the next agent, guided by the question. Highlights change at each handoff as inherited and new positions are selected. <strong>Bottom:</strong> text messages appear as they are generated. The last column shows each chain’s answer. Timers show recorded elapsed time; streaming is reconstructed.</p>
6666
<div class="recorded-demo">
6767
<div class="demo-window"><iframe id="flagship-demo" src="demo/index.html?v=fit-7" title="Recorded CacheBack and text booking relay comparison, with playback controls" loading="lazy" sandbox="allow-scripts allow-same-origin" referrerpolicy="no-referrer"></iframe></div>
6868
</div>
6969
</section>
7070
<section id="abstract" class="abstract-section wrap" aria-labelledby="abstract-title">
71-
<figure class="overview-figure"><a href="https://arxiv.org/pdf/2609.32046" aria-label="Read Figure 2 in the paper"><img src="website/assets/figures/communication-overview.webp" width="1600" height="393" loading="lazy" alt="Figure 2: sending every agent's full cache exceeds the receiver's context limit. CacheBack sends selected positions and latent steps, leaving room for the receiver's prompt."></a><figcaption>Figure 2. Select what the receiver needs, instead of accumulating every sender’s context.</figcaption></figure>
72-
<div class="tldr"><h2 id="abstract-title">TL;DR</h2><p>Agents can share <strong>internal model state</strong> instead of writing reports. Sending all of it, however, overwhelms the receiver.</p><p><strong>The receiver asks for what it needs.</strong> CacheBack uses attention to that request to select which state gets sent. Simple, robust, and <strong>training-free.</strong></p></div>
71+
<figure class="overview-figure"><a href="https://arxiv.org/pdf/2609.32046" aria-label="Read Figure 2 in the paper"><img src="website/assets/figures/communication-overview.webp" width="1600" height="393" loading="lazy" alt="Figure 2: sending every agent's full cache exceeds the receiver's context limit. CacheBack sends selected positions and latent steps, leaving room for the receiver's prompt."></a><figcaption>Figure 2. Full KV caches (stored model state) accumulate source context at the receiver and can exceed its context limit. Receiver-conditioning selects source and latent positions, leaving room for the receiver’s prompt. Token IDs represent source positions; continuous vectors represent latent steps.</figcaption></figure>
72+
<div class="tldr"><h2 id="abstract-title">TL;DR</h2><p>Agents can share <strong>internal model state</strong> instead of generating text messages. Sending all of it, however, overwhelms the receiver.</p><p><strong>The receiver asks for what it needs.</strong> CacheBack uses attention to that request to select which state gets sent. Simple, robust, and <strong>training-free.</strong></p><p>The title’s 94% refers to removing 93.75% of sender positions at 16× compression.</p></div>
7373
</section>
7474
<section id="results" class="section wrap" aria-labelledby="results-title">
7575
<h2 id="results-title">Results</h2>
7676
<div class="paper-curves" id="paper-curves">
77-
<div class="curves-heading"><h3>FanOutQA</h3><p id="compression-guide">Three senders read separate sources; one receiver answers. <strong>Higher is more accurate; left is faster.</strong> CacheBack points vary message size; text points vary sender size. <strong>rX keeps 1/X of the sender’s positions: r4 keeps 25%.</strong></p></div>
77+
<div class="curves-heading"><h3>FanOutQA</h3><p id="compression-guide">Questions require combining evidence across Wikipedia pages. We split at least 120K tokens among three parallel senders; a receiver answers from their messages. Strict accuracy requires every reference-answer group. <strong>Higher is more accurate; left is faster.</strong> Each panel fixes the receiver model. Text labels give sender size; CacheBack uses same-size senders. <strong>rX retains 1/X of sender positions; r4 keeps 25%.</strong></p></div>
78+
<div class="topology-note fan-in"><div><span>Pages A → Sender 1 ↘</span><span>Pages B → Sender 2 →</span><span>Pages C → Sender 3 ↗</span></div><strong>Receiver → Answer</strong></div>
7879
<div class="curve-legend" aria-label="Curve legend"><span class="rclc-emphasis">● ━ CacheBack</span><span class="text-emphasis">▲ ┄ Text · labels show sender size</span><span>× Question only</span></div>
7980
<div class="curve-grid">
80-
<figure><img src="website/assets/figures/fanoutqa-qwen.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="FanOutQA, Qwen 3 8B: CacheBack r4 reaches 55.3% strict accuracy at 192 seconds, compared with 40.7% at 612 seconds for same-size text; weaker settings are also plotted."></figure>
81-
<figure><img src="website/assets/figures/fanoutqa-nemotron.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="FanOutQA, Nemotron Nano 2 12B: CacheBack r8 reaches 50% accuracy near 102 seconds versus 38.7% near 131 seconds for same-size text. A smaller text sender is faster at lower accuracy."></figure>
81+
<figure><img src="website/assets/figures/fanoutqa-qwen.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="FanOutQA, Qwen 3 8B: CacheBack r4 reaches 55.3% strict accuracy at 192 seconds, compared with 40.7% at 612 seconds for same-size text; weaker settings are also plotted."><figcaption>Qwen: r4 improves accuracy and completion time over 8B text; 1.7B text is slightly faster but less accurate.</figcaption></figure>
82+
<figure><img src="website/assets/figures/fanoutqa-nemotron.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="FanOutQA, Nemotron Nano 2 12B: CacheBack r8 reaches 50% accuracy near 102 seconds versus 38.7% near 131 seconds for same-size text. A smaller text sender is faster at lower accuracy."><figcaption>Nemotron: r8 improves on 12B text; 4B text is faster but less accurate.</figcaption></figure>
8283
</div>
83-
<div class="chain-results" id="chain-results"><div class="curves-heading"><h3>LongBench v2 Easy</h3><p>Four agents read a long document in sequence, passing state to a final answering agent. Relative budgets (rX) grow with context; fixed budgets (32K, 64K) cap message positions. Stronger compression can reduce accuracy.</p></div>
84+
<div class="chain-results" id="chain-results"><div class="curves-heading"><h3>LongBench v2 Easy</h3><p>Long-document questions test whether evidence survives repeated handoffs. We split each 100K-246K-token document into four equal parts. Each sender reads its part plus the previous message; a final receiver answers from the fourth message. Relative budgets (rX) grow with accumulated context; fixed budgets (32K, 64K) cap message positions. Axes and text-size labels follow FanOutQA.</p></div>
85+
<p class="topology-note">Part 1 → Agent 1 → Part 2 + Agent 2 → Part 3 + Agent 3 → Part 4 + Agent 4 <strong>→ Receiver → Answer</strong></p>
8486
<div class="curve-legend" aria-label="LongBench curve legend"><span class="rclc-emphasis">● ━ CacheBack · relative budget</span><span class="fixed-emphasis">■ ━ CacheBack · fixed budget</span><span class="text-emphasis">▲ ┄ Text · labels show sender size</span><span>× Question only</span></div>
8587
<div class="curve-grid">
86-
<figure><img src="website/assets/figures/longbench-qwen.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="LongBench v2 Easy, Qwen 3 8B: both relative and fixed CacheBack budgets include settings faster and more accurate than same-size text. Stronger compression eventually lowers accuracy."></figure>
87-
<figure><img src="website/assets/figures/longbench-nemotron.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="LongBench v2 Easy, Nemotron Nano 2 12B: CacheBack r8 reaches 48% accuracy near 133 seconds, while fixed-budget settings show a different tradeoff; smaller text senders can be faster."></figure>
88+
<figure><img src="website/assets/figures/longbench-qwen.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="LongBench v2 Easy, Qwen 3 8B: both relative and fixed CacheBack budgets include settings faster and more accurate than same-size text. Stronger compression eventually lowers accuracy."><figcaption>Qwen: relative r4 gives the highest plotted accuracy; stronger compression loses accuracy.</figcaption></figure>
89+
<figure><img src="website/assets/figures/longbench-nemotron.svg?v=sender-sizes" width="560" height="460" loading="lazy" alt="LongBench v2 Easy, Nemotron Nano 2 12B: CacheBack r8 reaches 48% accuracy near 133 seconds, while fixed-budget settings show a different tradeoff; smaller text senders can be faster."><figcaption>Nemotron: relative r8 beats 12B text on both axes; 4B text remains faster but less accurate.</figcaption></figure>
8890
</div>
8991
</div>
90-
<p class="curve-caption">50 concurrent tasks on 8 H100s; accuracy averaged over three receiver draws. Completion includes queueing. <a href="https://arxiv.org/pdf/2609.32046">Full setup and results in the paper.</a></p>
92+
<p class="curve-caption">Lines join the best accuracy-time tradeoffs within each channel; faded points are dominated settings. × means the receiver gets only the question. 50 concurrent tasks on 8 H100s; accuracy averaged over three receiver draws. Completion includes queueing. <a href="https://arxiv.org/pdf/2609.32046">Full setup and results in the paper.</a></p>
9193
</div>
9294
</section>
9395
<section id="demo" class="demo-section" aria-labelledby="demo-title">
9496
<div class="wrap">
9597
<div class="demo-heading"><h2 id="demo-title">Watch the demo</h2></div>
9698
<article class="recorded-demo coding-demo" id="coding-demo" aria-labelledby="coding-title">
97-
<div class="demo-description"><div><p class="demo-type">36 seconds · 4K · Recorded coding task</p><h3 id="coding-title">Fixing a Django bug with seven coding agents</h3><p>Qwen3-8B produces the patch <strong class="rclc-emphasis">4.41× faster</strong> with CacheBack than with written reports on this case. Both runs make the same one-line code change and pass all 88 tests.</p></div></div>
99+
<div class="demo-description"><div><p class="demo-type">36 seconds · 4K · Recorded coding task</p><h3 id="coding-title">Fixing a Django bug with seven coding agents</h3><p>Seven Qwen3-8B workers inspect the code and send information to a coordinator, which writes the Django fix. The video compares selected latent state with generated text messages. CacheBack produces the patch <strong class="rclc-emphasis">4.41× faster</strong> than with text communication on this case. Both runs make the same one-line code change and pass all 88 tests.</p></div></div>
98100
<div class="demo-player"><video id="coding-video" controls playsinline preload="auto" tabindex="0" width="3840" height="2160" poster="demo/coding/poster.jpg" aria-labelledby="coding-title" aria-describedby="coding-caption">
99101
<source src="demo/coding/rclc-cacheback-4k.mp4" type="video/mp4">
100102
<p><a href="demo/coding/rclc-cacheback-4k.mp4">Watch the demo as an MP4</a>.</p>
101103
</video><button class="play-demo" id="play-demo" type="button" hidden><span aria-hidden="true">▶</span> Watch the full demo</button></div>
102-
<div class="demo-caption" id="coding-caption"><p><strong>One recorded case:</strong> CacheBack 25.66 s; text 113.21 s. Startup and test grading excluded. Silent video; playback speed varies. <a href="demo/coding/rclc-cacheback-4k.mp4">Open in full window</a></p>
104+
<div class="demo-caption" id="coding-caption"><p><strong>One recorded case:</strong> CacheBack 25.66 s; text 113.21 s. Separate recorded runs are aligned at their start. Startup and test grading excluded. Silent video; playback speed varies. <a href="demo/coding/rclc-cacheback-4k.mp4">Open in full window</a></p>
103105
</div>
104106
</article>
105107
</div>

‎website/assets/styles.css‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,3 +241,10 @@ html { scroll-behavior:auto; }
241241
.booking-heading > a { flex-shrink:0; }
242242
#booking-demo .demo-window { border-top:0; }
243243
@media(max-width:800px) { .booking-heading { align-items:flex-start; flex-direction:column; gap:14px; } }
244+
245+
#hero-title { font-size:clamp(34px,3.6vw,50px); line-height:1.12; letter-spacing:-1.5px; margin-bottom:28px; }
246+
.visual-note { color:var(--muted); font-size:14px; line-height:1.65; margin-bottom:24px; }
247+
.topology-note { color:var(--rclc); font-size:13px; padding:14px 0; margin:14px 0; border-block:1px solid var(--line); }
248+
.curve-grid figcaption { color:var(--muted); font-size:13px; margin-top:10px; }
249+
250+
.fan-in { display:flex; align-items:center; gap:20px; }.fan-in span { display:block; }

‎website/check.mjs‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ const data = JSON.parse(read('results.json'));
1515
const ids = [...html.matchAll(/\bid="([^"]+)"/g)].map((match) => match[1]);
1616
assert.equal(new Set(ids).size, ids.length, 'Duplicate HTML IDs');
1717
assert.equal((html.match(/<h1\b/g) || []).length, 1, 'One page heading');
18+
assert.match(html, /<h1 id="hero-title">Receiver-Conditioned Latent Communication gives/);
19+
assert.equal((html.match(/<figcaption>/g) || []).length, 5, 'Explain each paper figure');
1820
assert.match(html, /<html lang="en">/);
1921
assert.match(html, /name="viewport"/);
20-
assert.match(html, /<title>CacheBack \|/);
22+
assert.match(html, /<title>Receiver-Conditioned Latent Communication gives 94% CacheBack<\/title>/);
2123
const sectionOrder = ['result-summary', 'booking-demo', 'abstract', 'results', 'demo', 'code', 'paper'];
2224
sectionOrder.slice(1).forEach((id, i) => {
2325
assert.ok(html.indexOf(`id="${sectionOrder[i]}"`) < html.indexOf(`id="${id}"`), `Section order: ${id}`);

0 commit comments

Comments
 (0)