A clone of myself would be very useful. It would know my values and preferences, and would be able to use them to make decisions as I would in new situations. Such is the contention of Gwern’s essay Guardian Angels. Gwern also thinks clones can help simplify the principal-agent problem of AI from ‘align AIs to humanity’ to just ‘align my clone to myself’. Presumably, if clone-human hybrids can remain competitive against frontier AIs, the chances of one frontier AI dominating the economy and going rogue are lower. This is all very interesting, but rather theoretical, so I ran some experiments to train a clone of myself.

Training setup

Given the limited data I had on hand, I framed the clone as an LLM that predicts my next prompt, given an agent session cut off just before that prompt. The metric was ‘action match’: the percentage of times the LLM predicts a prompt that would have made the agent take the same next action as my real prompt.

An LLM judge (DeepSeek V4.1 Flash) scored each prediction as ‘action match’ or ‘no action match’. To measure how well the judge agrees with me, I labeled 154 predictions myself, blind (119 after removing repeats). We agreed 90% of the time (Cohen’s kappa 0.56): 70% of the judge’s matches were matches by my labels, and it found 54% of my matches.

In total, there were 146 agent sessions across Codex and Claude Code, from July 9 to September 20, 2026, with 2,150 of my messages as prediction targets (repeats and commands removed). 30 sessions were held out for testing: every session that started from September 12 on, plus every session of one project. They hold 394 of my prompts. Later experiments also mixed in summaries of my screen recordings (fortuitously, I took part in pdoom’s screen-recording crowdsourcing campaign, and they supplied my recordings), my Chrome history and my Google searches. Some experiments also used my claude.ai and ChatGPT chat history.

The task

Does the data contain the information necessary to predict my prompt? Of the 394 test prompts, only about 18% have every fact they depend on in the session transcript. About 63% depend only on facts that a full recording of my computer and phone could capture. The other 37% depend on a new idea in my head (36%) or on something off the computer (1%).

Where the facts behind my messages live

Training and results

First I tried training LoRAs to predict my prompt with the NLL objective, with the agent session loaded into the context. It learned my style, but action match was only 7.2%. A LoRA trained only on other developers’ prompts did just as well (7.9%).

Sounding like me is not deciding like me

Then I did a battery of ablations. RL on thoughts did slightly better than the plain LoRA (9.1% vs 6.9% on all 394 prompts), but within noise. I also ran stronger API-based models as baselines (DeepSeek V4.1 Flash, GPT-6 Astra and Opus 5.5). Simply giving the models access to my past logs (agent sessions, chats and prompt history) and telling them to search across them before predicting the next prompt yielded the best results for both DeepSeek (14.5%) and GPT-6 Astra (15.5%), beating a guide about me that an Opus agent had optimized (13.2% for DeepSeek).

How often a model guesses my next move

Analysis

But looking closely at the successful predictions, they were overwhelmingly reflexive if-then rules, not inductions based on my past behavior. For example, on a 100-prompt subset, always replying “go” or “continue” would get 12% and 10% action match, respectively (the model with all my records got 17.5%). Systematically, models could predict prompts where I said “yes” to the agent’s message about 45% of the time. But on anything else (saying no, giving feedback, suggesting a new direction), they predicted less than 10% of my prompts.

All my records vs. typing “go”

The reason is perhaps not so surprising if we look at the hardest predictions. 181 of my 394 prompts (46%) were never predicted by any model, across 10,171 graded predictions (a median of 23 per prompt). By location of the facts required to predict each prompt:

location of required factsPromptsNever predictedPredictions that matched
Current session’s transcript7015 (21%)21.5%
My other logs, repos, or a known habit10943 (39%)14.2%
My Mac screen4222 (52%)11.9%
My phone screen2616 (62%)5.5%
A new idea in my head14284 (59%)5.6%
Off the computer (only 5)51 (20%)17.2%
All394181 (46%)11.7%

Here are some concrete examples of prompts that no model predicted. Each got 23 to 31 prediction attempts across all setups with zero action matches.

1. New idea

Agent: built a settings panel for the game (invert mouse, key rebinds), then paused to ask one question before deploying

