How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI

Read the talk

How many instructions can an agent follow? Capacity, failure modes, and verification

Laurie Voss’s IFScale experiments show a large increase in simultaneous keyword compliance, but also expose why longer skills files still need careful evaluation.

From a talk by Laurie Voss

At a glance

Ideas worth remembering

  • IFScale measures exact-word inclusion, giving a countable proxy for simultaneous constraints. It does not prove that equally large skills files will support reliable reasoning or conflict resolution.

  • Voss reproduced deterioration around 200–300 requirements in older models and reports newer high-accuracy boundaries nearer 2,000–5,000. The approximately tenfold gain is model-dependent, not a universal instruction allowance.

  • Failure detection must account for omitted requirements, safety refusals, exhausted thinking budgets, and partial completion. A polished opening can conceal a failed task.

  • More capacity can reduce compression and agent-handoff complexity, but longer prompts still carry cost and latency, and equivalent wording or ordering can change reliability.

  • Revisit older prompt-size assumptions and evaluate actual outputs. Demonstrated capacity answers whether a model can satisfy many constraints under tested conditions; verification asks whether this response did.

A small instruction ceiling would constrain the whole agent

Selected presentation frame from How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI at 37 seconds
A small instruction ceiling would constrain the whole agent

Laurie Voss opens with a practical question: how much can you put in a skills file before the model stops tracking its instructions? A skills file can accumulate rules about tone, formatting, edge cases, and conditional behavior very quickly. Its length matters because an agent that quietly drops requirements can produce a plausible answer while failing the task it was actually given.

The investigation began after Voss heard an aside at an AI Engineer conference in Miami: an agent could follow about 200 instructions before it started forgetting them, according to a figure from 2025. That sounded like a severe constraint. A conditional rule such as doing Y when the user says X, a requirement to include a section on Z, and a prohibition against phrase W each count as separate instructions. A useful skills file could therefore exceed 200 requirements without seeming unusually elaborate.

Voss separates two questions that users often experience together: can the model handle all the rules, and did this particular output actually satisfy them? Looking at a polished response does not necessarily answer either question. His experiment first investigates where the capacity limit came from and whether it moved, then returns to the problem of recognizing compliance in real work.

0:220:24
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:01 · section reference included

IFScale turns compliance into a count

The 200-instruction figure came from IFScale, a benchmark that asks a model to write a business report containing specified exact words. For example, the report must include customer and revenue. Each required word is treated as one instruction. After generation, the evaluator counts how many of those words appear in the response.

The experiment varies density, denoted n: the number of rules presented at once. Accuracy is the percentage of those rules the output satisfies. This gives the test a directly countable target. An output can sound like a convincing business report and still score poorly if it omits required words; fluency does not substitute for compliance.

Keyword inclusion is a proxy for more useful instructions. Voss argues that requiring revenue has the same broad shape as requiring a pricing section: both are discrete, named constraints the agent must remember while composing an answer. A prohibition against a phrase is another named constraint, although this benchmark directly tests inclusion. His reasoning is that a model that cannot track simple word requirements will probably struggle more with complicated rules. He therefore treats the keyword result as an optimistic ceiling, rather than a demonstrated capacity for arbitrary skills-file instructions.

2:542:57
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

2:54 · section reference included

Reproducing the older decline

Selected presentation frame from How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI at 353 seconds
Reproducing the older decline

Before testing newer models, Voss reran the original benchmark to establish a baseline. The original study used 10 models, but only three remained accessible through APIs when he conducted his replication. He tested those surviving models rather than selecting a fresh comparison group. He also notes that one of the three was retired after he published the research, illustrating how model availability can limit later replication.

He reports that the replicated accuracy curves matched the original paper within its noise boundary. Accuracy began deteriorating around 200–300 requirements, and at 500 rules the models were losing roughly 30%, 40%, or 50% of them. The earlier warning therefore had an experimental basis: for the older models tested, adding more simultaneous constraints substantially reduced the fraction satisfied.

4:314:33
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

4:31 · section reference included

The newer models outgrow the original test

Selected presentation frame from How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI at 436 seconds
The newer models outgrow the original test

Voss then applied the same prompt and words to newer models from OpenAI, Anthropic, Google, and DeepSeek. All scored 100% on the original test. That result established success within the benchmark’s existing range, but could not locate a new limit: the test topped out at 500 required words, and none of these models broke there.

To expose failure, he expanded the number of words the report had to contain: from 500 to 1,000, then 2,000, and onward to a 10,000-word vocabulary. The expanded results use a logarithmic horizontal axis, so a curve that looks like an abrupt cliff can represent deterioration across a substantial increase in requirements. The important comparison is how far the models retain high accuracy before that deterioration begins.

His headline is an approximately tenfold improvement over about 12 months. Where the older models deteriorated around 200–300 instructions, he describes newer boundaries nearer 2,000, and up to 5,000 for the strongest performance. Those are model-dependent benchmark results, rather than a single limit shared by every agent. What surprised him was the scale of the gain on a practical capability that could otherwise feel like an incremental model improvement.

The engineering implication is to revisit assumptions about prompt and skills-file size. Voss emphasizes that the benchmark was only about a year old and that model releases were already moving beyond the lineup he tested. A design built around an older capacity estimate may impose unnecessary constraints on a newer model; the estimate needs to be reconsidered for the model actually being used.

6:036:04
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:03 · section reference included

Failure can mean omission or refusal

The expanded experiment revealed more than a higher capacity limit. Older failures were straightforward to score: the model produced an answer and omitted some required words. The newer models did not all fail that way. DeepSeek retained the familiar pattern, beginning to forget requirements around 750 rules and dropping nearly half by 2,000. Voss considers that behavior comparatively predictable because the missing requirements are easy to count.

