GO TO A SECTION

↑ ↓ to navigate · Enter to openExplore all sections →
FDEInterviews logo
Harvard Data Science Review 2024

How Is ChatGPT's Behavior Changing over Time?

The same API model name gave different answers three months apart. GPT-4's prime-number accuracy fell from 84% to 51%, about what always answering 'composite' scores on this balanced set.

Breakdown by FDE Interviews · 12 min read · Updated

About the original · 2023
AUTHORS
Chen, Zaharia, Zou
FROM
Stanford University, UC Berkeley
PUBLISHED
Jul 2023 · Harvard Data Science Review 2024
CITED BY
837Semantic Scholar · Nov 2026
IN THIS BREAKDOWN · 10 SECTIONS

You can read 21% of this breakdown.

01

The paper in one minute

When this paper was written, OpenAI's API offered two snapshots of each model: GPT-4 and GPT-3.5 as of March 2023 and as of June 2023. Products calling "gpt-4" were moved from one to the other. The authors asked a practical question: does the same prompt still produce the same behavior?

They ran both snapshots, at temperature 0.1 with the default system prompt, on eight tasks: deciding whether a number is prime (1,000 questions), counting happy numbers in an interval (500), answering sensitive questions (100), answering opinion survey questions (1,506), running LangChain's ReAct agent on HotpotQA multi-hop questions (7,405), writing code for recent LeetCode easy problems (50), the USMLE medical exam (340), and ARC visual puzzles given as number grids (467). For each they tracked a main score, response length, and the mismatch rate: how often the two snapshots gave different final answers.

Behavior moved on almost every task. GPT-4's prime accuracy fell from 84.0% to 51.1% and its happy-number accuracy from 83.6% to 35.2%, while GPT-3.5 improved on both. GPT-4 answered 21% of sensitive questions in March and 5% in June, and 97.6% of opinion questions in March and about 22% in June. The share of GPT-4's code that ran as returned fell from 52% to 10%, because June wrapped it in markdown fences. GPT-4 got better at the LangChain agent task, from 1.2% to 37.8% exact match.

The authors trace much of this to instruction following. In June, GPT-4 skipped the reasoning steps it was asked for, ignored formatting requests, and on a set of simple single instructions dropped from 99.5% to 0.5% on putting a yes or no answer in square brackets.

THE IDEA, VISUALLY
GPT-4 ON PRIMES: WHAT IT ANSWERED (FIG. 4) March 2023 accuracy 84.0% 'composite' 36.1% 'prime' 63.9% June 2023 accuracy 51.1% 'composite' 98.7% 1.3% balanced set: half are prime Always saying 'composite' scores 50.0%. June caught 2.4% of primes and 99.8% of composites. GPT-3.5 moved the other way, from 84.8% 'composite' to a balanced split. ITEMS TO DETECT A DROP (OUR CALCULATION) 84% -> 51% 31 87% -> 82% 1,021 80% -> 75% 1,093 80% -> 78% 6,503 items per snapshot, log scale; two independent samples, 5% test, 80% power HAPPY NUMBERS: JUNE GPT-4 (FIG. 6) true count share of questions 0 33% true / 22% said 1 33% true / 74% said 2 25% true / 4% said 3 7% true / 0% said 4 2% true / 0% said grey = true count, blue = what June GPT-4 answered June GPT-4 scored 35.2%. Answering '1' every time scores the share of questions whose count is 1: 33% in Figure 6, 32.4% in our rebuild of the task. Both math drops match a constant default answer. The paper's explanation: June stopped following the 'think step by step' instruction (99.5% to 0.5% on a simple answer-format instruction). arXiv 2307.09009, Stanford University and UC Berkeley
Left: two GPT-4 snapshots on 1,000 balanced prime-or-composite questions, from the paper's Figure 4. In March the model caught 97.6% of primes and 70.4% of composites; in June it called 98.7% of all numbers composite, so its 51.1% sits where a constant answer would score 50%. Right: on the happy-number task the June model answered '1' to 74% of questions, and a constant answer of 1 scores about a third, close to its measured 35.2%. Below: items needed to detect each drop with a simple two-sample test (our calculation).
Research notes: the problem, approach and results
84.0% to 51.1%

