{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/huggingface-co/2026-10-20-altk-evolve-how-learned-memory-tops-the-t2-bench/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "*ALTK-Evolve learns and applies a playbook using GPT-4.1, outperforming the retail entries on τ²-bench, a customer service agent benchmark—without updating model weights.*\n\n## Learned memory takes a basic ReAct agent with GPT-4.1 to the top\n\nUsing GPT-4.1, an older, non-reasoning model, a basic customer-service agent reaches **67.5% Pass^4 on τ²-bench retail** — meaning it solves the task on *all four* independent attempts for 67.5% of tasks. It scores above every retail entry in our October 12, 2026 leaderboard snapshot. It runs on the benchmark's stock ReAct scaffold, with learned guidelines appended to its system prompt.\n\n**[ALTK-Evolve](https://github.com/AgentToolkit/altk-evolve) builds that playbook using GPT-4.1.** It analyzes the agent's training-task attempts and uses the model to distill successes and failures into short behavioral rules: how to authenticate a customer, confirm a transaction, or handle a return. Those guidelines are then added to the agent's prompt for subsequent conversations. The same model powers both guideline extraction and the agent; no weight updates or human annotation are needed.\n\nOur [previous work](https://huggingface.co/blog/ibm-research/altk-evolve-sldd) demonstrated this approach on coding agents. Here, we test it on customer service, where success requires following domain policies, understanding a customer's request, and executing the right tool actions.\n\n## τ²-bench tests policy-bound customer service\n\n[τ²-bench](https://github.com/sierra-research/tau2-bench) (from Sierra) measures how well an agent handles **customer-service conversations** under real constraints. Each task pairs the agent with an LLM-simulated **customer** who has a goal in mind, a set of **domain tools** (look up an order, issue a refund, rebook a flight), and a written **policy document** the agent must follow. The agent has to draw out the right details, stay within policy, and take the correct — often irreversible — actions; a task counts as solved only when the final database state matches the expected outcome, a strict binary reward. We use its two customer-service domains, **retail** and **airline**.\n\nWe run τ²-bench's own implementation of a basic ReAct agent with a two-phase **THINK → ACT** loop, using `gpt-4.1` as the agent model and `gpt-5.5` as the customer-simulator model; **4 trials** per task. **The only change we make** is a block of learned guidelines appended to the system prompt — everything else (policy, tools, scaffold) is stock τ²-bench. Concretely, the learned guidelines are tacked on after the domain policy as a plain markdown list:\n\n```text\nYou are a customer service agent that helps users according to the policy below.\nAlways follow the policy strictly. Use the provided tools when needed.\n\n<policy>\n# Retail agent policy\n\nAs a retail agent, you can help users:\n- cancel or modify pending orders\n- return or exchange delivered orders\n- modify their default user address\n…\n</policy>\n\n## Guidelines learned from past task attempts (follow these carefully):\n- Authenticate the user before taking any order-related action. If email is unavailable, verify identity via full name and zip code using the find_user_id_by_name_zip API.\n- Always confirm all intended changes (modify, cancel, return, exchange) with a clear, structured summary, and require explicit user approval before executing any database-updating action.\n- When processing a return or exchange, communicate the refund with an itemized breakdown and clarify refund timing — don't wait for the user to ask.\n- Take one action per step: never combine a tool call with a user-facing message in the same turn, and wait for the tool's result before replying.\n- Before looking a user up, parse and clean their name — e.g. split a combined handle like `daiki_johnson_9523` into first/last name — and after a couple of failed lookups, state the exact format you need.\n…\n```\n\nWe extract guidelines from the agent's trajectories on τ²-bench **train** tasks using **`gpt-4.1`**, the same model that powers the agent, then apply them unchanged on the held-out **test** set.\n\n## Guidelines improve capability and reliability\n\nIn a [prior post](https://huggingface.co/blog/ibm-research/altk-evolve-hmm), we talked about how different models / tasks require different dosage of guidance. Inline with the idea, we also evaluate different amounts of guidelines provided to the model.\n\nEach guideline carries a **support** count — the number of distinct training tasks it was extracted from, so higher support means a rule that generalized across more tasks rather than a one-off. We compare three configurations: **baseline** (no guidelines), **sup3** (keep only guidelines with support ≥ 3 — a small, high-confidence core), and **lossless** (keep every guideline retained after consolidation, i.e. support ≥ 1).\n\n**Table 1. Guideline configurations and retained guideline counts by domain.**\n\n| Variant      | Guidelines included in context      | Retail | Airline |\n| ------------ | ----------------------------------- | ------ | ------- |\n| **baseline** | no guidelines                       | 0      | 0       |\n| **sup3**     | support `n ≥ 3` (high-support core) | 31     | 14      |\n| **lossless** | all guidelines                      | 292    | 101     |\n\n**The metrics we track.** Every task is attempted **4 times**, and we read those trials two ways:\n\n- **Mean Accuracy** — the average success rate across the 4 trials. This is the **capability** axis: *how often does the agent get this right?*\n- **Pass^4** — the percentage of tasks that passed across all 4 trials. This measures along the **reliability** axis and the metric the τ²-bench leaderboard reports. It matters here because a support agent that resolves a refund 3 times out of 4 still fails a quarter of real customers — Pass^4 asks whether you can trust the agent *every* time, not just on average.\n\n[![Mean Accuracy and Pass^4 on the held-out test tasks, by variant, for Retail and Airline. Lossless lifts retail accuracy +4.4 pp and Pass^4 +10.0 pp; airline accuracy rises +7.5 pp with lossless while sup3 gives the best Pass^4 at +10.0 pp.](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/HtL2uTn98-xHkcTxKqkFY.png)](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/HtL2uTn98-xHkcTxKqkFY.png)\n\n*Figure 1. Mean Accuracy and Pass^4 on held-out retail and airline tasks for agents using `gpt-4.1` across four trials per task.*\n\n*Agent model: `gpt-4.1` (user simulator: `gpt-5.5`).*\n\n**Table 2. Held-out agent performance using `gpt-4.1` across four trials per task. Parentheses show percentage-point changes from baseline.**\n\n| Domain (test tasks) | Config       | Mean Accuracy    | Pass^4            |\n| ------------------- | ------------ | ---------------- | ----------------- |\n| **Retail** (40)     | baseline     | 78.1%            | 57.5%             |\n|                     | sup3         | 78.8% (+0.7)     | 60.0% (+2.5)      |\n|                     | **lossless** | **82.5% (+4.4)** | **67.5% (+10.0)** |\n| **Airline** (20)    | baseline     | 57.5%            | 35.0%             |\n|                     | sup3         | 60.0% (+2.5)     | **45.0% (+10.0)** |\n|                     | **lossless** | **65.0% (+7.5)** | 40.0% (+5.0)      |\n\nMean Accuracy climbs in both domains — retail **+4.4 pts** (78.1 → 82.5) and airline **+7.5 pts** (57.5 → 65.0). Reliability moves further: the strict **Pass^4** rises **+10 pts** in retail (57.5 → 67.5) and **+10 pts** in airline (35.0 → 45.0). And the gains come from better-informed calls, not longer conversations — we look at conversation length directly in [Better performance costs more tokens, not more turns](https://huggingface.co/blog/ibm-research/altk-evolve-bc#better-performance-costs-more-tokens-not-more-turns) below.\n\n### The best amount of guidance depends on the domain\n\nThe two domains disagree about *how much* guidance pays off. In **retail**, more is better on every metric — the small sup3 core barely beats baseline on accuracy, and you need the **full lossless set** for the real jump. In **airline** the picture flips at the reliability end: lossless leads on accuracy (65% vs 60%), but the compact **sup3 core (14 guidelines) is the more *reliable*** one, taking Pass^4 to **45%** against lossless's 40%. Echoing the earlier finding that [delivery is a dial, not a constant](https://huggingface.co/blog/ibm-research/altk-evolve-hmm), **support count is a knob worth tuning per domain**, not a value to hard-code.\n\n## Better performance costs more tokens, not more turns\n\nGuidelines aren't free, but the cost lands where you'd expect — in **prompt input tokens**, not in a longer, more meandering conversation:\n\n[![Cost per conversation grouped by Retail and Airline. Lossless increases cost by 65% and 32%, respectively, over the no-guideline baseline.](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/MsqhICXsHtpJozVFZYEm7.png)](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/MsqhICXsHtpJozVFZYEm7.png)\n\n*Figure 2. Total LLM cost per conversation by domain and guideline configuration on the full base split.*\n\n**Table 3. Total LLM cost per conversation (agent and user simulator) on the full base split across four trials. Lower is better.**\n\n| Domain      | Config       | Cost / conversation | vs. baseline |\n| ----------- | ------------ | ------------------- | ------------ |\n| **Retail**  | baseline     | $0.084              | —            |\n|             | sup3         | $0.095              | +12%         |\n|             | **lossless** | $0.139              | +65%         |\n| **Airline** | baseline     | $0.081              | —            |\n|             | sup3         | $0.097              | +19%         |\n|             | **lossless** | $0.107              | +32%         |\n\nDoes the agent get there by *talking longer*? To answer that cleanly we compare **like for like**: the task runs solved under **both** baseline and the guideline variant — identical scenario and seed, a true \"same task, done right\" set — and count assistant turns on each side.\n\n**Table 4. Assistant turns per conversation for matched runs solved under both settings on the test split, pooling four trials.**\n\n| Domain      | Shared set              | Solved under both (n) | Baseline turns | +Guidelines | Δ         |\n| ----------- | ----------------------- | --------------------- | -------------- | ----------- | --------- |\n| **Retail**  | baseline ∩ sup3         | 108                   | 10.40          | 10.35       | −0.05     |\n|             | baseline ∩ **lossless** | 111                   | 10.59          | 10.16       | **−0.43** |\n| **Airline** | baseline ∩ sup3         | 38                    | 8.97           | 8.53        | **−0.45** |\n|             | baseline ∩ **lossless** | 40                    | 9.15           | 8.82        | −0.33     |\n\nThe agent isn't talking longer — on the shared set, guidelines make conversations **slightly shorter**: lossless trims ~0.3–0.4 turns in both domains (retail 10.59 → 10.16, airline 9.15 → 8.82), and no variant lengthens them. That matters beyond cost: each turn is a sequential LLM round-trip, so fewer turns means **lower end-to-end latency — a faster time-to-completion** for the customer, not just a cheaper one. The only real price is on the input side — the larger system prompt riding on every LLM call: retail's 292-guideline prompt pushes cost from ~$0.084 to ~$0.139 per conversation, while airline's smaller playbook is cheaper. And in production even that is largely reclaimable with **prompt caching**, since the guideline block is identical across every call.\n\nSo the trade is a favorable one: for a **slightly higher input cost** (much of it cached away in practice) the agent lands **higher accuracy, higher reliability, *and* lower time-to-completion** at once — not the usual quality-for-latency tradeoff, but all three moving the right way together.\n\n## Learned guidelines also improve agents using frontier models\n\nSo far, we have used an older, non-reasoning model — `gpt-4.1`. A fair objection is that learned guidelines might have less to add to an agent using a *frontier* model: maybe they only patch the gaps of a weaker model. So we tested it directly — we reran **airline** using **`gpt-5.5` for both the agent and guideline extraction**, on the same τ²-bench ReAct scaffold, with guidelines re-mined from the agent's *own* runs. One detail changes with the model: none of the guidelines extracted in this setup reached support ≥ 3 (they top out at support 2), so the high-support core here is **sup2** rather than sup3.\n\n**Table 5. Held-out airline performance for the `gpt-5.5` agent across four trials per task.**\n\n| Airline · `gpt-5.5` (20 held-out test tasks) | Accuracy          | Pass^4            |\n| -------------------------------------------- | ----------------- | ----------------- |\n| baseline (0 guidelines)                      | 72.5%             | 55.0%             |\n| sup2 (103 guidelines)                        | 80.0% (+7.5)      | 70.0% (+15.0)     |\n| **lossless (146 guidelines)**                | **82.5% (+10.0)** | **70.0% (+15.0)** |\n\nThe learned guidelines improve this setup too. On the same held-out test tasks, appending them to the prompt lifts **accuracy +10 pts** (72.5 → 82.5) and the strict **Pass^4 by +15 pts** (55.0 → 70.0) — a *larger* reliability gain than we observed with `gpt-4.1` on these very tasks (+10 pts), and from a much higher floor. Learning guidelines *around* the model can improve an agent even when it starts from a stronger base. And where the baseline's reliability swung between reruns, the lossless configuration reproduced exactly — the gain it buys is dependable, not a lucky draw.\n\n## ALTK-Evolve tops the leaderboard comparison\n\nSubmissions are scored on the **full base split** (train ∪ test), as τ²-bench requires, and reported at **Pass^4**. Because that covers the full task set rather than the held-out test split, these figures differ from the test-task numbers reported above. This is where the practical upshot shows up — prompt-level memory carries agents using each base model *into*, or *past*, current frontier company:\n\n- **[Retail: #1](https://github.com/sierra-research/tau2-bench/pull/542).** On the base split the agent with learned guidelines reaches **Pass^4 = 67.5%**, ahead of every frontier model *and* ahead of **RAFT-30B-A3B** (61.4%), a model **fine-tuned on synthetic τ²-bench retail data**. Using stock `gpt-4.1` and a prompt-appended playbook, it outperforms that fine-tuned system by **+6.1 points**.\n- **[Airline: #1](https://github.com/sierra-research/tau2-bench/pull/551) using `gpt-5.5`, #8 using `gpt-4.1`** Against the published board, the compact **sup3 core** gives the agent using `gpt-4.1` **Pass^4 = 44%** — **8th**, beating GPT-5.2 (no reasoning) and nearly matching Claude Sonnet 4.5. Swap in the stronger base and the same approach tops the field outright: **the agent using `gpt-5.5` reaches 82.0%**, clearing every frontier entry (66–72%).\n\n[![Saved Pass^4 leaderboard comparison for Retail and Airline, highlighting ALTK-Evolve runs at 67.5% in Retail and 82.0% and 44.0% in Airline.](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/iOmv6o938CgNfFlULP-VV.png)](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/iOmv6o938CgNfFlULP-VV.png)\n\n*Figure 3. Pass^4 comparison between ALTK-Evolve runs and the τ²-bench leaderboard snapshot from October 12, 2026.*\n\nSame message in both domains: **learning guidelines *around* the model works across different base models** — bringing an agent using an older, non-reasoning model into frontier company on retail, and taking an agent using a frontier model to the top on airline.\n\n## Agents can improve without weight updates\n\nFine-tuning a model on a benchmark is expensive, brittle, and doesn't transfer to the next domain. Here, ALTK-Evolve improves a **stock agent on a stock model** in both domains — and matches or beats a fine-tuned system on retail — using only **prompt-level guidelines extracted from the agent's own runs**, automatically, without human annotation, and without any test-set leakage.\n\n* * *\n\n### Links:\n\n- **Prior posts**\n  1. [Thinking of ACE? We Can Do It with Fewer Tokens](https://huggingface.co/blog/ibm-research/altk-evolve-sldd)\n  2. [How much memory does your agent actually need?](https://huggingface.co/blog/ibm-research/altk-evolve-hmm)\n- **ALTK-Evolve library** — [https://github.com/AgentToolkit/altk-evolve](https://github.com/AgentToolkit/altk-evolve)\n- **τ²-bench** — [https://github.com/sierra-research/tau2-bench](https://github.com/sierra-research/tau2-bench)\n- **Retail leaderboard submission** — [τ²-bench PR #542](https://github.com/sierra-research/tau2-bench/pull/542)\n- **Airline leaderboard submission** - [τ²-bench PR #551](https://github.com/sierra-research/tau2-bench/pull/551)\n",
  "authors": [],
  "captured_at": "2026-10-20T17:55:58.869157456+00:00",
  "category": "ai",
  "content_html": "<p><em>ALTK-Evolve learns and applies a playbook using GPT-4.1, outperforming the retail entries on τ²-bench, a customer service agent benchmark—without updating model weights.</em></p>\n<h2>Learned memory takes a basic ReAct agent with GPT-4.1 to the top</h2>\n<p>Using GPT-4.1, an older, non-reasoning model, a basic customer-service agent reaches <strong>67.5% Pass^4 on τ²-bench retail</strong> — meaning it solves the task on <em>all four</em> independent attempts for 67.5% of tasks. It scores above every retail entry in our October 12, 2026 leaderboard snapshot. It runs on the benchmark's stock ReAct scaffold, with learned guidelines appended to its system prompt.</p>\n<p><strong><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/AgentToolkit/altk-evolve\">ALTK-Evolve</a> builds that playbook using GPT-4.1.</strong> It analyzes the agent's training-task attempts and uses the model to distill successes and failures into short behavioral rules: how to authenticate a customer, confirm a transaction, or handle a return. Those guidelines are then added to the agent's prompt for subsequent conversations. The same model powers both guideline extraction and the agent; no weight updates or human annotation are needed.</p>\n<p>Our <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://huggingface.co/blog/ibm-research/altk-evolve-sldd\">previous work</a> demonstrated this approach on coding agents. Here, we test it on customer service, where success requires following domain policies, understanding a customer's request, and executing the right tool actions.</p>\n<h2>τ²-bench tests policy-bound customer service</h2>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/sierra-research/tau2-bench\">τ²-bench</a> (from Sierra) measures how well an agent handles <strong>customer-service conversations</strong> under real constraints. Each task pairs the agent with an LLM-simulated <strong>customer</strong> who has a goal in mind, a set of <strong>domain tools</strong> (look up an order, issue a refund, rebook a flight), and a written <strong>policy document</strong> the agent must follow. The agent has to draw out the right details, stay within policy, and take the correct — often irreversible — actions; a task counts as solved only when the final database state matches the expected outcome, a strict binary reward. We use its two customer-service domains, <strong>retail</strong> and <strong>airline</strong>.</p>\n<p>We run τ²-bench's own implementation of a basic ReAct agent with a two-phase <strong>THINK → ACT</strong> loop, using <code>gpt-4.1</code> as the agent model and <code>gpt-5.5</code> as the customer-simulator model; <strong>4 trials</strong> per task. <strong>The only change we make</strong> is a block of learned guidelines appended to the system prompt — everything else (policy, tools, scaffold) is stock τ²-bench. Concretely, the learned guidelines are tacked on after the domain policy as a plain markdown list:</p>\n<pre><code class=\"language-text\"><span class=\"code-snippet\">You are a customer service agent that helps users according to the policy below.\nAlways follow the policy strictly. Use the provided tools when needed.\n\n&lt;policy&gt;\n# Retail agent policy\n\nAs a retail agent, you can help users:\n- cancel or modify pending orders\n- return or exchange delivered orders\n- modify their default user address\n…\n&lt;/policy&gt;\n\n## Guidelines learned from past task attempts (follow these carefully):\n- Authenticate the user before taking any order-related action. If email is unavailable, verify identity via full name and zip code using the find_user_id_by_name_zip API.\n- Always confirm all intended changes (modify, cancel, return, exchange) with a clear, structured summary, and require explicit user approval before executing any database-updating action.\n- When processing a return or exchange, communicate the refund with an itemized breakdown and clarify refund timing — don&#39;t wait for the user to ask.\n- Take one action per step: never combine a tool call with a user-facing message in the same turn, and wait for the tool&#39;s result before replying.\n- Before looking a user up, parse and clean their name — e.g. split a combined handle like `daiki_johnson_9523` into first/last name — and after a couple of failed lookups, state the exact format you need.\n…\n</span></code></pre>\n<p>We extract guidelines from the agent's trajectories on τ²-bench <strong>train</strong> tasks using <strong><code>gpt-4.1</code></strong>, the same model that powers the agent, then apply them unchanged on the held-out <strong>test</strong> set.</p>\n<h2>Guidelines improve capability and reliability</h2>\n<p>In a <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://huggingface.co/blog/ibm-research/altk-evolve-hmm\">prior post</a>, we talked about how different models / tasks require different dosage of guidance. Inline with the idea, we also evaluate different amounts of guidelines provided to the model.</p>\n<p>Each guideline carries a <strong>support</strong> count — the number of distinct training tasks it was extracted from, so higher support means a rule that generalized across more tasks rather than a one-off. We compare three configurations: <strong>baseline</strong> (no guidelines), <strong>sup3</strong> (keep only guidelines with support ≥ 3 — a small, high-confidence core), and <strong>lossless</strong> (keep every guideline retained after consolidation, i.e. support ≥ 1).</p>\n<p><strong>Table 1. Guideline configurations and retained guideline counts by domain.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Variant</th>\n<th>Guidelines included in context</th>\n<th>Retail</th>\n<th>Airline</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>baseline</strong></td>\n<td>no guidelines</td>\n<td>0</td>\n<td>0</td>\n</tr>\n<tr>\n<td><strong>sup3</strong></td>\n<td>support <code>n ≥ 3</code> (high-support core)</td>\n<td>31</td>\n<td>14</td>\n</tr>\n<tr>\n<td><strong>lossless</strong></td>\n<td>all guidelines</td>\n<td>292</td>\n<td>101</td>\n</tr>\n</tbody>\n</table>\n<p><strong>The metrics we track.</strong> Every task is attempted <strong>4 times</strong>, and we read those trials two ways:</p>\n<ul>\n<li><strong>Mean Accuracy</strong> — the average success rate across the 4 trials. This is the <strong>capability</strong> axis: <em>how often does the agent get this right?</em></li>\n<li><strong>Pass^4</strong> — the percentage of tasks that passed across all 4 trials. This measures along the <strong>reliability</strong> axis and the metric the τ²-bench leaderboard reports. It matters here because a support agent that resolves a refund 3 times out of 4 still fails a quarter of real customers — Pass^4 asks whether you can trust the agent <em>every</em> time, not just on average.</li>\n</ul>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/HtL2uTn98-xHkcTxKqkFY.png\"><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/HtL2uTn98-xHkcTxKqkFY.png\" alt=\"Mean Accuracy and Pass^4 on the held-out test tasks, by variant, for Retail and Airline. Lossless lifts retail accuracy +4.4 pp and Pass^4 +10.0 pp; airline accuracy rises +7.5 pp with lossless while sup3 gives the best Pass^4 at +10.0 pp.\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></a></p>\n<p><em>Figure 1. Mean Accuracy and Pass^4 on held-out retail and airline tasks for agents using <code>gpt-4.1</code> across four trials per task.</em></p>\n<p><em>Agent model: <code>gpt-4.1</code> (user simulator: <code>gpt-5.5</code>).</em></p>\n<p><strong>Table 2. Held-out agent performance using <code>gpt-4.1</code> across four trials per task. Parentheses show percentage-point changes from baseline.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Domain (test tasks)</th>\n<th>Config</th>\n<th>Mean Accuracy</th>\n<th>Pass^4</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Retail</strong> (40)</td>\n<td>baseline</td>\n<td>78.1%</td>\n<td>57.5%</td>\n</tr>\n<tr>\n<td></td>\n<td>sup3</td>\n<td>78.8% (+0.7)</td>\n<td>60.0% (+2.5)</td>\n</tr>\n<tr>\n<td></td>\n<td><strong>lossless</strong></td>\n<td><strong>82.5% (+4.4)</strong></td>\n<td><strong>67.5% (+10.0)</strong></td>\n</tr>\n<tr>\n<td><strong>Airline</strong> (20)</td>\n<td>baseline</td>\n<td>57.5%</td>\n<td>35.0%</td>\n</tr>\n<tr>\n<td></td>\n<td>sup3</td>\n<td>60.0% (+2.5)</td>\n<td><strong>45.0% (+10.0)</strong></td>\n</tr>\n<tr>\n<td></td>\n<td><strong>lossless</strong></td>\n<td><strong>65.0% (+7.5)</strong></td>\n<td>40.0% (+5.0)</td>\n</tr>\n</tbody>\n</table>\n<p>Mean Accuracy climbs in both domains — retail <strong>+4.4 pts</strong> (78.1 → 82.5) and airline <strong>+7.5 pts</strong> (57.5 → 65.0). Reliability moves further: the strict <strong>Pass^4</strong> rises <strong>+10 pts</strong> in retail (57.5 → 67.5) and <strong>+10 pts</strong> in airline (35.0 → 45.0). And the gains come from better-informed calls, not longer conversations — we look at conversation length directly in <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://huggingface.co/blog/ibm-research/altk-evolve-bc#better-performance-costs-more-tokens-not-more-turns\">Better performance costs more tokens, not more turns</a> below.</p>\n<h3>The best amount of guidance depends on the domain</h3>\n<p>The two domains disagree about <em>how much</em> guidance pays off. In <strong>retail</strong>, more is better on every metric — the small sup3 core barely beats baseline on accuracy, and you need the <strong>full lossless set</strong> for the real jump. In <strong>airline</strong> the picture flips at the reliability end: lossless leads on accuracy (65% vs 60%), but the compact <strong>sup3 core (14 guidelines) is the more <em>reliable</em></strong> one, taking Pass^4 to <strong>45%</strong> against lossless's 40%. Echoing the earlier finding that <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://huggingface.co/blog/ibm-research/altk-evolve-hmm\">delivery is a dial, not a constant</a>, <strong>support count is a knob worth tuning per domain</strong>, not a value to hard-code.</p>\n<h2>Better performance costs more tokens, not more turns</h2>\n<p>Guidelines aren't free, but the cost lands where you'd expect — in <strong>prompt input tokens</strong>, not in a longer, more meandering conversation:</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/MsqhICXsHtpJozVFZYEm7.png\"><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/MsqhICXsHtpJozVFZYEm7.png\" alt=\"Cost per conversation grouped by Retail and Airline. Lossless increases cost by 65% and 32%, respectively, over the no-guideline baseline.\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></a></p>\n<p><em>Figure 2. Total LLM cost per conversation by domain and guideline configuration on the full base split.</em></p>\n<p><strong>Table 3. Total LLM cost per conversation (agent and user simulator) on the full base split across four trials. Lower is better.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Domain</th>\n<th>Config</th>\n<th>Cost / conversation</th>\n<th>vs. baseline</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Retail</strong></td>\n<td>baseline</td>\n<td>$0.084</td>\n<td>—</td>\n</tr>\n<tr>\n<td></td>\n<td>sup3</td>\n<td>$0.095</td>\n<td>+12%</td>\n</tr>\n<tr>\n<td></td>\n<td><strong>lossless</strong></td>\n<td>$0.139</td>\n<td>+65%</td>\n</tr>\n<tr>\n<td><strong>Airline</strong></td>\n<td>baseline</td>\n<td>$0.081</td>\n<td>—</td>\n</tr>\n<tr>\n<td></td>\n<td>sup3</td>\n<td>$0.097</td>\n<td>+19%</td>\n</tr>\n<tr>\n<td></td>\n<td><strong>lossless</strong></td>\n<td>$0.107</td>\n<td>+32%</td>\n</tr>\n</tbody>\n</table>\n<p>Does the agent get there by <em>talking longer</em>? To answer that cleanly we compare <strong>like for like</strong>: the task runs solved under <strong>both</strong> baseline and the guideline variant — identical scenario and seed, a true &quot;same task, done right&quot; set — and count assistant turns on each side.</p>\n<p><strong>Table 4. Assistant turns per conversation for matched runs solved under both settings on the test split, pooling four trials.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Domain</th>\n<th>Shared set</th>\n<th>Solved under both (n)</th>\n<th>Baseline turns</th>\n<th>+Guidelines</th>\n<th>Δ</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Retail</strong></td>\n<td>baseline ∩ sup3</td>\n<td>108</td>\n<td>10.40</td>\n<td>10.35</td>\n<td>−0.05</td>\n</tr>\n<tr>\n<td></td>\n<td>baseline ∩ <strong>lossless</strong></td>\n<td>111</td>\n<td>10.59</td>\n<td>10.16</td>\n<td><strong>−0.43</strong></td>\n</tr>\n<tr>\n<td><strong>Airline</strong></td>\n<td>baseline ∩ sup3</td>\n<td>38</td>\n<td>8.97</td>\n<td>8.53</td>\n<td><strong>−0.45</strong></td>\n</tr>\n<tr>\n<td></td>\n<td>baseline ∩ <strong>lossless</strong></td>\n<td>40</td>\n<td>9.15</td>\n<td>8.82</td>\n<td>−0.33</td>\n</tr>\n</tbody>\n</table>\n<p>The agent isn't talking longer — on the shared set, guidelines make conversations <strong>slightly shorter</strong>: lossless trims ~0.3–0.4 turns in both domains (retail 10.59 → 10.16, airline 9.15 → 8.82), and no variant lengthens them. That matters beyond cost: each turn is a sequential LLM round-trip, so fewer turns means <strong>lower end-to-end latency — a faster time-to-completion</strong> for the customer, not just a cheaper one. The only real price is on the input side — the larger system prompt riding on every LLM call: retail's 292-guideline prompt pushes cost from ~$0.084 to ~$0.139 per conversation, while airline's smaller playbook is cheaper. And in production even that is largely reclaimable with <strong>prompt caching</strong>, since the guideline block is identical across every call.</p>\n<p>So the trade is a favorable one: for a <strong>slightly higher input cost</strong> (much of it cached away in practice) the agent lands <strong>higher accuracy, higher reliability, <em>and</em> lower time-to-completion</strong> at once — not the usual quality-for-latency tradeoff, but all three moving the right way together.</p>\n<h2>Learned guidelines also improve agents using frontier models</h2>\n<p>So far, we have used an older, non-reasoning model — <code>gpt-4.1</code>. A fair objection is that learned guidelines might have less to add to an agent using a <em>frontier</em> model: maybe they only patch the gaps of a weaker model. So we tested it directly — we reran <strong>airline</strong> using <strong><code>gpt-5.5</code> for both the agent and guideline extraction</strong>, on the same τ²-bench ReAct scaffold, with guidelines re-mined from the agent's <em>own</em> runs. One detail changes with the model: none of the guidelines extracted in this setup reached support ≥ 3 (they top out at support 2), so the high-support core here is <strong>sup2</strong> rather than sup3.</p>\n<p><strong>Table 5. Held-out airline performance for the <code>gpt-5.5</code> agent across four trials per task.</strong></p>\n<table>\n<thead>\n<tr>\n<th>Airline · <code>gpt-5.5</code> (20 held-out test tasks)</th>\n<th>Accuracy</th>\n<th>Pass^4</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>baseline (0 guidelines)</td>\n<td>72.5%</td>\n<td>55.0%</td>\n</tr>\n<tr>\n<td>sup2 (103 guidelines)</td>\n<td>80.0% (+7.5)</td>\n<td>70.0% (+15.0)</td>\n</tr>\n<tr>\n<td><strong>lossless (146 guidelines)</strong></td>\n<td><strong>82.5% (+10.0)</strong></td>\n<td><strong>70.0% (+15.0)</strong></td>\n</tr>\n</tbody>\n</table>\n<p>The learned guidelines improve this setup too. On the same held-out test tasks, appending them to the prompt lifts <strong>accuracy +10 pts</strong> (72.5 → 82.5) and the strict <strong>Pass^4 by +15 pts</strong> (55.0 → 70.0) — a <em>larger</em> reliability gain than we observed with <code>gpt-4.1</code> on these very tasks (+10 pts), and from a much higher floor. Learning guidelines <em>around</em> the model can improve an agent even when it starts from a stronger base. And where the baseline's reliability swung between reruns, the lossless configuration reproduced exactly — the gain it buys is dependable, not a lucky draw.</p>\n<h2>ALTK-Evolve tops the leaderboard comparison</h2>\n<p>Submissions are scored on the <strong>full base split</strong> (train ∪ test), as τ²-bench requires, and reported at <strong>Pass^4</strong>. Because that covers the full task set rather than the held-out test split, these figures differ from the test-task numbers reported above. This is where the practical upshot shows up — prompt-level memory carries agents using each base model <em>into</em>, or <em>past</em>, current frontier company:</p>\n<ul>\n<li><strong><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/sierra-research/tau2-bench/pull/542\">Retail: #1</a>.</strong> On the base split the agent with learned guidelines reaches <strong>Pass^4 = 67.5%</strong>, ahead of every frontier model <em>and</em> ahead of <strong>RAFT-30B-A3B</strong> (61.4%), a model <strong>fine-tuned on synthetic τ²-bench retail data</strong>. Using stock <code>gpt-4.1</code> and a prompt-appended playbook, it outperforms that fine-tuned system by <strong>+6.1 points</strong>.</li>\n<li><strong><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/sierra-research/tau2-bench/pull/551\">Airline: #1</a> using <code>gpt-5.5</code>, #8 using <code>gpt-4.1</code></strong> Against the published board, the compact <strong>sup3 core</strong> gives the agent using <code>gpt-4.1</code> <strong>Pass^4 = 44%</strong> — <strong>8th</strong>, beating GPT-5.2 (no reasoning) and nearly matching Claude Sonnet 4.5. Swap in the stronger base and the same approach tops the field outright: <strong>the agent using <code>gpt-5.5</code> reaches 82.0%</strong>, clearing every frontier entry (66–72%).</li>\n</ul>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/iOmv6o938CgNfFlULP-VV.png\"><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/iOmv6o938CgNfFlULP-VV.png\" alt=\"Saved Pass^4 leaderboard comparison for Retail and Airline, highlighting ALTK-Evolve runs at 67.5% in Retail and 82.0% and 44.0% in Airline.\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></a></p>\n<p><em>Figure 3. Pass^4 comparison between ALTK-Evolve runs and the τ²-bench leaderboard snapshot from October 12, 2026.</em></p>\n<p>Same message in both domains: <strong>learning guidelines <em>around</em> the model works across different base models</strong> — bringing an agent using an older, non-reasoning model into frontier company on retail, and taking an agent using a frontier model to the top on airline.</p>\n<h2>Agents can improve without weight updates</h2>\n<p>Fine-tuning a model on a benchmark is expensive, brittle, and doesn't transfer to the next domain. Here, ALTK-Evolve improves a <strong>stock agent on a stock model</strong> in both domains — and matches or beats a fine-tuned system on retail — using only <strong>prompt-level guidelines extracted from the agent's own runs</strong>, automatically, without human annotation, and without any test-set leakage.</p>\n<hr />\n<h3>Links:</h3>\n<ul>\n<li><strong>Prior posts</strong>\n<ol>\n<li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://huggingface.co/blog/ibm-research/altk-evolve-sldd\">Thinking of ACE? We Can Do It with Fewer Tokens</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://huggingface.co/blog/ibm-research/altk-evolve-hmm\">How much memory does your agent actually need?</a></li>\n</ol>\n</li>\n<li><strong>ALTK-Evolve library</strong> — <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/AgentToolkit/altk-evolve\">https://github.com/AgentToolkit/altk-evolve</a></li>\n<li><strong>τ²-bench</strong> — <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/sierra-research/tau2-bench\">https://github.com/sierra-research/tau2-bench</a></li>\n<li><strong>Retail leaderboard submission</strong> — <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/sierra-research/tau2-bench/pull/542\">τ²-bench PR #542</a></li>\n<li><strong>Airline leaderboard submission</strong> - <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/sierra-research/tau2-bench/pull/551\">τ²-bench PR #551</a></li>\n</ul>\n",
  "content_markdown": "*ALTK-Evolve learns and applies a playbook using GPT-4.1, outperforming the retail entries on τ²-bench, a customer service agent benchmark—without updating model weights.*\n\n## Learned memory takes a basic ReAct agent with GPT-4.1 to the top\n\nUsing GPT-4.1, an older, non-reasoning model, a basic customer-service agent reaches **67.5% Pass^4 on τ²-bench retail** — meaning it solves the task on *all four* independent attempts for 67.5% of tasks. It scores above every retail entry in our October 12, 2026 leaderboard snapshot. It runs on the benchmark's stock ReAct scaffold, with learned guidelines appended to its system prompt.\n\n**[ALTK-Evolve](https://github.com/AgentToolkit/altk-evolve) builds that playbook using GPT-4.1.** It analyzes the agent's training-task attempts and uses the model to distill successes and failures into short behavioral rules: how to authenticate a customer, confirm a transaction, or handle a return. Those guidelines are then added to the agent's prompt for subsequent conversations. The same model powers both guideline extraction and the agent; no weight updates or human annotation are needed.\n\nOur [previous work](https://huggingface.co/blog/ibm-research/altk-evolve-sldd) demonstrated this approach on coding agents. Here, we test it on customer service, where success requires following domain policies, understanding a customer's request, and executing the right tool actions.\n\n## τ²-bench tests policy-bound customer service\n\n[τ²-bench](https://github.com/sierra-research/tau2-bench) (from Sierra) measures how well an agent handles **customer-service conversations** under real constraints. Each task pairs the agent with an LLM-simulated **customer** who has a goal in mind, a set of **domain tools** (look up an order, issue a refund, rebook a flight), and a written **policy document** the agent must follow. The agent has to draw out the right details, stay within policy, and take the correct — often irreversible — actions; a task counts as solved only when the final database state matches the expected outcome, a strict binary reward. We use its two customer-service domains, **retail** and **airline**.\n\nWe run τ²-bench's own implementation of a basic ReAct agent with a two-phase **THINK → ACT** loop, using `gpt-4.1` as the agent model and `gpt-5.5` as the customer-simulator model; **4 trials** per task. **The only change we make** is a block of learned guidelines appended to the system prompt — everything else (policy, tools, scaffold) is stock τ²-bench. Concretely, the learned guidelines are tacked on after the domain policy as a plain markdown list:\n\n```text\nYou are a customer service agent that helps users according to the policy below.\nAlways follow the policy strictly. Use the provided tools when needed.\n\n<policy>\n# Retail agent policy\n\nAs a retail agent, you can help users:\n- cancel or modify pending orders\n- return or exchange delivered orders\n- modify their default user address\n…\n</policy>\n\n## Guidelines learned from past task attempts (follow these carefully):\n- Authenticate the user before taking any order-related action. If email is unavailable, verify identity via full name and zip code using the find_user_id_by_name_zip API.\n- Always confirm all intended changes (modify, cancel, return, exchange) with a clear, structured summary, and require explicit user approval before executing any database-updating action.\n- When processing a return or exchange, communicate the refund with an itemized breakdown and clarify refund timing — don't wait for the user to ask.\n- Take one action per step: never combine a tool call with a user-facing message in the same turn, and wait for the tool's result before replying.\n- Before looking a user up, parse and clean their name — e.g. split a combined handle like `daiki_johnson_9523` into first/last name — and after a couple of failed lookups, state the exact format you need.\n…\n```\n\nWe extract guidelines from the agent's trajectories on τ²-bench **train** tasks using **`gpt-4.1`**, the same model that powers the agent, then apply them unchanged on the held-out **test** set.\n\n## Guidelines improve capability and reliability\n\nIn a [prior post](https://huggingface.co/blog/ibm-research/altk-evolve-hmm), we talked about how different models / tasks require different dosage of guidance. Inline with the idea, we also evaluate different amounts of guidelines provided to the model.\n\nEach guideline carries a **support** count — the number of distinct training tasks it was extracted from, so higher support means a rule that generalized across more tasks rather than a one-off. We compare three configurations: **baseline** (no guidelines), **sup3** (keep only guidelines with support ≥ 3 — a small, high-confidence core), and **lossless** (keep every guideline retained after consolidation, i.e. support ≥ 1).\n\n**Table 1. Guideline configurations and retained guideline counts by domain.**\n\n| Variant      | Guidelines included in context      | Retail | Airline |\n| ------------ | ----------------------------------- | ------ | ------- |\n| **baseline** | no guidelines                       | 0      | 0       |\n| **sup3**     | support `n ≥ 3` (high-support core) | 31     | 14      |\n| **lossless** | all guidelines                      | 292    | 101     |\n\n**The metrics we track.** Every task is attempted **4 times**, and we read those trials two ways:\n\n- **Mean Accuracy** — the average success rate across the 4 trials. This is the **capability** axis: *how often does the agent get this right?*\n- **Pass^4** — the percentage of tasks that passed across all 4 trials. This measures along the **reliability** axis and the metric the τ²-bench leaderboard reports. It matters here because a support agent that resolves a refund 3 times out of 4 still fails a quarter of real customers — Pass^4 asks whether you can trust the agent *every* time, not just on average.\n\n[![Mean Accuracy and Pass^4 on the held-out test tasks, by variant, for Retail and Airline. Lossless lifts retail accuracy +4.4 pp and Pass^4 +10.0 pp; airline accuracy rises +7.5 pp with lossless while sup3 gives the best Pass^4 at +10.0 pp.](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/HtL2uTn98-xHkcTxKqkFY.png)](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/HtL2uTn98-xHkcTxKqkFY.png)\n\n*Figure 1. Mean Accuracy and Pass^4 on held-out retail and airline tasks for agents using `gpt-4.1` across four trials per task.*\n\n*Agent model: `gpt-4.1` (user simulator: `gpt-5.5`).*\n\n**Table 2. Held-out agent performance using `gpt-4.1` across four trials per task. Parentheses show percentage-point changes from baseline.**\n\n| Domain (test tasks) | Config       | Mean Accuracy    | Pass^4            |\n| ------------------- | ------------ | ---------------- | ----------------- |\n| **Retail** (40)     | baseline     | 78.1%            | 57.5%             |\n|                     | sup3         | 78.8% (+0.7)     | 60.0% (+2.5)      |\n|                     | **lossless** | **82.5% (+4.4)** | **67.5% (+10.0)** |\n| **Airline** (20)    | baseline     | 57.5%            | 35.0%             |\n|                     | sup3         | 60.0% (+2.5)     | **45.0% (+10.0)** |\n|                     | **lossless** | **65.0% (+7.5)** | 40.0% (+5.0)      |\n\nMean Accuracy climbs in both domains — retail **+4.4 pts** (78.1 → 82.5) and airline **+7.5 pts** (57.5 → 65.0). Reliability moves further: the strict **Pass^4** rises **+10 pts** in retail (57.5 → 67.5) and **+10 pts** in airline (35.0 → 45.0). And the gains come from better-informed calls, not longer conversations — we look at conversation length directly in [Better performance costs more tokens, not more turns](https://huggingface.co/blog/ibm-research/altk-evolve-bc#better-performance-costs-more-tokens-not-more-turns) below.\n\n### The best amount of guidance depends on the domain\n\nThe two domains disagree about *how much* guidance pays off. In **retail**, more is better on every metric — the small sup3 core barely beats baseline on accuracy, and you need the **full lossless set** for the real jump. In **airline** the picture flips at the reliability end: lossless leads on accuracy (65% vs 60%), but the compact **sup3 core (14 guidelines) is the more *reliable*** one, taking Pass^4 to **45%** against lossless's 40%. Echoing the earlier finding that [delivery is a dial, not a constant](https://huggingface.co/blog/ibm-research/altk-evolve-hmm), **support count is a knob worth tuning per domain**, not a value to hard-code.\n\n## Better performance costs more tokens, not more turns\n\nGuidelines aren't free, but the cost lands where you'd expect — in **prompt input tokens**, not in a longer, more meandering conversation:\n\n[![Cost per conversation grouped by Retail and Airline. Lossless increases cost by 65% and 32%, respectively, over the no-guideline baseline.](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/MsqhICXsHtpJozVFZYEm7.png)](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/MsqhICXsHtpJozVFZYEm7.png)\n\n*Figure 2. Total LLM cost per conversation by domain and guideline configuration on the full base split.*\n\n**Table 3. Total LLM cost per conversation (agent and user simulator) on the full base split across four trials. Lower is better.**\n\n| Domain      | Config       | Cost / conversation | vs. baseline |\n| ----------- | ------------ | ------------------- | ------------ |\n| **Retail**  | baseline     | $0.084              | —            |\n|             | sup3         | $0.095              | +12%         |\n|             | **lossless** | $0.139              | +65%         |\n| **Airline** | baseline     | $0.081              | —            |\n|             | sup3         | $0.097              | +19%         |\n|             | **lossless** | $0.107              | +32%         |\n\nDoes the agent get there by *talking longer*? To answer that cleanly we compare **like for like**: the task runs solved under **both** baseline and the guideline variant — identical scenario and seed, a true \"same task, done right\" set — and count assistant turns on each side.\n\n**Table 4. Assistant turns per conversation for matched runs solved under both settings on the test split, pooling four trials.**\n\n| Domain      | Shared set              | Solved under both (n) | Baseline turns | +Guidelines | Δ         |\n| ----------- | ----------------------- | --------------------- | -------------- | ----------- | --------- |\n| **Retail**  | baseline ∩ sup3         | 108                   | 10.40          | 10.35       | −0.05     |\n|             | baseline ∩ **lossless** | 111                   | 10.59          | 10.16       | **−0.43** |\n| **Airline** | baseline ∩ sup3         | 38                    | 8.97           | 8.53        | **−0.45** |\n|             | baseline ∩ **lossless** | 40                    | 9.15           | 8.82        | −0.33     |\n\nThe agent isn't talking longer — on the shared set, guidelines make conversations **slightly shorter**: lossless trims ~0.3–0.4 turns in both domains (retail 10.59 → 10.16, airline 9.15 → 8.82), and no variant lengthens them. That matters beyond cost: each turn is a sequential LLM round-trip, so fewer turns means **lower end-to-end latency — a faster time-to-completion** for the customer, not just a cheaper one. The only real price is on the input side — the larger system prompt riding on every LLM call: retail's 292-guideline prompt pushes cost from ~$0.084 to ~$0.139 per conversation, while airline's smaller playbook is cheaper. And in production even that is largely reclaimable with **prompt caching**, since the guideline block is identical across every call.\n\nSo the trade is a favorable one: for a **slightly higher input cost** (much of it cached away in practice) the agent lands **higher accuracy, higher reliability, *and* lower time-to-completion** at once — not the usual quality-for-latency tradeoff, but all three moving the right way together.\n\n## Learned guidelines also improve agents using frontier models\n\nSo far, we have used an older, non-reasoning model — `gpt-4.1`. A fair objection is that learned guidelines might have less to add to an agent using a *frontier* model: maybe they only patch the gaps of a weaker model. So we tested it directly — we reran **airline** using **`gpt-5.5` for both the agent and guideline extraction**, on the same τ²-bench ReAct scaffold, with guidelines re-mined from the agent's *own* runs. One detail changes with the model: none of the guidelines extracted in this setup reached support ≥ 3 (they top out at support 2), so the high-support core here is **sup2** rather than sup3.\n\n**Table 5. Held-out airline performance for the `gpt-5.5` agent across four trials per task.**\n\n| Airline · `gpt-5.5` (20 held-out test tasks) | Accuracy          | Pass^4            |\n| -------------------------------------------- | ----------------- | ----------------- |\n| baseline (0 guidelines)                      | 72.5%             | 55.0%             |\n| sup2 (103 guidelines)                        | 80.0% (+7.5)      | 70.0% (+15.0)     |\n| **lossless (146 guidelines)**                | **82.5% (+10.0)** | **70.0% (+15.0)** |\n\nThe learned guidelines improve this setup too. On the same held-out test tasks, appending them to the prompt lifts **accuracy +10 pts** (72.5 → 82.5) and the strict **Pass^4 by +15 pts** (55.0 → 70.0) — a *larger* reliability gain than we observed with `gpt-4.1` on these very tasks (+10 pts), and from a much higher floor. Learning guidelines *around* the model can improve an agent even when it starts from a stronger base. And where the baseline's reliability swung between reruns, the lossless configuration reproduced exactly — the gain it buys is dependable, not a lucky draw.\n\n## ALTK-Evolve tops the leaderboard comparison\n\nSubmissions are scored on the **full base split** (train ∪ test), as τ²-bench requires, and reported at **Pass^4**. Because that covers the full task set rather than the held-out test split, these figures differ from the test-task numbers reported above. This is where the practical upshot shows up — prompt-level memory carries agents using each base model *into*, or *past*, current frontier company:\n\n- **[Retail: #1](https://github.com/sierra-research/tau2-bench/pull/542).** On the base split the agent with learned guidelines reaches **Pass^4 = 67.5%**, ahead of every frontier model *and* ahead of **RAFT-30B-A3B** (61.4%), a model **fine-tuned on synthetic τ²-bench retail data**. Using stock `gpt-4.1` and a prompt-appended playbook, it outperforms that fine-tuned system by **+6.1 points**.\n- **[Airline: #1](https://github.com/sierra-research/tau2-bench/pull/551) using `gpt-5.5`, #8 using `gpt-4.1`** Against the published board, the compact **sup3 core** gives the agent using `gpt-4.1` **Pass^4 = 44%** — **8th**, beating GPT-5.2 (no reasoning) and nearly matching Claude Sonnet 4.5. Swap in the stronger base and the same approach tops the field outright: **the agent using `gpt-5.5` reaches 82.0%**, clearing every frontier entry (66–72%).\n\n[![Saved Pass^4 leaderboard comparison for Retail and Airline, highlighting ALTK-Evolve runs at 67.5% in Retail and 82.0% and 44.0% in Airline.](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/iOmv6o938CgNfFlULP-VV.png)](https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/iOmv6o938CgNfFlULP-VV.png)\n\n*Figure 3. Pass^4 comparison between ALTK-Evolve runs and the τ²-bench leaderboard snapshot from October 12, 2026.*\n\nSame message in both domains: **learning guidelines *around* the model works across different base models** — bringing an agent using an older, non-reasoning model into frontier company on retail, and taking an agent using a frontier model to the top on airline.\n\n## Agents can improve without weight updates\n\nFine-tuning a model on a benchmark is expensive, brittle, and doesn't transfer to the next domain. Here, ALTK-Evolve improves a **stock agent on a stock model** in both domains — and matches or beats a fine-tuned system on retail — using only **prompt-level guidelines extracted from the agent's own runs**, automatically, without human annotation, and without any test-set leakage.\n\n* * *\n\n### Links:\n\n- **Prior posts**\n  1. [Thinking of ACE? We Can Do It with Fewer Tokens](https://huggingface.co/blog/ibm-research/altk-evolve-sldd)\n  2. [How much memory does your agent actually need?](https://huggingface.co/blog/ibm-research/altk-evolve-hmm)\n- **ALTK-Evolve library** — [https://github.com/AgentToolkit/altk-evolve](https://github.com/AgentToolkit/altk-evolve)\n- **τ²-bench** — [https://github.com/sierra-research/tau2-bench](https://github.com/sierra-research/tau2-bench)\n- **Retail leaderboard submission** — [τ²-bench PR #542](https://github.com/sierra-research/tau2-bench/pull/542)\n- **Airline leaderboard submission** - [τ²-bench PR #551](https://github.com/sierra-research/tau2-bench/pull/551)\n",
  "dateCreated": "2026-10-20T17:55:58.869157456+00:00",
  "date_created": "2026-10-20T15:19:48+00:00",
  "date_modified": "2026-10-20T15:19:48+00:00",
  "date_published": "2026-10-20T15:19:48+00:00",
  "description": "ALTK-Evolve learns and applies a playbook using GPT-4.1, outperforming the retail entries on τ²-bench, a customer service agent benchmark—without updating model weights. Learned memory takes a basic ReAct agent with GPT-4.1 to the top…",
  "external_url": "https://huggingface.co/blog/ibm-research/altk-evolve-bc",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/huggingface-co/2026/10/2026-10-20-altk-evolve-how-learned-memory-tops-the-t2-bench.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/huggingface-co/2026/10/2026-10-20-altk-evolve-how-learned-memory-tops-the-t2-bench.md"
  },
  "id": "urn:aggr:item:fbefe1d79884e2bf886dbea688b98265957cb23b",
  "isBasedOn": {
    "@id": "https://huggingface.co/blog/ibm-research/altk-evolve-bc"
  },
  "mainEntity": {
    "@id": "https://huggingface.co/blog/ibm-research/altk-evolve-bc",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/huggingface-co/2026-10-20-altk-evolve-how-learned-memory-tops-the-t2-bench/#webpage"
    },
    "dateModified": "2026-10-20T15:19:48+00:00",
    "datePublished": "2026-10-20T15:19:48+00:00",
    "headline": "ALTK-Evolve: How learned memory tops the τ²-bench leaderboard on customer service tasks without a frontier model",
    "image": {
      "@type": "ImageObject",
      "caption": null,
      "height": 90,
      "url": "https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/rzXYJh7e7UdoYgCLwOZjH.jpeg",
      "width": 160
    },
    "timeRequired": "PT10M",
    "url": "https://huggingface.co/blog/ibm-research/altk-evolve-bc",
    "wordCount": 2140
  },
  "name": "Archived snapshot: ALTK-Evolve: How learned memory tops the τ²-bench leaderboard on customer service tasks without a frontier model",
  "preview": {
    "alt": null,
    "color": null,
    "height": 90,
    "placeholder": {
      "data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=",
      "hash": ""
    },
    "url": "https://cdn-uploads.huggingface.co/production/uploads/6435a1131860001f144239ea/rzXYJh7e7UdoYgCLwOZjH.jpeg",
    "width": 160
  },
  "reading_minutes": 10,
  "replicated_at": null,
  "source": "huggingface-co",
  "source_name": "Hugging Face - Blog",
  "summary": null,
  "tags": [],
  "temporalCoverage": "2026-10-20T17:55:58.869157456+00:00",
  "title": "ALTK-Evolve: How learned memory tops the τ²-bench leaderboard on customer service tasks without a frontier model",
  "url": "https://aggr.aymericbeaumet.com/items/huggingface-co/2026-10-20-altk-evolve-how-learned-memory-tops-the-t2-bench/",
  "word_count": 2140
}