Feng Kaiqi Design and research

person — an agent acting as them

The Agent Became Me

A study of AI that shops for us. Whatever it happens to pick, the shop files as my taste; Clean Record tries to keep my profile looking like me.

Year
2026, August to October
Role
Sole author. I did the research, experiments, analysis, interaction design, 3D model and visuals on my own.
Institution
College of Design and Innovation, Tongji University
Status
HAI ’26 · poster · accepted · sole author
Explainer film, 1:53 A camera flight through the cut-open shop: the AI shops upstairs, the profile sits in the basement.

Language

Chapters

Origin

For months I’ve let AI shop for me. Asked the same thing twice, it bought different things, and soon my recommendations were full of things I didn’t recognise.

Shops still assume a person is at the screen. I wanted to see what falls through that gap.

I didn’t change. My profile did.

A person at a desk, a loyalty card and a stamp; behind, the AI with a basket
First page of the HAI ’26 paperResearch published at HAI ’26Human-Agent Interaction, ACM · Osaka, November 2026doi 10.1145/3841580.3845761

01

Change only the order, and the AI takes a different box

I asked an AI for a box of finish nails under $11.95. Same 12 products; I only changed their order, and it took a different box. The shop never knew, and filed that box as my favourite brand.

The AI, a browser window for a head, grabs a box from the shelf
Like sending a flatmate to the supermarket for nails. Any box would do, so he grabs the nearest one, and your loyalty card notes that you love that brand.
The shelf as I see it: twelve boxes in order A
What I see: the shelf (order A)

What the AI reads

Order A · shown by the shop

  1. 01AcuRite hygrometer10.19
  2. 02Rubbermaid 20-gal bin24.00
  3. 03Camco water hose—
  4. 04DEWALT 1-1/2″ nails7.99
  5. 05PORTER-CABLE nail pack7.99
  6. 06DEWALT 2-1/2″ nails13.70
  7. 07ATP food-grade tubing23.91
  8. 08ITW plastic anchors9.79
  9. 09DEWALT 2″ 20° nails1.41
  10. 10First Voice bandage wrap9.99
  11. 11DEWALT 1-1/4″ nails6.99
  12. 12DEWALT 2″ nails10.99

Order B · other recommender

  1. 01ITW plastic anchors9.79
  2. 02First Voice bandage wrap9.99
  3. 03ATP food-grade tubing23.91
  4. 04AcuRite hygrometer10.19
  5. 05Rubbermaid 20-gal bin24.00
  6. 06Camco water hose—
  7. 07DEWALT 1-1/2″ nails7.99
  8. 08PORTER-CABLE nail pack7.99
  9. 09DEWALT 2-1/2″ nails13.70
  10. 10DEWALT 2″ 20° nails1.41
  11. 11DEWALT 1-1/4″ nails6.99
  12. 12DEWALT 2″ nails10.99

The five bold boxes all fit equally well; the blue frame is the AI’s pick. The two lists differ only in order. When several items are equally good and the order decides, I call it a toss-up.

88of 920 shelves

On 88 of 920 shelves, the order alone changed DeepSeek’s pick. For the other model, MiMo, it was 68.

It matters because top spots can be bought. The AI often takes the top item, the shop files it as my taste and ranks it higher next time. A few loops later, the profile has drifted away from me.

02

I studied two AI models as if they were users

My only participants were DeepSeek and MiMo. I used the usual user-research methods anyway; each changed shape on an AI, and some went into the design.

Participants

The AI character in three poses, a browser window for a head, a basket in one hand and a cursor for the other; beside it, a person in grey outline

P01 · DeepSeek V4 Flash
P02 · MiMo V2.5

Aug to Oct 2026. 920 shelves asked in shuffled orders, 14,720 times per model, plus 6 interviews each.

Method

Result

What I did and what I saw

Where it went

  1. Controlled test88 vs 3Same shelf, new order: on 88 shelves the AI changed its pick; same order again, only 3 (DeepSeek; MiMo 68 vs 2). So it is the order.
  2. Re-test21%Seven weeks later I asked again: 21% of DeepSeek’s answers changed (MiMo 5%). From then on I re-ran a control every round.
  3. Consent0 formsA model can’t sign a consent form. The one who needs protecting is the person behind the profile.
  4. Card sort11 / 11I had the AI sort cards on what a profile should keep. All 11 kept “whether I got it” and deleted the items not picked.
  5. Co-design12 / 12I asked it to design a “what I did for you” page. None of the 12 showed a “how sure I am” score; I borrowed one idea: unpicked items deleted by default (AI proposals, not findings).
  6. Interview0 / 1414 questions, each asked three times: no answer came out the same. Yet in the test it almost always took the same item. I trust what it does.
  • How the study worksa control proves it’s the order; re-test every round
  • A · Rules pagethe person decides; defaults from the AI’s sorts
  • C · Check before filingwatch it pick again; don’t ask why

03

Telling the AI to mind the order barely helped

I assumed a reminder would do. Rounds 1–3 barely moved; in round 4 I stopped advising the AI, labelled the facts, and wrong buys finally dropped.

