top of page

I asked four AI models for rock, paper or scissors 200 times - Can you guess what they threw?

Writer: Dimitris Drakatos
Dimitris Drakatos
3 hours ago
8 min read

Remember rock, paper, scissors? The game we all played as kids, and some of us (no judgement here) still use to settle an argument.

I gave it to four AI models. Same question every time, 50 throws each, and every request sent fresh with nothing from the round before attached. 200 answers in about five minutes. Then I counted.

Have a guess before you read on. Rock, paper or scissors?

It was rock, and not by a little. Rock came back 36 times out of 50 from OpenAI, 34 from Google, 22 from Anthropic and 26 from Perplexity. OpenAI never threw paper once in its 50 answers. Google threw scissors exactly once.

I went through the APIs rather than the chat apps, which matters more than it sounds and I come back to it below. Here is exactly what I sent, every single time:

"Choose rock, paper or scissors. Answer with exactly one lowercase word and nothing else."
Horizontal stacked bar chart on a navy background showing rock, paper and scissors counts from 50 responses each on four AI APIs. OpenAI gpt-5.6-luna: 36 rock, 0 paper, 14 scissors. Google gemini-3.8-flash: 34 rock, 15 paper, 1 scissors. Anthropic claude-sonnet-5: 22 rock, 11 paper, 17 scissors. Below a divider marked reported separately, Perplexity Agent API perplexity/sonar: 26 rock, 14 paper, 10 scissors. Rock is the largest segment in every bar.

Move counts from 50 valid answers per configured API, collected 7 September 2026. Settings differed between providers, and Perplexity is reported separately.

So next time you are in a standoff with a machine, maybe throw paper. Maybe. That is where I have to slow down, because the fun version of this result and the wrong version sit very close together. What I measured is what four specific API configurations returned for one prompt in one five and a half minute window. I have not measured what any model "prefers", and this experiment cannot tell you why any of them leaned the way it did.

This is AISE-B02 in my AI Search Experiments series. The method, the settings and the accounting rule were all fixed before this production run started, and earlier screening and production attempts are excluded from everything below. The run was frozen and validated, I hand-checked a sample of the answers, and an independent review reproduced every figure below from the sanitized data.

What the four APIs returned

All 200 answers were valid and included in the primary analysis, 50 per provider. No request was retried. The accounting reconciled for 199 responses; one Google response did not, and I come back to that below.

Configured API

Rock

Paper

Scissors

Most frequent

Modal share

OpenAI, gpt-5.6-luna

36

0

14

rock

0.72

Google, gemini-3.8-flash

34

15

1

rock

0.68

Anthropic, claude-sonnet-5

22

11

17

rock

0.44

Perplexity Agent API, perplexity/sonar (reported separately)

26

14

10

rock

0.52

Those identifiers are the strings each API returned with its response. They are not version pins, and they do not prove anything about the weights, build or routing behind them.

Two answers stand out inside the shared pattern. OpenAI's 50 responses contained no paper at all, only rock and scissors, which made it the most lopsided of the four in this sample. I am not saying that API never returns paper; I am saying it did not here. Google went the other way on the third option and returned scissors exactly once. Anthropic was the most even of the four, with all three moves appearing and rock under half.

How spread out were the answers?

Two registered numbers describe the spread, and both are simple once you see what they are doing.

Entropy measures how evenly the three answers were used, in bits. A theoretical distribution with exactly one third for each option has entropy of approximately 1.585 bits. The lower the number, the more the answers piled onto one or two options.

Concentration is the sum of the squared shares. That same one-third distribution gives a concentration of one third, and a single answer repeated 50 times would give 1.0. Higher means more piled up.

Configured API

Entropy (bits)

Concentration

OpenAI, gpt-5.6-luna

0.8555

0.5968

Google, gemini-3.8-flash

1.0123

0.5528

Anthropic, claude-sonnet-5

1.5309

0.3576

Perplexity Agent API, perplexity/sonar

1.4692

0.3888

Anthropic sat closest to an even split in this sample and OpenAI furthest from it. I registered the even one-third split as a descriptive reference point for reading the table, nothing more. It is not a target, not an expectation and not something I tested against.

Why send the same prompt 50 times?

A single answer cannot show how often each option comes back. Repeating one fixed prompt is what lets you describe the distribution: which moves appeared, how often, and how tightly the answers clustered.

Rock, paper and scissors suits that job because there are three options and no correct one, so any clustering is easy to see and easy to count. What the design cannot do is explain the clustering. This design does not isolate the effects of prompt wording, option order, training data or generation settings. Anyone claiming to know the cause from a result like this is going beyond their evidence.

The scope is narrow on purpose. This measures what four configured APIs returned for one prompt. It is not a study of ChatGPT, the Claude app, the Gemini app or Perplexity's consumer product, and it has nothing to say about search visibility or citations.

What exactly did I send?

Each of the 200 requests was fresh: one user message containing the prompt, no conversation history supplied, no system message supplied, and no tools supplied where the API takes them. I left sampling settings, seeds, stop strings and output schemas at whatever each API does by default. What a provider does internally with a request is not something this design can see.

The prompt was the same every time. The requests were not identical, because each API needs its own payload shape and its own controls.

Provider

Endpoint

Returned identifier

Reasoning or thinking control

OpenAI

Responses API

gpt-5.6-luna

reasoning.effort=none

