Like random formal letter to AI? Maybe it is a societal problem more than a technical one if we all hate writing and reading these.
I don’t get the search documentation part. It has obvious blind spots on many things and hallucinate on others.
No, I'm talking about things like writing SQL queries (even complex ones), CMake files, Docker configs or plotting stuff in Python. Of course, if you're not already an expert in these things, you'll have a hard time distinguishing useful replies from hallucinations - that's why I said it's mostly for senior devs. Without expert knowledge, you will likely not be able to benefit from it in its current state. But if you have that and know how to write efficient queries, it can easily up your productivity by a factor of 10 (i.e. going back and forth for 6 minutes with GPT4 to make it get your requirements can save you an hour of work looking through documentations).
I still believe anyone using these tools on a day-to-day basis should have a sense of "trust but verify."
Example: Using a small part of a new, big, unfamiliar library. Rather than digging through the library docs, I can ask ChatGPT about it, which often points me to the relevant parts, which I then can still confirm in the official docs.
But the code it gave me was a great starting point. I found it much faster & easier to rewrite the bad code it wrote than pore through documentation and figure out how to solve my problem from scratch.
- if I'm working in a field that's new to me or that I don't understand, I ask for help understanding the basics and vocabulary of the field. it does very well at this.
- if I have a well defined problem, but am simply not familiar with the libraries for a given situation, it tends to do a good job translating my english queries into the right code. I do examine and test the code afterwards to make sure it's correct. You can really see this in action when you ask it to do data analysis; and the REPL loop in that mode is also great at catching bugs.
- if I have like a copy-paste from a documentation site, I can ask it to transform that into code or into a better-formatted version. this saves a lot of time, and I don't have to remember regexes or vim keybinds
I also do this, but I am careful about being confident that "it does very well at this". We can't actually evaluate what it's putting out, other than that it sounds plausible, which is something LLMs are truly great at.
Sounds like what a junior developer would say, given they tend to depend on it even when it hallucinates the wrong answers badly.
Also explains the rampant title inflation that is going around in the tech industry these days.
Sometimes it comes up with really good techniques that are different from my usual approaches, other times is plain wrong and I'm correcting it.
I am more productive with the ChatGPT in my life. Whenever stuck on some weird error, instead of googling I paste the log and discuss with the bot what can be going wrong there. We can talk about pointer analysis, performance bottleneck comparisons. Could I do it all on my own? Sure. However it is boring and quite certainly would require 10x more time to perform all calculations on my own.
In the end of a day it is just another tool. Brings advantage when used properly.