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.
I still believe anyone using these tools on a day-to-day basis should have a sense of "trust but verify."
- 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.