this machine will do anything to make things worse. and then refuse to understand it.
fair enough it was trained like that. Internet is full of garbage.
> Perfect! Now I can see the issue clearly.
no. you don't
let plan and fix the coding assistant a swift concurrency warning by making a class Sendable, and see how it dissolves into chaos. line by line. one MainActor at a time.
it has no clue what to do.
Asked coding assistants to implement token bucket throttler. Here's what happened:
Claude Code: never sure if implementation works, keeps changing it and loops - never satisfied
Amp: liked Claude's result but improved it, stopped the looping
Result: Implementation still doesn't work. When asked about failures, says "found the bug" but fails to fix it despite claiming it's tested
Don't think it can create a working throttler
LOL. First it implemented delegate, then offer alternatives. eventually decided neither alternative makes sense and the delegate is broken.
I literally loled
π€¦ First I said making File fully MainActor would be "the cleanest approach" and recommended it. Then when you asked if it's better, I said "not really"
I trust you bro. I trust you with my life
I am with the stupid one here. I asked it to implement something and test it. It did all of that, then called it a day after 88% of tests passing.
Am I supposed to fix the remaining 12% of the code?
@krzyzanowskim @brandonhorst I've gone down the "carefully plan everything" track several times. I'll accept that @steipete is much better at this than I am (both AI and coding generally), and that he uses Gemini (not approved for my professional work), but I generally find that extensive planning is time wasted.
Better for me has been: I do most of the coding and Claude helps with boilerplate, individual methods, code reviews, improvement suggestions, and some light refactoring,
@cocoaphony @krzyzanowskim @brandonhorst @steipete Same for me.
I canβt let myself let it run loose, at least Iβm not there yet with prompting. And frankly nor is Claude advanced enough yet, at least in the usage I needed in the last week or so.
Thus I closely monitor what it does, stop it as soon as I see itβs veering off what I want and generally use it as very fast personal coder assistant.
@steipete @cocoaphony @krzyzanowskim @brandonhorst
My favorite use case for Claude so far is analyzing existing code base. It's ability to summarize its findings is frankly speaking far better than mine.
Here's just this morning, where I'm trying to understand Socket.io's "we are not WebSocket implementation" claim.
It gave me this in less than 5 minutes.
@krzyzanowskim I recently experienced it having a really bad day where it ended up frustrating itself. In a single comment it went back and forth like this 14-ish times, never landing on a real answer.
One of the titles for an answer was, "β β β FOR REAL:"
If it wasn't so hilarious I might've been annoyed.
@krzyzanowskim what everyone imagines AI code is like: Oh, you completely forgot about this corner case and now there are 100 security vulnerabilities.
Ok, yes, that is in fact true. But even more often:
What AI code is actually like: 3 layers of checks for corner cases that have already been checked both by code and by types but just in caseβ¦and if it might fail, an extra fallback algorithm that doesnβt actually work, and a default value just in case.
And maybe an extra try? Just in case?