20 karma · joined October 4, 2024
real, quality AI breakthrough in software creation & maintenance will require deep rework of many layers in the software stack, low and high level.
imo what AI needs to debug is either:
- train with RL to use breakpoints + debugger or to do print debugging, but that'll suck because chains of action are super freaking long and also we know how it goes with AI memory currently, it's not great
- a sort of omniscient debugger always on that can inform the AI of all that the program/services did (sentry-like observability but on steroids). And then the AI would just search within that and find the root cause
none of the two approaches are going to be easy to make happen but imo if we all spend 10+ hours every week debugging that's worth the shot
that's why currently I'm working on approach 2. I made a time travel debugger/observability engine for JS/Python and I'm currently working on plugging it into AI context the most efficiently possible so it debugs even super long sequences of actions in dev & prod hopefully one day
it's super WIP and not self-hostable yet but if you want to check it out: https://ariana.dev/
we instrument your code automatically which is a compiler like approach under the hood, then we aggregate the traces
this allows context engineering the most exhaustive & informative prompt for LLMs to debug with
now if they still fail to debug at least we gave them all they should have needed
- we are planning a hosted AI debugging feature that can aggregate multiple traces & code snippets from different related codebases and feed it all into one llm prompt, that benefits a lot from having it all centralized on our servers
- for now the rewriting algorithms are quite unstable, it helps me debug it to have failing code files in sight
- we only store your code for 48hours as I assume it's completely unnecessary to store for longer
- a self hosted ver will be released for users that cannot accept this for valid reasons
I just released for free a tool to help you understand python, rust, JS, TS, go code on GitHub!
How did I end up there? Last summer I was interning at the European Space Agency trying to optimize black holes detection algorithms. And well of course as a software guy with little astronomy knowledge (yes, they did hire me) it was tough to understand astronomy code, and code made by some astrophysicists who were non software-specialists. I was wondering if a better UX for reading code was possible, probably using LLMs. Because it is often a huge pain to understand entire codebases, whether when onboarding in a new company, dealing with legacy/crappy code, code in a new language, debugging messy code with tons of side-effects and global state.. So for the last 4 months I've solo-coded this tool. Still wondering if it should be open-source, but at least felt like I should provide it for free for now (costs me a bit tho).
Hope its useful! Let me know what you'd like to see it do in the future