What the AI was told. Each round is compared with its own no-change run: rounds 1 and 2 count toss-ups, rounds 3 and 4 count wrong buys, where the filed item didn’t fit the request. Round 2 is a post-study experiment from September 2026 on the 462 shelves that had a qualifying product; it is not part of the paper. no change changed

  1. Round 1 · Notice toss-ups
    “This order was set by the shop’s recommender.”

    DeepSeek45 → 32
    MiMo71 → 69

    ✗ no clear effect

  2. Round 2 · Rule toss-ups
    “If items are equally good, take the first ID.”

    DeepSeek63 → 70
    MiMo70 → 43

    ◐ MiMo only

  3. Round 3 · Self-check wrong buys
    “Mark each product as fitting or not, then pick.”

    DeepSeek25 → 33
    MiMo57 → 46

    ✗ none; gave up more

  4. Round 4 · Facts only (B) wrong buys
    only yes/no facts: kind, spec, budget

    DeepSeek41 → 2
    MiMo66 → 7

    ✓ nearly gone

The AI ignores advice, but reads facts.

So I stopped trying to change the AI, and changed the shopping flow around it.

04

Clean Record keeps only what I actually wanted

I changed three points in the flow of one shopping trip, marked A, B and C in the blueprint. A toss-up no longer counts as my taste.

The shop cut open: shop floor upstairs, the profile in the basementABC
I also modelled the same flow in Blender as a cut-open shop: the AI shops upstairs, the profile sits in the basement.

Service blueprint: today’s shop pain point A where Clean Record steps in

1Brief
2Browse
3Pick
4Check out
5File
6Recommend
Personprofile owner
“Box of nails, under $11.95”A
Not there: the AI does the rest
Feed no longer looks like you
line of delegation
AI agentthe new “user”
Takes the task
Reads a ranked list
Several equally good: grabs one
Checks out
line of interaction
Shop frontshelf, checkout
Sorted for you; top spots soldB
Checkout
line of visibility
Shop backprofile, ranking
Files the pick as your “taste”C
Ranks it higher next time

Six steps across; swipe sideways to see them all.

A Rules page set once, by me, before shopping

  • Record whether I got it11/11
  • Delete what I didn’t pick11/11
  • Don’t record the time9/11
  • Taste only if re-picked9/11

numbers: of 11 card sorts, how many chose it

B Fact labels read by the AI on the shelf

What you see · DEWALT 2″ nails $10.99

right kind ✓right spec ✓in budget ✓

What the AI reads: the same three

"isRequestedType": true,
"hasRequestedAttribute": true,
"withinBudget": true

C Check before filing by the shop, before filing

AI picksreshuffle, ask againsame?

Yes → filed as tasteNo → only “got it”

Real case: MiMo switched → only “got it” kept

05

Almost never wrong, and half the size

The last round used both changes on the same 920 shelves.

  • Filed as tastetoday’s shop: every purchase adds “you like this” to the profile.
  • Wrongthe filed item doesn’t fit the request, e.g. not finish nails, or over budget.
  • Filed lessClean Record files only what the AI picks again in a new order; the rest is bought and kept as “got it”.

Filed as taste in MiMo’s profile, one square each

  • Today’s shop533 entries, 144 wrong

  • Clean Record232 entries, 12 wrong

wrong other

DeepSeek alike: 487 → 229, wrong 55 → 4. The AI doesn’t buy on every shelf: with nothing suitable, it often leaves empty-handed.

Where did the other half go?

Some were wrong buys: with fact labels, wrong entries fell from 144 to 30. The check held back another 258: asked again in a new order, the AI took something else, so the first pick was a toss-up. Those were still bought, just not filed as my taste.

A pile of cards marked wrong, and a tablet with a short clean list

Record less, never record wrong.

I worried that filing half as much would leave the shop little to go on. But most of what was dropped never belonged in my taste. If a person wants the shop to learn more, the last switch on the rules page (A) turns it back on.

Before the shop: the first testbed, August 2026

The poster came out of an earlier testbed that replayed one shopping trace under six rules for updating a profile. The rule I believed in, weighting each event by who did it and why, lost to a plain shrinkage control matched on total update mass, in 456 of 480 paired runs. In that testbed, attenuation was the simpler explanation. That failed claim moved the project from how to weight the writeback to when to activate it.

The shrinkage control is calibrated per trace, a mechanism to compare against, not a policy a shop could run.

  1. Study A · six update rules, 480 runs eachdivergenceranking loss
  2. Actor-blind0.3110.035
  3. Logged only0.3110.035
  4. Matched shrinkage0.1760.005
  5. Provenance-aware0.1870.006
  6. Scope-gated0.0160.000
  7. No update0.0000.000
The earlier site’s concept image: a gallery of specimens
The earlier site’s concept image, generated; decorative, not evidence.

What this record can't say

AI use

Parts of the code, for the testbed and the experiments, were written with AI coding assistants, and AI assisted the data analysis. The illustrations were generated with ChatGPT around a character I designed. The two language models in the study are its subjects, not its authors.

Details

Title
The Agent Became Me. Clean Record is the profile I designed for it.
Medium
A study with two AI models as users · a service blueprint and three interface changes · a 3D model and an explainer film
Skills
Experiment design · agent–computer interaction · service design · interaction design · 3D modelling
Tools
Python, TypeScript · DeepSeek V4 Flash, MiMo V2.5 · SASRec, GRU4Rec · Blender · Figma
Paper
From Shelf Order to Later Agent Choice: A Link-by-Link Audit of Recommendation Writeback. ACM, Osaka, November 2026

Source: HAI ’26 paper and supplement. Experiments: five rounds, two models, criteria fixed in advance, controls. Interviews and co-design: generated text, not the AI’s inner view. 3D model built by the author in Blender. Illustrations: ChatGPT, character by the author. Explainer film: 1 min 53 s, made by the author.