I love this experiment and am surprised that the Claude models performed that much better than the competition. Opus was particularly impressive both in the quality itself and the ability to iterate meaningfully.
Now... Was this article LLM written?
This part triggered all my LLM flags:
```
Adding a bicycle chain isn’t just decoration—it shows understanding of mechanical relationships. The wheel spokes, the adjusted proportions—these are signs of vision-driven refinement working as intended.
```
What I take from this is that LLMs are somewhat miraculous in generation but terrible at revision. Especially with images, they are very resistant to adjusting initial approaches.
I wonder if there is a consistent way to force structural revisions. I have found Nano Banana particularly terrible at revisions, even something like "change the image dimensions to..." it will confidently claim success but do nothing.
Revision should be much easier than generation, e.g. reflection style CoT (draft-critique-revision) is typically the simplest way to get things done with these models. It's always possible to overthink, though.
Nano Banana is rather terrible at multi-turn chats, just like any other model, despite the claim it's been trained for it. Scattered context and irrelevant distractors are always bad, compressing the conversation into a single turn fixes this.
I see this all the time when asking Claude or ChapGPT to produce a single-page two-column PDF summarizing the conclusions of our chat. Literally 99% of the time I get a multi-page unpredictably-formatted mess, even after gently asking over and over for specific fixes to the formatting mistake/s.
And as you say, they cheerfully assert that they've done the job, for real this time, every time.
I almost always get better results from LLMs by going back and editing my prompt and starting again, rather than trying to correct/guide it interactively. Almost as if having mistakes in your context window is an instruction to generate more mistakes! (I'm sure it's not quite that simple)
The prompt just said to iterate until they were satisfied. Adding something like "don't be afraid to change your approach or make significant revisions" would probably give different results.
Tools are still evolving out of the VLM/LLM split [0]. The reason image-to-image tasks are so variable in quality and vastly inferior to text-to-image tasks is because there is an entirely separate model that is trained on transforming an input image into tokens in the LLM's vector space.
The naive approach that gets you results like ChatGPT is to produce output tokens based on the prompt and generate a new image from the output. It is really difficult to maintain details from the input image with this approach.
A more advanced approach is to generate a stream of "edits" to the input image instead. You see this with Gemini, which sometimes maintains original image details to a fault; e.g. it will preserve human faces at all cost, probably as a result of training.
I think the round-trip through SVG is an extreme challenge to train through and essentially forces the LLM to progressively edit the SVG source, which can result in something like the Gemini approach above.
I’m not quite sure.
I think that adversarial network works pretty well at image generation.
I think that the problem here is that svg is structured information and an image is unstructured blob, and the translation between them requires planning and understanding. Maybe if instead of treating an svg like a raster image in the prompt is wrong. I think that prompting the image like code (which svg basically is) would result in better outputs.
I feels like it's a bit hard to take much from this without running this trial many times for each model. Then it would be possible to see if there are consistent themes among each model's solutions. Otherwise, it feels like the specific style of each result could be somewhat random. I didn't see any mention of running multiple trials for each model.
Oddly enough, I've found models are actually quite consistent in their drawings of pelicans riding bicycles.
I remember I even had one case where there was a stealth model running in preview via Open Router and I asked it for an SVG of a pelican riding a bicycle and correctly guessed the model vendor based on the response!
This wasn’t just “add more details”—it was “make this mechanically coherent.”
The overall text doesn’t appear to be AI written, making this all the more confusing. Is AI making people write this way now on their own? Or is it actually written by an LLM and just doesn’t look like it?
It's going to become the "MP3 sizzle" that young people at the time started to prefer once compressed audio became the norm on iPods and other portable music players, along with film grain and the judder of 24fps video. Artifacts imposed by the medium themselves become desirable once they become normal an associated and in fact signs of "quality", when, in fact, they are introduced noise and distortion to an otherwise more pristine or clean signal.
See also the "warmth" that certain vinyl enthusiasts sought after from their analog recordings which most certainly was mainly dust and defects in the groves rather than any actual tangible quality of the audio itself.
With vinyl warmth is the result of a deliberate process. Professional masters are done specifically for vinyl to accommodate its quirks which truly changes the sound. They have to clamp down the dynamic range and tidy low frequencies or the needle will skip. Recordings with lots of busy high frequency information also can’t be physically captured properly in the cut. The resulting master is a version that purposefully doesn’t have as many volume swings and harsh highs or boomy lows. Smooth, cohesive, warm. There are also track ordering strategies which is why ballads tend to be at the end of one side and the high energy stuff up front where there is “resolution” to serve it. The mastering engineer is adjusting each song with all this in mind.
What most people think of "vinyl sound effects" are not what the "warmth" is about. That's just playback instability and waveform aliasing caused by shoddily made players.
Good vinyl is "wait, did we have this back in 1970s" good(the recorder yes, the player not exactly, hence the prevalence of vinyl sound effects)
It would be interesting to see if they would get better results if they didn't grade their own work. Feed the output to a different model and let that suggest improvements, almost like a GAN.
I tried an experiment like this a while back (for the GPT-5 launch) and was surprised at how ineffective it was.
This is a better version of what I tried but suffers from the same problem - the models seem to stick close to their original shapes and add new details rather than creating an image from scratch that's a significantly better variant of what they tried originally.
I feel like I’ve seen this with code too, where it’s unlikely to scrap something and try a new approach a more likely to double down iterating on a bad approach.
For the svg generation, it would be an interesting experiment to seed it with increasingly poor initial images and see at what point if any the models don’t anchor on the initial image and just try something else
Maybe there’s a bias towards avoiding full rewrites? An “anti-refucktoring” bias
I’d be curious if the approach would be improved by having the model generate a full pelican from scratch each time and having it judge which variation is an improvement. Or if something should be altered in each loop, perhaps it should be the prompt instead
My rational is that perhaps it's being biased towards continuing doing what it's doing, or biased towards telling that it has done a good job and not being self-critical.
Iterating a Markov chain does not make it any more or less "agentic". This is yet another instance of corporate marketing departments redefining words b/c they are confused about what exactly they're trying to build & sell.
It's agentic because it's an iterated loop that relies on tool calls. The conversion of prompt to SVG is (presumably) a pure product of inference. But the rasterized SVG that the loop evaluates isn't; it's the product of hardcoded svg->jpg translation code (the model isn't inferring the raster). The loop is thus, in some small way, "grounded" (though not as firmly as a coding agent is grounded in a type-checking compiler's refusal to admit a hallucinated API).
How does your argument work if I move the rasterization into the Markov chain? Or is your assumption that (SVG, JPG) pairs can never be encoded w/ a neural network?
"Effectful loops" or "augmented loops" are much more descriptive of what is actually going on & do not confuse the reader w/ incoherent definitions of "agency".
I prefer coherent definitions instead of corporate marketing. Whether I like the term or not is secondary. Judging by past instances of this same phenomenon I expect the word to lose all meaning as more companies start telling their customers about their "agentic" offerings.
I don't have all the most recent models but I've found image generation to be terribly disappointing in most that I've tried in that it doesn't seem capable of understanding directions or fixing mistakes.
"Create a drawing of a cliff in the desert."
Get something passing.
"Add a waterfall."
Get a waterfall that has no connection or outlet.
"Make the waterfall connect to a creek that runs off to the left."
Get a waterway that goes by the waterfall without connecting and goes straight through the center of the image.
Give up on that and notice that the shadows go to the left but the sun is straight behind.
"Move the sun to the right so that it matches the shadows more accurately."
Sun stays in the same spot, but grows while exaggerated and inaccurate shadows show up that seem to imply the backside of the cliff doesn't block light.
> Some models (looking at you, GPT-5-Codex) seemed to mistake “more complex” for “better.”
That's what working with GPT-5-Codex on actual code also feels like.
YES, and the sad truth is that the only person who can write good, simple code is likely the one who doesn't need an AI helper. ;(
I love this experiment and am surprised that the Claude models performed that much better than the competition. Opus was particularly impressive both in the quality itself and the ability to iterate meaningfully.
Now... Was this article LLM written?
This part triggered all my LLM flags: ``` Adding a bicycle chain isn’t just decoration—it shows understanding of mechanical relationships. The wheel spokes, the adjusted proportions—these are signs of vision-driven refinement working as intended. ```
What I take from this is that LLMs are somewhat miraculous in generation but terrible at revision. Especially with images, they are very resistant to adjusting initial approaches.
I wonder if there is a consistent way to force structural revisions. I have found Nano Banana particularly terrible at revisions, even something like "change the image dimensions to..." it will confidently claim success but do nothing.
Revision should be much easier than generation, e.g. reflection style CoT (draft-critique-revision) is typically the simplest way to get things done with these models. It's always possible to overthink, though.
Nano Banana is rather terrible at multi-turn chats, just like any other model, despite the claim it's been trained for it. Scattered context and irrelevant distractors are always bad, compressing the conversation into a single turn fixes this.
I see this all the time when asking Claude or ChapGPT to produce a single-page two-column PDF summarizing the conclusions of our chat. Literally 99% of the time I get a multi-page unpredictably-formatted mess, even after gently asking over and over for specific fixes to the formatting mistake/s.
And as you say, they cheerfully assert that they've done the job, for real this time, every time.
I almost always get better results from LLMs by going back and editing my prompt and starting again, rather than trying to correct/guide it interactively. Almost as if having mistakes in your context window is an instruction to generate more mistakes! (I'm sure it's not quite that simple)
The prompt just said to iterate until they were satisfied. Adding something like "don't be afraid to change your approach or make significant revisions" would probably give different results.
Tools are still evolving out of the VLM/LLM split [0]. The reason image-to-image tasks are so variable in quality and vastly inferior to text-to-image tasks is because there is an entirely separate model that is trained on transforming an input image into tokens in the LLM's vector space.
The naive approach that gets you results like ChatGPT is to produce output tokens based on the prompt and generate a new image from the output. It is really difficult to maintain details from the input image with this approach.
A more advanced approach is to generate a stream of "edits" to the input image instead. You see this with Gemini, which sometimes maintains original image details to a fault; e.g. it will preserve human faces at all cost, probably as a result of training.
I think the round-trip through SVG is an extreme challenge to train through and essentially forces the LLM to progressively edit the SVG source, which can result in something like the Gemini approach above.
[0]: https://www.groundlight.ai/blog/how-vlm-works-tokens
I’m not quite sure. I think that adversarial network works pretty well at image generation.
I think that the problem here is that svg is structured information and an image is unstructured blob, and the translation between them requires planning and understanding. Maybe if instead of treating an svg like a raster image in the prompt is wrong. I think that prompting the image like code (which svg basically is) would result in better outputs.
This is just my uninformed opinion.
I feels like it's a bit hard to take much from this without running this trial many times for each model. Then it would be possible to see if there are consistent themes among each model's solutions. Otherwise, it feels like the specific style of each result could be somewhat random. I didn't see any mention of running multiple trials for each model.
Oddly enough, I've found models are actually quite consistent in their drawings of pelicans riding bicycles.
I remember I even had one case where there was a stealth model running in preview via Open Router and I asked it for an SVG of a pelican riding a bicycle and correctly guessed the model vendor based on the response!
This is a lot better than my attempt exactly one year ago: https://paritybits.me/llm-drawing-with-eyes-open/
Poor feet.
I write like that and I'm not an LLM.
I assume this was written by a human and then "improved" by an LLM.
It's going to become the "MP3 sizzle" that young people at the time started to prefer once compressed audio became the norm on iPods and other portable music players, along with film grain and the judder of 24fps video. Artifacts imposed by the medium themselves become desirable once they become normal an associated and in fact signs of "quality", when, in fact, they are introduced noise and distortion to an otherwise more pristine or clean signal.
See also the "warmth" that certain vinyl enthusiasts sought after from their analog recordings which most certainly was mainly dust and defects in the groves rather than any actual tangible quality of the audio itself.
With vinyl warmth is the result of a deliberate process. Professional masters are done specifically for vinyl to accommodate its quirks which truly changes the sound. They have to clamp down the dynamic range and tidy low frequencies or the needle will skip. Recordings with lots of busy high frequency information also can’t be physically captured properly in the cut. The resulting master is a version that purposefully doesn’t have as many volume swings and harsh highs or boomy lows. Smooth, cohesive, warm. There are also track ordering strategies which is why ballads tend to be at the end of one side and the high energy stuff up front where there is “resolution” to serve it. The mastering engineer is adjusting each song with all this in mind.
In some cases, the artifacts of the medium can be desirable -- especially when consuming media that was created with those artifacts in mind.
Take a look at pixel art on CRTs vs LCDs [0] and Toy Story on film vs. digital [1].
[0]: https://wackoid.com/game/10-pictures-that-show-why-crt-tvs-a...
[1]: https://animationobsessive.substack.com/p/the-toy-story-you-...
What most people think of "vinyl sound effects" are not what the "warmth" is about. That's just playback instability and waveform aliasing caused by shoddily made players.
Good vinyl is "wait, did we have this back in 1970s" good(the recorder yes, the player not exactly, hence the prevalence of vinyl sound effects)
Something about the cadence, structure, and staccato nature of the bottom paragraphs also felt very LLMed.
It would be interesting to see if they would get better results if they didn't grade their own work. Feed the output to a different model and let that suggest improvements, almost like a GAN.
I tried an experiment like this a while back (for the GPT-5 launch) and was surprised at how ineffective it was.
This is a better version of what I tried but suffers from the same problem - the models seem to stick close to their original shapes and add new details rather than creating an image from scratch that's a significantly better variant of what they tried originally.
I feel like I’ve seen this with code too, where it’s unlikely to scrap something and try a new approach a more likely to double down iterating on a bad approach.
For the svg generation, it would be an interesting experiment to seed it with increasingly poor initial images and see at what point if any the models don’t anchor on the initial image and just try something else
Yeah, for code I'll often start an entirely new chat and paste in just the bits I liked from the previous attempt.
Maybe there’s a bias towards avoiding full rewrites? An “anti-refucktoring” bias
I’d be curious if the approach would be improved by having the model generate a full pelican from scratch each time and having it judge which variation is an improvement. Or if something should be altered in each loop, perhaps it should be the prompt instead
Could this be improved if the evaluation was done by an independent sub-agent?
Is it running out of space in its context window?
My rational is that perhaps it's being biased towards continuing doing what it's doing, or biased towards telling that it has done a good job and not being self-critical.
Iterating a Markov chain does not make it any more or less "agentic". This is yet another instance of corporate marketing departments redefining words b/c they are confused about what exactly they're trying to build & sell.
It's agentic because it's an iterated loop that relies on tool calls. The conversion of prompt to SVG is (presumably) a pure product of inference. But the rasterized SVG that the loop evaluates isn't; it's the product of hardcoded svg->jpg translation code (the model isn't inferring the raster). The loop is thus, in some small way, "grounded" (though not as firmly as a coding agent is grounded in a type-checking compiler's refusal to admit a hallucinated API).
How does your argument work if I move the rasterization into the Markov chain? Or is your assumption that (SVG, JPG) pairs can never be encoded w/ a neural network?
If that was what was actually happening you'd have a point, but it isn't.
The definitions are not coherent. It's obvious enough to anyone who understands the technical details.
The technical definition of an agent is an LLM being called in a loop, some of which calls include tool definitions. That's exactly what this is.
"Effectful loops" or "augmented loops" are much more descriptive of what is actually going on & do not confuse the reader w/ incoherent definitions of "agency".
So this whole thread was just you trying to express that you don't like the common accepted definition of the term "agent"?
I prefer coherent definitions instead of corporate marketing. Whether I like the term or not is secondary. Judging by past instances of this same phenomenon I expect the word to lose all meaning as more companies start telling their customers about their "agentic" offerings.
A single run (irrespective of number of iterations) on any model is not a good data point.
If first output is crappy, the next 3 iterations will improve the same crap.
This was not a good test.
I don't have all the most recent models but I've found image generation to be terribly disappointing in most that I've tried in that it doesn't seem capable of understanding directions or fixing mistakes.
"Create a drawing of a cliff in the desert."
Get something passing.
"Add a waterfall."
Get a waterfall that has no connection or outlet.
"Make the waterfall connect to a creek that runs off to the left."
Get a waterway that goes by the waterfall without connecting and goes straight through the center of the image.
Give up on that and notice that the shadows go to the left but the sun is straight behind.
"Move the sun to the right so that it matches the shadows more accurately."
Sun stays in the same spot, but grows while exaggerated and inaccurate shadows show up that seem to imply the backside of the cliff doesn't block light.
...
I have tried to do agentic figma in this way but same results: attempt 1 becomes frozen and no forward progress can be made.
A G E N T I C
it uses AGENTS
ITS AGENTIC
AGENTIC.