From 70995fcc55340b5553dd7917fa798842fee058ed Mon Sep 17 00:00:00 2001 From: Max Rossi <113717219+maxr0ssi@users.noreply.github.com> Date: Thu, 1 Oct 2026 13:09:41 -0400 Subject: [PATCH 1/3] Simplify the CacheBack project page --- README.md | 7 +- demo/index.html | 2 +- index.html | 96 +++++------------- website/assets/app.js | 1 - .../figures/communication-overview.webp | Bin 0 -> 12200 bytes website/assets/styles.css | 88 +++------------- website/check.mjs | 4 +- 7 files changed, 48 insertions(+), 150 deletions(-) create mode 100644 website/assets/figures/communication-overview.webp diff --git a/README.md b/README.md index aa0c3ca..e74a755 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Website: -Paper and library: +Paper and library: GitHub Pages serves the root of `main`. This is a static website with no build step or backend. `.nojekyll` disables Jekyll processing. @@ -15,10 +15,13 @@ node website/check.mjs python3 -m http.server 4174 --bind 127.0.0.1 ``` +The page shows the paper’s Figure 2 beside a short TL;DR, both benchmark plot +groups, recorded demos, and an always-visible citation. + The homepage is `index.html`; its styles, scripts and paper figures are in `website/assets/`. The main coding video is in `demo/coding/`. The booking replay reads `demo/trace-w4.json`. Preserve the original video and recorded measurements; the checks verify displayed results against those recordings. -Code links point to RCLC. The canonical URL and social preview use the +Code links point to CacheBack. The canonical URL and social preview use the organization website address. diff --git a/demo/index.html b/demo/index.html index 290bc82..69b46c9 100644 --- a/demo/index.html +++ b/demo/index.html @@ -93,7 +93,7 @@

Where should Maya collect her pass on Friday, and what ID shou

@@ -39,7 +39,7 @@

CacheBack

Our simplest implementation of receiver-conditioning: robust and training-free.

- -
-
-

Written messages between agents can lose evidence; passing their entire internal state becomes expensive. Receiver-conditioning lets the receiver describe what it needs, so the sender can select what to pass on. CacheBack is our simplest, robust, training-free implementation.

-

On FanOutQA with Qwen 3 8B, CacheBack sends 75% fewer positions than full-state transfer. Compared with same-size text communication, strict accuracy improves by 14.7 percentage points and median completion is 3.2× faster.

-
-
Read the full abstract -
-

Multi-agent systems distribute large contexts across agents that communicate to solve a task. Text messages are compact but require decoding and may omit evidence the receiving agent needs. Recent latent communication instead transfers KV caches. This avoids text generation and can improve accuracy and latency. However, a full KV cache grows linearly with both the context an individual agent processes, and the number of agents that coordinate together.

-

This raises memory and context costs, often far exceeding available GPU resources and context window sizes. Our key observation is that agents need only send what the receiving agent requires for its local task -- which we call receiver-conditioned communication. The receiver agent passes the sender a small description of its information needs, which serves to filter and compress the sender agent's KV cache.

-

CacheBack is a simple, robust, training-free instance of receiver conditioning based on the sender's attention weights. On FanOutQA, CacheBack with Qwen 3 removes 75% of the state the agent would otherwise receive, improving accuracy by 14.7 percentage points and reducing median task-completion latency by 3.2× relative to text communication. We show comparable improvements across model families that span dense Transformers, Mamba-attention hybrids, and sliding-window attention.

-

A KV cache stores intermediate state from the text a model has processed. Abstract from the published paper, by Rossi et al. CC BY 4.0; emphasis added.

-
-
-
-
-
-
-

How it works

-

The receiver describes what it needs for its next task. CacheBack uses that request to select part of the sender’s internal numerical state, or latent state, to send back.

-
-
-
-

Sender

Select state using
the request

- -

Receiver

Has the next task

-
-
-

CacheBack

-

Our simplest implementation.
Robust and training-free.

-

Uses attention to the receiver’s request to score sender positions, then selects a subset within the message budget.

-
-
-
What crosses the handoff?

CacheBack selects positions using the sender’s attention to the receiver’s request. In the paper’s selected-embedding channel, the corresponding input vectors are sent and the receiver rebuilds its KV cache. A position is not an isolated fact, and an attention score is not a guarantee of relevance. The experiments use matching models; cross-model translation is outside this work. Read the method and limitations.

+
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.
Figure 2. Select what the receiver needs, instead of accumulating every sender’s context.
+

TL;DR

Agents can share internal model state instead of writing reports. Sending all of it, however, overwhelms the receiver.

The receiver asks for what it needs. CacheBack uses attention to that request to select which state gets sent. Simple, robust, and training-free.

-

Results

On FanOutQA, three agents read separate sources and send state to one answering agent. These curves compare accuracy and completion time across message budgets and text-sender sizes.

+

Results

-

Accuracy and completion time

Higher is more accurate. Further left is faster. Each point is a measured setting; lines join the best observed tradeoffs within each method. Text points vary sender size; CacheBack points vary compression or message budget. The receiver stays fixed.

Reading r4, r8, r16: rX means keeping about 1/X of the sender’s sequence positions. For example, r4 keeps 25%, r8 keeps 12.5%, and r16 keeps 6.25%. Larger numbers mean more compression and a smaller message.

+

FanOutQA

Three senders read separate sources; one receiver answers. Higher is more accurate; left is faster. CacheBack points vary message size; text points vary sender size. rX keeps 1/X of the sender’s positions: r4 keeps 25%.

● ━ CacheBack▲ ┄ Text communication× Question only
-
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.
Qwen 3: r4 improves strict accuracy from 40.7% to 55.3% and median completion from 612 to 192 seconds.
-
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.
Nemotron: the benefit also appears in a model combining Mamba and attention. A smaller text sender is faster, but less accurate.
+
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.
+
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.
-
Repeated handoffs: LongBench v2

On LongBench v2 Easy, four agents read successive sections of a long document. A final receiver answers from the last handoff. Evidence from the beginning must survive the chain.

A relative budget uses the rX fraction above, so message size grows with the sender’s context. A fixed budget caps the number of message positions, as in the labels “32K fixed” and “64K fixed”.

+

LongBench v2 Easy

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.

● ━ CacheBack · relative budget■ ━ CacheBack · fixed budget▲ ┄ Text× Question only
-
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.
Qwen 3: both message-budget schemes improve the measured tradeoff. More aggressive compression eventually reduces accuracy.
-
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.
Nemotron: a fixed budget caps message positions; a relative budget grows with the material read. Neither denotes total GPU memory.
+
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.
+
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.
-
-

Redrawn from the paper’s plotting data for Qwen and Nemotron. Each benchmark uses 50 tasks submitted together on eight H100s; completion includes queueing. Accuracy averages three receiver draws. Qwen uses a 0 to 1,000 s time axis, Nemotron 0 to 400 s; each model keeps its scale across benchmarks. Figures 5, 11, and 12 in the paper.

-

About “94% CacheBack”: r16 retains one sender position in sixteen, removing 93.75%. The selected Qwen result above uses r4, or 75% fewer positions. Position reduction is not total GPU memory saved.

+
+

50 concurrent tasks on 8 H100s; accuracy averaged over three receiver draws. Completion includes queueing. Full setup and results in the paper.

-

Watch the demo

Seven workers help a coordinator fix a Django bug. Compare latent handoffs with written reports.

+

Watch the demo

36 seconds · 4K · Recorded coding task

Fixing a Django bug with seven coding agents

Qwen3-8B produces the patch 4.41× faster with CacheBack than with written reports on this case. Both runs make the same one-line code change and pass all 88 tests.

-

Qwen3-8B · one A100 · r4 · one warm run per method. Times include three handoffs and final answer generation, excluding model loading, tokenization, and warmup. This recording is an example, not a benchmark. Raw recording · Setup

+

Qwen3-8B · one A100 · r4 · one warm run per method. Times include three handoffs and final answer generation, excluding model loading, tokenization, and warmup. This recording is an example, not a benchmark. Raw recording · Setup

Replay the booking handoffs
-
-

Quickstart

Bind a sender and receiver to matching models, then pass the receiver’s request to rcc.transfer. CacheBack is the default selector. Continue generation with your model’s native API.

Code and documentation

Local Qwen 3 weights, using Hugging Face or vLLM.
Hosted chat APIs do not expose the required state.

Python
import rcc
+    

Use CacheBack

Install rclc, bind your agents, and pass the receiver’s request.

Code and documentation

Local Qwen 3 weights, using Hugging Face or vLLM.
Hosted chat APIs do not expose the required state.

Python
import rclc
 
-sender = rcc.bind(
+sender = rclc.bind(
     model, tokenizer,
     messages=sender_history, backend="hf",
 )
-receiver = rcc.bind(
+receiver = rclc.bind(
     model, tokenizer,
     messages=receiver_history, backend="hf",
 )
-await rcc.transfer(
+await rclc.transfer(
     sender, receiver,
     "Who owns the Cedar booking?",
 )
-inputs = receiver.pop()

Model, tokenizer, and histories loaded; run in an async function or notebook. Runnable quickstart

-

THE PAPER

Receiver-Conditioned Latent Communication gives 94% CacheBack

Maximillian Rossi, Prajwal Raghunath, Haoqing Xuan, Yusen Zhang, and Eugene Wu.

Cite this work BibTeX
@misc{rossi2026cacheback,
+inputs = receiver.pop()

Model, tokenizer, and histories loaded; run in an async function or notebook. Runnable quickstart

+

THE PAPER

Receiver-Conditioned Latent Communication gives 94% CacheBack

Maximillian Rossi, Prajwal Raghunath, Haoqing Xuan, Yusen Zhang, and Eugene Wu.

Cite this work

@misc{rossi2026cacheback,
   title = {Receiver-Conditioned Latent Communication
            gives 94\% CacheBack},
   author = {Rossi, Maximillian and Raghunath, Prajwal
@@ -194,9 +150,9 @@ 

CacheBack

archivePrefix = {arXiv}, primaryClass = {cs.AI}, url = {https://arxiv.org/abs/2609.32046} -}
+}
- +
diff --git a/website/assets/app.js b/website/assets/app.js index c171406..30212b2 100644 --- a/website/assets/app.js +++ b/website/assets/app.js @@ -1,6 +1,5 @@ if (typeof document !== 'undefined') { const byId = (id) => document.getElementById(id); - byId('cite-link').addEventListener('click', () => { byId('citation').open = true; }); const video = byId('coding-video'); const play = byId('play-demo'); play.hidden = false; diff --git a/website/assets/figures/communication-overview.webp b/website/assets/figures/communication-overview.webp new file mode 100644 index 0000000000000000000000000000000000000000..b4d5c548b287e93c6e1b3a1b29424a327840e92a GIT binary patch literal 12200 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 { color:var(--rclc); font-weight:600; } -.full-abstract[open]>summary { margin-bottom:24px; } -.abstract-text p { margin-bottom:18px; line-height:1.8; } -.abstract-text strong { font-weight:700; } -.abstract-text .rclc-emphasis { color:var(--rclc); text-decoration:underline; text-decoration-color:#79c9c1; text-decoration-thickness:3px; text-underline-offset:4px; } -.abstract-text .result-highlight { background:var(--rclc); color:#fff; padding:.08em .3em; -webkit-box-decoration-break:clone; box-decoration-break:clone; } -.abstract-text .abstract-note { color:var(--muted); font-size:12px; margin-bottom:0; line-height:1.65; } .paper-curves { margin-top:30px; } .curves-heading { max-width:810px; } .curves-heading h3 { font-size:27px; margin-bottom:12px; } .curves-heading p { color:var(--muted); font-size:15px; } -.curves-heading p+p { margin-top:16px; } .curve-legend { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:13px; margin-block:23px 5px; } .curve-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px; } .curve-grid figure { min-width:0; } .curve-grid img { width:100%; height:auto; display:block; } -.curve-grid figcaption { border-top:1px solid var(--line); padding-top:15px; color:var(--muted); font-size:13px; } -.curve-grid figcaption strong { color:var(--ink); } .chain-results { margin-top:32px; border-block:1px solid var(--line); padding:20px 0; } -.chain-results>summary { font-size:20px; } -.chain-results[open]>summary { margin-bottom:22px; } -.curve-caption,.compression-note { color:var(--muted); font-size:12px; margin-top:26px; } -.compression-note { border-left:2px solid #9acac5; padding-left:16px; max-width:900px; } +.curve-caption { color:var(--muted); font-size:12px; margin-top:26px; } .section { padding-block:64px; border-top:1px solid var(--line); } -.section-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:90px; align-items:start; } h2 { font-size:36px; line-height:1.2; letter-spacing:-1.1px; } -.section-heading>p:last-child { color:var(--muted); max-width:450px; margin-bottom:3px; } h3 { font-size:20px; letter-spacing:-.5px; } -.method-heading { align-items:start; } -.method-heading>p:last-child { padding-top:4px; } -.method-heading strong { color:var(--ink); } -.handoff { margin-top:28px; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; } -.handoff-flow { display:grid; grid-template-columns:1fr 1.6fr 1fr; align-items:center; gap:40px; padding:34px 48px; } -.handoff-party { text-align:center; } -.handoff-party h3 { font-size:32px; letter-spacing:-1px; } -.handoff-party p { margin-top:4px; font-size:14px; color:var(--muted); } -.handoff-receiver h3 { color:var(--rclc); } -.handoff-messages { display:grid; gap:27px; font-size:15px; font-weight:600; text-align:center; } -.handoff-messages span { font-size:11px; font-weight:450; margin-right:7px; } -.handoff-messages i { display:block; position:relative; height:2px; margin-top:10px; background:currentColor; } -.handoff-messages i::after { content:""; position:absolute; width:9px; height:9px; top:-3.5px; border-top:2px solid; border-right:2px solid; } -.handoff-request i::after { left:0; transform:rotate(-135deg); } -.handoff-state { color:var(--rclc); } -.handoff-state i::after { right:0; transform:rotate(45deg); } -.selector-note { display:grid; grid-template-columns:.75fr 1.15fr 1.6fr; gap:32px; align-items:center; padding:27px 36px; background:var(--rclc); color:#fff; } -.selector-note h3 { font-size:28px; letter-spacing:-.8px; } -.selector-note strong { font-size:16px; } -.selector-note p:last-child { font-size:14px; color:#e1f3f1; } .technical { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:32px; padding:15px 0; font-size:14px; } summary { font-weight:500; } .technical p { color:var(--muted); max-width:960px; margin-top:17px; } @@ -188,13 +152,6 @@ summary { font-weight:500; } .demo-window { border-top:1px solid var(--line); background:#fff; } iframe { display:block; width:100%; height:815px; border:0; background:#fff; } .demo-caption { color:var(--muted); font-size:12px; padding:17px 30px; border-top:1px solid var(--line); } -.upcoming-demos:not([hidden]) { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:28px; } -.demo-slot { border:1px solid var(--line); border-radius:14px; overflow:hidden; } -.demo-slot-surface { aspect-ratio:16/9; min-height:250px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:28px; background:#f2f4f0; } -.demo-slot-surface>.mono { margin-bottom:auto; color:#758172; } -.demo-slot-surface h3 { font-size:22px; letter-spacing:-.4px; color:#556151; } -.demo-slot-surface p { color:var(--muted); font-size:14px; margin-top:7px; } -.results-note { color:var(--muted); font-size:12px; margin-top:21px; } .code-section { background:var(--soft); border-block:1px solid var(--line); padding:75px 0; } .code-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; } .code-layout h2 { margin:0 0 20px; } @@ -208,21 +165,16 @@ iframe { display:block; width:100%; height:815px; border:0; background:#fff; } .code-card .copy-button { border:0; border-radius:7px; background:#2d4c4b; color:#e8f3f2; padding:6px 11px; } .code-card .copy-button:hover { background:#e8f3f2; color:#162c2c; } .code-card pre { padding:22px 24px 18px; line-height:1.65; } -.code-keyword { color:#bacafa; } -.code-function { color:#8bd9d1; } -.code-string { color:#e6ce99; } .code-focus { display:block; background:#214442; border-left:2px solid #8bd9d1; margin:15px -24px 0; padding:12px 22px; } pre { margin:0; padding:23px; overflow:auto; font:13px/1.85 'SFMono-Regular',Consolas,monospace; tab-size:2; } .snippet-note { font-size:12px; line-height:1.65; color:#adc7c4; padding:0 24px 21px; } .snippet-note a { display:block; margin-top:8px; color:#e8f3f2; } .paper-section { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:start; } .paper-section h2 { font-size:33px; margin:19px 0; letter-spacing:-1px; } -.paper-section p:not(.eyebrow) { font-size:13px; color:var(--muted); } .citation { border-block:1px solid var(--line); padding:18px 0; margin-top:38px; min-width:0; } -.citation summary { font-size:14px; } -.citation summary>span { float:right; color:var(--muted); font-size:12px; } +.citation h3 { font-size:18px; } .citation pre { padding:18px 0 0; font-size:12px; } -.citation button { margin-top:16px; } +.citation button { margin-top:12px; } .site-footer { padding:27px 0; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; } .site-footer .brand { color:var(--ink); font-size:17px; } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } @@ -245,7 +197,6 @@ body { zoom:.85; } .hero-results { width:100%; max-width:600px; } .abstract-section { grid-template-columns:1fr; gap:28px; padding-block:45px; } -.abstract-label h2 { margin-bottom:13px; } .curve-grid { grid-template-columns:1fr; gap:30px; } .site-header { min-height:80px; } .site-header nav { gap:19px; } @@ -254,17 +205,11 @@ body { zoom:.85; } h1 { font-size:72px; } .section { padding-block:60px; } .section-heading,.demo-heading { grid-template-columns:1fr; gap:19px; } -.section-heading>p:last-child { max-width:none; } -.handoff-flow { gap:24px; padding:35px 24px; } -.selector-note { grid-template-columns:1fr 2fr; gap:10px 24px; padding:25px; } -.selector-note h3 { grid-row:span 2; align-self:start; } -.selector-note p:last-child { grid-column:2; } .code-layout,.paper-section { grid-template-columns:1fr; gap:30px; } .code-layout>div>p:not(.eyebrow) { max-width:none; } .citation { margin-top:0; } iframe { height:890px; } .site-footer>span { display:none; } -.upcoming-demos:not([hidden]) { grid-template-columns:1fr; } } @media(max-width:520px) { .hero-authors ul { font-size:17px; gap:4px 17px; } @@ -284,21 +229,12 @@ h1 { font-size:56px; letter-spacing:-2px; } .resource-links { gap:8px; } .resource-links a { padding-inline:12px; } h2 { font-size:32px; } -.handoff-flow { grid-template-columns:1fr 1.5fr 1fr; gap:12px; padding:30px 16px; } -.handoff-party h3 { font-size:20px; letter-spacing:-.4px; } -.handoff-party p { font-size:12px; line-height:1.5; } -.handoff-messages { font-size:12px; gap:24px; } -.handoff-messages span { display:none; } -.selector-note { grid-template-columns:1fr; padding:24px; gap:10px; } -.selector-note h3 { grid-row:auto; } -.selector-note p:last-child { grid-column:auto; } .demo-section { padding-top:51px; } .demo-outcomes { grid-template-columns:1fr; gap:26px; padding:0 20px 24px; } .demo-replay>summary { padding:24px 20px; gap:12px; font-size:21px; } .demo-replay-link { padding-inline:20px; } .demo-caption { padding:17px 20px; } .demo-description { flex-direction:column; gap:18px; padding:22px 20px; } -.demo-slot-surface { min-height:220px; padding:24px; } .code-section { padding-block:50px; } .paper-section h2 { font-size:32px; } .site-footer { flex-wrap:wrap; font-size:12px; } @@ -308,3 +244,7 @@ h2 { font-size:32px; } html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } } + +.code-keyword { color:#bacafa; } +.code-function { color:#8bd9d1; } +.code-string { color:#e6ce99; } diff --git a/website/check.mjs b/website/check.mjs index 9eec915..e3a13e5 100644 --- a/website/check.mjs +++ b/website/check.mjs @@ -18,11 +18,11 @@ assert.equal((html.match(//); assert.match(html, /name="viewport"/); assert.match(html, /CacheBack \|/); -const sectionOrder = ['result-summary', 'abstract', 'idea', 'results', 'demo', 'code', 'paper']; +const sectionOrder = ['result-summary', 'abstract', 'results', 'demo', 'code', 'paper']; sectionOrder.slice(1).forEach((id, i) => { assert.ok(html.indexOf(`id="${sectionOrder[i]}"`) < html.indexOf(`id="${id}"`), `Section order: ${id}`); }); -assert.equal((html.match(/<img src="website\/assets\/figures\//g) || []).length, 4); +assert.equal((html.match(/<img src="website\/assets\/figures\//g) || []).length, 5); for (const [, url] of html.matchAll(/(?:href|src|poster)="([^"]+)"/g)) { if (/^(https:|data:)/.test(url)) continue; From 22908d38095b36d325c89d4838f261f27319a96e Mon Sep 17 00:00:00 2001 From: Max Rossi <113717219+maxr0ssi@users.noreply.github.com> Date: Thu, 1 Oct 2026 13:14:41 -0400 Subject: [PATCH 2/3] Lead with coding demo and simplify replay and copy controls --- README.md | 3 +- index.html | 67 ++++++++++++++------------------------- website/assets/app.js | 8 +++-- website/assets/styles.css | 28 ++++------------ website/check.mjs | 21 ++++-------- 5 files changed, 45 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index e74a755..bd1eb64 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ python3 -m http.server 4174 --bind 127.0.0.1 ``` The page shows the paper’s Figure 2 beside a short TL;DR, both benchmark plot -groups, recorded demos, and an always-visible citation. +groups, an open booking replay, and an always-visible citation. The coding video +comes before the TL;DR. Copy icons briefly confirm success before fading back. The homepage is `index.html`; its styles, scripts and paper figures are in `website/assets/`. The main coding video is in `demo/coding/`. The booking diff --git a/index.html b/index.html index 52a2e49..6428533 100644 --- a/index.html +++ b/index.html @@ -15,7 +15,7 @@ <link rel="canonical" href="https://agentcacheback.github.io/"> <title>CacheBack | Receiver-conditioned communication - + @@ -35,8 +35,6 @@

CacheBack

DAP LabColumbia University

The receiver asks for what it needs.

-

CacheBack uses that request to select which internal state gets sent.

-

Our simplest implementation of receiver-conditioning: robust and training-free.