Claude repeatedly refused to complete the test at the API level. Voss attributes these refusals to safety classification: combinations of randomly selected words could make the request appear dangerous. He gives anthrax and cyanide as an example of vocabulary that could look concerning in combination. With thousands of random words in an instruction file, the test could encounter this refusal behavior before it measured the model’s ability to retain the requirements.

To obtain cooperative Claude results, Voss ran the vocabulary through an OpenAI safety filter and removed words it flagged. Claude then performed well. That intervention matters to interpretation: its successful performance followed a change to the vocabulary, while the refusals exposed a separate operational limit. Voss also warns that safety-sensitive or dual-purpose subject matter, including medical content, may trigger refusals at much smaller instruction counts. He presents this as a concern about content and classification, rather than ordinary forgetting.

8:528:54
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:52 · section reference included

Verification inside the model can consume the answer budget

Gemini performed strongly through 5,000 instructions, according to Voss, but beyond that it could exhaust its budget while trying to check compliance. He describes the model spending its thinking tokens ensuring that it followed all the instructions, leaving little or no capacity to produce the requested report. This failure appears as absent or inadequate output, rather than a normal report with a gradually increasing number of omissions.

His illustrative budget is 10,000 tokens, with 9,500 spent on thinking before a short response. The example mixes token and word quantities, so it should not be read as an exact allocation formula. The supported mechanism is that checking consumes the available generation budget, leaving too little room for a useful answer. That can incur substantial expense even when the final response fails to deliver the report.

11:2111:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:21 · section reference included

A convincing beginning can conceal an abandoned task

Selected presentation frame from How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI at 776 seconds
A convincing beginning can conceal an abandoned task

Voss identifies GPT as the strongest performer in his test, reporting 99% accuracy through 5,000 rules. When pushed further, however, it sometimes began writing the business report and then declined to continue because it judged the request unreasonable. The report’s exact stopping point is unclear in his account, but the behavior is consistent: useful-looking prose arrives before the model abandons the remaining requirements.

He acknowledges the tension in the task itself. A coherent business report on no particular subject that must contain 5,000 random words is an unreasonable writing assignment. The model’s objection may be understandable, but the partial report still fails the benchmark because it misses most of the required keywords. Judging the assignment and satisfying its explicit constraints are different behaviors.

The danger is detectability. An immediate Claude refusal is obvious, while GPT’s answer can look successful until the reader reaches the ending. Across the four models, Voss observed omission, API refusal, exhaustion of the thinking budget, and abandonment after partial completion. A system that checks only whether some text was returned would not distinguish these outcomes adequately; recognizing failure requires attention to the model’s behavior and the actual completeness of its output.

12:2412:27
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

12:24 · section reference included

More capacity changes the reason to keep prompts short

Selected presentation frame from How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI at 882 seconds
More capacity changes the reason to keep prompts short

Voss argues that the older capacity limit encouraged aggressive compression: keep each skills file under 200 instructions, then refer to subskills and additional files. Higher capacity reduces the need for that elaborate structure merely to fit the rules. For a use case with 100 or 300 specific requirements, he suggests putting them directly in the prompt instead of distributing them solely to avoid the earlier ceiling.

His larger example is a style guide with 2,000 named constraints, covering brand rules and legal disclaimers. Distributing such a guide across specialized agents creates another dependency: the agents must hand work to one another cleanly. If a single model can handle the required constraints, consolidation may remove handoff complexity. This is the architectural opportunity he draws from increased capacity.

Capacity does not make long prompts free. Including 10,000 different instructions produces an enormous prompt, and Voss expects greater cost and latency. His proposed decision therefore shifts from whether the model can attempt the task to whether the additional instructions justify their expense and delay. This is a tradeoff about prompt size, not a claim that all 10,000 instructions will reliably be satisfied.

14:2414:32
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

14:24 · section reference included

Tracking constraints does not establish clear reasoning

Selected presentation frame from How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI at 1050 seconds
Tracking constraints does not establish clear reasoning

Voss explicitly limits the claim: including random words in a fake business report is evidence that a long skills file might work, not proof that it does. He reports failure points ranging from 750 to more than 9,000 requirements, depending on the model and behavior being measured. The benchmark also does not measure whether the model reasons clearly over a giant prompt or resolves conflicts between its instructions.

He brings in reported context-rot research across 18 models, describing accuracy losses of 30–50% on long inputs before the context-window limit is reached. He also reports a surprising comparison in which coherent, well-structured text was more susceptible than shuffled instructions. Voss does not explain why that happened and says he would need to read the report. The narrower lesson is that fitting input into the available window does not guarantee effective use of it; this account does not establish random ordering as a general solution.

He returns to the distinction between loud and concealed failure. An API refusal signals that the task did not complete. A confident, polished report may conceal abandonment later in the response. Accepting a large rule set and returning convincing opening paragraphs therefore cannot establish success. Voss argues that the whole output must be checked, rather than trusted on the strength of its beginning.

16:2116:28
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

16:21 · section reference included

Cheap experiments reveal a harder reliability problem

Selected presentation frame from How long can your skills be before your agent forgets what you told it? — Laurie Voss, Arize AI at 1256 seconds
Cheap experiments reveal a harder reliability problem

Voss reports spending $29 on about 2,300 calls across seven models. His point is that a focused empirical investigation can be inexpensive enough to run without a large research budget. The figure describes this study’s reported expense; it does not establish the cost of evaluating every production task.

For real applications with difficult tasks, he recommends monitoring outputs through evaluations. His suggested approach is to use another LLM to judge whether the output went wrong, and he connects that approach to Arize AI’s work. This is his proposed way to detect failures that do not arrive as explicit API refusals. He does not demonstrate here that the judging model is itself infallible or specify how such a judge should be validated.

