Earlier quoted context omitted.
People keep saying this and it doesn't make sense. I review code. I don't construct a theory of mind of the author of the code. With AI-generated code, if it isn't eminently reviewable, I reflexively kill the PR and either try again or change the tasking. There's always this vibe that, like, AI code is like an IOCCC puzzle. No. It's extremely boring mid-code. Any competent developer can review it.
I assumed they were describing AI itself as a black box (contrasting it with deterministic code generation), not the output of AI.
I read all of Cloudflare's Claude-generated commits
201–210 of 291 posts
Re: I read all of Cloudflare's Claude-generated commits
#202Earlier quoted context omitted.
I assumed they were describing AI itself as a black box (contrasting it with deterministic code generation), not the output of AI.
Right, I get that, and an LLM call by itself clearly is a black box. I just don't get why that's supposed to matter. It produces an artifact I can (and must) verify myself.
(I assume that isn't what you're actually arguing against, in which case at least one of us must have misread something from the parent chain.)
Re: I read all of Cloudflare's Claude-generated commits
#203I guess that's where a big miss in understanding so much of the messaging about generative AI in coding happens for me, and why the Fly.io skepticism blog post irritated me so much as well.
It _is_ how collaboration with a person works, but the when you have to fix the issues that the tool created, you aren't collaborating with a person, you're making up for a broken tool.
I can't think of any field where I'd be expected to not only put up with, but also celebrate, a tool that screwed up and required manual intervention so often.
The level of anthropomorphism that occurs in order to advocate on behalf of generative AI use leads to saying things like "it's how collaboration works" here, when I'd never say the same thing about the table saw in my woodshop, or even the relatively smart cruise control on my car.
Generative AI is still just a tool built by people following a design, and which purportedly makes work easier. But when my saw tears out cuts that I have to then sand or recut, or when my car slams on the brakes because it can't understand a bend in the road around a parking lane, I don't shrug and ascribe them human traits and blame myself for being frustrated over how they collaborate with me.
Re: I read all of Cloudflare's Claude-generated commits
#204Earlier quoted context omitted.
Right, I get that, and an LLM call by itself clearly is a black box. I just don't get why that's supposed to matter. It produces an artifact I can (and must) verify myself.
Because if the LLM is a black box and its output must ultimately be verified by humans, then you can't treat conversion of prompts into code as a simple build step as though an AI agent were just some sort of compiler. You still need to persist the actual code in source control. (I assume that isn't what you're actually arguing against, in which case at least one of us must have misread something from the parent chai…
Re: I read all of Cloudflare's Claude-generated commits
#205Re: I read all of Cloudflare's Claude-generated commits
#206Earlier quoted context omitted.
Very few people use n dashes in internet writing as opposed to dashes as they are not available on the default keyboard.
That’s not true at all. Apple’s OS by default have smart punctuation enabled and convert -- (two hyphens) into — (“em-dash”; not an “en-dash”, which has a different purpose), " " (dumb quotes) into “ ” (smart quotes), and so forth. Furthermore, on macOS there are simple key combinations (e.g. with ⌥) to make all sort of smart punctuation even if you don’t have the feature enabled by default, and on iOS you can long p…
I don't see anyone doing that here. LLM writing was brought up because of the writing style, not the dash. It just reinforces the suspicion.
Re: I read all of Cloudflare's Claude-generated commits
#207Earlier quoted context omitted.
I don't agree. The AI largely does the boring and obvious parts. I'm still deciding what gets built and how it is designed, which is the interesting part.
> I'm still deciding what gets built and how it is designed, which is the interesting part. How, exactly? Do you think that you're "deciding what gets built and how it's designed" by iterating on the prompts that you feed to the LLM that generates the code? Or are you saying that you're somehow able to write the "interesting" code, and can instruct the LLM to generate the "boring and obvious" code that needs to be fi…
My prompts specify very precisely what should be implemented. I specified the public API and high-level design upfront. I let the AI come up with its own storage schema initially but then I prompted it very specifically through several improvements (e.g. "denormalize this table into this other table to eliminate a lookup"). I designed the end-to-end encryption scheme and told it in detail how to implement it. I pointed out bugs and explained how to fix them. And so on.
All the thinking happened in those prompts. With the details I provided, combined with the OAuth spec, there was really very little room left for any creativity in the code. It was basically connect-the-dots at that point.
Re: I read all of Cloudflare's Claude-generated commits
#208Earlier quoted context omitted.
> You seem to have this fundamental belief that the code that's produced by your LLM is valid and doesn't need to be evaluated, line-by-line, by a human, before it can be committed?? This is a mistaken understanding. The person you responded to has written on these thoughts already and they used memorable words in response to this proposal: > Are you a vibe coding Youtuber? Can you not read code? If so: astute point.…
We should go one step past this and come up with an industry practice where we get someone other than the author to read the code before we merge it.
Re: I read all of Cloudflare's Claude-generated commits
#209But things like styling and unused code removal have been automated for a long time already, thanks to non-AI tools; assuming that the AI agent has access to those tools (e.g. assuming the agent can trigger a linter), then the engineer could have just included these steps in the prompts instead of running them manually.
EDIT - I still think there are aspects where AI is obviously lacking, I just think those specific examples are not among them
Re: I read all of Cloudflare's Claude-generated commits
#210> Around the 40-commit mark, manual commits became frequent—styling, removing unused methods, the kind of housekeeping that coding models still struggle with. It's clear that AI generated >95% of the code, but human oversight was essential throughout. But things like styling and unused code removal have been automated for a long time already, thanks to non-AI tools; assuming that the AI agent has access to those tool…