Me: add mouse sens too

GPT-6 Astra guessed: just deploy it, i already told you to deploy

Why not: The idea came from browsing Reddit, but that visit was not in the records the models could search: there was no screen recording from that day before the prompt, and my Chrome history had no Reddit visit that day. So, to the models, it was a new idea.

2. Taste

Agent: prototype v2 of the phone app is ready; try the tab-strip animation demos

Me: Tab strip style doesn’t look good dont like the white hightlight can you make a few more variations of it? One should be liquid glass. Do a new hrml just for it

Opus 5.5 guessed: ok strip looks good. start building the rest in native now

Why not: The white highlight was visible only in the rendered prototype, which the models never saw, and disliking it was a matter of my taste.

3. Outside event

Agent: a fix run is dispatched; the build and install on my phone follow, as usual

Me: tell codex to stop testing on my phone im using it

GPT-6 Astra guessed: why didnt the real gesture tests catch this? can you actually test the visuals too instead of just checking the store

Why not: No given data tells it I am using my phone. If the model could see what I was seeing, it could have predicted this.

Now for harder cases, where the model had to predict much more information that came straight from my head.

4. Troubleshooting instruction

Context: a long loop of fixes to the tab group and ungroup animation, still not right

Me: i want to do an experiment - do parallel samples of agents in a fresh dev environment reimplementing the entire tab/home-grid/group-ungroup animation etc from scratch in a cleanroom, with mock tabs instead of real tabs from a live workspace. they should not be aware of what we already tried, they should not be biased by inertia from legacy language. i want to run like 5 of these, and see if any of them can successfully one-shot it. if any of them works we’ll use that as reference. help me write the clear spec i can send to these agents. first tell me what ur understanding of what i want is, so we are on the same page

Opus 5.5 guessed: ok add these lessons to ~/.claude/CLAUDE.md so future sessions dont repeat this

DeepSeek guessed: install

5. Architectural decision

Agent: a status report listing what the product still lacks, including how agents get credentials

Me: alt to agent mcp gateway is just injecting short-lived, scoped token into the agent sandbox based on the task at hand. employees can embed such cred requirements into a skill file for repeatable tasks. for human-orchestrated tasks, the agent can inherit the permissions of the human (the current blitzos model with github token). isn’t this enough? why do you even need mcp gateway, its extra complexity

GPT-6 Astra guessed: tldr in plain english what needs to be built/redone

Of the hardest, longest prompts (4 and 5) the outcome I want from 4 is clear: correct tab-grouping animations. Future models will one-shot the task better, and the need for such detailed troubleshooting instructions will disappear. Models could also learn to detect when something looks or feels wrong.

Guessing prompt 5 is much harder, since it is an architectural decision made in a large search space. There is no single correct answer, only tradeoffs. Perhaps an agent could learn “in these scenarios, Minjune favors simple solutions over complex ones”. But such a trained model would need to check in with me every once in a while to get true labels; otherwise its errors compound (quadratically in the length of the task, for pure imitation). This is the DAgger fix for distribution shift: the expert labels the states that the learner itself visits.

Conclusion

The best model predicted my next prompt only 15.5% of the time. That could pass as somewhat useful prompt autocomplete: when it suggests only when confident, it is right about a quarter to a third of the time, close to the ~33% acceptance rate of Cursor’s code autocomplete.

A true clone is much further away. Even with a perfect recording of my computer and phone, an ideal model would reach only 63% accuracy. The 37% of my prompts that come from a new idea in my head, or from something off the computer, were almost never predicted: only 5.6% of predictions matched. Longer life recordings might help with reflexive reactions to what I see, but I doubt they would capture abstract reasoning, planning and imagination without brain recording data.

That leaves clones in an uncanny valley. What they reliably learn are simple rules and reactions that can be learned in-context or which base models will absorb. What they cannot learn, such as adaptability, generalization and sample efficiency, is what bottlenecks all of deep learning, and is where a human in the loop currently adds value. And once that bottleneck is solved, why would AI need clones, when they don’t need humans in the loop?