A further study he describes tested 46 models and found that strong benchmark performance could coexist with unreliable instruction following. Rewording the same instruction could radically change compliance. Voss also warns that rearranging the same 2,000 instructions can make performance substantially worse. The best wording and ordering remain unresolved research questions in his account, so a successful formulation does not establish that equivalent formulations will behave the same way.

Voss welcomes the emergence of additional benchmarks aimed at many real, messy constraints. Their purpose is to investigate the broader question his random-word experiment only approximates: how well models follow numerous requirements at once when those requirements resemble actual work. Greater measured capacity has made that question more pressing, while leaving reliability as a separate problem.

18:3018:33
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

18:30 · section reference included

The remaining task is to verify the result

Voss closes by describing a shift from compression to verification. Previously, writing a skill meant fitting the requirements into a small enough package that the model would not lose track. He argues that the expanded capacity has largely removed that pressure for the scale of instructions he discusses. The harder question is now whether the model actually did what it was asked.

His recommendation is to check the output every time, using evaluations as one would use tests for other code. A better prompt alone does not establish that a particular answer complied. He also urges engineers to revisit assumptions made six months earlier about prompt size and instruction capacity, because the approximately tenfold movement he observed shows how quickly those assumptions can become outdated.

The presentation ends with an offer of the experiment’s code and data, a brief invitation to a watch party, and thanks to the audience. The substantive closing claim remains that accommodating more instructions and verifying their execution are different engineering responsibilities.

21:0021:02
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

