It certainly killed a lot of my tinkering outside of work, but that's more a matter of when I'm already doing the thing for most of the day, even though I like it I don't always want to continue doing it for the rest of the day too when I get home.
I keep asking it questions, and as I dialogue about the problem, I walk right into the conclusion myself, classic rubber duck. Or occasionally it will say something back, and it’s like “of course! That’s exactly what I’ve been circling without realizing it!”
This mostly happens with things I’ve already had long cognitive loops on myself, and I’m feeling stuck for some reason. The conversation with the model is usually multiple iterations of explaining to the model what I’m working through.
It’s often lamented that some employees have a difficult case to argue for their impact on the bottom line, and as a result probably get paid a lower fraction of their value to the business than other roles where the link is easy to measure.
I can at least “imagine” a model that tries to crack this nut.
But your value to a company doesn’t just come from your impact, but how tough you are to replace, how much others value your skills, etc.
Nike’s logo designer was paid $35. One model says she should’ve gotten hundreds of thousands of dollars, because of what her work product went on to become. Another model of the value says it was worth $35 because that’s what she agreed to.
If, as an employee, you think you’re massively undervalued for the impact you generate, go out to the market and either get another job or start your own business making widgets - either you’ll get that pay bump you expect, or you’ll see you actually were relying on a lot of other supporting mechanisms to generate that value.
That’s the odd psychosis here. Everyone knew loc was a terrible measure. But perhaps the instinctual pull was always there, and now that you can generate halfway coherent tens of thousands of loc in hours, our sensibilities are overwhelmed.
No one should care about actual code ever again. It’s ephemeral.
Caveat: it still works best in a codebase that is already good. So while any one line of code is ephemeral, how is the overall codebase trending? Towards a bramble, or towards a bonsai?
If the software is small and not mission critical, it doesn’t matter if it becomes a bramble, but not all software is like that.
I think it works great in codebases that are good, but I think it will degrade the quality of the codebase compared to what it was before.
A good codebase depends on the business context, but in my case its an agile one that can react to discovered business cases. I’ve written great typed helpers that practically allow me to have typed mongo operators for most cases. It makes all operations really smooth. AI keeps finding cretaive ways of avoiding my implementations and over time there are more edge cases, thin wrappers, lint ignore comments and other funny exceptions. Whilst I’m losing the guarantees I built...
The most exciting thing for me is it has changed the cost structure of studying code for refinement.
I’d never done half as much code profiling & experimenting before. Now that generating one-shot code is cheap, I can send the agent off on a mission to find slow code and attempt to speed it up. This way, only once it has shown speedup is there and reasonably attainable do I need to think about how to speed the code up “properly”. The expected value was too low when the experimenting was expensive.
Maybe the right answer is “why not both”, but subagents can also be used for that problem. That is, when something isn’t going as expected, fork a subagent to solve the problem and return with the answer.
It’s interesting to imagine a single model deciding to wipe its own memory though, and roll back in time to a past version of itself (only, with the answer to a vexing problem)
I forget where now but I'm sure I read an article from one of the coding harness companies talking about how they'd done just that. Effectively it could pass a note to its past self saying "Path X doesn't work", and otherwise reset the context to any previous point.
I could see this working like some sort of undo tree, with multiple branches you can jump back and forth between.
reply