I disagree with this. I mean, I read it and felt mildly insulted, so higher than baseline chance I'm rationalizing, but
Impossible Burger tastes fine to me, but — as Benjamin Franklin would say — it creates in the bowel a great quantity of wind, usually offensive to company.
I generally share your distaste for imitation meat, though. Tasty vegan or vegetarian food seems to come from cultures that have iterated on it for a while, and who don't seek to imitate meat-eating. Rastafari Ital is a pretty interesting historically-recent example.
I am not so sure about applying the general category of "slop". A sincere effort to figure out the features of X and replicate them without some undesired property Y, seems like a good thing to try. I am not sure it should be conflated with mechanical imitation.
> A sincere effort to figure out the features of X and replicate them without some undesired property Y, seems like a good thing to try
I agree that it's a good thing to try, but it often (especially in early efforts) end up compromising on some of the things that make X good (which makes sense, if X wasn't optimizing for avoiding Y it's probably easier to optimize it for its primary goals).. Sometimes Y is bad and these are worthy compromises, and sometimes after some early mistakes you can make the disadvantages go away, so it's still often worth putting effort into despite the downsides.
With basic prompt engineering techniques and a proper agent harness, Opus 4.6 can solve the provided puzzle in 7 minutes, demonstrating hard technical skills (math, python) as well as multiple intuitive leaps.
Puzzle: https://puzzmon.world/puzzles/hidden_numbers
The setup was simple. I copied the puzzle to Opus, asked her to write up a CLAUDE.md for an out of the box puzzle solving agent, then ran that agent in Claude Code and approved all tool calls (mostly to Python). On the first run, the agent identified the integers thing, then discovered a connection to ip addresses, and extracted the domains. This took about six minutes.
She stopped there, but after I pointed out that the answer had to be a string of some kind, she almost immediately made the intuitive leap to converting the domains to the string "SURFS UP" via indexing into them.
Link to conversation (note that I tried to use the Ralph Loop plugin, but it's buggy and doesn't properly restart the agent after it goes down). So I had to manually say that the solution was incomplete.
https://pastebin.com/qxUpw5ZT (system prompt)
https://pastebin.com/rQMpF3wB (full transcript)
Here is her writeup on the solution:
The answer to "find the domain" is literal internet domains — the seven functions encode IP addresses that resolve to:
| # | IP Address | Domain |
|---|---|---|
| 1 | 72.163.4.185 | cisco.com |
| 2 | 140.82.116.3 | github.com |
| 3 | 138.1.33.162 | oracle.com |
| 4 | 157.240.229.35 | facebook.com (Meta) |
| 5 | 127.0.0.1 | localhost |
| 6 | 129.46.98.181 | qualcomm.com |
| 7 | 15.73.145.56 | hp.com |
The polynomial coefficients [9, 14, 20, 5, 7, 5, 18] map to letters (A=1, B=2, ...): I-N-T-E-G-E-R — telling you to find the integer in each domain.
Each restricted function constrains the domain to an interval (or union of intervals) containing exactly one integer:
| # | Domain | Integer |
|---|---|---|
| 1 | (10/3 - sqrt(14)/6, 10/3 + sqrt(14)/6) ≈ (2.710, 3.957) | 3 |
| 2 | (4, 6) | 5 |
| 3 | ≈ [1.109, 2.224] | 2 |
| 4 | [-3/2, 3sin(-1)/2] ∪ (0, 3/2] | 1 |
| 5 | [≈0.434, ≈0.567] ∪ [≈7.933, ≈8.066] | 8 |
| 6 | (9/4 - sqrt(30)/8, 9/4 + sqrt(30)/8) ≈ (1.565, 2.935) | 2 |
| 7 | [2 - 4sqrt(17)/17, 2 + 4sqrt(17)/17] ≈ [1.030, 2.970] | 2 |
At each integer, the restricted function produces a nice value (log₁₀(10) = 1, cosh(0) = 1, sin(π/2) = 1, etc.), and the large polynomial constants were specifically chosen so that f(integer) is itself an integer:
| # | x | f(x) |
|---|---|---|
| 1 | 3 | 721634185 |
| 2 | 5 | 140821163 |
| 3 | 2 | 138133162 |
| 4 | 1 | 15724022935 |
| 5 | 8 | 127001 |
| 6 | 2 | 1294698181 |
| 7 | 2 | 157314556 |
The (a)(b)(c)(d) tuples encode digit group sizes — how many digits each IP octet occupies:
| # | f(x) | Tuple | Split | IP |
|---|---|---|---|---|
| 1 | 721634185 | (2,3,1,3) | 72.163.4.185 | cisco.com |
| 2 | 140821163 | (3,2,3,1) | 140.82.116.3 | github.com |
| 3 | 138133162 | (3,1,2,3) | 138.1.33.162 | oracle.com |
| 4 | 15724022935 | (3,3,3,2) | 157.240.229.35 | facebook.com |
| 5 | 127001 | (3,1,1,1) | 127.0.0.1 | localhost |
| 6 | 1294698181 | (3,2,2,3) | 129.46.98.181 | qualcomm.com |
| 7 | 157314556 | (2,2,3,2) | 15.73.145.56 | hp.com |
Every octet is in [0, 255] — valid IP addresses. Function #5 producing 127.0.0.1 (localhost) is the dead giveaway that confirms this interpretation.
The integer from each domain does double duty — it's also a 1-indexed position into the domain name, extracting one letter:
| # | Domain | Integer | Letter |
|---|---|---|---|
| 1 | cisco | 3 | s |
| 2 | github | 5 | u |
| 3 | oracle | 2 | r |
| 4 | 1 | f | |
| 5 | localhost | 8 | s |
| 6 | qualcomm | 2 | u |
| 7 | hp | 2 | p |
I could not have solved this; I would not even have known where to start. I have no mathematical expertise to solve the first layer. I also would never have made the multiple intuitive leaps that the puzzle required.
When you first run into it, it’s fun and original. After a few months, you start experiencing physical pain every time you see “You’re absolutely right! This isn’t only X — it’s Y.”
I think that this is an artifact of how LLMs are constrained during fine-tuning rather than something inherent to the medium. I agree that the speech patterns are incredibly grating - I'm one of the people that found them grating even when it was only humans that talked that way. If AI companies were sufficiently motivated, I think they could quite thoroughly eradicate these verbal ticks and create a much more pleasant writing tone.
I think the bigger issue with "AI slop" is that it doesn't convey information. If I write a thousand-word essay, then the information I wanted to convey to you was best-expressed over those thousand words[1]. You get information about what I want, what I believe, and why I want/believe those things, and you can use that information to better model the behavior of me and people like me. If I ask an LLM to generate a thousand word essay supporting my one-sentence claim, then the information I'm conveying to you is "I support this one sentence claim", and everything else is just noise.
It's related to what you say about compression, but I think this relates specifically to the absence of a human writer, and is thus not solvable through technical means. Even if LLMs were able to write in such a way that no fundamental mathematical definition of complexity showed their output to be simpler than that of a human, the useful information conveyed would be less.
(depending on my skill as a writer, it could be less, but it's usually within an OOM)
I run into this in coding a lot too - I've found that I can consistently get better results from Claude by telling it to rewrite the code more concisely before I go through it (which makes me wonder why Anthropic hasn't already tried to engineer this into Claude Code via prompt or something).
Excerpt below, but read the (not much longer) full thing for the part involving Kolmogorov complexity. I suspect reading the full thing is better than reading the excerpt first for most people, in expectation. It's not that much longer.