> who can produce outputs very much on par with "good human standards"
“Can produce”. Is doing a lot of heavy lifting there. It can, but then they also regularly write truly bafflingly bad code that no decent experienced dev would ever produce.
I’ll give you a few examples from last week. I had claude whip up a Kafka consumer. After a lot of back and forth I was pretty confident it worked and then I decided to dig into the code. I spotted some real head scratchers.
When starting up the consumer it wanted to pass a specific rebalance strategy, but then it realized that the library it was using didn’t support that strategy, so it needed to use the default.
Instead of just deleting the config option (and maybe leaving a comment), it created a function that removed that key from the map and used it like:
foo: “bar”,
baz: drop_strategy_key(
strategy: “blort”,
bit: “bang”
)
Then I started looking at the tests. They looked good but then I realized it wanted to be able to test without Kafka so what it had done was make multiple public functions that were mostly duplicates of the real functions
except that they didn’t call the Kafka library. Then it just tested those instead.
Another frontier model reviewer was supposed to prevent that kind of thing but it didn’t catch it either.
I had 10 public functions that were only called in tests throughout the whole project. Essentially the tests were useless because they weren’t actually testing anything.
Clearly current frontier models are useful. And maybe they produce code that is better than the median dev by many metrics. But I don’t think they are anywhere near consistently producing better quality than a say a 70the percentile dev with 10 years experience.
And even when the quality is better than the median dev, I’m finding that the bugs are not the kind of thing that humans or LLMs are good at spotting.