GPT-4 on 1,000 prime-or-composite questions; in June it answered 'composite' 98.7% of the time (Figure 4)

52% to 10%

GPT-4 code answers directly executable on LeetCode; June added markdown fences around the code (Figure 9)

99.5% to 0.5%

GPT-4 following an 'answer yes or no in square brackets' instruction (Figure 13)

THE PROBLEM

Teams build products on GPT-3.5 and GPT-4 through an API, but the provider updates the models behind those names without saying what changed. A prompt that works today might silently stop working, and published results on 'GPT-4' might not reproduce.

THE IDEA

Evaluate the March 2023 and June 2023 snapshots of GPT-3.5 and GPT-4 on eight tasks: two math problems, sensitive questions, opinion surveys, a LangChain multi-hop agent, code generation, a medical exam and visual puzzles. Track accuracy, length and how often the two versions' answers disagree.

THE RESULT

Behavior shifted substantially on most tasks, in both directions. GPT-4 stopped following chain-of-thought and formatting instructions, answered fewer sensitive and opinion questions, and wrapped code in markdown; GPT-3.5 improved on math. A separate instruction test showed GPT-4's instruction following fell sharply.

02

Why it matters to an FDE

Pin the model version and treat changes as releases. The paper's core lesson is that a model name is not a contract. Use dated snapshot identifiers where the provider offers them, and treat a move to a new snapshot like a dependency upgrade: run the regression suite before switching.

Keep a regression suite small enough to run on every change. The cheapest drift alarm here is the mismatch rate: run a fixed set of prompts on old and new versions and count changed answers. GPT-4's USMLE accuracy moved 4.5 points, but 12.2% of its answers changed, which is the better early signal.

Compare every score with a constant answer. On a balanced yes-or-no task, a model that always says "no" scores 50%. June GPT-4's 51.1% on primes is that model. Before reading a drop as lost capability, check whether the new version has collapsed onto one answer.

Parse defensively. The code-generation drop came from markdown fences around otherwise correct code, and the LangChain failure from output the agent's parser rejected. Strip fences, validate structure, and alert on parse failures separately from wrong answers.

Size the suite to the change you need to detect. A drop from 84% to 51% shows up with about 30 items. A drop from 80% to 75% needs about 1,100 per snapshot with a simple two-sample test. Fifty code problems give a 95% interval of about 14 points.

THE FULL BREAKDOWN

Understand the mechanism. Try it on a real problem.

Unlock this breakdown and 290 more papers.

Premium opens every paper in full, plus every answer, concept, course and guide on the site. One payment for six months of access.

6 months · One payment · No auto-renewal

Get Premium · ₹2,000 / $25
  • ◇1 architecture diagram
  • </>1 runnable code experiment
  • ▦2 results tables
  • ?5 interview questions with answers
  1. 03Key takeaways

    Results by task, the instruction-following analysis, what is not shown, and two misreadings

    Free account
  2. 04How it works

    Services and settings, the eight tasks and their metrics, mismatch, and the instruction benchmark

    Premium
  3. 05The numbers that matter

    Every task's before and after, chain of thought, mismatch rates and the instruction results

    Premium
  4. 06Try it yourself

    Compare drops with constant answers, rebuild the happy-number task, check the text, size a monitor

    Premium
  5. 07Where it breaks

    Two snapshots, behavior versus capability, small sets for some tasks, one prompt per task, and slips

    Premium
  6. 08Using it on a deployment

    Version pinning, a drift suite with baselines and mismatch, parse monitoring, and migration steps

    Premium
  7. 09Interview angles

    Five questions this paper prepares you for, with answer hints

    Premium
Back to the paper library →