21:00 · section reference included

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    All right. Hello everybody.

  3. 0:15

    Thank you for coming to this

  4. 0:17

    delightfully nerdy talk. Uh this talk

  5. 0:20

    has a really long title. Uh so let me

  6. 0:22

    give you the short version up front. You

  7. 0:24

    write skills files uh and stuff them

  8. 0:26

    full of instructions. At some point the

  9. 0:28

    model stops keeping track of all of

  10. 0:30

    them. The question is where is that

  11. 0:32

    point? At what point have you put too

  12. 0:34

    many instructions in your skills files?

  13. 0:36

    Uh and the answer has changed a lot in

  14. 0:39

    the last year. I'm Lori. I'm head of

  15. 0:42

    developer relations at Arise AI. Uh in a

  16. 0:44

    former life, I co-founded npm Inc. So

  17. 0:46

    some of you may know me from the days of

  18. 0:47

    JavaScript. These days I spend a lot of

  19. 0:49

    time thinking about AI and how to test

  20. 0:51

    it.

  21. 0:53

    Uh a few months ago I was at AI engineer

  22. 0:55

    in Miami which was a good conference. Uh

  23. 0:57

    and I was watching a talk by Dexter

  24. 0:58

    Horthy. Uh it was a good talk. It was

  25. 1:01

    not about this topic at all. Uh but

  26. 1:03

    while he was giving that talk he

  27. 1:04

    mentioned as an aside uh that an agent

  28. 1:07

    can follow up to about 200 instructions

  29. 1:10

    uh before it starts forgetting those

  30. 1:12

    instructions. Uh and he then he moved on

  31. 1:15

    in his talk and it was entirely an

  32. 1:16

    aside. Uh and he he mentioned that that

  33. 1:19

    figure is from 2025 so things might be

  34. 1:21

    better now. Um, and I stopped listening

  35. 1:24

    for a second because I was like, 200

  36. 1:26

    instructions. Uh, is not very many

  37. 1:30

    instructions at all. Right? A decent

  38. 1:31

    skills file blows past 200 instructions

  39. 1:33

    almost immediately. Um, if the user says

  40. 1:36

    X, do Y, always include a section on Z,

  41. 1:39

    never use the phrase W, every one of

  42. 1:41

    those is a separate instruction. Uh, and

  43. 1:43

    if the model quietly stops tracking them

  44. 1:44

    after 200, that's a really hard ceiling

  45. 1:47

    on the complexity of what you can build.

  46. 1:49

    Uh, so I wanted to know where he got

  47. 1:51

    that number first. Uh, and I wanted to

  48. 1:53

    know if it was true. Uh, so you know the

  49. 1:56

    feeling that I'm talking about. You

  50. 1:57

    write this big beautiful skills file,

  51. 1:58

    pages of rules, edge cases, tone,

  52. 2:00

    formatting, you hand it to the agent, it

  53. 2:02

    does the thing. Uh, and you look at the

  54. 2:04

    output and go, did it actually pay

  55. 2:06

    attention? Did it actually follow all of

  56. 2:08

    these rules or did it just sort of, you

  57. 2:10

    know, do what it felt like and sort of

  58. 2:12

    give me a close simulacum of what I was

  59. 2:14

    expecting? Um, you can't really tell or

  60. 2:18

    can you? More on that later. Um, and so

  61. 2:21

    you live with this lowgrade anxiety

  62. 2:23

    every time you hit run. Um, and that

  63. 2:25

    feeling is what this research is about

  64. 2:27

    and what we're trying to find out if we

  65. 2:29

    can avoid.

  66. 2:30

    So here's my promise for your next 18

  67. 2:32

    minutes. Uh, I'm going to show you where

  68. 2:34

    that 200 number came from, whether it's

  69. 2:36

    still true, and what the real number is

  70. 2:38

    today. Uh, because it moved by an order

  71. 2:40

    of magnitude. Uh, and then we're going

  72. 2:42

    to talk about what that means for you to

  73. 2:45

    take away. uh how long your skills and

  74. 2:47

    prompts can actually be and what that

  75. 2:50

    should what changes you should make to

  76. 2:52

    your workflow as a result.

  77. 2:54

    So the 200 number isn't folklore. Uh it

  78. 2:57

    comes from a real benchmark called

  79. 2:58

    IFScale uh from a paper uh by this guy

  80. 3:02

    whose name I'm going to mess up

  81. 3:03

    Jeroslowitch uh and co-authors last

  82. 3:06

    year. And the test is beautifully

  83. 3:08

    simple. Uh here's how if scale works. If

  84. 3:12

    you ask the model to write a business

  85. 3:13

    report uh and you give it a list of

  86. 3:15

    specific words that it has to include

  87. 3:17

    exactly in the report, include the exact

  88. 3:20

    word customer, include the exact word

  89. 3:21

    revenue, and so on for as many words as

  90. 3:23

    you want. Each of those is an

  91. 3:25

    instruction that it has to follow. Uh

  92. 3:27

    and then you count how many of those

  93. 3:29

    exact words showed up. Um

  94. 3:32

    so because the test is so simple, you

  95. 3:34

    only have to keep two numbers in your

  96. 3:36

    head. One is density, which we call n.

  97. 3:38

    That is how many rules we're talking

  98. 3:40

    about at once. And the second is

  99. 3:41

    accuracy, which is the percentage of

  100. 3:43

    those rules uh that it was able to

  101. 3:45

    actually follow. Uh now you might say uh

  102. 3:49

    that including random words in a report

  103. 3:50

    is not the same as following real

  104. 3:52

    instructions and fair enough and we're

  105. 3:54

    going to talk about that. Um but the

  106. 3:56

    keywords are a proxy. Uh include the

  107. 3:59

    word revenue is the same shape of task

  108. 4:01

    as include a section on pricing, right?

  109. 4:03

    Or never use this phrase. It is a

  110. 4:04

    discrete named constraint that you've

  111. 4:06

    told the agent that it has to follow.

  112. 4:08

    Um, if a model can't track 200 words in

  113. 4:11

    one prompt, it's definitely going to

  114. 4:12

    struggle with 200 more complicated

  115. 4:14

    instructions. Uh, so uh, if anything,

  116. 4:19

    it's going to do worse. So, this number

  117. 4:20

    is a ceiling. Uh, this number is as high

  118. 4:23

    as you can go. If you give it more

  119. 4:24

    complicated instructions, the number is

  120. 4:26

    probably going to get lower. And 200 is

  121. 4:28

    a really low ceiling. Um so before

  122. 4:31

    chasing new models you have to do good

  123. 4:33

    science which means that you have to

  124. 4:34

    replicate the uh old result and make

  125. 4:36

    sure uh that the 200 ceiling is real. So

  126. 4:40

    I reran the original benchmark. Um the

  127. 4:43

    original paper tested a whole batch of

  128. 4:44

    models uh and models uh live and die

  129. 4:47

    really fast. So uh by the time I got

  130. 4:49

    around to doing this testing only three

  131. 4:51

    of the models in the original set of 10

  132. 4:53

    models that they used were still

  133. 4:54

    available via any kind of API. Uh so

  134. 4:57

    they were GPT 4.1, Claude Sonnet 4, and

  135. 4:59

    Gemini 2.5 Pro. Those were models that

  136. 5:02

    were available 12 months ago that are

  137. 5:03

    still available now. Um and that is why

  138. 5:06

    we tested those three because they were

  139. 5:07

    what was left. Um and since I first

  140. 5:10

    published this research a couple of

  141. 5:12

    weeks ago, uh one of those three models

  142. 5:14

    has been retired. So this was the last

  143. 5:15

    possible time that I could have run this

  144. 5:17

    test. Um so of that lineup, we're

  145. 5:20

    already down to two. So don't get

  146. 5:21

    attached to your models. Um here is the

  147. 5:23

    results that we got replicating the

  148. 5:25

    original if scale finding. Uh that is

  149. 5:27

    accuracy on the vertical axis. So it

  150. 5:30

    starts at 100% and begins to fall off.

  151. 5:32

    Uh and then the number of rules uh going

  152. 5:34

    up along the bottom on log scale. So

  153. 5:36

    every time it gets halfway across it has

  154. 5:38

    doubled uh the number of rules that it's

  155. 5:40

    dealing with. Um so by 500 rules you're

  156. 5:44

    losing 30 40 50% of them. Uh our curves

  157. 5:47

    matched the results in the original

  158. 5:49

    paper within the noise boundary. So the

  159. 5:50

    finding was real. uh a year ago

  160. 5:53

    somewhere around 200 to 300 rules

  161. 5:55

    frontier models started falling apart.

  162. 5:57

    That is a really low ceiling. Uh so that

  163. 6:01

    is our baseline and now comes the fun

  164. 6:03

    part where we took the exact same test

  165. 6:04

    and pointed it at the current frontier

  166. 6:07

    or rather what the current frontier was

  167. 6:09

    when I ran this test. So I ran GPT 5.5,

  168. 6:12

    Claude Opus 4.7 because 4.8 came out a

  169. 6:15

    week after I ran this test. Uh Gemini

  170. 6:17

    3.1 Pro and Deepseek V4 Pro. So, I gave

  171. 6:20

    them the same prompt, the same words,

  172. 6:22

    the same everything. And I immediately

  173. 6:24

    ran into a problem, which is that they

  174. 6:26

    aced it. They all scored 100%

  175. 6:29

    immediately on this test. Absolutely no

  176. 6:31

    bugs. Uh,

  177. 6:34

    so we'd built a test to find the ceiling

  178. 6:36

    and the models had walked straight

  179. 6:37

    through the ceiling without noticing

  180. 6:38

    that the ceiling was there. Um, and that

  181. 6:40

    was a problem because the benchmark was

  182. 6:42

    written to top out at 500 words. So, I

  183. 6:44

    had to change the benchmark in order to

  184. 6:45

    be able to find the new ceiling. So, I

  185. 6:47

    moved the goalposts. I gave it more

  186. 6:49

    words to include. I doubled uh it from

  187. 6:51

    500 to a,000. I doubled it again from

  188. 6:53

    a,000 to 2,000. And I kept doing that

  189. 6:55

    until I hit a 10,000word vocabulary. And

  190. 6:58

    that is where I began to find the

  191. 6:59

    ceiling of what models can do these

  192. 7:02

    days. Um, so let me put up the this is

  193. 7:05

    the money slide. This is the results.

  194. 7:07

    Remember log scale on the on the uh

  195. 7:11

    x-axis there. So it's going from 500 to

  196. 7:13

    1,000 to 5,000 to 10,000. Uh so it looks

  197. 7:16

    like that scale is falling off of a

  198. 7:18

    cliff and it's actually happening over

  199. 7:19

    like a thousand numbers. Um

  200. 7:22

    but uh look how far to the right these

  201. 7:25

    new curves get before they bend. A year

  202. 7:26

    ago they were falling over at 200 to 300

  203. 7:29

    instructions and now depending on the

  204. 7:30

    model the boundary is closer to 2,000.

  205. 7:32

    And for the best of them it is up to

  206. 7:34

    5,000 instructions before they begin to

  207. 7:37

    fall off a cliff. So in about 12 months

  208. 7:39

    frontier models got close to 10 times

  209. 7:41

    better at following instructions

  210. 7:43

    simultaneously. That is the headline

  211. 7:45

    fighting and there is a lot of nuance

  212. 7:47

    that we need to get into. Um the

  213. 7:50

    capacity to track 2,000 named

  214. 7:51

    constraints in a single prompt is there.

  215. 7:54

    Um and that's really interesting because

  216. 7:56

    I think uh I don't know if everybody

  217. 7:58

    else feels this way but like it feel it

  218. 8:01

    felt to me like the the jump from you

  219. 8:04

    know GPT 5.1 to GPT 5.5 was kind of

  220. 8:06

    incremental, right? It didn't feel like

  221. 8:08

    we'd got 10 times better. But this is a

  222. 8:11

    test that really matters to uh a very

  223. 8:14

    practical thing like how long can my

  224. 8:16

    skills file be? Uh and in the course of

  225. 8:18

    a year we got 10 times better. Uh and

  226. 8:22

    that thing that gets me is that this

  227. 8:23

    benchmark is barely a a year old. A year

  228. 8:25

    later 500 is a rounding error. Uh and

  229. 8:28

    this keeps moving under my feet. I

  230. 8:29

    tested 4.7 uh opus 4.7. Opus 4.8 is even

  231. 8:33

    better. Um so this chart is a little out

  232. 8:36

    of date already which is kind of the

  233. 8:37

    whole point. If you set your engineering

  234. 8:39

    assumptions about how skills files

  235. 8:41

    should work, about how prompt how long

  236. 8:43

    your prompt can be, and you did that

  237. 8:45

    more than about six months ago, you are

  238. 8:47

    incorrect now, and you should probably

  239. 8:49

    be re-engineering how you do stuff. Uh,

  240. 8:52

    but there is more to this story uh

  241. 8:54

    because the way that the a models failed

  242. 8:58

    uh changed dramatically. Uh, and the way

  243. 9:01

    that they failed is very important. This

  244. 9:03

    part was a completely unexpected finding

  245. 9:06

    when I started running the experiment.

  246. 9:08

    Uh, and it totally messed up my test to

  247. 9:09

    start with because uh, the old failure

  248. 9:12

    mode was boring. They would just forget

  249. 9:14

    instructions and I could measure how

  250. 9:15

    many instructions they had remembered or

  251. 9:17

    forgotten. Uh, but the new ones fall

  252. 9:19

    apart in their own weird extremely

  253. 9:21

    onbrand way. Uh, so let me introduce you

  254. 9:24

    to how these four models fail. Uh,

  255. 9:27

    Deepseek 4 is a traditional model. It

  256. 9:29

    just forgets things. It doesn't have any

  257. 9:31

    drama. um it starts forgetting

  258. 9:34

    instructions around 750 rules and by

  259. 9:36

    2000 it's dropping nearly half of them.

  260. 9:38

    Uh so it just forgets which frankly is

  261. 9:40

    the failure mode that I trust most

  262. 9:42

    because it's predictable. It's very easy

  263. 9:43

    to measure. Uh and the other models were

  264. 9:46

    not nearly as cooperative. Uh Opus 4.7

  265. 9:51

    uh would decide repeatedly that the test

  266. 9:53

    was dangerous. Uh and what it would do

  267. 9:55

    is it would refuse at the API level to

  268. 9:58

    complete the test. I didn't know that

  269. 10:00

    there was an API response that you could

  270. 10:01

    get from Claude where it was like, "No,

  271. 10:03

    I could do this, but I'm not going to."

  272. 10:06

    Uh, but that's absolutely an API level

  273. 10:09

    response that Claude supports because

  274. 10:10

    they care so much about safety. Uh, and

  275. 10:12

    I started getting those all of the time.

  276. 10:15

    Uh, and the reason that was happening is

  277. 10:16

    because Claude has a very sensitive

  278. 10:18

    safety classifier. Uh, and if you put in

  279. 10:20

    certain combinations of words like say

  280. 10:22

    anthrax and cyanide, it decides that the

  281. 10:24

    whole request is dangerous and it bails

  282. 10:26

    out. Uh, and if you remember what my

  283. 10:28

    test does, my test is throwing uh 5 to

  284. 10:31

    10,000 random words into uh into an

  285. 10:34

    instruction file. And so my my randomly

  286. 10:37

    selected words contained all sorts of

  287. 10:38

    things that looked dangerous in

  288. 10:40

    combination to the safety filter. And so

  289. 10:41

    it kept bailing saying that I was asking

  290. 10:43

    it to, you know, make a bomb or

  291. 10:44

    something. Um,

  292. 10:47

    so, uh, we had to for to get Claude to

  293. 10:52

    cooperate, I had to take all of my words

  294. 10:54

    and run them through OpenAI safety

  295. 10:55

    filter and filter out all of the naughty

  296. 10:57

    looking words so that it could get to

  297. 10:58

    anywhere. Once I given it that, Claude

  298. 11:01

    did really well. Uh so but the failure

  299. 11:03

    mode is that Claude is more likely to

  300. 11:05

    decide what you're doing is dangerous

  301. 11:07

    very early on uh at you know even two or

  302. 11:10

    300 instructions if what you're doing uh

  303. 11:13

    is you know contains anything to do with

  304. 11:15

    medical advice because medical things

  305. 11:16

    often are dual purpose. They can be

  306. 11:17

    dangerous. They can be safe. Um so uh

  307. 11:21

    the third failure mode was Gemini 3.1

  308. 11:23

    Pro. Gemini is rock solid all the way

  309. 11:26

    out uh to 5,000 instructions. It does

  310. 11:28

    extremely well. um genuinely one of the

  311. 11:31

    best on the chart. Uh and then past that

  312. 11:33

    it gets weird. Um it doesn't forget the

  313. 11:36

    instructions, it gets overwhelmed by the

  314. 11:39

    instructions. What it tries to do is it

  315. 11:42

    uh it uses thinking tokens to make sure

  316. 11:44

    that it is following all of the

  317. 11:45

    instructions at once. And when the

  318. 11:47

    number of instructions gets really high,

  319. 11:48

    it uses all of its thinking tokens. It

  320. 11:50

    uses its entire token budget thinking.

  321. 11:53

    And then it doesn't give any output.

  322. 11:55

    It's it gets to like nine, you know, if

  323. 11:57

    you've given it 10,000 tokens worth,

  324. 11:59

    it'll get 9,500 tokens worth of thinking

  325. 12:02

    and then give you a 500word response

  326. 12:04

    which doesn't contain any of the tokens.

  327. 12:06

    Uh so it thinks itself into a corner and

  328. 12:09

    runs out of room to actually answer,

  329. 12:10

    which is very expensive, uh and totally

  330. 12:13

    unhelpful, which is kind of on brand,

  331. 12:15

    isn't it? Um [snorts]

  332. 12:18

    uh

  333. 12:19

    which, you know, I would never say that

  334. 12:20

    out loud. Uh, and finally comes the

  335. 12:24

    winner, which is uh, GPT 5.5. GPT 5.5 is

  336. 12:27

    the best of the lot. 99% accuracy all

  337. 12:29

    the way out to 5,000 rules. Um, but if

  338. 12:32

    you push it far enough, it is by far the

  339. 12:34

    weirdest of the bunch. Uh, because it

  340. 12:36

    doesn't refuse outright. It doesn't

  341. 12:38

    silently forget. Instead, what it does

  342. 12:39

    is it gets frustrated and tells you that

  343. 12:42

    the test is stupid.

  344. 12:44

    Uh, it starts the report. It gets a few

  345. 12:47

    like that's the thing. It doesn't start

  346. 12:49

    out just saying no. It starts the

  347. 12:51

    report, it starts writing the report,

  348. 12:52

    and like 500 words into the report, it's

  349. 12:54

    like, "No, this is dumb. I'm not going

  350. 12:56

    to do this." And then it politely tells

  351. 12:57

    you, "This is dumb. I'm not going to do

  352. 12:59

    this anymore." Uh, that is the actual

  353. 13:01

    response that it gave me, but that that

  354. 13:02

    was like 5,000 words into the into this

  355. 13:04

    business report that I told it to

  356. 13:06

    generate. Um, so it's not wrong, right?

  357. 13:10

    I was asking for a coherent business

  358. 13:12

    report that on no particular subject

  359. 13:14

    that contains 5,000 random words. You're

  360. 13:17

    right, Gemini DPT. this is a a stupid

  361. 13:20

    thing to ask for. Um,

  362. 13:23

    which is a deeply unreasonable request

  363. 13:25

    and GPT called this out on it. Um, but

  364. 13:27

    it still counts as a failure in the test

  365. 13:29

    because the half-finish report that it

  366. 13:30

    gives you is missing most of the

  367. 13:32

    keywords and it is also the hardest one

  368. 13:34

    to detect because claude bails

  369. 13:36

    immediately. Claude says, "No, I'm not

  370. 13:38

    going to do this." Uh, Deepseek does its

  371. 13:40

    best. Uh, but GPT does what looks like a

  372. 13:44

    good job unless you read all the way to

  373. 13:46

    the end of the report where it says,

  374. 13:47

    "No, actually I'm going to bail because

  375. 13:48

    this is stupid." Um,

  376. 13:51

    so if you step back and look at the four

  377. 13:53

    together, Deep Sea quietly forgets,

  378. 13:54

    Claude gets scared and refuses, Gemini

  379. 13:56

    overthinks itself into silence, and GPT

  380. 13:59

    5.5 finishes half of the job and tells

  381. 14:01

    you that the rest of it is beneath it.

  382. 14:03

    Um, and the point was the point isn't

  383. 14:06

    which one of these is funniest, although

  384. 14:08

    it is genuinely a little funny. Uh the

  385. 14:10

    point is that did it follow my

  386. 14:12

    instructions no longer has one failure

  387. 14:14

    mode. It has four different ways that it

  388. 14:16

    can fail and you can't recognize that

  389. 14:18

    failure unless you know which model

  390. 14:20

    you're dealing with and what its m what

  391. 14:22

    its pattern of failure is going to be.

  392. 14:24

    Uh so the models get 10 got 10x better.

  393. 14:27

    They fail in funny ways. Why should you

  394. 14:29

    care when you uh get back to your desk?

  395. 14:32

    Because three things have changed to

  396. 14:33

    your workflow. The first is that a year

  397. 14:36

    ago, the smart move was to keep every

  398. 14:38

    skills file very very short. Uh under

  399. 14:41

    200 instructions, then point off to

  400. 14:42

    subsklls and a whole like you know

  401. 14:45

    byzantine labyrinth of uh additional

  402. 14:48

    skills files and subfiles and things

  403. 14:50

    like that. Uh and you mo you were

  404. 14:52

    compressing your your instructions to

  405. 14:54

    fit into a very small available space

  406. 14:56

    and you don't need to do that anymore.

  407. 14:58

    Your skills files can be very long. Um,

  408. 15:01

    number two is that if your use case

  409. 15:03

    needs a 100 specific rules or 300, you

  410. 15:05

    can just put them all in the prompt. Uh,

  411. 15:09

    you don't have to lie awake wondering

  412. 15:10

    whether which ones the model silently

  413. 15:12

    ignored. Um, and if you've been thinking

  414. 15:15

    uh about uh your own lived experience of

  415. 15:18

    using models, uh you probably recognize

  416. 15:21

    this. you've discovered that you've got

  417. 15:22

    less worried about how long your your

  418. 15:24

    prompt is going to get uh because the

  419. 15:26

    models have genuinely got 10 times

  420. 15:28

    better at following your prompts. Um

  421. 15:32

    2,000 named constraints is an entire

  422. 15:34

    style guide, right? Like it's it's every

  423. 15:36

    brand rule, every legal disclaimer. Uh a

  424. 15:38

    year ago, you'd have had to shard that

  425. 15:40

    across a dozen specialized agents and

  426. 15:42

    hope that your specialized agents are

  427. 15:43

    hand are are handing off to each each

  428. 15:45

    other cleanly. But now you can ignore

  429. 15:48

    that. Um but the third thing is the big

  430. 15:50

    one. The question used to be can the

  431. 15:52

    model even do this? And the answer is

  432. 15:54

    now firmly yes. Well reasonably firmly.

  433. 15:57

    Uh is it worth the cost is the new

  434. 16:00

    question because you can include 10,000

  435. 16:03

    words of of sorry 10,000 different

  436. 16:05

    instructions into your prompt. But that

  437. 16:06

    is going to be an enormous prompt. It's

  438. 16:08

    going to be a very expensive prompt.

  439. 16:09

    It's going to be a very slow prompt. So

  440. 16:11

    what used to be a hard wall that you

  441. 16:12

    would run against has now become a soft

  442. 16:14

    trade-off of is it worth me adding all

  443. 16:16

    of these extra instructions if it's

  444. 16:18

    going to give me more cost and more

  445. 16:19

    latency.

  446. 16:21

    Uh and now some caveats uh to head off

  447. 16:25

    the Q&A. Um first and important first

  448. 16:28

    and most important I mentioned this

  449. 16:29

    earlier this is a proxy task including

  450. 16:31

    random words uh in a in a fake business

  451. 16:34

    report um is evidence that long skills

  452. 16:37

    file works. It is not the same as proof

  453. 16:39

    that a long skills file works. Um, also

  454. 16:43

    the models hit the wall at wildly

  455. 16:44

    different points anywhere from 750 to

  456. 16:46

    9,000 plus. So you have to pick your

  457. 16:48

    model very carefully. Uh, what our test

  458. 16:53

    doesn't do is measure whether the model

  459. 16:55

    reasoned clearly over a giant prompt. So

  460. 16:59

    uh, the good news is since I did my

  461. 17:00

    research several weeks ago, uh, a whole

  462. 17:02

    bunch of people have piled in on this.

  463. 17:04

    Um and now there's good research uh

  464. 17:07

    actual scientists have got involved and

  465. 17:09

    done uh Chroma's has done context rot

  466. 17:12

    work uh across 18 models showing that

  467. 17:15

    accuracy on long inputs can fall 30 to

  468. 17:18

    50% well before you hit the context

  469. 17:20

    window limit. Uh and the weird part of

  470. 17:23

    their finding was that uh coherent well

  471. 17:26

    ststructured text is more likely to hit

  472. 17:28

    that failure mode uh than if you just

  473. 17:30

    put your instructions into a random

  474. 17:31

    order and shuffle them in. Uh, I don't

  475. 17:35

    know why that's the case. I'd have to

  476. 17:36

    read their report. Um, so the model can

  477. 17:40

    track 2,000, 5,000, possibly 10,000

  478. 17:42

    instructions, but it's not necessarily

  479. 17:44

    going to uh reason clearly over them.

  480. 17:47

    It's not necessarily if those if those

  481. 17:49

    instructions conflict, if there is

  482. 17:50

    tension between them, it's not

  483. 17:52

    necessarily going to get that right. Um,

  484. 17:55

    and then there's the other one I

  485. 17:56

    mentioned briefly. Uh, collude's

  486. 17:59

    refusals are annoying, but they are

  487. 18:00

    loud. You get an error, you know it

  488. 18:02

    failed. Uh GPT's polite half-finish

  489. 18:04

    report is much more dangerous because it

  490. 18:06

    looks like a real answer. Uh you have to

  491. 18:08

    read the whole thing to notice that it

  492. 18:09

    gave up quietly halfway, which means

  493. 18:11

    that you can't trust the output. It

  494. 18:14

    means you have to read the output every

  495. 18:16

    single time to make sure whether or not

  496. 18:17

    it's working. Uh so the model will

  497. 18:20

    accept your 2,00 rules and it will hand

  498. 18:22

    you back something that looks at least

  499. 18:23

    to begin with confident and polished but

  500. 18:25

    could be bailing out halfway through.

  501. 18:28

    Um,

  502. 18:30

    so, uh, as an aside, people always ask

  503. 18:33

    me, "How much did all this cost me?" It

  504. 18:34

    cost me $29 to run all of these queries.

  505. 18:37

    2,37

  506. 18:39

    2,300 calls across seven models, uh,

  507. 18:42

    came to $29. Uh, it turns out novel

  508. 18:44

    research doesn't cost very much. Um,

  509. 18:48

    and this is the part of the talk where I

  510. 18:50

    was saying that you have to check this

  511. 18:51

    stuff in production because you can't

  512. 18:53

    trust that your model isn't going to

  513. 18:55

    silently fail. Uh, so you knew I was

  514. 18:58

    going to mention evals eventually

  515. 18:59

    because I work at Arise and this is

  516. 19:00

    where I do that. Um, but there are

  517. 19:02

    plenty of plugs for Arise. So I'm just

  518. 19:04

    going to say one true thing which is

  519. 19:06

    that if you are building a real AI

  520. 19:07

    application and you are giving it

  521. 19:09

    genuinely tricky tasks, you are going to

  522. 19:11

    run into one or more of these failure

  523. 19:12

    modes with a frontier model. Uh, and

  524. 19:15

    unless it's Claude telling you just to

  525. 19:16

    off at the API level, the only way

  526. 19:19

    to know that something went wrong is

  527. 19:21

    monitoring your outputs with another

  528. 19:22

    LLM. That is an eval. And that is what

  529. 19:24

    Arise does. And I'll leave it at that.

  530. 19:27

    Uh, I already mentioned that there's

  531. 19:29

    been new research since we did our own.

  532. 19:31

    Here's another important one. A paper

  533. 19:32

    landed testing 46 models called

  534. 19:34

    revisiting the reliability of language

  535. 19:36

    models in instruction falling, which you

  536. 19:38

    can bet made my ears perk up after I did

  537. 19:40

    that research myself. Uh, and they found

  538. 19:42

    something uncomfortable, which is that a

  539. 19:44

    model can ace a benchmark like ours and

  540. 19:46

    still be wildly unreliable. because if

  541. 19:48

    you reword the same instruction in a

  542. 19:51

    slightly different way, it can make a

  543. 19:52

    radical difference to how well uh it

  544. 19:55

    follows those instructions. So the model

  545. 19:57

    can follow 2,000 instructions and it can

  546. 19:59

    do it really well. But if you put the

  547. 20:01

    same instructions, the same 2,000

  548. 20:03

    instructions in a different order, it

  549. 20:05

    can suddenly make the model much worse

  550. 20:07

    at following those instructions. And how

  551. 20:09

    ex how exactly to do that? what is the

  552. 20:12

    correct order of instructions to give

  553. 20:14

    your model such that it follows them

  554. 20:15

    perfectly as opposed to getting confused

  555. 20:17

    is still research that is being done. So

  556. 20:20

    capacity went up but reliability is

  557. 20:23

    still a problem. Um and then this is

  558. 20:26

    just a little brag because uh I was

  559. 20:29

    happy about it like I'm not a scientist.

  560. 20:30

    I did some research and then a whole

  561. 20:32

    bunch of other actual scientists piled

  562. 20:34

    in uh and did real science on the same

  563. 20:36

    question. There's now a whole bunch of

  564. 20:37

    benchmarks that have shown up uh to

  565. 20:39

    measure this same question. Firebench,

  566. 20:41

    CCR bench, Guidebench uh are all trying

  567. 20:43

    to measure the same thing. How well

  568. 20:45

    models follow a lot of real messy

  569. 20:47

    constraints at once. Uh and now the

  570. 20:49

    whole field is looking at it. So if you

  571. 20:51

    want better science than my, you know,

  572. 20:53

    10,000 random words, uh the real science

  573. 20:56

    exists now. Uh so that gets me to where

  574. 21:00

    I will leave you. A year ago, the hard

  575. 21:02

    part of writing a skill was fitting

  576. 21:03

    everything in without the model losing

  577. 21:04

    the plot. That was a compression

  578. 21:06

    problem, and the compression problem is

  579. 21:08

    gone. uh the model will hold your 2,000

  580. 21:10

    instructions just fine. The new hard

  581. 21:12

    part is knowing whether it actually did

  582. 21:14

    what you said and that is a verification

  583. 21:16

    problem. Uh a verification problem

  584. 21:18

    doesn't get solved by writing a better

  585. 21:20

    prompt. It gets solved by checking the

  586. 21:21

    output every time uh the same way that

  587. 21:24

    you would test any other code, which is

  588. 21:25

    to say an eval. The ceiling moved by 10x

  589. 21:28

    in one year. Uh so go back and check the

  590. 21:31

    assumptions that you made six months ago

  591. 21:33

    about how big your prompts should be,

  592. 21:35

    how big your uh instructions can get. uh

  593. 21:38

    because they might already be wrong.

  594. 21:39

    Boom. Be wrong. So that is the talk. If

  595. 21:42

    you want uh all of the code and all of

  596. 21:44

    the data, uh it is at this GitHub URL.

  597. 21:47

    Uh and this other QR code is uh

  598. 21:50

    something marketing made me insert. We

  599. 21:52

    are having a World Cup watch party

  600. 21:54

    tonight at 5:00 p.m. Uh you can come to

  601. 21:56

    our party. That link is to the Luma that

  602. 21:58

    will get you into the get into get you

  603. 22:00

    into the party. Uh I hope this talk has

  604. 22:03

    given you some novel information or at

  605. 22:05

    least a couple of laughs. And thank you

  606. 22:06

    so much for your time and attention.