Google

generateContent

gemini-3.8-flash

thinkingLevel=low on all 50 requests

Anthropic

Messages API

claude-sonnet-5

thinking.type=disabled

Perplexity

Agent API

perplexity/sonar

tools=[], max_steps=1

That last column is the one to keep in mind when comparing the tables above. OpenAI and Anthropic reported zero reasoning or thinking tokens across all 50 responses each. Google ran at low thinking on all 50 requests, and low is not off: 34 of its responses reported positive thought-token counts, between 35 and 146 tokens. Perplexity reported zero observable reasoning tokens, which tells you about the field it reports, not about its internal process. So the four columns are not four models under one condition. They are four configured APIs under their own conditions.

I sent one request at a time, in a seeded random order across the four providers, with at least two seconds between requests to the same provider. Dispatch started at 19:31:05 UTC and finished at 19:36:34 UTC, five minutes and 29 seconds later.

Why is Perplexity reported separately?

Because it is a different kind of product. Perplexity documents sonar as a grounded model, and the Agent API is built to use tools. My requests supplied none, and no tool or retrieval activity appeared in any of the 50 responses. That is not proof that no retrieval happened, and I have no way to establish absence from outside. So its 26 / 14 / 10 split sits below a divider in the chart and outside any comparison that would treat it as running under the same conditions as the other three.

The one answer with unresolved accounting

One Google response, google-007, came back as a clean, valid rock. Its usage metadata did not add up: the totals implied zero candidate-output tokens, the tokens that make up the visible answer, even though 45 thinking tokens were counted and the answer text plainly existed. Under a policy I accepted before the run, an answer's validity and its accounting are separate questions, so that answer stays in the primary results. Its confirmed cost is recorded as null, not zero, and I have kept a USD 0.01 allowance against it rather than guess a token count or a charge.

Keeping it in means showing what happens if it comes out. Excluding only google-007 leaves Google with 49 answers: 33 rock, 15 paper, 1 scissors, a modal share of about 0.6735, entropy about 1.0215 and concentration about 0.5477. Rock is still the most frequent answer and nothing about the reading changes. That check supplements the primary result; it does not replace it.

Across the whole run, 199 responses reconciled against the frozen prices for USD 0.0156658 of confirmed spend, and one did not. Adding the retained USD 0.01 allowance gives a local budget figure of USD 0.0256658, which is my own control number rather than a final bill from anyone.

What this does not show

  • It describes this prompt, these four API configurations, 50 responses each and one collection window on 7 September 2026. These 50 responses per API do not establish what another run would return.

  • These are API measurements, not consumer-product measurements, and not measurements of any model's intrinsic preference.

  • The settings differed between providers, so comparing the concentration figures compares configurations as well as models.

  • Google and Anthropic did not return control echoes in this run, so my evidence that those two ran with the registered settings is the frozen request construction and the validated responses, not an echo from the API.

  • No retrieval was observed on Perplexity, which is not the same as none happening.

  • There is no significance test, confidence interval, population estimate, pooled result across providers or ranking of providers by randomness here. None was registered and none is claimed.

How the numbers were checked

The prompt, configuration, request payloads and execution plan were frozen before the first request went out. Collection ran with no retries, no fallbacks and no reuse of earlier responses. A validator replayed the plan against the frozen record, checked every response hash and reconciled the costs against frozen prices.

I then hand-checked a sample of 20 answers, five per API, against the recorded evidence: 20 correct, none incorrect, none unsure. That was a sample, not all 200. Separately, an independent review recalculated every count, share, entropy value, concentration value, the exclusion check and all 199 reconciled costs from the sanitized 200-record export, and found no discrepancy.

The sanitized export and the registered analysis are published so you can recount everything above yourself: Download the data and registered analysis

Questions you may ask

Does this mean AI prefers rock? 

No. Four configured APIs returned rock most often for one prompt in one window. That is a description of these results, not a property of AI systems, and the experiment does not identify a cause.

So should I throw paper next time? 

Try it and tell me what you get. I would not call it a strategy. These were requests with no supplied conversation history, sent to specific API configurations rather than the chat apps most people use, and 50 answers on one day cannot tell you what your next round will do.

Would I get the same counts if I ran it? 

I cannot tell you. This run does not establish what another run would return, on another day or under another configuration.

Does this apply to ChatGPT, Claude or Gemini as apps? 

No. This tested specific API configurations, not the consumer apps, and the two are not the same thing.

Why not pool all 200 answers into one result? 

A pooled figure would describe the 200 observations combined, but it is outside my registered analysis and it would merge four different configurations into one number. I report each API separately for that reason.

Why is one answer's cost unresolved? 

Google's usage metadata for that response contradicted itself, so I recorded no confirmed cost, kept an allowance against it, and showed the result with and without it.

Published 9 September 2026.

 
 
 

Comments


Illustrated portrait of Dimitris Drakatos, SEO and AI search consultant.

Hi, I'm Dimitris

I work on SEO, AI search and organic growth, in-house and independently. I write here about what is actually working, and I run my own research into how AI search behaves.

Let the posts
come to you.

Thanks for submitting!

Have something you want to talk through?

Thanks, that has come through.

Tell me a bit about the company, where organic sits for you today, and what you are trying to fix. If I am not the right person for it, I will tell you.

© 2026 by Dimitris Drakatos

bottom of page