It is, but I bet you will open the DevTools and checking why it is not working like intended. Instead of asking LLM "it's not center yet" or "now the other things is center but not the one I mean"
I sat next to a young aspiring software engineer, I just met him. And it's annoy me, to look at how he works. Prompting again - again and again till something is fixed, it's not how you do things. I think, if the AI could not answer it in the first place, you should fix it your self ~ or give it more context.
I'm sorry, It's just ~ I don't think that's how I want to use AI to code.
So I tell him, he needs to level up or else ~ the civilization will collapse, lol.
I think that a big issue here is the chat UX implementations in most IDEs. In contrast, in zed, in the text-based chat threads, one can directly edit an LLM's answer, making actually fixing bugs oneself much less complicated in terms of UX. In a classical chat interface, where you cannot edit an LLM's answer, you have to either continue the thread, start a new thread with a different prompt asking it to avoid the issue, or fix the code and provide it as context again. If you do it in a new chat, you lose the context of the previous chat (you need to provided it again). If you continue the chat with the added code, you have dirty context (which makes llms perform worse). Moreover, they most probably require you to get in and out of the chat to do things, which is not ideal UX compared to just prompting again. The fact that I can just change the generated code in the chat itself, run it in the repl, and continue from there is the best UX imo for when such problems occur. I would like if more IDEs actually accepted something similar.
Of course, my workflow is very repl based and I assume different experiences exist for other contexts. Moreover, agent workflows have probably different pros and cons. It is great timewise that they can test code and fix bugs themselves, but essentially that's a bit like automating this prompt-reprompt loop. It saves time compared to that (at the cost of a lot more $$$ in tokens overall), but if the agent fails to solve the issues, yet again we are at square zero. What helps a lot is that work is done inside the codebase at least, which is supposed to be a good thing, but personally I have not understood how to use agents efficiently tbh.
I think what that young guy actually did was practice for the next job application as "vibe programmer / Claude". Joke.
I think he did "vibe" coding, but (may be) on a piece of code that doesn't throw errors. Code assistance then doesn't know/understand what went wrong - more context would help. BUT!
I have had an logical problem once that I couldn't resolve with my quarter-pounder only. So I used cgpt and asked to give it to me. And, you guessed, it didn't work out.
I did not really expect it to work out, but at least give me the logical structure as the worst case. So I asked and got garbage. So I asked again, again, again - more context than the context I gave was out of reach, as I needed the logical structure firstly to be able to comprehend it myself and to add further context.
Then, at some point, I got something delivered that looked promising from the perspective of logical structure. So I took this and formulated a new prompt - and. Yes! You guessed it. It didn't work out in code.
So, I did a quick truth table of expectations, formulated the prompt with the given logical structure and truth table and told assistant to check on the given code... AAA AND! You guessed it. I sent 10 times the same prompt "here truth table, here code, ....".
I noticed, the code changed more or less each time, with introduction of newish loops and methods and and and..
And somewhen then, it worked flawless out of nothing.
Sometimes it makes sense just to write "it doesn't work out":
- in case one doesn't know how to formulate the actual problem, because it's out of scope. It's not the same as not being able to program, but it may be just to difficult to grasp the logic/algorithms with own brain (even own/custom one)
- to get alternative suggestions which may even be better than earlier suggested ones.
So, as long I don't know why this young guy did what he did, as long I can't judge what he did. May be he is like me - is able to code, but has big problems to sustain that knowledge and skill, because of Claude!!!!!
Right, I'll have one main chat open for high level planning and guidance. It can knock out big chunks for me. But as soon as I take it on a side quest to fix something that doesn't work, it often starts going off the rails. Better to open a separate context for that fix. And often there's a good reason that it created the issue, like it patterned itself into a wall and a dead-end. At that point you should either start back from where it started drifting or take over (but still starting at the pre-drift point.)
VPN servers and client, I don't know how to build one. There are many opensource VPN like wireguard, I just don't understand why this and that. And how do I makesimole VPN, how do they intercept our request etc.