It would be really constructive if people with other experiences could share their chats so we could see what they're doing differently.
It would be really constructive if people with other experiences could share their chats so we could see what they're doing differently.
In areas of high complexity, I want to write the code myself — even if AI was capable of doing it. Often I don’t just want code, I want the understanding which comes from thoughtfully considering the problem and carefully solving it.
Perhaps one day, I could task an AI with writing an API, and it would be able to not just write the API, but also write a bunch of clients in other languages, and automatically integrate lessons learned writing clients into revisions of the API. Then it could task a bunch of other AI models with writing exploits, and patch the API appropriately. Then integrate any lessons learned when revising the API so that the code is more maintainable.
But what’s the fun in that?
Actually, I had a hardware project where I found myself gravitating toward the microcontrollers and sensors ChatGPT was already familiar with. In this case, I cared more about my project working than about actually learning/mastering my understanding of the hardware. There’s still time for that but I’ve been able to get something working quickly rather than letting my notebook of ideas fill with even more pages of guilt and unfinished dreams…
With the Python backend tests I did, it just barfed out absolute garbage. Fastapi and sqlalchemy are so common there’s not a great excuse here. I’d tell it what routes I needed written for a given table/set of models pre-written and I even tested with a very basic users example just to see. No dice; they were always syntactically valid but the business logic was egregiously wrong.
I've been having it reproduce the lua peg parser thingie (plus utf-8 support)[0] from the paper they wrote about it while also using the 'musttail' interpreter pattern [1] just because that sounded like a good idea. Once I got over the fact that Claude is really bad at debugging and Deepseek, while much better at it, isn't very reliable due to 'server busy' timeouts things have been going swimmingly. While I don't do very much debugging once in a while they do get stuck trying the same things over and over so I have to step in and every so often it'll go crazy and come up with some over complicated solution where I have to ask "that's nice and all but wouldn't it have been easier to just update the index variable instead of rewriting the whole thing?" Claude also seems to like duplicating code instead of generating a helper function but I haven't had that argument with it yet.
So far we have a VM which passes all the tests (which was a battle), a Destination-Driven Code Generation (with additions and subtractions) based compiler implementing all the peg specific optimizations from the paper (which I haven't even starting debugging yet) and the start of a Python C-API module to tie it all together. Admittedly, the python module is all my doing because it's easier to use pybindgen than fight with the robots.
So, yeah, I'm just having fun getting the robots to write code I'm too lazy to write myself on a subject which has interested me for at least a decade. Once I get this working I plan on seeing how well they do with Copy-and-Patch Compilation[2] but don't really have high hopes on that.
[0] https://www.inf.puc-rio.br/~roberto/lpeg/ [1] https://blog.reverberate.org/2021/04/21/musttail-efficient-i... [2] https://arxiv.org/abs/2011.13127
It's okay at backend python if I'm very careful about typing, pydantic, etc. But my hope was the "cutting-edge" models would be able to e.g. implement a repository and route given the models and schemata; no such luck. They just aren't great yet, at least not from my testing, hence the hope that someone can share the actual usage of where and how they are rather than just saying so repeatedly.