wwind123
Joined 4 months ago
Joined 4 months ago
For one of my green-field projects that I just vibe-coded with AI's (where Claude, Codex and Gemini critique each other's design and code), a PR could go through many iterations (commits) until every AI approves, and if every commit runs the CI, it'd be very slow. So I eventually come up with a mechanism to only run CI when all reviewers approve. That improves things a lot.
The publishers (websites or apps owners) that provide free content to users need a way to support the free content, and typically it's either donation (like wikimedia) or ads. To most publishers, ads revenue is far more predictable. By right most publishers also would like the ads to be reliable and relevant to the users consuming their content, but that's usually a secondary concern, compared to the revenue.
The users viewing the content are often annoyed by the ads, but as long as the ads are not too intrusive, they usually tolerate the ads. If the users occasionally find ads are actually useful, that's great, but most of the time in my experience, when I click into an ad it's usually a mis-click, not because I'm genuinely interested in this ad.
The advertisers need a way to reach more potential customers. Most advertisers are honest players in the game with real products or services to offer to users, trying to find ways to maximize the impression, click-through and conversion rate by optimizing their creatives, targeting, and bidding strategies etc. But there are always scammers that try to cheat the game, showing dodgy ads to rip off users whenever possible.
Google as an ad-tech platform sits between these 3 parties, trying to show the most relevant ad from advertisers in a publisher's ad-slot to the user. But the system has evolved into a complex maze over the years that likely nobody knows the full picture any more. New legal requirements and regulatory policies and industry landscape shifts keep pushing the system to extremes. There are teams to fight ad spams, but there are also business goals to make more money to fund the AI initiatives. The scammers keep finding new loopholes in the system, and the teams fighting the scammers are often steps behind, due to limited resource and budget. End result is many dodgy ads keep slipping through the policy filters.
In an ideal world, ad-tech platforms should optimize for satisfying all 3 parties at the same time: publishers, advertisers, and end users, in addition to making money for themselves. But that's probably hard to achieve, given the dynamic nature of the world. AI can help fight scams, but AI can also help finding loopholes in the scam-fighting system. It's a sad state of the world.
Another observation, Gemini's review on code is more critical now, but its review on design plans is still quite agreeable - it tends to approve Codex's design plan immediately, while Claude could often pick out a bunch of problems in the design plan in the first round of reviews.
A couple of months ago (before opus-5 and gpt-5.6 sol), The ratio of problems caught by codex/claude vs gemini was more like 2:1 to 3:1. But now it seems codex and claude have made huge leaps and gemini is more or less staying put.
The result is the same as the previous Gemini 3.6/3.7 Flash days: Claude could always note much more problems in Codex's plan and implementation than Gemini could - the ratio is like 10:1.
I occasionally switch the roles between Codex and Claude, and result is the same, Codex could always catch much more problems in Claude's plan and implementation, than Gemini could.
So I am guessing in a relatedly complex codebase, Gemini is much less effective in acting as a guardrail (or a senior engineer/team lead) than the other SOTA models.
Of course, if those max amounts of things have few consumers because most people are just too poor to afford them, that'd make companies (or the agents that run companies) think twice too. At some point these AI agents might work together to come up with an economic system to make it possible for society to afford their products so they could further grow.
But sometimes it's a chicken-and-egg problem.
Teams most often don't have the patience to wait for your proper solution. If you don't have a ready solution to easily address their problem, they just build their own work-arounds, or give up the task if it's too hard. And those teams all have their own priorities to tackle on their plate for the quarter, so even if you eventually build a proper solution later, it's unlikely they'd migrate to your solution or restart their task.
So even if you have accumulated a lot of old use cases, when you build a proper solution you'd need new use cases to justify your effort, the ones where the owner teams are willing to build along with the iterations of your solution. That kind of new use cases may or may not come up when you have the bandwidth and resource to actually do this. And if you miss one opportunity, the constant shifts of organization priorities would likely mean there would not be another chance for you to do it. The end result is, every team either builds their workarounds, or just give up if it's too hard, without a proper solution.
The publication validated that programming was something I liked and was good at, which became the main factor I chose computer major in college.
See Hyrum's Law: https://www.hyrumslaw.com/