About Being Intentional and Responsible

Recently I read “Slop in, Slop out,” a blog post by Eric Zakariasson, an engineer at SpaceXAI, and it resonated with me a lot. Within a few days, I ran into exactly what he described. Restaurants near my place were advertising with AI-generated pictures that gave me zero appetite to try the food. Esports ads in League of Legends used AI-generated animations and characters I’d already seen thousands of times on X and other platforms. Large chunks of generated text and footage were posted as if they were official statements, when all they really wanted was your attention.

Picture a world sinking slowly into AI-generated slop, while behind the scenes people give up thinking for themselves and taking responsibility for what they make, and push that work onto whoever ends up receiving it. When I thought of that, a wave of sadness hit me. I keep wishing it weren’t so. I wish the world were still a place where creators craft their work by hand, where intelligent content can’t simply be mass-produced. That world is gone, and it probably won’t come back.

To be clear, I learn with AI and ship with AI. The vast majority of my code is written by agents. My role has gradually shifted from coder to commander: someone who owns architecture, product management and quality control in one role. Deep down, I treat my agents as working partners, and I’m the one leading them. But when you lead a team of engineers who never get tired, the bottleneck moves to the only part of the system that can run out of attention. That’s me, the only human in the loop.

So what if I removed that limit by letting agents organize themselves, committing and pushing while I sit and wait, never touching the process? In theory, I can. In practice, it fails, because agents don’t have intentions; you do. Agents don’t know what good your product is meant to do for the people using it; you do. You hold the goal in mind, and you know the experience you want people to have when they get their hands on it. So you want to be the one who delivers that experience. You don’t want the process to become a black box where you sit among the end users, receiving your own product as if you were never there.

Now take it to the extreme. What if you simply told your agent to “make an app you think people will like and ship it end to end on my host”? What if you told it to “make a repo that earns as many stars as possible, and promote it for me”?

When everyone cares only about what their agents’ output will bring them, and not about what they bring to the world, what happens? Here is the simplest example I can give as a statistician.

Take a simple linear regression: one predictor, one response, fitted on 10k points from a real dataset (NHANES). Assume constant variance, normality and the other usual conditions hold. Least squares gives you a line fitted to the actual data. The method is basic, but its purpose is clear: minimize the residual sum of squares on the data you have.

Now generate a new set of 10k points from that fitted line: draw predictor values, compute the line’s prediction, and add random noise with the residual variance the model estimated. Fit a new regression to these synthetic points. Then do it again, each time fitting only to the previous generation’s output, and record the line after 5, 100, 1k, 10k and 100k generations. The results are below.

Fitted regression lines and held-out RMSE across generations

In this run, the slope after 100k generations had even flipped sign, from slightly positive to clearly negative. That’s one chain, but the band across many chains tells the same story: the error barely moves for the first hundred or so generations, then keeps growing with no sign of settling. Each refit adds independent noise, so the line does a random walk and its spread grows roughly like √n. On a log x-axis that looks exponential, but it’s steady growth.

Actual and predicted upper-arm lengths for five held-out observations

Sources: NHANES 2015–2016 · 2017–2018

Some readers may know the old joke: run a sentence through Google Translate ten times in a row. Some results are hilarious, some are unrecognizable, but the overall trend is that things get worse with every pass. The regression shows the same mechanism. Each refit inherits the previous line’s error and adds its own, so the possible outcomes keep spreading out. Without real data to anchor it, error accumulates.

In this picture, the human is the real data. Every time you stand there and taste the result yourself, you re-anchor the chain. Take yourself out of the loop and every generation is fit to the last one’s output, and the drift compounds.

This is how I read Eric’s “Slop in, slop out,” with one refinement to what counts as slop: who made the product is not the test. I’d strongly push back on anyone who says “agents write slop and humans write beautiful code,” because the mindset behind that claim is exactly what produces slop: ignoring the object and the facts, and making a statement only to reach a conclusion. As Eric puts it, “It would be easy to conclude that cheap is the problem, and that the café sign just needed a designer. But you can pay the designer, the photographer and an entire agency, and if none of them ask whether the thing is good for the person looking at it, you’ve made the café sign again at a thousand times the price.” How can you be confident in a result you won’t take responsibility for? How can you vouch for what you deliver if you never stand there and taste it first?

Admittedly, some people know what it’s like to mass-produce model-generated content, whether ads, pictures, music or videos. I still respect them if they inspect everything they publish themselves, and honestly conclude it’s good for people, starting with themselves. I don’t believe that’s true of most of what we see. Much of it could be produced by an agent managing other agents, woken by a heartbeat, while the person who set up the heartbeat is nowhere to be found. They may not care, but other people do see it: in their feeds, in ads on the street and on live streams, and in search results while they’re looking for something genuinely helpful.

And the moment you see something, it becomes part of your thoughts. You can’t spit it back out or pretend it isn’t there. Careless handling of generated content is polluting the public space, and the people doing it take no responsibility. That, I think, is the root of the problem, and it’s what makes me sad: years passing without a single policy that protects people, and companies still scaling AI products without asking whether the people on the receiving end want them.

The open-source community on Reddit has started banning any post with AI-generated content in it. I personally disagree with that, but I completely understand the moderators. I made a similar call in my own setup: I removed every comment and AGENTS.md file that I or my agents had written, so that we all anchor to live context first and old context can’t pollute new decisions. I lost the benefits of those files along with the risks. For me the trade-off is worth it, because my orchestration now spends more tokens to get more reliable, up-to-date results. I don’t care about the tokens. I care about my attention.

In my early orchestration system, the governance file said it outright: “using computation to reduce my cognitive load is an expected approach.” Today I’d say that line gives agents no measurable target to check against, but the principle behind it has carried through, and it will keep carrying forward.

Tokens matter, and the more I learn, the more I want. But tokens spent with meaning are a different thing. I’ve stopped caring about usage stats, or whether I use up every weekly reset. Months ago I’d have been annoyed to wake up and find a reset had landed while I slept, my usage untouched. Now it’s a bonus that arrived at the wrong time, and that’s fine. What shows your effort is never the tokens spent. If it has to be tokens, it’s the intentional ones, the supervised compute. It’s your attention, how much you care about your craft, how you want your work to help people, and how you reach a goal with your own vision and mind. I think people will gradually stop competing over, and showing off, how many tokens they burn.

So I won’t call it a failure that on October 24th I spent the day with a friend, made zero commits, and ended a 32-day streak. I’m also fine not having automation that reviews and ships things end to end, because I can’t review everything it would produce, and I hate black boxes I can’t control. I don’t know what other people feel at the end of the day, or whether they care. I just feel relief when I slow down, stop chasing every new tool, and pay attention to myself, my surroundings and the time. That’s when I feel I’m living, thinking and solving problems as an engineer in the present moment.

I don’t know where the future will take us. If we end up in a desert of the mind, we’ll each need to build ourselves an oasis. That’s the principle behind every app I’ve made. Whether AI is involved or not, whether I’m slower or faster, I’m proud to be this kind of person, and proud of everyone who cares about the same things.

Undertide