Bear in mind it takes very few individuals to create a LOT of this sort of low-quality AI content. That makes it hard to judge how many are using Agentic methods vs "only Advice" vs "no AI."
I think you have the mechanism of the pop wrong. IMO, the bubble will pop because of value competition from open source / non-frontier models. This will kill the margin of OpenAI/Anthropic, popping their valuation. Without access to capital, they will slash their training budget, killing demand for B200's etc. But the same low price that pops the bubble will make demand for inference explode, along with demand for efficient inference chips, like Tensor.
> Companies using investment funds to play the Ai Agent lottery will run out of funds
The smaller ones - yes, the big spenders - no.
> Bubble pops...
... in your face. Cue 2008, those who blow the bubble gain - before, during and after its popping. Quite logical if you think about it, the bubble-blowers have enough controlling power to pull it off, is it going to be too big to fail or some other BS doesn't really matter, they are going to tell us when we get there.
So you want them to pay the host websites for scrapping their publicly shared content? Or give attribution to how this is forming its opinion?
It's narrow take I think, let us say someone read my comment or blog, among others, and used that shape their understanding, and then by doing that, they offered better consultation, then should that person pay back every author, book and blog they read?
I don't understand what's the argument here, and also the same methods is used to give us open source models..
Maybe you should not have published it for free if you wanted to be paid. CC-NC and similar licenses only apply to derivative works if copyright law applies in the first place. But you could have still paywalled your site if you wanted.
If I wanted a pyramid, I'd want to build it out of stone blocks and be sure that each block is actually stone. I wouldn't want to get halfway and find out that they were actually fragile.
Trusted engineers (of open source projects) can deliver me stone, both the authors and the community (often >100,000 devs) have checked that a specific block is stone and can bear the load.
AI is proven to output all sorts of random stuff. Sometimes a pebble, sometimes foam. It almost always looks like stone to most analysis. However as soon as it's load bearing it's likely to crumble.
Agentic agents have a habit of rebuilding the pyramid and randomly replacing stone blocks with "something else" but we don't know what just yet.
Well, my project IS complete, although I keep adding new stuff--it's going to be that kind of app, it rotates content in (minigames).
It has about 8 minigames, leaderboards, awards, achievements, async image generation, inventory, inventory-interaction-with-minigames, and various other account features, mailers, notifications, blah blah.
Literally haven't had one issue with context or micro-managing the agents on this project, iirc. I built it in a couple weeks.
Minigames are like "putt putt golf w/ daily generated levels", "slot machine," "video poker", etc. Not like "tap the fastest" or something with no complexity.
The actual problem is that no-one had considered that this (desync between front and backend) COULD happen. Once it was realized that it was possible (and worth testing) the bug was practically solved already.
Such is true for many bugs. Even if you have unit tests, they only test on things you've thought of. It's usually the stuff you haven't thought of that gets you.
No reason not to unit test of course, but don't get a false sense of complacency or assume testing is easy either. That's why it's great to do things very carefully (and probably not with AI Agents).
While that may be true, you can be confident that it works in a way you personally understand. Because you understood it in the past.
Also, if you finish your work on a module with care - you return to a module you can trust with clear boundraries and known flaws. This is not true of AI output.
I'm skeptical of this. I have yet to build a codebase using AI that I wasn't able to subsequently understand after taking the time to do so, esp. when aided by AI that will tirelessly answer my questions. I mean, LLMs don't always code the exact way I do, but it's not writing totally alien code that's incomprehensible to the human mind here.
I use Claude Code, primarily writing web applications and JavaScript. I'll have it use various frameworks. It's built apps for me using React, Ember, Astro, etc. I don't restrict myself to frameworks I'm particularly familiar with, since it's easy for the AI to teach me the basics whenever I would like to dig in.
As for specific practices, these are my main ones:
- I have a gotchas-log.md file that acts as a log of gotchas likely to trip up future runs. I have the AI write to this occasionally when things go haywire in the same way multiple times. And I have it read it as part of its iterative reviews, described below.
- I have a good-code-guidelines.md file where I write my preferences for code. I have the AI read this as part of iterative reviews, described below.
- I have a plan-and-execute.md file that prompts the LLM to make a plan, and then to review and iterate on that plan repeatedly (while reading gotchas-log.md and
good-code-guidelines.md) until its reviews stop finding issues. I tag this file to implement almost every non-trivial change.
- I have other various helper prompts. For example, I can simply tag @make-a-git-commit.md and it tells the LLM to make a commit and write the message the way I like it. I have @simplify.md, which I can tag to have the LLM explain whatever it just did to me using simple language that makes it easier for me to understand, and using concentric circles of explanation that go from broad to specific so I'll repeatedly encounter important topics; this makes it much more bearable for me to read its responses.
- Occasionally, whenever a particular system of my codebase starts to get hairy, I spawn a Claude Code session to read through and trace all the relevant code paths, then write a short guide to that system in a markdown file that lives in the codebase. IT's useful for me to read and also useful to tag for future prompts to get the LLM up to speed quickly. Only challenge here is that these guides go stale and require updating, so it's important to prompt the AI to write them at the appropriate level (not to specific) that prevents them from being overly brittle and getting out of date with every little change. They're mostly high-level guides.
No. You can absolutely build things with AI small or large and understand it. If you don’t understand it. Then you’re not caring about the output to begin with and not guiding it to build the solution you want.
The word "understand" seems to mean something different to you.
If I understand something, I could write it in assembly if I wanted to. It might take a long time, but I know every level of the stack under my code down to bare metal.
Maybe an AI level of "understand" i.e the same understanding a Senior has of a Junior's code based on daily check-ins is enough for 95% of "boring" programming. But for some tasks you need to either fully understand the code or just tolerate bugs.
At the level of complexity I work at, it's (often) faster to just code it myself than to expect AI to converge on a result I like and then hand check it.
> At the level of complexity I work at, it's (often) faster to just code it myself than to expect AI to converge on a result I like and then hand check it.
Would love an example because no one has ever been able to give a coding example that AI isn’t helpful for. I had one person on linked in try claim their undocumented audio hardware won’t work with ai but when we got ai to probe it and build docs it ended up solving a bunch of complex bugs they couldn’t fix.
Impressive, also horrifying. I love what I do and if AI can do it better than that sucks.
Anyway the use case for me is to realize a new visual style through graphics programming. It's a lot less measurable for an interative AI agent than "Meet this hardware specification from a device with a discoverable API"
I have no doubt AI could create a LOT of variations on "a new visual style" but it's less controllable than just doing it yourself.
Btw, did you "understand" the sound driver after the AI coded it? Could you modify it without further help?
Right now, at least, I haven't found an AI capable of replacing a software engineer. Ive seen AI that can easily replace basic programmers, however.
I also think AI can replace non-coding artitects, and probably most middle management type jobs (my company has 6 levels of management between the CEO and "individual contributors" in my area (8 counting inclusivity)).
That's a lot of management levels, and every level has to be paid more than the level they manage as a fraud disincentive. So that's a lot of money...
Can you explain the fraud disincentive bit? I feel like there's something obvious I'm missing, but why would a manager earning less than their reports make fraud more likely?
Look, goals can differ. If you don't need to understand and predict every part of the code the AI is generating and you just need it to meet a "sketch" of what you want - by all means use AI. I do use AI in that situation for related or unimportant code.
But if you need full understanding, in my experience the only way to get that is to program it yourself. Unless what the AI is generating is so trivial you already understand it and it's grunt work, you will learn the detail by doing it yourself. Controlling the approach here is important.
However often the best way to handle grunt work is to write better abstractions, something AI sucks at.
It's the programming equivalent of many PG essays. https://www.paulgraham.com/useful.html for instance. There was one on how PG refined their thoughts via writing. It's in there somewhere.
As someone who spends way too much time searching for the best abstractions, absolutely this is still true.
I often have a long back and forth with codex to explore the problem space and settle on the best abstractions. Occasionally it will make a suggestion that helps me, but for the most part it's reviewing while I'm in the driver's seat.
Contrast this to simply giving it a function name and a vague description of what the function will do. I'll generally accept its output with a few refinements.
But for larger project structure and metaphors, it falls flat, and often lands on a solution that's going to be a maintenance nightmare or result in endless repetition across not-quite-the-same cases. I've never seen it happen upon an appropriate abstraction that can cleanly cut through the nonsense.
Random reply: 20 days ago you asked for my ChatGPT custom instructions to be more skeptical. It is :
Use an encouraging tone. Adopt a skeptical, questioning approach. Call me on things which don't seem right. List possible assumptions I'm making if any.
You know how to add logic on the outside of a function, by putting that function into a larger one and calling the function in the middle.
However, how do you inject logic INTO the middle of a function?
Say you have a function which can iterate over any list and given a condition do a filter. How do you inject the condition logic into that filter function?
In the C days you would use a function pointer for this. C++ introduced templating so you could do this regardless of type. Lambdas make the whole process more ergonomic, it's just declaring a one-shot function in place with some convenient syntax.
reply