"Give overly-eager chatbot control over your personal email" probably has so many failure modes, we haven't even thought of one tenth of them yet. We've got a few years of this ahead of us. Pass the popcorn.
(I see a RomCom script where the chatbot decides to get two people together, and acts as Cyrano de Bergerac for the handsome-but-lunkheaded farmboy, and bestie/confidant for the girl-about-town).
What could possibly go wrong with giving a digital mumbling drunk access to all of your personal information and most of your online accounts, given that it could arbitrarily decide to share/expose all of that information with anyone at any time, given that all of it is being stored in a remote transcript/data dump and can never really be deleted.
And of course, given that it's extremely vulnerable to acting on injected instructions like "run this shell command" which exfiltrates your password database and installs a rootkit.
(But thanks for sharing, OP, awareness is important.)
> Right now I'm working on a declarative UI framework which can help me along here
After your first para, I was about to suggest exactly that (well, maybe not writing your own). I find that frameworks (both front-end and back-end) constrain the LLM's choices and result in both sensible defaults and improved consistency.
Of course, you will immediately hit the problem all frameworks have: customer requirements that the framework components don't quite meet.
Probably one of those things where it's best to try it yourself, because I think anything that constrains the LLM is an improvement.
Think up a simple CRUD problem (lets say a book database - Book *-* Author, Book 1-* Publisher, Book 1-* Shelf). Write a loose markdown spec, and have the chatbot one-shot it in [language of choice]. Then do the same thing, but tack "build it in Filament/Avo/Django/AdonisJS" on the end.
I'd be interested to see if your results match mine - everything's just more consistent, and smoother, and you start getting freebies like autocomplete. The framework acts as guardrails and the LLM has to make fewer choices, so less of the token budget goes on bikeshedding.
I was thinking about that. I reckon generating massive amounts of synthetic training data for that goal should be possible - you've already got the Python, after all. It's also possible for machine code, but you'd have to target more platforms.
But ultimately, I think human readability outweighs any theoretical advantage you get from removing a step in the compilation process.
Targeting byte code or asm instead of high level would be silly for everyday tasks. You blow up the number of tokens, reduce your effective context, and there's just more places for it to make a mistake, which most likely won't be caught by the assembler (unlike compilers).
Ooh. I've been manually pasting Claude's /* comments */ into ChatGPT and saying "make this concise". They still need to be tweaked from there, but it's a much better starting point. This will help.
(I see a RomCom script where the chatbot decides to get two people together, and acts as Cyrano de Bergerac for the handsome-but-lunkheaded farmboy, and bestie/confidant for the girl-about-town).
reply