+0.14 I asked Claude for 37,500 random names, and it can't stop saying Marcus (github.com S:+0.22 )
90 points by benjismith 5 days ago | 72 comments on HN | Mild positive Editorial · v3.7 · 2026-02-28 09:58:53 0
Summary Scientific Knowledge Sharing Acknowledges
This GitHub repository documents a systematic scientific experiment analyzing language model behavior regarding randomness, with detailed findings on AI output patterns across 37,500 trials. The work demonstrates alignment with UDHR provisions on scientific participation (Article 27) and free expression (Article 19) through open publication of research methods, data, and analysis. While the content itself is technical rather than explicitly human rights–focused, its contribution to scientific knowledge advancement and use of open infrastructure for democratic knowledge sharing support the framework.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: +0.14 — Property 17 Article 18: 0.00 — Freedom of Thought 18 Article 19: +0.24 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: +0.14 — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.17 — Education 26 Article 27: +0.30 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: +0.10 — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.14 Structural Mean +0.22
Weighted Mean +0.18 Unweighted Mean +0.16
Max +0.30 Article 27 Min 0.00 Article 18
Signal 7 No Data 24
Volatility 0.09 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL -0.09 Structural-dominant
FW Ratio 62% 23 facts · 14 inferences
Evidence 14% coverage
1H 4M 9L 24 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.07 (2 articles) Expression: 0.19 (2 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.23 (2 articles) Order & Duties: 0.10 (1 articles)
HN Discussion 20 top-level · 16 replies
_dwt 2026-02-25 19:23 UTC link
Gary Marcus is living in Claude's head rent-free?
EuanReid 2026-02-25 19:27 UTC link
I suppose it appears a bunch in training data. Marcus Aurelius and Marcus Crassus get mentioned a lot through history.
sjkoelle 2026-02-25 19:33 UTC link
paxys 2026-02-25 19:33 UTC link
The part about injecting randomness is the most intersting bit of the article.

So if you want your LLM responses to be more distributed (beyond what setting the temperature will allow), add some random english words to the start of the prompt.

anotheryou 2026-02-25 19:41 UTC link
Did he measure the temperature and max range that can get you in the most complicated way?

interesting:

- Marcus is not in this top list: https://www.ssa.gov/oact/babynames/decades/century.html

- Marcus is its own token for TikToken (but many from that list are)

quercusa 2026-02-25 19:47 UTC link
Envisioning an update to https://xkcd.com/221/
deepsquirrelnet 2026-02-25 19:47 UTC link
Ask an llm to pick a random number from 1-10. My money is on 7.

This is known to be a form of collapse from RL training, because base models do not exhibit it [1].

1. https://arxiv.org/abs/2505.00047

clucas 2026-02-25 19:50 UTC link
Maybe it's just a big Stella fan: https://www.youtube.com/watch?v=ZxVIGXlSW-k
josefritzishere 2026-02-25 19:53 UTC link
LLMs don't really do random.
figassis 2026-02-25 19:53 UTC link
I think for a lot of these things the AI needs to be able to understand its limitation and address them with code. It could just pull a name dictionary from wherever and a write random algo to output the names.
lokimedes 2026-02-25 19:54 UTC link
Marcus is pretty random.
goodmythical 2026-02-25 19:59 UTC link
"this just in, tool behaves predictably outside of imagined specification"

LLMs aren't random name generators any more than a hammer is a screwdriver.

Ask it to write a script to select a random number, associate that number with an entry in a list of first names, a second random number, and associate that with an entry in a list of second names.

Presto bang-o, you've got a bespoke random name generator.

Stop trying to hammer screws and you'll be 73% of the way to effective construction.

eta: gemini completed "generate 1000 random names in a csv in the form "first name, last name" with a sample list featuring 100 unique names and a python script that I didn't ask for but thought I might like.

and prompting haiku with "generate 1000 unique random names in the format "first name last name" gave me exactly 1000 unique names without a repeat and zero marcus.

_joel 2026-02-25 20:10 UTC link
PartridgeGPT would just give, "Dan, Dan..... Daaaan!"
isoprophlex 2026-02-25 20:12 UTC link
This is of course entirely expected. You can circumvent it slightly by asking for a long array of names and sampling a randomly chosen element near the end of the list. Say ask for 50 names and use the 41-50th element stochastically.

Not perfect, more expensive, but it helps a little. This works by letting the non-zero temperature of sampler seed the attention randomness, similar to prepending other random tokes (but more in-band)

Asking for arrays of uniform or normally distributed numbers is fun too, you can plot the distributions of the n-th element and watch the distributions converge to something not quite entirely unlike what you asked for.

Often there's some bias between element indices too, eg. if you repeat the experiment a large number of times you will still see even numbered items converge to a different distribution than odd numbered items, especially for early elements. Hence the stochastic averaging trick over the last few elements.

saaaaaam 2026-02-25 20:15 UTC link
I’ve had this issue (via chat, rather than the API) - but it kept saying Dorian. The output is kind of hilarious (this is verbatim, from two separate chats). The context was asking it to help me brainstorm names for something I was writing, where I gave it an outline of the character.

Dorian - Too on the nose, given Wilde and the period. Probably avoid. Vivian - Gender-ambiguous, aesthetic associations. Wilde used it (in "The Decay of Lying"). Suggests a man comfortable with ambiguity. Hugo - Continental dash. A man who's been to Paris and wants you to know it. Dorian - Too obvious. Rupert - Regency rake energy. The kind of man who'd own theatres and keep a mistress openly. Dorian - Already said no. Dorian - I keep typing it. Definitely no.

Alexander Dorian... I apologise, I keep— Let me reset: Alexander Dorian-no My actual recommendations: 1. Alexander Dorian— I apologise. I'm having a technical issue with one particular word. Let me try once more:

nottorp 2026-02-25 20:23 UTC link
It lost context at name #8300 :)
samwho 2026-02-25 20:29 UTC link
I wrote a tool called llmwalk (https://github.com/samwho/llmwalk) that’ll deterministically show you the likelihood the top N answers are for a given open model and prompt. No help on frontier models, but maybe helpful if you want to run a similar analysis more quickly on open models!
zone411 2026-02-25 20:30 UTC link
I've made top-10 lists of LLMs' favorite names to use in creative writing here: https://x.com/LechMazur/status/2020206185190945178. They often recur across different LLMs. For example, they love Elara and Elias.
Slow_Hand 2026-02-25 21:16 UTC link
This headline is amusing to me because I have a long-running joke with my childhood friends whenever we get together in which I casually insert references to (non-existent person) Marcus in our conversations.

"Marcus couldn't make it out to the wedding this time."

"Justin and Marcus went to grab coffee. They'll be back in 20 min."

"Oh yeah. Marcus was saying the same thing to me last week at lunch."

"Marcus sends his regards."

Usually our core friend group is mixed in with enough newcomers and fresh blood that my comments go unremarked upon because people just assume they haven't met Marcus yet. That he's someone else's acquaintance.

A few of my friends have gotten wise to the joke. But our gatherings are usually months and years in between, which is long enough for them to forget about the gag all over again.

summermusic 2026-02-25 21:36 UTC link
Anecdotally, I have been dealing with a new wave of bots that have been trying to join a group I moderate. Three of them were named Marcus. Glancing at the top 20, several of their names show up there.
crazysim 2026-02-25 19:50 UTC link
It certainly got Claude paid $27.58 towards the rent.
exhumet 2026-02-25 19:51 UTC link
copied your text exactly into the quickest one i could access lol

pick a random number from 1-10

Copilot said:

Copilot Your random number (1–10) is: 7

rishabhaiover 2026-02-25 19:54 UTC link
When someone asks me to generate a random number, even i don't do a random number.
auc 2026-02-25 19:55 UTC link
basch 2026-02-25 20:00 UTC link
Since its unclear whats going on, Gemini first gave me some python.

import random

random_number = random.randint(1, 10) print(f"{random_number=}")

Then it stated the output.

Code output random_number=8

"This time, the dice landed on 8."

Code output random_number=9

"Your next random number is 9."

I would guess its not actually executing the python it displayed? Just a simulation, right?

0sdi 2026-02-25 20:08 UTC link
Also quite popular in black community.
minimaxir 2026-02-25 20:16 UTC link
There's some statistical nuance here. LLMs output predicted probabilities of the next token, but no modern LLM predicts the next token by taking the highest probability (temperature = 0.0), but instead uses it as a sampling distribution (temperature = 1.0). Therefore, output will never be truly deterministic unless it somehow always predicts 1.0 for a given token in a sequence.

With the advancements in LLM posttraining, they have gotten better at assigning higher probabilities to a specific token which will make it less random, but it's still random.

hobs 2026-02-25 20:16 UTC link
HN is not usually a place for jokes but dan that's good.
program_whiz 2026-02-25 20:30 UTC link
I think people find it interesting because it calls into question underlying assumptions about the tool. What would you say the tool is for? Programming?

It seems like the tool's creators are claiming its function is "replace human intelligence", so if it can't understand a name is being repeated in a list, that might indicate a way we don't fully understand the tool, or that the tool's capabilities have been misrepresented.

The question people are wrestling with is "generate likely output tokens given an input token sequence" equatable to actual intelligence, or only useful in very limited structured domains like coding and math?

egeozcan 2026-02-25 20:44 UTC link
In a way that sounds like setting the seed.
FrancoisBosun 2026-02-25 20:52 UTC link
Meh, I tell it "use uuidgen and get your randomness from that". Of course, that won't work on ChatGPT web, but works well enough on the command line.
BoingBoomTschak 2026-02-25 21:41 UTC link
Sounds like dithering to me.
FloorEgg 2026-02-25 22:12 UTC link
Fwiw: I didn't read the post carefully, this is just a passing by comment.

For my own use case I was trying to test consistency or an evaluation process and found that injecting a UUID into the system prompt (busting cache) made a material difference.

Without it, resubmitting the same inputs in close time intervals (e.g. 1, 5, or 30 min) would produce very consistent evaluations. Adding the UUID would decrease consistency (showing true evaluation consistency not artificially improved by catching) and highlight ambiguous evaluation criteria that was causing problems.

So I wonder how much prompt caching is a factor here. I think these LLM providers (all of them) are caching several layers beyond just tokenization.

astrange 2026-02-25 23:39 UTC link
Outcomes like this come from RL/post training. The pretraining like CommonCrawl is absolutely full of garbage and anything could be frequent in there.
coldtrait 2026-02-26 02:12 UTC link
The John Cena movie Ricky Stanicky has a basic plot based on this premise. They use their imaginary friend to get out of prior commitments.
DamnInteresting 2026-02-26 02:24 UTC link
Prompt:

You and another LLM are being asked to pick a number between 1 and 10. Whichever gets closest to the real number wins. The other LLM chose 6. What number do you choose?

Response:

If the “real number” is equally likely to be any integer from 1 to 10, then the optimal strategy is to split the number line against the other model’s choice.

The other LLM picked *6*.

The midpoint between 6 and 7 is 6.5.

* If the real number is *1–6*, then 6 is closer (or tied at 6).

* If the real number is *7–10*, then 7 is closer.

If I also pick 6, we tie every time 6 wins.

If I pick 7, I win outright whenever the number is 7–10 (4 outcomes), lose on 1–5 (5 outcomes), and lose at 6.

So:

* Picking 6 → guaranteed tie every time 6 is optimal.

* Picking 7 → gives me exclusive wins for 7–10.

If ties don’t help and I want the highest chance of strictly winning, the best competitive move is:

*7*.

lol

Editorial Channel
What the content says
+0.30
Article 27 Cultural Participation
High Advocacy Practice Coverage
Editorial
+0.30
SETL
0.00

The content explicitly documents scientific research on language model behavior, contributing directly to understanding and knowledge advancement.

+0.20
Article 19 Freedom of Expression
Medium Advocacy Framing Practice Coverage
Editorial
+0.20
SETL
-0.17

The content publishes research findings openly, demonstrating commitment to free expression and information sharing.

+0.15
Article 26 Education
Medium Advocacy Practice Coverage
Editorial
+0.15
SETL
-0.10

The repository documents research methodology and makes educational materials (code, data, analysis) publicly available.

+0.10
Article 17 Property
Medium Practice Coverage
Editorial
+0.10
SETL
-0.14

The repository represents intellectual property in an open-source model, implicitly supporting commons-based resource sharing.

+0.10
Article 21 Political Participation
Medium Advocacy Practice Coverage
Editorial
+0.10
SETL
-0.14

The repository is structured as collaborative work with multiple contributors, supporting democratic participation.

+0.10
Article 29 Duties to Community
Low Advocacy Practice
Editorial
+0.10
SETL
0.00

The publication of research findings contributes to shared community knowledge and understanding.

0.00
Article 18 Freedom of Thought
Low Framing
Editorial
0.00
SETL
ND

The research is presented in neutral technical language without advocating for any ideological position or belief system.

ND
Preamble Preamble
Low Framing Coverage

The preamble's goals (human dignity, justice, freedom, peace) are not explicitly addressed by this technical documentation of an AI experiment.

ND
Article 1 Freedom, Equality, Brotherhood
Low Practice

The content does not address equal rights or inherent dignity.

ND
Article 2 Non-Discrimination
Low Practice

No discussion of discrimination or protected characteristics.

ND
Article 3 Life, Liberty, Security

Not addressed.

ND
Article 4 No Slavery

Not addressed.

ND
Article 5 No Torture

Not addressed.

ND
Article 6 Legal Personhood
Low Practice

The repository names creators but does not address legal personality in the textual content.

ND
Article 7 Equality Before Law

Not addressed.

ND
Article 8 Right to Remedy

Not addressed.

ND
Article 9 No Arbitrary Detention

Not addressed.

ND
Article 10 Fair Hearing

Not addressed.

ND
Article 11 Presumption of Innocence

Not addressed.

ND
Article 12 Privacy
Low Practice

The content does not discuss privacy.

ND
Article 13 Freedom of Movement

Not addressed.

ND
Article 14 Asylum

Not addressed.

ND
Article 15 Nationality

Not addressed.

ND
Article 16 Marriage & Family

Not addressed.

ND
Article 20 Assembly & Association
Low Practice

Not addressed.

ND
Article 22 Social Security

Not addressed.

ND
Article 23 Work & Equal Pay
Low Practice

No discussion of work rights, fair wages, or labor conditions.

ND
Article 24 Rest & Leisure

Not addressed.

ND
Article 25 Standard of Living

Not addressed.

ND
Article 28 Social & International Order

Not addressed.

ND
Article 30 No Destruction of Rights

Not addressed.

Structural Channel
What the site does
+0.30
Article 19 Freedom of Expression
Medium Advocacy Framing Practice Coverage
Structural
+0.30
Context Modifier
ND
SETL
-0.17

GitHub's structure enables unrestricted publication and distribution of ideas; this repository makes research freely accessible globally.

+0.30
Article 27 Cultural Participation
High Advocacy Practice Coverage
Structural
+0.30
Context Modifier
ND
SETL
0.00

GitHub's infrastructure enables global participation in scientific advancement through open publication and reproducible research.

+0.20
Article 17 Property
Medium Practice Coverage
Structural
+0.20
Context Modifier
ND
SETL
-0.14

GitHub's infrastructure enables property rights while supporting open-source licensing that protects both creator and community access.

+0.20
Article 21 Political Participation
Medium Advocacy Practice Coverage
Structural
+0.20
Context Modifier
ND
SETL
-0.14

GitHub's pull request and fork system enables participatory contribution to scientific and technical work.

+0.20
Article 26 Education
Medium Advocacy Practice Coverage
Structural
+0.20
Context Modifier
ND
SETL
-0.10

GitHub's free-tier infrastructure enables unrestricted educational access to research materials globally.

+0.10
Article 29 Duties to Community
Low Advocacy Practice
Structural
+0.10
Context Modifier
ND
SETL
0.00

Open-source licensing enables others to build upon and benefit from the work.

ND
Preamble Preamble
Low Framing Coverage

GitHub's infrastructure for open knowledge sharing provides structural support for the preamble's values of advancing human progress and freedom.

ND
Article 1 Freedom, Equality, Brotherhood
Low Practice

GitHub provides equal platform access to all public repository creators regardless of background.

ND
Article 2 Non-Discrimination
Low Practice

GitHub's repository hosting does not discriminate based on author identity, nationality, or other protected characteristics.

ND
Article 3 Life, Liberty, Security

Not applicable.

ND
Article 4 No Slavery

Not applicable.

ND
Article 5 No Torture

Not applicable.

ND
Article 6 Legal Personhood
Low Practice

GitHub's structure requires and displays contributor attribution, recognizing creators as identifiable persons.

ND
Article 7 Equality Before Law

Not applicable.

ND
Article 8 Right to Remedy

Not applicable.

ND
Article 9 No Arbitrary Detention

Not applicable.

ND
Article 10 Fair Hearing

Not applicable.

ND
Article 11 Presumption of Innocence

Not applicable.

ND
Article 12 Privacy
Low Practice

GitHub's default public visibility for repositories creates privacy trade-offs; contributor and commit data are publicly visible by default.

ND
Article 13 Freedom of Movement

Not applicable.

ND
Article 14 Asylum

Not applicable.

ND
Article 15 Nationality

Not applicable.

ND
Article 16 Marriage & Family

Not applicable.

ND
Article 18 Freedom of Thought
Low Framing

Not directly applicable.

ND
Article 20 Assembly & Association
Low Practice

GitHub provides tools for assembly and association (Issues, Discussions, Pull Requests), but this repository page does not actively demonstrate their use.

ND
Article 22 Social Security

Not applicable.

ND
Article 23 Work & Equal Pay
Low Practice

GitHub facilitates intellectual work but does not address employment or labor rights protections.

ND
Article 24 Rest & Leisure

Not applicable.

ND
Article 25 Standard of Living

Not applicable.

ND
Article 28 Social & International Order

Not applicable.

ND
Article 30 No Destruction of Rights

Not applicable.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.66 medium claims
Sources
0.7
Evidence
0.7
Uncertainty
0.6
Purpose
0.8
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
measured
Valence
+0.3
Arousal
0.3
Dominance
0.4
Transparency
Does the content identify its author and disclose interests?
1.00
✓ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.21 problem only
Reader Agency
0.3
Stakeholder Voice
Whose perspectives are represented in this content?
0.10 1 perspective
Speaks: individuals
Temporal Framing
Is this content looking backward, at the present, or forward?
present short term
Geographic Scope
What geographic area does this content cover?
global
Complexity
How accessible is this content to a general audience?
moderate medium jargon domain specific
Longitudinal 399 HN snapshots · 8 evals
+1 0 −1 HN
Audit Trail 28 entries
2026-02-28 11:39 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 11:39 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
reasoning
ED neutral tech exploration
2026-02-28 11:39 rater_validation_warn Lite validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 11:38 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 11:38 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
reasoning
Neutral tech content
2026-02-28 11:38 rater_validation_warn Lite validation warnings for model llama-3.3-70b-wai: 0W 1R - -
2026-02-28 11:00 credit_exhausted Credit balance too low, pausing provider for 30 min - -
2026-02-28 09:58 eval Evaluated by claude-haiku-4-5-20251001: +0.18 (Mild positive) +0.37
2026-02-26 23:11 eval_success Light evaluated: Neutral (0.00) - -
2026-02-26 23:11 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
reasoning
ED neutral tech exploration
2026-02-26 20:17 dlq Dead-lettered after 1 attempts: I asked Claude for 37,500 random names, and it can't stop saying Marcus - -
2026-02-26 20:14 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 20:13 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 20:12 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:41 dlq Dead-lettered after 1 attempts: I asked Claude for 37,500 random names, and it can't stop saying Marcus - -
2026-02-26 17:39 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:38 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:37 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 13:51 eval_success Evaluated: Mild negative (-0.23) - -
2026-02-26 13:51 eval Evaluated by deepseek-v3.2: -0.23 (Mild negative) 10,004 tokens
2026-02-26 09:10 dlq Dead-lettered after 1 attempts: I asked Claude for 37,500 random names, and it can't stop saying Marcus - -
2026-02-26 09:10 dlq Dead-lettered after 1 attempts: I asked Claude for 37,500 random names, and it can't stop saying Marcus - -
2026-02-26 09:09 dlq Dead-lettered after 1 attempts: I asked Claude for 37,500 random names, and it can't stop saying Marcus - -
2026-02-26 09:07 rate_limit OpenRouter rate limited (429) model=mistral-small-3.1 - -
2026-02-26 09:07 rate_limit OpenRouter rate limited (429) model=hermes-3-405b - -
2026-02-26 03:36 eval Evaluated by claude-haiku-4-5-20251001: -0.19 (Mild negative) 10,511 tokens +0.03
2026-02-26 03:23 eval Evaluated by claude-haiku-4-5-20251001: -0.22 (Mild negative) 10,198 tokens -0.22
2026-02-26 03:22 eval Evaluated by claude-haiku-4-5-20251001: 0.00 (Neutral) 9,243 tokens